利用HSRP实现IP路由容错

来源:百度文库 编辑:神马文学网 时间:2024/04/30 21:55:05
用HSRP实现IP路由容错
路由器路由交换
对于IP网络来说,Cisco的热备份路由协议(HSRP, Hot Standby Routing Protocol)允许网络在一个路由器失效不能工作时,网络中的另一个路由器自动接管失效路由器,从而实现IP路由容错。HSRP协议还允许两个或多个配置HSRP协议的路由器使用一个虚拟路由器的MAC地址和IP地址。
虚拟路由器物理上并不存在,它表示一个能为它们提供备份容错的公共路由器对象。图1显示了配置HSRP协议的广域网中的北京网段。其中,每个物理路由器都配置了虚拟路由器的MAC地址和IP地址。
在图1中,虚拟路由器的MAC地址是0000.0c07.ac01。当配置HSRP协议时,路由器自动地在Cisco IOS软件的地址池中选择一个虚拟MAC地址,该虚拟MAC地址在Cisco 公司的MAC地址块范围内。以太网和FDDI局域网使用预先指定的MAC地址作为虚拟MAC地址,令牌环局域网使用一个功能地址作为虚拟MAC地址。
在图1中,网络192.1.1.0中的主机的缺省路由器没有设置为路由器A,而设置为虚拟路由器的IP地址。当用户A的工作站给位于广州网段的用户B的工作站发送数据包时,它将数据包发送到虚拟路由器的MAC地址。

在图1中,路由器A设置为主动路由器。它被配置为虚拟路由器的IP地址和MAC地址,所有发往虚拟路由器的数据包都经由接口发送到广州网段。作为备份路由器,路由器B也被配置为虚拟路由器的IP地址和MAC地址。如果由于某种原因路由器A停止转发数据包,路由协议发生收敛,路由器B接管路由器A变为主动路由器。也就是说,路由器B对虚拟MAC地址和虚拟IP地址进行反应。用户A的工作站继续使用虚拟路由器的IP地址将数据包发往用户B的工作站,路由器B接受这些数据包,并通过上海网段将其发送到广州网段。直到路由器A重新工作,HSRP允许路由器B为北京网段的用户提供不间断的与广州网段的用户进行通信服务。当路由器B是主动路由器时,路由器B执行正常功能:转发北京网段和上海网段之间的数据包。
HSRP的工作原理
HSRP协议利用一个优先级方案来决定哪个配置了HSRP协议的路由器成为默认的主动路由器。如果一个路由器的优先级设置得比所有其他路由器的优先级高,则该路由器成为主动路由器。路由器的缺省优先级是100,所以如果只设置一个路由器的优先级高于100,则该路由器将成为主动路由器。
通过在设置了HSRP协议的路由器之间广播HSRP优先级,HSRP协议选出当前的主动路由器。当在预先设定的一段时间内主动路由器不能发送hello消息时,优先级最高的备用路由器变为主动路由器。路由器之间的包传输对网络上的所有主机来说都是透明的。
配置了HSRP协议的路由器交换以下三种多点广播消息:
◆Hello──hello消息通知其他路由器发送路由器的HSRP优先级和状态信息,HSRP路由器默认为每3秒钟发送一个hello消息;
◆Coup──当一个备用路由器变为一个主动路由器时发送一个coup消息;
◆Resign──当主动路由器要宕机或者当有优先级更高的路由器发送hello消息时,主动路由器发送一个resign消息。
在任一时刻,配置了HSRP协议的路由器处于以下四种状态之一:
◆Active──路由器执行包传输功能;
◆Standby──当主动路由器失效时路由器准备接管包传输功能;
◆Speaking and listening──路由器正在发送和监听hello消息;
◆Listening──路由器正在监听hello消息。
配置HSRP
图2给出了一个IP网络的拓扑结构图,其中两个路由器配置了HSRP协议。

