DHCP—动态主机配置协议

动态主机配置协议DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是RFC 1541(已被RFC 2131取代)定义的标准协议,该协议允许服务器向客户端动态分配IP地址和配置信息。
DHCP协议支持C/S(客户端/服务器)结构,主要分为两部分:
1、DHCP客户端:通常为网络中的PC、打印机等终端设备,使用从DHCP服务器分配下来的IP信息,包括IP地址、DNS等。
2、DHCP服务器:所有的IP网络设定信息都由DHCP服务器集中管理,并处理客户端的DHCP请求。
DHCP采用UDP作为传输协议,客户端发送消息到DHCP服务器的的67号端口,服务器返回消息给客户端的68号端口。

DHCP的报文种类及其作用

DHCP在工作过程中涉及到的报文种类及其作用如下:
1、DHCP DISCOVER:客户端开始DHCP过程的第一个报文,是请求IP地址和其它配置参数的广播报文。
2、DHCP OFFER:服务器对DHCP DISCOVER报文的响应,是包含有效IP地址及配置的单播(或广播)报文。
3、DHCP REQUEST:客户端对DHCP OFFER报文的响应,表示接受相关配置。客户端续延IP地址租期时也会发出该报文。
4、DHCP DECLINE:当客户端发现服务器分配的IP地址无法使用(如IP地址冲突时),将发出此报文,通知服务器禁止使用该IP地址。
5、DHCP ACK :服务器对客户端的DHCP REQUEST报文的确认响应报文。客户端收到此报文后,才真正获得了IP地址和相关的配置信息。
6、DHCP NAK:服务器对客户端的DHCP REQUEST报文的拒绝响应报文。客户端收到此报文后,会重新开始新的DHCP过程。
7、DHCP RELEASE:客户端主动释放服务器分配的IP地址。当服务器收到此报文后,则回收该IP地址,并可以将其分配给其它的客户端。
8、DHCP INFORM:客户端获得IP地址后,发送此报文请求获取服务器的其它一些网络配置信息,如DNS等。

DHCP一般工作流程


向DHCP服务器申请一个IP地址的基本操作步骤:
(1)当DHCP客户机第一次登录网络的时候,该客户机没有任何IP数据设定,它将向网络发出一个DHCP Discover封包。由于客户端还不知道自己属于哪一个网络,所以封包的源地址为0.0.0.0,其目的地址则为255.255.255.255,向网络进行广播。
(2)一般默认DHCP Discover的等待时间为1s,当客户机将第一个DHCP Discover封包送出去之后,在1s之内没有得到响应的话,它就会进行第二次DHCP Discover广播。客户端最多有4次广播,除了第一次会等待1s之外,其余3次的等待时间分别是9s、13s、16s。如果都没有得到DHCP服务器的响应,客户端则会显示错误信息,宣告DHCP Discover失败。之后,系统会继续在5min之后再重复一次DHCP Discover过程。
(3)当DHCP服务器监听到客户端发出的DHCP Discover广播后,将会对客户机作出应答。它会通过UDP端口回应客户一个DHCP Offer广播包,提供一个IP地址。该广播包的源IP地址为DHCP服务器的IP地址,目标IP地址为255.255.255.255;包中还包含提供给客户机的IP地址、子网掩码及租期等信息。
(4)DHCP协议允许网络上配置多台DHCP服务器,客户机将会收到网络上多台DHCP服务器的响应,但它只会挑选其中一个DHCP Offer,通常都是最先抵达的那个,然后客户机向网络发送一个DHCP Request广播封包,告诉所有DHCP服务器它将接受哪一台服务器提供的IP地址。同时,客户端还会向网络发送一个ARP封包,确认网络上是否有其他机器在使用该IP地址;如果发现该IP已经被占用,客户机则会发出一个DHCP Decline封包给DHCP服务器,拒绝接受其DHCP Offer并重新发送DHCP Discover信息。
(5)当DHCP服务器接收到客户端的DHCP Request封包之后,向客户端发出一个DHCP ACK 响应,确认该IP租约的正式生效。
(6)客户在收到DHCP ACK包后,会使用该广播包中的信息来配置自己的TCP/IP,至此租用申请过程结束,客户机可以在网络中通信。

DHCP续约


续约一客户机直接执行第3步==(执行ipconfig/renew)==
DHCP续租的工作流程描述如下:

  1. 在使用租期过去50%时刻处, 客户端向服务器发送单播DHCP REQUEST报文续延租期。
  2. 如果收到服务器的DHCP ACK报文,则租期相应向前延长,续租成功。如果没有收到DHCP ACK报文,则客户端继续使用这个IP地址。在使用租期过去87.5%时刻处,向服务器发送广播DHCP REQUEST报文续延租期。
  3. 如果收到服务器的DHCP ACK报文,则租期相应向前延长,续租成功。如果没有收到DHCP ACK报文,则客户端继续使用这个IP地址。在使用租期到期时,客户端自动放弃使用这个IP地址,并开始新的DHCP过程。

DHCP释放后重获地址


执行ipconfig/release和ipconfig/renew
当Windows计算机在 DHCP(动态主机配置协议)模式下发生IP地址冲突、无法访问网络等情况时,可以使用以下步骤重新获取 IP 地址:

打开命令提示符:按下Windows+R键打开运行窗口,输入cmd并按下回车键,即可打开命令提示符窗口。
输入ipconfig /release命令,按下回车键,释放当前分配的IP地址。
输入ipconfig /renew命令,按下回车键,重新获取IP地址。
如果成功获取到新的IP地址,系统会显示IP地址、子网掩码、默认网关等信息。
需要注意的是,在使用ipconfig /release命令释放IP地址后,计算机将无法访问网络,直到使用ipconfig /renew命令重新获取IP地址。

DHCP相关的配置命令

路由器上DHCP服务器的配置
(1)IP地址池的建立
配置方法在全局模式下使用“ip dhcp pool <name>”命令为地址池赋予一个名称,其中<name>是为所建的地址池提供的名称,可以是一组字符串或数字。一台路由器上可以建立多个地址池。
(2)IP地址池的子网地址与子网掩码的配置。
IP地址池建立后,便进入地址池配置模式,在该模式下可进行IP子网地址和子网掩码的配置,用于设定DHCP服务器可以分配的IP地址的范围。配置的方法是在IP地址池配置模式下,执行“network <网络地址> <子网掩码>”命令,其中,<子网掩码>可采用标准的子网掩码表示(如255.255.255.0)或使用掩码前缀长度表示(如/24)。
(3)排除不用于动态分配的IP地址。
实际应用中,在所配置的子网中,可能会有一些特殊地址需要保留,不用于动态分配,此时就需要在DHCP服务中进行相应配置,配置方法为在全局配置模式下,使用“ip dhcp excluded-address low-adress [high-address]"命令,其中“low-address [high-address]”表示要排除的IP地址的范围,若只排除一个地址,则可直接在命令后输入这个地址便可。
(4)配置默认网关。
动态分配IP地址时,还需要同时为客户端指定默认网关,以便客户端TCP/IP协议正常工作。配置方法为在地址池配置模式下,执行“default-rouler address [address2…address8]”命令,其中默认网关的地址,最多可以设置8个,而客户端一般只使用一个在同一子网中的路由器的端口地址。
(5)配置IP地址池的域名系统。
如同我们在客户端机器手动配置IP地址一样,要访问外部网络,通常还需指定用于域名解析的域名服务器(DNS),另外在路由器DHCP服务器中还可以设置客户端域名,为动态地址的客户端指定所属的域的名称。域名服务器的配置方法为在地址池配置模式下使用“dns-server address”命令,该命令允许最多配置8个域名服务器地址,但是在实际应用中,域名服务器一般只有两个或三个;IP地址池中客户端域名的配置方法为在DHCP地址池配置模式下,使用“domain-name <name >"命令,其中<name>为指定的域名名称。
(6)IP地址租用时间。
IP地址租用时间是指用户端在获得一个IP地址后,可以占用这个地址的最长时间,若需要的话可以对其进行更改。配制方法为在DHCP地址池配置模式下,使用“lease {day [hours] [minutes]|[infinite]}”命令,其参数可以包含天数、小时数以及分秒数,还可以设置为永不过期。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/217353.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

