浅谈DHCP工作原理
对于DHCP协议来说,我们已经大致了解了它的一些工作内容。但是对于它的工作原理可能还有些朋友不清楚。接下来我们就从三个方面阐述一下DHCP工作原理的相关知识。望对大家有所帮助。
DHCP工作原理
根据客户端是否第一次登录网络,DHCP的工作形式会有所不同。 第一次登录的时候:
DHCP工作原理1,寻找Server
当 DHCP客户端第一次登录网络的时候,也就是客户发现本机上没有任何IP数据设定,它会向网络发出一个 DHCPDISCOVER 封包。因为客户端还不知道自己属于哪一个网络,所以封包的来源地址会为 0.0.0.0 ,而目的地址则为 255.255.255.255 ,然后再附上 DHCPdiscover 的信息,向网络进行广播。
在 Windows 的预设情形下,DHCPdiscover 的等待时间预设为 1 秒,也就是当客户端将第一个 DHCPdiscover 封包送出去之后,在 1 秒之内没有得到响应的话,就会进行第二次 DHCPdiscover 广播。若一直得不到响应的情况下,客户端一共会有四次 DHCPdiscover 广播(包括第一次在内),除了第一次会等待 1 秒之外,其余三次的等待时间分别是 9、13、16 秒。如果都没有得到 DHCP服务器的响应,客户端则会显示错误信息,宣告 DHCPdiscover 的失败。之后,基于使用者的选择,系统会继续在 5 分钟之后再重复一次 DHCPdiscover 的过程。
DHCP工作原理2,提供IP租用地址
当DHCP协议服务器监听到客户端发出的 DHCPdiscover 广播后,它会从那些还没有租出的地址范围内,选择最前面的空置IP,连同其它TCP/IP设定,响应给客户端一个DHCPOFFER封包。
由于客户端在开始的时候还没有IP地址,所以在其 DHCPdiscover 封包内会带有其 MAC 地址信息,并且有一个 XID 编号来辨别该封包,DHCP服务器响应的 DHCPoffer 封包则会根据这些资料传递给要求租约的客户。根据服务器端的设定,DHCPoffer 封包会包含一个租约期限的信息。
DHCP工作原理3,接受IP租约
如果客户端收到网络上多台DHCP协议服务器的响应,只会挑选其中一个 DHCPoffer 而已(通常是最先抵达的那个),并且会向网络发送一个DHCPrequest广播封包,告诉所有 DHCP服务器它将指定接受哪一台服务器提供的IP地址。