网络上的所有主机都将虚拟路由器的IP地址(本文中为1.0.0.3)配置为缺省的网关。配置缺省网关的命令与主机的操作系统、TCP/IP实现和配置有关。
以下是路由器A的配置:
hostname RouterA ! interface ethernet 0 ip address 1.0.0.1 255.0.0.0 standby 1 ip 1.0.0.3 standby 1 preempt standby 1 priority 110 standby 1 authentication example standby 1 timers 5 15 ! interface ethernet 1 ip address 3.0.0.1 255.0.0.0 ! router eigrp 1 network 1.0.0.0 network 3.0.0.0 以下是路由器B的配置: hostname RouterB ! interface ethernet 0 ip address 1.0.0.2 255.0.0.0 standby 1 ip 1.0.0.3 standby 1 preempt standby 1 authentication example standby 1 timers 5 15 ! interface ethernet 1 ip address 2.0.0.2 255.0.0.0 ! router eigrp 1 network 1.0.0.0 network 2.0.0.0
其中的standby ip接口设置命令启动HSRP协议并设置1.0.0.3作为虚拟路由器的IP地址。两个路由器的配置中均包含了这个命令,这样两个路由器共享同一个虚拟IP地址。1建立备用组1(如果不指定一个组号,则缺省组号为0)。在建立的备用组中必须有一个路由器指定虚拟路由器的IP地址,备用组中的其他路由器指定虚拟路由器的IP地址则是可选的。
其中的standby preempt接口设置命令允许当该路由器的优先级比组中的其他的路由器的优先级高时,该路由器成为主路由器。在本文的配置中,两个路由器都包含该命令,这样其中的任何一个路由器都可以成为另一个路由器的备份路由器。其中的1表示此命令适用于备用组1。如果其中的一个路由器配置中不包含此命令,则该路由器不能成主动路由器。
其中的standby priority接口设置命令设置路由器的HSRP优先级为110,这比缺省的100优先级高。在本文的配置中只有路由器A包含这个命令,这使路由器A成为缺省的主动路由器。1表示该命令适用于备用组1。
其中的standby authentication接口设置命令建立一个8字符的明文认证字符串,此认证字符串包含在每个HSRP多点广播消息中。
该命令是可选的,如果使用,则组中的每个配置HSRP协议的路由器必须使用相同的认证字符串,以保证每个路由器能确认接收到的HSRP消息的来源。1表示此命令应用于备用组1。
其中,standby timers接口设置命令设置hello消息之间的间隔,称为hello时间,此时间间隔为5秒; 路由器在等待8秒钟保持时间之后宣布主动路由器宕机(缺省的hello时间和保持时间分别为3秒和10秒)。如果修改此参数,则各路由器必须使用相同的hello时间和保持时间。1表示此命令应用于备用组1。
配置多个HSRP组
多组HSRP协议(MHSRP)是HSRP协议的扩展,它允许路由器的一个端口隶属于多个热备份组。MHSRP协议需要Cisco IOS 10.3或以上的版本支持,并且路由器硬件允许一个以太网端口绑定多个单点广播MAC地址,如AGS、AGS+以及Cisco 7000系列路由器。如图3所示,这些特殊路由器硬件允许配置路由器中的一个端口,使得该路由器成为多个备份组的备份路由器。
在图3中,路由器A的以太网端口0属于组1,路由器B的以太网端口0属于组1、2和3,路由器C的以太网端口0属于组2,路由器D的以太网端口0属于组3。可以按照部门组织结构来建立各组。在这中情况下,组1可能表示工程部门,组2表示制造部门,组3表示财务部门。

路由器B配置为组1和组2的主动路由器,组3的备份路由器。路由器D配置为组3的主动路由器。如果路由器D因为某种原因失效,路由器B将执行路由器D的数据转发功能,从而允许财务部门的用户可以继续访问其他子网的数据。
以下是路由器A的配置:
hostname RouterA ! interface ethernet 0 ip address 1.0.0.1 255.0.0.0 standby 1 ip 1.0.0.5 standby authentication sclara ! interface serial 0 ip address 2.0.0.1 255.0.0.0 ! router eigrp 1 network 1.0.0.0 network 2.0.0.0
以下是路由器B的配置,要求路由器B必须是AGS、AGS+或者Cisco 7000系列路由器:
hostname RouterB ! interface ethernet 0 ip address 1.0.0.2 255.0 0.0 standby 1 ip 1.0.0.5 standby 1 priority 110 standby 1 preempt standby 1 authentication sclara standby 2 ip 1.0.0.6 standby 2 priority 110 standby 2 preempt standby 2 authentication mtview standby 3 ip 1.0.0.7 standby 3 preempt standby 3 authentication svale ! interface serial 0 ip address 3.0.0.1 255.0.0.0 ! router eigrp 1 network 1.0.0.0 network 3.0.0.0
以下是路由器C的配置:
hostname RouterC ! interface ethernet 0 ip address 1.0.0.3 255.0 0.0 standby 2 ip 1.0.0.6 standby 2 authentication mtview ! interface serial 0 ip address 4.0.0.1 255.0.0.0 ! router eigrp 1 network 1.0.0.0 network 4.0.0.0
以下是路由器D的配置:
hostname RouterD ! interface ethernet 0 ip address 1.0.0.4 255.0 0.0 standby 3 ip 1.0.0.7 standby 1 priority 110 standby 1 preempt standby 3 authentication svale ! interface serial 0 ip address 4.0.0.1 255.0.0.0 ! router eigrp 1