Cisco ip helper-address 详解

前段时间我写了思科路由器DHCP以及DHCP中继配置的简单示例,文章中用到了一个命令来实现了DHCP转发,但这个功能究竟是如何实现的呢?现在我们来进一步了解这个命令。

当终端设备和DHCP服务器不在同一广播域内的时候,中间设备就需要指定一个地址来将广播包转发出去,即需要设定helper_address来实现中继。

而事实上,在企业中一般只需要一个或者两个DHCP服务器提供冗余就已足够,完全没有必要在每一个广播域单独设置一台DHCP服务器,这样做既增加了成本,也更不利于管理

要知道这个功能如何实现,我们先来了解一下DHCP服务器的简单运行原理

  • DHCP服务器想要给终端设备分配IP信息,需要获取两个重要的信息,终端所在的网段(即掩码)、对应设备的MAC地址。
  • DHCP依靠前者来判断应当给对应设备分配那个地址池中的地址,然后依靠后者来维护IP和MAC之间的映射好以此来保证不会出现IP地址冲突。

了解了DHCP的简单运行原理,我们再来说配置了ip helper-address命令之后的路由器工作过程:

  1. DHCP客户端发送请求,由于没有ip地址,所以自己的源IP地址为0.0.0.0,而且也不知道目的DHCP服务器的地址,所以为广播255.255.255.255,即源IP为0.0.0.0;目的IP地址为255.255.255.255;源MAC地址为自己MAC地址;目的MAC地址为FF:FF:FF:FF:FF:FF
  2. 当路由器接收到该信息,则对其进行替换,用自己的接口地址(接收到数据报的接口,也就是终端所在网段网关)来取代源地址0.0.0.0,并且用ip help-address 命令中指定的地址来取代目的地址255.255.255.255,即源IP为(网关地址);目的IP地址为ip helper-address指定地址;源MAC地址为终端MAC地址;目的MAC地址为ip helper-address指定地址对应MAC地址
  3. 如此,当DHCP服务器接收到路由器转发来的信息后,同样可以获得相应的信息来确定网段和MAC地址与IP地址的映射,故而可以让终端获得相应的信息。

另外,ip helper-address功能不仅仅可以用于DHCP转发,其实通过全局命令 ip forward-protocol它可以转发任意UDP广播!当你开启了这个命令,默认开启了8个缺省UDP转发端口。

它们分别是是:TFTP(69)、DNS(53)、时间(37)、NETBIOS服务 (137)、N ETBIOS数据报服务(138)、BOOTP服务器(67)、BOOTP客户机(68)和终端访问控制器访问控制系统TACACS(49)

最后,如果你只用来转发DHCP,那默认开启不必要的端口很可能造成路由器过载,所以,请先使用全局命令来关掉所有的UDP转发,然后再单独开启DHCP转发

好了,就这么多吧!转载请注明来自落格固定链接: http://www.logcg.com/archives/241.html

另外,如果你想深入了解相关的内容,请点击以下链接参考:

http://baike.baidu.com/view/2287054.htm

http://www.net527.cn/a/luyoujiaohuan/Ciscojishu/13468.html

http://en.wikipedia.org/wiki/UDP_Helper_Address

http://www.vlan9.com/cisco-tech/p003003161.html

http://zh.wikipedia.org/zh/DHCP

发表评论

电子邮件地址不会被公开。 必填项已用*标注