交换机命令中ip helper-address是什么意思?
的有关信息介绍如下:Router1(config-if)#ip helper-address 172.25.1.1 /*指定dhcp服务器的地址,表示通过Ethernet0向该服务器发送DHCP请求包*/
交换机的典型配置命令有:
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#interface Ethernet0
Router1(config-if)#ip helper-address 172.25.1.1 /*指定dhcp服务器的地址,表示通过Ethernet0向该服务器发送DHCP请求包*/
Router1(config-if)#ip helper-address 172.25.10.7 /*作用同上*/
Router1(config-if)#end
Router1#
关于这些配置的具体问题解析:
1、在客户端设备和DHCP服务器不再同一广播域内的时候,中间设备即路有器(路有功能的设备)必须要能够转发这种广播包,具体到cisco的设备上,则启用ip helper-address命令,来实现这种中继。
2、DHCP服务器要给终端设备分配地址则需要掌握两个重要的信息:
第一,该客户端设备所在网络的子网掩码,DHCP服务器依据子网掩码的信息来判断,服务器该分配哪个IP地址,以使得该ip地址在那个子网内,
第二,DHCP服务器必须知道客户端的MAC地址,以维护DHCP服务器的ip 地址和MAC之间的映射关系,由此保证同样一台客户机,每次启动后能获得和前一次相同的ip地址。
3、配置了ip helper-address命令之后的路由器在中继DHCP请求时的工作过程如下:
a,DHCP客户端发送请求,由于没有ip地址,所以自己的源IP地址为0.0.0.0,而且也不知道目的DHCP服务器的地址,所以为广播255.255.255.255。该数据报中当然还包含其他信息,比如二层的信息,源mac地址,和目的mac地址FFFFFFFFFFFF。
b,当路由器接收到该数据报的时候,他就用自己的接口地址(接收到数据报的接口)来取代源地址0.0.0.0,并且用ip help-address 命令中指定的地址(上例中为172.25.1.1以及172.25.10.7)来取代目的地址255.255.255.255
c ,当DHCP服务器接收到路有器转发过来的DHCP请求包时,他有了足够的信息,(由源IP地址中的地址,确定客户机所在的子网掩马,由此分配相应地址池中的空闲地址,并且知道了客户记得MAC地址,把它写入自己的数据库,建立IP地址和MAC的映射关系)然后DHCP服务器做出响应,并且由路有器把数据报转发会客户端。(整个过程应该在客户机和服务器之间还有一次会话,由于这不是路由器DHCP配置的讨论重点,这里不谈)
4、如果配置了两个DHCP服务器,我们必须分别用ip helper-address 命令指明,路有器会转发DHCP请求包到所有的DHCP服务器上。很多企业的做法都是至少有两台DHCP服务器,有提高冗余和可靠性的作用。此时,如果客户端受到几个来自不同DHCP服务器的应答,则只选择最先接收到的应答数据报。
5、必须要注意的是;ip helper-address 命令不仅仅是只转发DHCP请求包,事实上,在默认情况下,他还转发其他的UDP报(比如DNS请求)到ip helper-address命令所指定的服务器上,所以这种额外的数据流量可能会增加DHCP服务器链路的负担以及服务器CPU负担。