利用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实现和配置有关 。

推荐阅读