DHCP报文交互流程
Posted momentslee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DHCP报文交互流程相关的知识,希望对你有一定的参考价值。
1.发现阶段,即DHCP客户机寻找DHCP服务器的阶段(DHCPdiscover)
DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCPdiscover发现信息来寻
找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到
这种广播信息,但只有DHCP服务器才会做出响应。
2.提供阶段,即DHCP服务器提供IP地址的阶段(DHCPoffer)
在网络中接收到DHCPdiscover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给
DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCPoffer提供信息。
3.选择阶段,即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段(DHCPrequest)
如果有多台DHCP服务器向DHCP客户机发来的DHCPoffer提供信息,则DHCP客户机只接受第一个收到的DHCPoffer
提供信息,然后它就以广播方式回答一个DHCPrequest请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址
的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址。
4.确认阶段,即DHCP服务器确认所提供的IP地址的阶段(DHCPack)
当DHCP服务器收到DHCP客户机回答的DHCPrequest请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP
地址和其他设置的DHCPack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协
议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址。
5.重新登录(DHCPrequest)
以后DHCP客户机每次重新登录网络时,就不需要再发送DHCPdiscover发现信息了,而是直接发送包含前一次所
分配的IP地址的DHCPrequest请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP
地址,并回答一个DHCPack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分
配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCPnack否认信息。当原来的DHCP客户机收到此
DHCPnack否认信息后,它就必须重新发送DHCPdiscover发现信息来请求新的IP地址。
6.更新租约
DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如
果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会
自动向DHCP服务器发送更新其IP租约的信息。
7.获取配置参数(DHCPINFORM)
如果客户通过别的手段获得了网络地址,它可以使用DHCPINFORM请求获得其它配置参数,服务器接收
到DHCPINFORM包,并建立一个DHCPACK消息,在其中包括一些合适客户的配置参数,只是不包括分配网络
地址,检查现有的绑定,在信息中不填充‘yiaddr‘字段或租用时间参数。服务器取得DHCPINFORM包内的
‘ciaddr‘地址,而返回DHCPACK包。
为了便于理解,我们把DHCP客户机比做餐馆里的客人,DHCP服务器比做服务员(一个餐馆里也可以有多个服务
员),IP地址比做客户需要的食物。那么可以这样描述整个过程:客人走进餐馆,问:“有没有服务员啊?”
(DHCPdiscover),多个服务员同时回答:“有,我这有鸡翅”“有,我这有汉堡”(DHCPoffer)。客人说:“好
吧,我要一份汉堡”(DHCPrequest,这个客人比较死板,总是选择第一次听到的食物),端着汉堡的服务员回应了
一声:“来啦”(DHCPack),并把食物端到客人面前,供其享用(将网卡和IP地址绑定)。客人下次来的时候,就
直接找上次那个服务员点自己喜欢的汉堡了(DHCPrequest),如果还有汉堡,服务员会再次确认并上菜(DHCPack)
而如果已经卖完了,服务员则会告诉客人:“不好意思,已经卖完了”(DHCPnack)。当然,服务员隔一段时间会
来收拾一次桌子,除非客人特别说明这菜还要继续吃的,服务员会将剩菜端走。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013485792/article/details/50731538
以上是关于DHCP报文交互流程的主要内容,如果未能解决你的问题,请参考以下文章