4.3 路由器配置DHCP中继
路由器配置DHCP中继服务
DHCP是基于广播和单播工作的,客户端发出的Discover消息是采用广播,因为它要寻找网络中的DHCP服务器,但路由器是隔断网络广播的三层设备,位于路由器不同接口上的DHCP服务器与客户端将无法进行正常工作,因为客户端的Discover消息被路由器给切断了。此时,在这种跨网段的DHCP部署环境中,提出中继代理技术(Relay Agent),在思科的IOS中叫作帮助地址(Helper address),它能帮助DHCP客户端跨越路由器申请IP地址及其他的TCP/IP参数,从而解决由于广播域的分隔,导致DHCP不能正常工作的问题,DHCP中继代理的工作原理如图所示。
1、DHCP客户端发送DHCP的Discover广播寻找本地子网上的DHCP服务器,毫无疑问,这个寻找将失败,因为本地子网上根本没有部署DHCP服务器。但此时DHCP的中继代理路由器R1的E1/0(192.168.5.1)会收到这个Discover广播消息。
2、中继代理路由器会帮助DHCP客户端到指定的DHCP服务器去申请IP地址,即指定的DHCP服务器,事实上,就是在中继路由器上声明谁是DHCP服务器,比如声明192.168.4.1为DHCP服务器,那么DHCP的中继路由器会将Discover消息单播到DHCP服务器(192.168.4.1)。注意:此时中继使用单播的形式把Discover消息发送到DHCP服务器,因为中继明确地知道它该向哪台DHCP服务器进行申请。
3、DHCP服务器会以单播的形式回应中继的Discover消息,并发送Offer消息,该消息中包括了DHCP服务器可以给中继提供的机会IP地址(192.168.5.2),关于DHCP服务器提供给中继的Offer消息如图9.34所示,这个Offer消息以单播的形式发送,因为DHCP服务器知道中继是谁,并且在该消息中包括了中继的IP地址。值得提出的是,DHCP服务器在向中继提供机会IP地址(192.168.5.2)之前,它还是会做一个IP地址冲突检测,它需要知道192.168.5.2这个IP地址在网络上是否有主机正在使用,检测方式是发送一个目标地址为192.168.5.2的ICMP回显消息,如果没有回应,则说明该地址没有被使用,可以被分配出去,反之则不能;DHCP服务器还会检测与中继的连通性,确保中继能成功地得到这个Offer消息。关于这个过程可以通过如图所示的数据帧来证实。在这里DHCP服务器为什么不使用ARP进行IP地址冲突探测?原因很简单,因为在通过中继申请IP地址的DHCP环境中,DHCP服务器提供的IP地址通常都不在本地子网的IP地址范围内,ARP不能穿越路由器工作。
4、中继向DHCP服务器发起DHCP的Request请求消息,该消息仍然以单播的形式发送,这与本地子网上DHCP的工作原理不同,在本地子网上这个过程应该是以广播的形式进行发送的,而在中继环境中,中继以单播发送,因为在这种情况下,通信双方是很明确的,不可能存在其他的DHCP服务器向中继提供IP地址。有两个原因:第一个原因是中继设备上会明确指示它该向哪台DHCP服务器申请IP地址;第二个原因是中继发起DHCP的Discover消息时,就是单播发送的,不会有第二台DHCP服务器来为中继提供IP地址。
5、DHCP服务器收到中继的单播Request消息后,会回应一个ACK消息给中继,指示IP地址的租期正式生效。注意:该消息仍然是以单播的形式发送。
6、上述第2-5步对于DHCP客户端而言是完全透明的,它看不见中继为它完成IP地址申请的过程。它只能看见中继与自己的DHCP消息交互过程,当DHCP的中继成功地从DHCP服务器获得地址后,中继会给DHCP客户端发送一个DHCP的Offer消息,告诉DHCP客户端可以提供给它的IP地址。注意:此时中继就无须再检测该IP地址在网络上是否有冲突的可能性了,因为这个过程在上述的第3步中已经做了检测。
7、DHCP客户端在收到DHCP中继所提供的Offer消息后,会向DHCP的中继发送一个DHCP的Request消息,正式请求IP地址。该消息以广播的形式发送。
8、DHCP中继收到客户端的Request消息后,会回应一个ACK消息给DHCP客户端,声明租约正式生效,然后DHCP客户端在得到ACK消息后,会将DHCP中继颁发给它的IP地址使用“免费的ARP(请求的目标IP地址和源IP地址一样,它不希望得到任何回应)”做一个最终的地址冲突检测,最后正式使用该IP地址。
注意:DHCP中继,就其本身而言,它没有任何资格颁发IP地址及其他的TCP/IP属性,它只是代理DHCP客户端向DHCP服务器申请,中继与DHCP服务器交互DHCP消息的过程对于DHCP客户端而言是透明的。



DHCP中继pkt文件.rar(下载附件 116.68 KB)
DHCP中继实验1—计算机充当DHCP服务器.doc(下载附件 218.5 KB)
DHCP中继实验2—交换机充当DHCP服务器.doc(下载附件 157 KB)

