DHCP/BOOTP中继原理

中继代理功能的产生背景

在大型的网络中,可能会存在多个子网。DHCP客户机通过网络广播消息获得DHCP服务器的响应后得到IP地址。但广播消息是不能跨越子网的。因此,如果DHCP客户机和服务器在不同的子网内,客户机还能不能向服务器申请IP地址呢?这就要用到DHCP中继代理。DHCP中继代理实际上是一种软件技术,安装了DHCP中继代理的计算机称为DHCP中继代理服务器,它承担不同子网间DHCP客户机和服务器的通信任务。

中继代理是在不同子网上的客户端和服务器之间中转DHCP/BOOTP消息的小程序。根据征求意见文档(RFC),DHCP/BOOTP中继代理是DHCP和BOOTP标准和功能的一部分。

路由器的DHCP/BOOTP中继代理支持

在TCP/IP网络中,路由器用于连接称做“子网"的不同物理网段上使用的硬件和软件,并在每个子网之间转发IP数据包。要在多个子网上支持和使用DHCP服务,连接每个子网的路由器应具有在RFC 1542中描述的DHCP/BOOTP中继代理功能。

要符合RFC 1542并提供中继代理支持,每个路由器必须能识别BOOTP和DHCP协议消息并相应处理(中转)这些消息。由于路由器将DHCP消息解释为BOOTP消息(例如,通过相同的UDP端口编号发送,并包含共享消息结构的UDP消息),具有BOOTP中继代理能力的路由器可中转网络上发送的DHCP数据包和任何BOOTP数据包。

如果路由器不能作为DHCP/BOOTP中继代理运行,则每个子网都必须有在该子网上作为中继代理运行的DHCP服务器或另一台计算机。如果配置路由器支持DHCP/BOOTP中继不可行或不可能,您可以通过安装DHCP中继代理服务来配置运行WindowsNTServer4.0或更高版本的计算机充当中继代理。

在大多数情况下,路由器支持DHCP/BOOTP中继。如果您的路由器不支持,则应与路由器制造商或供应商联系以查明是否有软件或固件升级提供对该功能的支持。

中继代理的工作原理

中继代理将它连接的其中一个物理接口(如网卡)上广播的DHCP/BOOTP消息中转到其他物理接口连至的其他远程子网。下图显示了子网2上的客户端C是如何从子网1上的DHCP服务器1获得DHCP地址租约的。具体过程如下:

步骤:

  1. DHCP客户端C使用众所周知的UDP服务器67号端口在子网2上以“用户数据报协议(UDP)”的数据报广播DHCP/BOOTP查找消息(DHCP DISCOVER)。
  2. 中继代理,在DHCP/BOOTP允许中继的路由器的情况下,检测DHCP/BOOTP消息头中的网关IP地址字段。如果该字段有IP地址0.0.0.0,代理文件会在其中填入中继代理或路由器的IP地址,然后将消息转发到DHCP服务器1所在的远程子网1。
  3. 远程子网1上的DHCP服务器1收到此消息时,它会为该DHCP服务器可用于提供IP地址租约的DHCP作用域检查其网关IP地址字段。
  4. 如果DHCP服务器1有多个DHCP作用域,网关IP地址字段(GIADDR)中的地址会标识将从哪个DHCP作用域提供IP地址租约。例如,如果网关IP地址(GIADDR)字段有10.0.0.2的IP地址,DHCP服务器会检查其可用的地址作用域集中是否有与包含作为主机的网关地址匹配的地址作用域范围。在这种情况下,DHCP服务器将对10.0.0.1和10.0.0.254之间的地址作用域进行检查。如果存在匹配的作用域,则DHCP服务器从匹配的作用域中选择可用地址以便在对客户端的IP地址租约提供响应时使用。
  5. 当DHCP服务器1收到DHCP DISCOVER消息时,它会处理IP地址租约(DHCP OFFER)并将其直接发送给在网关IP地址(GIADDR)字段中标识的中继代理。
  6. 路由器然后将地址租约(DHCP OFFER)转发给DHCP客户端。此时客户端的IP地址仍旧无人知道,所以它必须在本地子网上广播。同样,根据RFC 1542,DHCP REQUEST消息从客户端中转发服务器,而DHCPACK消息从服务器转发到客户端。
  • 19
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小云君网络

原创不易,感谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值