现在的位置: 首页 > 综合 > 正文

DHCP工作原理

2013年02月03日 ⁄ 综合 ⁄ 共 2127字 ⁄ 字号 评论关闭

DHCP的工作原理
视乎客户端是否第一次登录网路﹐DHCP的工作形式会有所不同。

第一次登录的时候﹕

1.      
寻找Server。当DHCP客户端第一次登录网路的时候﹐也就是客户发现本机上没有任何IP资料设定﹐它会向网路发出一个DHCPDISCOVER封
包。因为客户端还不知道自己属于哪一个网路﹐所以封包的来源地址会为0.0.0.0﹐而目的地址则为255.255.255.255﹐然后再附上
DHCPdiscover的信息﹐向网路进行广播。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应
DHCPdiscover的等待时间预设为1秒也就是当客户端将第一个DHCPdiscover封包送出去之后在1秒之内没有得到回应的话就会进行第二次
DHCPdiscover广播。在得不到回应的情况下客户端一共会有四次DHCPdiscover广播(包括第一次在内)除了第一次会等待1秒之外其余三
次的等待时间分别是9 13
16秒。如果都没有得到DHCP服务器的回应客户端则会显示错误信息宣告DHCPdiscover的失败。之后基于使用者的选择系统会继续在5分钟之后再
重一次DHCPdiscover的要求。

2.      
提供IP租用位址。当DHCP服务器监听到客户端发出的DHCPdiscover广播后﹐它会从那些还没有租出的位址范围内﹐选择最前面的的空置IP,连
同其它TCP/IP设定,回应给客户端一个DHCPOFFER封包。由于客户端在开始的时候还没有IP位址﹐所以在其DHCPdiscover封包内会带
有其MAC位址信息﹐并且有一个XID编号来辨别该封包﹐DHCP服务器回应的DHCPoffer封包则会根据这些资料传递给要求租约的客户。根据服务器
端的设定﹐DHCPoffer封包会包含一个租约期限的信息。

3.      
接受IP租约。如果客户端收到网路上多台DHCP服务器的回应﹐只会挑选其中一个DHCPoffer(通常是最先抵达的那个)﹐并且会向网路发送一个
DHCPrequest广播封包﹐告诉所有DHCP服务器它将指定接受哪一台服务器提供的IP位址。之所以要以广播方式回答,是为了通知所有的DHCP服
务器,他将选择某台DHCP服务器所提供的IP地址同时﹐客户端还会向网路发送一个ARP封包﹐查询网路上面有没有其它机器使用该IP位址﹔如果发现该
IP已经被占用﹐客户端则会送出一个DHCPDECLINE封包给DHCP服务器﹐拒绝接受其DHCPoffer﹐并重新发送DHCPdiscover信
息。事实上﹐并不是所有DHCP客户端都会无条件接受DHCP服务器的offer﹐尤其这些主机安装有其它TCP/IP相关的客户软件。客户端也可以用
DHCPrequest向服务器提出DHCP选择﹐而这些选择会以不同的号码填写在DHCPOptionField里面。换一句话说﹐在DHCP服务器上
面的设定﹐未必是客户端全都接受﹐客户端可以保留自己的一些TCP/IP设定。而主动权永远在客户端这边。

4.      
确认阶段。即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCPrequest请求信息之后,它便向DHCP
客户机发送一个包含它所提供的IP地址和其他设置的DHCPack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其
TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址

5.      
重新登录。以后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租约的信息。至
于IP的租约期限却是非常考究的﹐并非如我们租房子那样简单﹐DHCP客户机除了在开机的时候发出DHCPrequest请求之外﹐在租约期限一半的时候
也会发出DHCPrequest﹐如果此时得不到DHCP服务器的确认的话﹐工作站还可以继续使用该IP﹔然后在剩下的租约期限的再一半的时候(即租约的
75%)﹐还得不到确认的话﹐那么工作站就不能拥有这个IP了。要是您想退租,可以随时送出DHCPLEREASE命令解约﹐就算您的租约在前一秒钟才获
得的。

【上篇】
【下篇】

抱歉!评论已关闭.