DHCP客户机

更新时间:2022-01-09 14:01

DHCP客户机(DHCP client),TCP/IP客户机上的软件组件,通常作为协议栈软件部分实现,此软件将地址请求,租用续借和其他DHCP消息传给DHCP服务器中。

原理详解

DHCP原理详解

DHCP的工作流程分为四步:

一、客户机请求IP(DHCPdiscover)

二、服务器响应(DHCPoffer)

三、客户机选择IP(DHCPrequest)

四、服务器确认IP租约(DHCPack/DHCPnak)

具体说明

客户机请求IP

(DHCPdiscover)

当客户机设置使用DHCP协议获取IP时,客户机将使用0.0.0.0作为源地址,使用255.255.255.255作为目标地址来广播请求IP地址的信息。广播信息中包含DHCP客户机的MAC地址和计算机名。(这里的MAC地址可不是FFFF.FFFF.FFFF的MAC 广播哦~)

服务器响应

(DHCPoffer)

由于是广播所以同一网段内的计算机都会“听”到!DHCP服务器当然也不例外。DHCP服务器“听”到后,它首先会针对该次请求的信息所携带的MAC地址与DHCP主机本身的设置值进行对比。如果DHCP主机的设置中有针对该MAC 提供的静态IP(每次都给一个固定IP),则提供给客户机相关的固定IP与相关的网络参数;如果该信息的MAC并不在DHCP主机的设置中,则DHCP主机会选取当前网段内没有使用的IP给客户机使用!当然这里的响应,服务器也是采用255.255.255.255的广播,因为此时客户机还没IP哦~

这里有几个要注意的地方:

1、如果同一网段内有多台DHCP服务器,那么客户机是看谁先响应,谁先响应就选择谁。

2、在DHCP主机发给客户端的信息中,会附带一个“租约期限”信息,用来告诉客户机这个IP能用多久!

客户机选择IP

(DHCPrequest)

当客户机接收到响应的信息之后,首先会以ARP在网段内广播(ARP使用全1的广播MAC地址),以确定来自DHCP服务器的IP没被占用!如果该IP被占用,那么客户机对于这次的DHCP信息将不接受,而是再次发送DHCP请求。若该IP没有被占用,客户机则接受DHCP服务器所给的网络参数。同时,客户机发出一个广播,通知所挑选的DHCP服务器(有多台DHCP服务器存在时),当然此时也是通知其它的DHCP服务器,让这些DHCP服务器将本预分配给客户机的IP释放掉!(这里的概念一定要弄清楚!)注意,这一步客户机并还没有应用从DHCP服务器获取到IP哦!所以这一步源地址还是0.0.0.0,目标地址是255.255.255.255。

服务器确认IP租约

(DHCPack/DHCPnak)

终于到最后一步了,DHCP服务器收到客户机选择IP的广播后,则以DHCPack消息的形式向客户机广播成功的确认。DHCPack包含:IP、掩码网关、DNS等。当然上面还有一个DHCPnak,一看就知道是不成功的意思!那么,哪些情况才会有这种广播呢?

例如,IP地址已无效或这个地址已被其它的客户机使用了!

此时,当客户机收到DHCP服务器的DHCPack消息后,客户机便使用了DHCP服务器所给的网络参数!这里的四个步骤可都是用的广播哦,不知道大家有没有注意!呵呵~到此,我们的DHCP原理就讲完了,下面我还给补充了点东东,希望对大家有用:

1、当我们的客户机无法找到DHCP服务器时,它将从TCP/IP的B类网段169.254.0.0中挑选一个IP地址作为自己的IP地址,而继续每隔5分钟尝试与DHCP服务器进行通信。(这里的这个B类地址被称为APIPA,即自动分配私有IP地址!)

2、IP租约的更新,当客户机重新启动或租期达50%时,客户机不会从第一步(DHCPdiscover)开始重新申请IP,而是从第三步(DHCPrequest)开始哦~只有当租期达87.5%时,它才从第一步(DHCPdiscover)开始重新申请!

3、客户机这里还有两条命令,希望大家给记住:

ipconfig/release :是用来IP租约的释放。使用DHCPrelease消息!

ipconfig/renew :是用来IP租约的更新。使用DHCPdiscover消息!

4、客户机必须要经过四步的情况:

(1)第一次扮演DHCP客户机角色。

(2)IP被DHCP服务器收回。

(3)客户机自己释放了IP,并重租一个IP时。

(4)客户机更换网卡了。

(5)客户机转移到另一网段时。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}