广州总校区切换校区
复制成功
微信号:togogoi
添加微信好友, 详细了解课程
已复制成功,如果自动跳转微信失败,请前往微信添加好友
打开微信
图片
news

新闻资讯

DHCP服务的工作原理

发布时间: 2022-10-18

DHCP服务的工作原理,客户端是否第一次登录网络会使得DHCP的工作形式有所不同。第一次登录时,工作过程如下所示。

(1)寻找DHCP服务器

当 DHCP 客户端第一次登录网络时,也就是客户发现本机上没有任何 IP 资料设定时,则它会向网络发出一个DHCPDISCOVER封包。因为客户端还不知道自己属于哪一个网络,所以封包的来源地址为0.0.0.0,而目的地址则为255.255.255.255,然后再附上DHCPDISCOVER的信息,向网络进行广播。

在Windows的预设情形下,DHCPDISCOVER的等待时间预设为1s,也就是当客户端将第一个 DHCPDISCOVER 封包送出去之后,在1s 之内没有得到回应的话,就会进行第二次DHCPDISCOVER广播。

若一直得不到回应,客户端一共会进行四次DHCPDISCOVER广播(包括第一次在内),除了第一次会等待1s之外,其余三次的等待时间分别是9s、13s、16s。如果都没有得到DHCP服务器的回应,客户端则会显示错误信息,宣告DHCPDISCOVER的失败。之后,基于使用者的选择,系统会继续在5min之后重复一次DHCPDISCOVER的过程。

(2)提供IP租用地址

当DHCP服务器监听到客户端发出的DHCPDISCOVER广播后,它会从那些还没有租出的地址范围内选择最前面的空置IP,连同其他TCP/IP设定,回应给客户端一个DHCPOFFER封包。

由于客户端在开始时还没有IP地址,所以在其DHCPDISCOVER封包内会带有MAC地址信息,并且有一个XID编号用于辨别该封包,DHCP服务器回应的DHCPOFFER封包则会将这些资料传递给要求租约的客户。根据服务器端的设定,DHCPOFFER封包会包含一个租约期限的信息。

(3)接收IP租约

如果客户端收到网络上多台DHCP服务器的回应,则只会挑选其中一个DHCPOFFER而已(通常是最先抵达的那个),并且会向网络发送一个DHCPREQUEST 广播封包,告诉所有DHCP服务器它将指定接收哪一台服务器提供的IP地址。

同时,客户端还会向网络发送一个 ARP 封包,查询网络上面有没有其他机器使用该 IP地址;如果发现该IP已经被占用,客户端则会送出一个DHCPDECLINE封包给DHCP服务器,拒绝接收其DHCPOFFER,并重新发送DHCPDISCOVER信息。

事实上,并不是所有DHCP客户端都会无条件接收DHCP服务器的OFFER,尤其是当这些主机上安装有其他与TCP/IP相关的客户软件时。客户端也可以用DHCPREQUEST向服务器提出DHCP选择,而这些选择会以不同的号码填写在DHCP Option Field里面。

换一句话说,客户端未必全都接收在DHCP服务器上面的设定,客户端可以保留自己的一些TCP/IP设定,即主动权永远在客户端这边。

(4)租约确认

当DHCP服务器接收到客户端的DHCPREQUEST之后,会向客户端发出一个DHCPACK回应,以确认IP租约的正式生效,这也标志着一个完整的DHCP工作过程的结束。DHCP服务的工作流程如图1所示。


图1 DHCP服务的工作流程

(5)DHCP发放流程

第一次登录之后,发放流程如下所示。

① 一旦DHCP客户端成功地从服务器那里取得DHCP租约之后,除非其租约已经失效并且IP地址也重新设定回0.0.0.0,否则就无须再发送DHCPDISCOVER信息了,而会直接使用已经租用到的IP地址向之前的DHCP服务器发出DHCPREQUEST信息,DHCP服务器会尽量让客户端使用原来的IP地址。

② 如果没问题的话,直接回应DHCPACK来确认则可。

③ 如果该地址已经失效或已经被其他机器使用了,服务器则会回应一个DHCPNACK封包给客户端,要求其重新执行DHCPDISCOVER。

DHCP工作站除了在开机时发出DHCPREQUEST请求之外,在租约期限的一半时也会发出DHCPREQUEST,如果此时得不到DHCP服务器的确认,工作站还可以继续使用该IP;然后在剩下的租约期限的再一半时(即租约的75%)还得不到确认,则工作站就不能拥有这个IP了。

如果退租,可以随时送出DHCPLEREASE命令解约。

上一篇: 什么是i-节点

下一篇: linux主要组与次要组作用

<
在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!