DHCP中继代理
在大型的网络中,可能会存在多个子网。由于DHCP客户机通过网络广播消息获得DHCP服务器的响应后得到IP地址,但广播消息是不能跨越子网的。因此,如果DHCP客户机和服务器在不同的子网内,客户机将不能从DHCP服务器上申请IP地址,若要想申请到IP地址,则需要采用跨网段的DHCP中继技术,即DHCP中继代理。
DHCP中继代理实际上是一种软件技术,安装了DHCP中继代理的计算机称为DHCP中继代理服务器,它承担不同子网间的DHCP客户机和服务器的通信任务,是在不同子网上的客户端和服务器之间中转DHCP/BOOTP消息的小程序。
提 示 | BOOTP(自举协议)是一个基于TCP/IP协议的协议,可以让无盘站从一个中心服务器上获得IP地址,为局域网中的无盘工作站分配动态IP地址,并不需要每个用户去设置静态IP地址。根据RFC文档(征求意见文档)规定,DHCP/BOOTP中继代理是DHCP和BOOTP标准和功能的一部分。 |
1.路由器的DHCP/BOOTP中继代理支持
在TCP/IP网络中,路由器用于连接称为“子网”的不同物理网段上使用的硬件和软件,并在每个子网之间转发IP数据包。要在多个子网上支持和使用DHCP服务,连接每个子网的路由器应具有在RFC 1542中描述的DHCP/BOOTP中继代理功能。
要符合RFC 1542并提供中继代理支持,每个路由器必须能识别BOOTP和DHCP协议消息并处理(中转)这些相应消息。由于路由器将DHCP消息解释为BOOTP消息,因此具有BOOTP中继代理能力的路由器可中转网络上发送的DHCP数据包和任何BOOTP数据包。
如果路由器不能作为DHCP/BOOTP中继代理运行,则每个子网都必须有在该子网上作为中继代理运行的DHCP服务器或另一台计算机。如果配置路由器支持的DHCP/BOOTP中继不能用,可以通过安装DHCP中继代理服务来配置运行Windows NT4.0或更高版本的计算机充当中继代理。
在大多数情况下,路由器支持DHCP/BOOTP中继,如果路由器不支持,则应与路由器制造商或供应商联系以查明是否有软件或固件升级能够提供对该功能的支持。
2.中继代理的工作原理
中继代理能够将它连接的其中一个物理接口上广播的DHCP/BOOTP消息中转到其他物理接口连至的其他远程子网。以图20所示来讲解子网2上的客户端C是如何从子网1上的DHCP服务器1获得DHCP地址租约的。
图20 跨网段的DHCP中继
● 如何设置代理服务器DHCP客户端C发送请求
DHCP客户端C使用UDP协议的67号端口(BOOTP和DHCP服务器通信所保留和共享的端口号)在子网2上以“用户数据报协议(UDP)”的数据报广播DHCP/BOOTP查消息(DHCPDISCOVER)。
● DHCP中继代理接受并处理消息
DHCP中继代理接收到数据报广播DHCP/BOOTP查消息后,将检测DHCP/BOOTP消息头中的网关IP地址字段。如果该字段有IP地址0.0.0.0,代理文件会在其中填入中继代理或路由器的IP地址,然后将消息转发到DHCP服务器1所在的远程子网1。
● DHCP服务器1接收并处理消息
远程子网1上的DHCP服务器1收到此消息时,它会为该DHCP服务器可用于提供IP地址租约的DHCP作用域检查其网关IP地址字段。
如果DHCP服务器1有多个DHCP作用域,网关IP地址字段(GIADDR)中的地址会标识将从哪个DHCP作用域提供IP地址租约。
例如,如果网关IP地址(GIADDR)字段有192.168.0.2的IP地址,DHCP服务器会检查其可用的地址作用域集中是否有与包含作为主机的网关地址匹配的地址作用域范围。在这种情况下,DHCP服务器将对192.168.0.1和192.168.0.254之间的地址作用域进行检查。如果存在匹配的作用域,则DHCP服务器从匹配的作用域中选择可用地址以便在对客户端的IP地址租约提供响应时使用。
当DHCP服务器1收到DHCPDISCOVER消息时,它会处理IP地址租约(DHCPOFFER)并将其直接发送给在网关IP地址(GIADDR)字段中标识的中继代理。
● 路由器处理DHCP提供信息
路由器然后将地址租约(DHCPOFFER)转发给DHCP客户端C。此时,由于客户端的IP地址仍旧不知道,所以它必须在本地子网上广播。同样,根据RFC 1542,之后的DHCPREQUEST消息将从客户端转发向服务器,而DHCPACK消息从服务器转发到客户端。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论