为什么需要DHCP Relay?
- 产生背景
- 解决方案
- DHCP Relay工作原理
- DHCP Relay配置实现
产生背景
随着网络规模的扩大,网络中就会出现用户处于不同网段的情况。
这个时候客户A和客户B要请求IP地址时,首先会发送DHCP Discover广播包,这个广播包只能在本广播域内进行传递,然而路由器的三个接口肯定是连接了三个不同的网段,可以理解为三个广播域,然而DHCP Discover广播包只能在本广播域内进行传输,在途中这种情况广播包自然发送不到DHCP服务器,也就无法获取DHCP服务。
解决方案
方法一:
此方案是在每一个广播域内都设置一台DHCP服务器,然而代价就是代价太大,成本太高,现实中一般不推荐这种方法。
方法二:
开启DHCP Relay功能,实现了使用一个DHCP Sever为多个二层广播域中的DHCP Client提供服务,这样既节约了成本,又便于集中进行管理。
DHCP Relay工作原理
- 首先PC发送广播包到DHCP Relay,然后DHCP Relay以单播的方式将这个DHCP Discover包发送给DHCP服务器。
- DHCP服务器收到之后,会以单播的方式发送给DHCP Relay,然后DHCP Relay会以单播的方式转发给PC。
- 随后PC继续发送DHCP Request报文给DHCP Relay,DHCP Relay会继续充当中间人的身份来转发数据包。
- 最后一步就是DHCP根据地址成功或者不成功而分配的Ack或者是Nak报文给DHCP Relay,随后DHCP Relay在进行单播转发给PC。
因为PC在发送报文的时候是无感知的,所以需要保证DHCP Relay的左侧端口跟DHCP服务器是可以进行通信的,让PC感觉自己好像就直接跟DHCP 服务器相连一样。
DHCP Relay配置实现
- DHCP服务器的配置就是正常进行配置;
- DHCP Relay需要在接口下多配置一个dhcp select relay,表示配置为DHCP Relay。