外汇天眼:Coinbase国际交易所将启动现货市场

Coinbase宣布了Coinbase国际交易所扩张的下一阶段——退出符合条件客户的非美国现货市场。 这一最新发展旨在满足Coinbase全球用户群体的独特需求和需求&#xff0c;同时强化其扩大国际访问可信产品和服务的战略使命。 Coinbase国际交易所现货交易的推出和扩展将分阶段进行。1…

vite+vue3+electron搭建项目

编辑器使用vscode&#xff0c;打开一个空文件夹 第一步 初始化vite项目 初始化vite项目&#xff0c;命令 npm init vite 第二步 下载依赖 进入新建的项目&#xff0c;下载依赖&#xff0c;命令 cd vite-projec npm i第三步 使用cnpm下载 electron依赖 新建一个终端&#…

05 python数据容器

5.1 数据容器认识 5.2 python列表 5.2.1 列表的定义 演示数据容器之&#xff1a;list 语法&#xff1a;[元素&#xff0c;元素&#xff0c;....] #定义一个列表List List [itheima,uityu,gsdfg] List1 [itheima,6666,True] print(List) print(List1) print(type(List)) pr…

综合实验:期末

实验要求&#xff1a; 一&#xff0e;物理连接 实验分2个组进行&#xff0c;使用思科模拟软件。每个同学模拟两个组。每个组选用一台路由器、一台三层交换机和一台二层交换机。要求按下图拓扑进行连接。如下图&#xff1a;最上端设备为核心交换机&#xff0c;按老师要求配置&a…

实验:BGP配置

1.实验目的&#xff1a; 本实验旨在掌握BGP协议的基本概念和配置方法&#xff0c;以及使用Packet Tracer模拟网络环境进行BGP配置的方法。 2.实验要求&#xff1a; 理解BGP协议的基本概念和原理&#xff1b;掌握BGP协议的配置方法&#xff1b;能够使用Packet Tracer模拟网络…

2019年第八届数学建模国际赛小美赛B题数据中心冷出风口的设计解题全过程文档及程序

2019年第八届数学建模国际赛小美赛 B题 数据中心冷出风口的设计 原题再现&#xff1a; 这是数据中心空调设计面临的一个问题。在一些数据中心&#xff0c;计算机机柜是开放的&#xff0c;在一个房间里排列成三到四排。冷却后的空气通过主管进入房间&#xff0c;并分为三到四个…

华为交换机——配置策略路由(基于IP地址)示例

一、组网需求&#xff1a; 汇聚层Switch做三层转发设备&#xff0c;接入层设备LSW做用户网关&#xff0c;接入层LSW和汇聚层Switch之间路由可达。汇聚层Switch通过两条链路连接到两个核心路由器上&#xff0c;一条是高速链路&#xff0c;网关为10.1.20.1/24&#xff1b;另外一…

【Hive】——DDL(DATABASE)

1 概述 2 创建数据库 create database if not exists test_database comment "this is my first db" with dbproperties (createdByAllen);3 描述数据库信息 describe 可以简写为desc extended 可以展示更多信息 describe database test_database; describe databa…

案例058:基于微信小程序的智能社区服务管理系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

C++类与对象(一)

目录 一&#xff0c;面向过程和面向对象初步认识 二&#xff0c;类的引入 三&#xff0c;类的定义 四&#xff0c;类的访问限定符及封装 五&#xff0c;类的实例化 六&#xff0c;类对象模型 七&#xff0c;this指针 一&#xff0c;面向过程和面向对象初步认识 c语言是面…

超聚变服务器(原华为服务器)网站模拟器

一、超聚变服务器&#xff08;原华为服务器&#xff09;网站模拟器&#xff1a; 原来了解服务器可以从他的网站上进行了解&#xff0c;模拟器做的很好了。 https://support.xfusion.com/server-simulators/ 有很多的模拟器&#xff0c;今天主要看下BMC的设置 有很多的在线工具…

软考机考考试第一批经验分享

由于机考的特殊性&#xff0c;考试环境与传统笔试环境有所不同。下面是与考试环境相关的总结&#xff1a; 草稿纸&#xff1a;考场提供足够数量的草稿纸&#xff0c;每位考生都会分发一张白纸作为草稿纸。在草稿纸上需要写上准考证号。如果不够用&#xff0c;可以向监考老师再次…

java springboot+jsoup写一段爬虫脚本 将指定地址的 图片链接 文本 超链接地址存入自己的属性类对象中

首先 还是最基本的 要在 pom.xml 引入依赖 <dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.14.1</version> </dependency>然后 我们可以在项目中创建一个属性类 我这里就叫 WebContent了…

自己动手写数据库: select 查询语句对应查询树的构造和执行

首先我们需要给原来代码打个补丁&#xff0c;在SelectScan 结构体初始化时需要传入 UpdateScan 接口对象&#xff0c;但很多时候我们需要传入的是 Scan 对象&#xff0c;因此我们需要做一个转换&#xff0c;也就是当初始化 SelectScan 时&#xff0c;如果传入的是 Scan 对象&am…

JWT令牌的作用和生成

JWT令牌&#xff08;JSON Web Token&#xff09;是一种用于身份验证和授权的安全令牌。它由三部分组成&#xff1a;头部、载荷和签名。 JWT令牌的作用如下&#xff1a; 身份验证&#xff1a;JWT令牌可以验证用户身份。当用户登录后&#xff0c;服务器会生成一个JWT令牌并返回…

小白学开源

第一步 访问程序员交友网站&#xff0c;注册GitHub账号&#xff0c;注册流程请自行了解&#xff0c;如果已有账户请登录 第二步 在搜索框输入你想查找的项目&#xff0c;例如cjson 第三步 选择你感兴趣的那个项目&#xff0c;这里选择排行最前的那个&#xff0c;它的收藏数有…

electron中获取mac地址

electron中获取mac地址 引入为了方便做单点登录&#xff0c;我们往往需要使用某个唯一标识来标记客户端的设备&#xff0c;mac地址就是一个还不错的选择思路 我们可以使用Node.js的内置模块os&#xff0c;调用其中的networkInterfaces方法。该方法会返回一个包含网络接口信息…

Navicat 技术指引 | 适用于 GaussDB 分布式的备份/还原功能

Navicat Premium&#xff08;16.3.3 Windows 版或以上&#xff09;正式支持 GaussDB 分布式数据库。GaussDB 分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结…

windows下mysql8修改my.ini设置datadir后无法启动问题

mysql默认数据库文件在安装目录下。创建数据库的时候&#xff0c;并不能指定数据文件存放位置。这就很扯。它只能通过修改mysql.ini来更改数据文件存放目录&#xff0c;而且是一刀切的&#xff0c;没有办法做到数据文件和日志文件分开存放。假如服务器有多个盘&#xff0c;就不…

SpringBoot的Starter自动化配置,自己编写配置maven依赖且使用及短信发送案例

目录 一、Starter机制 1. 是什么 2. 有什么用 3. 应用场景 二、短信发送案例 1. 创建 2. 配置 3. 编写 4. 形成依赖 6. 其他项目的使用 每篇一获 一、Starter机制 1. 是什么 SpringBoot中的starter是一种非常重要的机制(自动化配置)&#xff0c;能够抛弃以前繁杂…