热备份路由协议(HSRP)的目的在于使主机看上去只使用了一个路由器,并且即使在它当前所使用的首跳路由器失败的情况下仍能够保持路由的连通性。此协议中所涉及到的多路由器都映射为一个虚拟的路由器。本协议保证同时有且只有一个路由器在代表虚拟路由器进行包的发送。而终端则是把数据包发向该虚拟路由器。这个转发包的路由器成为活动路由器。如果这个活动路由器在某个时候由于某种原因而无法工作,则那个备份的路由器将被选择来代替原来的活动路由器。本协议为活动路由器和备份路由器的定义提供了一种机制。在协议所设计到的路由器上使用IP地址,如果这个活动路由器失效的话,则那个备份路由器马上代替活动路由器工作,而不会在对主机的连通性上产生大的中断。
1. HSRP简介
在使用HSRP时,一组路由器的工作将一致地表现为局域网上通往主机的一个虚拟路由器的工作。这组路由器就称为一个HSRP组,或备份组。这个组中将选出一个路由器来负责转发由主机发给虚拟路由器的数据包。这个路由器就是所谓的活动路由器。另一台路由器将被选为备份路由器。在活动路由器失效的情况下,备份路由器将承担活动路由器的包的转发功能。即使用户可以任意制定运行HSRP的路由器的数量,但只有活动路由器才能转发发送给虚拟路由器的数据包。
为了把网络阻塞降到最低限度,网络中只有活动路由器和备份路由器可以在完成HSRP协议选择过程后发送一次HSRP消息包。如果活动路由器失效,则备份路由器将取代它作为新的活动路由器工作。而当备份路由器失效或者它变成了活动路由器时,另外一个路由器将被选为备份路由器。
HSRP运行在UDP上,采用端口号1985。路由器转发协议数据包的源地址使用的是实际IP地址,而并非虚拟地址,正是基于这一点,HSRP 路由器间能相互识别。
如图10-9所示,为借助HSRP技术实现的路由冗余拓扑结构。每个路由器都配置了虚拟路由器的MAC地址和IP网络地址。主机C不再配置路由器A的内部IP地址作为默认网关,而是将虚拟路由器的IP地址作为默认网关。当主机C发送包到路由器B时,路由器以虚拟IP地址和虚拟MAC地址响应,并且将路由器B置于激活状态。主机C发往主机B的数据包中的地址,将一直使用虚拟路由的IP地址,并由路由器B接收和发送主机B的数据,直至路由器A恢复操作。这样,无论路由器A还是路由器B发生故障,HSRP技术将一直保障主机C网段和主机B网段用户间的通信永不间断。
![]() |
| (点击查看大图)图10-9 HSRP |
2. MHSRP简介
MHSRP(Multigroup Hot Standby Router Protocol,多组热备用路由器协议)是HSRP协议的扩展,它允许路由器的一个端口隶属于多个热备份组。MHSRP协议需要Cisco IOS 10.3或以上的版本支持,并且路由器硬件允许一个以太网端口绑定多个单点广播MAC地址。这些特殊路由器硬件允许配置路由器中的一个端口,使得该路由器成为多个备份组的备份路由器。
在某个局域网里,多个热备组可以共存和重叠。每个备份组都仿效一个虚拟路由器。对于每个备份组来说都有一个为别人所知的MAC地址,以及一个IP地址。而这个IP地址应该是这个局域网中第一个子网中的地址,但必须不同于设置在所有路由器端口上的地址和局域网中主机的地址,甚至包括为其他HSRP组设的地址。
如图10-10所示,一半客户端配置使用路由器A作为默认网关,另一半客户端被配置使用路由器B作为默认网关,路由器A和路由器B建立两个HSRP组。对于1组而言,路由器A是默认活动路由器,因为它被赋予最高优先权,路由器A是备用路由器。在正常运行时,两个路由器共同IP传输负载。当一个路由器发生故障时,另外一个路由器将承担整个网络的路由转发任务。
![]() |
| (点击查看大图)图10-10 MHSRP |





