您的位置:首页 > 其它

[转]DHCP、DHCP中继通信过程

2010-05-31 22:47 239 查看
之前一直没弄明白在有中继的时候,DHCP的过程会是什么样的,今天找到了这篇博文,特转到自己这来。
原博文地址为:http://ewangsoft.blog.163.com/blog/static/772155822009729312332/
一、
DHCP通信过程之一:DHCP客户端首次发出DHCP Discover时




从实际抓包可以看到,DHCP通信过程包括五部分:
1、DHCP客户端以广播
的形式发出DHCP发现报文(DHCP Discover)。

2、DHCP服务器(IP是192.168.100.11)收到客户端发出的DHCP发现报文,应答DHCP服务提供报文(DHCP Offer)。并在此报文中提供一个可供客户端使用的IP
:192.168.100.101。如下图:



3、DHCP客户端仍以广播
的形式发出DCHP请求报文(DHCP
Request),并在此报文的选项部分指出自己想获得的IP地址是192.168.100.101(即有刚才DHCP服务器在DHCP
Offer报文中指定的那个)。如下图:



4、DHCP服务器发出DHCP ACK应答报文广播
,并在应答报文中指定客户端使用的相关
选项,如“租约过期时间”、“续订时间”、“使用的DNS服务器”、“网关”等信息。如下图:



5、DHCP客户端获得分配的IP之后,还要发送ARP广播,以确定网络上此IP地址没有被占用,如果被占用,其将会送出一个DHCPDECLINE封包
给DHCP服务器﹐拒绝接受其Dhcpoffer﹐并重新发送Dhcpdiscover信息。
二、
DHCP通信过程之二:DHCP客户端已经获得IP地址时




上图是我在服务器上设置租约期限为1分钟时的抓图结果,从图中可以看到,在11:26:42时刻客户端发出了DHCP
Requst,之后在11:27:12时刻再次发出DHCP
Request,间隔是30秒,此间隔正是DHCP协议规定的:在租约期限一半的时候发出DHCP
Request。如果此时得不到DHCP服务器的确认﹐客户端仍然可以使用该IP,然后在剩下的租约期限的再一半的时候(即租约的75%时﹐还得不到确认
的话﹐那么客户端就不能再使用此IP地址了。
从上
述的描述可知,由于在租约期限一半及再过半的时候,DHCP客户端要重新发出DHCP
Request,因此,给客户端设置合理的租约期限很重要。合理的租约期限可以减少网络由于大量的DHCP通信而带来的通信负担。

三、通过DHCP中继代理时的通信过程(只描述DHCP客户端首次发出DHCP
Discovery到客户端收到DHCP ACK过程)


DHCP客户端可以和DHCP服务器端不在一个网络内,此时可以通过DHCP中继来完成,通信过程如下:



DHCP客户端与DHCP中继之间抓包数据



DHCP中继与DHCP服务器之间抓包数据

1、DHCP客户端发出DHCP发现报文广播


2、DHCP中继设备根据自己配置的DHCP中继服务器,将此DHCP发现广播报文以单播
的形式转发给DHCP服务器,并将自己用来代理
DHCP中继的接口的IP加在DHCP协议选项字段中
,如下图:



3、DHCP服务器收到发现报文后,根据Relay agent
IP选项的值,来检测自己的作用域是否包含此网段地址,如果不包含,DHCP服务器将不做任何反应,包含则从作用域中拿出一个IP,然后
发送ICMP Request报文以确定此IP未被分配
;确定此IP未被使用后,仍以单播
的形式向DHCP中继设备发出DHCP Offer提供应答报文。
4、DHCP中继设备以单播
的形式将收到的DHCP Offer报文转发给DHCP客户端。

5、DHCP客户端仍以广播
的形式发送DHCP Request请求报文。
6、DHCP中继设备以单播
形式向
DHCP服务器转发此报文。
7、DHCP服务器以单播
形式应答此请求报文,分配IP地址选项等。

8、DHCP中继设备一单播
形式向DHCP转发此DHCP应答报文。
9、DHCP客户端收到报文,配置相关选项,DHCP通信完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: