常见的冗余网技术有HSRP(Host Standby Routing Protocol,热备份路由协议)、VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)和GLBP(Gateway Load Balancing Protocol,网关负载均衡协议)。HSRP和GLBP是Cisco公司专有的协议,只能应用在Cisco设备上,而VRRP符合Internet标准,可在不同厂家之间共用。VRRP可以把一个虚拟路由器的责任动态分配到局域网上的VRRP设备中的一台,当主路由器不可用,VRRP可故障转移完成切换;设计GLBP的目的是自动选择和同时使用多个可用的网关;HSRP允许网络在一个路由器失效不能工作时,网络中的另一个路由器自动接管失效路由器,从而实现IP路由容错。
HSRP协议利用一个优先级方案来决定哪个配置了HSRP协议的路由器称为默认的主动路由器。如果一个路由器的优先级设置得比所有其他路由器的优先级高,则该路由器成为主动路由器。路由器的缺省优先级是100,如果只设置一个路由器的优先级高于100,则该路由器将成为主动路由器。
1、HSRP概述
通过在设置了HSRP协议的路由器之间广播HSRP优先级,HSRP协议选出当前的主动路由器。当在预先设定的一段时间(hold time缺省为10s)内主动路由器不能发送hello消息,或者HSRP检测不到主动路由器的hello消息时,将认为主动路由器有故障,这时HSRP会选择优先级最高的备用路由器变为主动路由器,同时将按HSRP优先级在配置了HSRP的路由器中再选择一台路由器作为新的备用路由器。
所有参与HSRP的路由器共享了一个虚拟的IP地址,网络中的工作站将缺省网关指向该虚拟地址,被选出的主动路由器负责转发由工作站发到虚拟地址的数据包。
Hello消息是基于UDP的信息包,配置了HSRP的路由器将会周期性地广播Hello消息包,并利用Hello消息包来选择主动路由器和备用路由器及判断路由器是否失效。
配置了HSRP协议的路由器交换以下三种多点广播消息:
(1)Hello。hello消息通知其他路由器,发送路由器的HSRP优先级和状态信息,HSRP路由器默认每3s发送一个hello消息。
(2)Coup。当一个备用路由器变为主动路由器时发送一个coup消息。
(3)Resign。当主动路由器要宕机或者当有优先级更高的路由器发送hello消息时,主动路由器发送一个resign消息。
HSRP协议路由器的状态有6种:
(1)Initial:表示路由器的HSRP还未运行,一般在配置第一台HSRP路由器时会显示此状态;
(2)Learn:表示配置HSRP的路由器还未知道虚地址,并一直监听来自主动路由器的消息包;
(3)Listening:表示配置HSRP的路由器已知道虚地址,路由器还在监听hello消息;
(4)Speaking:路由器正在发送hello消息;
(5)listening:路由器正在监听hello消息;
(6)Standby:路由器处于备用状态,当主动路由器失效时路由器可被选为主动路由器,接管主动路由器。
2、HSRP配置
如下图所示配置HSRP协议自动切换路由:
R1配置:
R1(config)# interface ethernet0/0 (进入以太网接口配置模式)
R1(config-eth0/0)# ip address 192.168.1.252 255.255.255.0 (设置接口的IP地址)
R1(config-eth0/0)# Standby 1 priority 120 (配置该接口的HSRP协议的优先级为120,因为HSRP协议的默认优先级是100,所以本路由器为从路由器。只有当主路由器down的时候,从路由器才有可能接管主路由的工作)
R1(config-eth0/0)# Standby 1 preempt (本设置允许权值高于该HSRP组的其他路由器为主路由器,所有从路由器都应该设置此项,以便每台路由器都可以成为其他路由器的备份路由器。如果不设置该项,即使用该路由器权值再高,也不会成为主路由器)
R1(config-eth0/0)# standby 1 ip 192.168.1.254 (设置该路由器的虚拟IP地址为192.168.1.254)
R1(config)# interface serial0/0 (进入广域网接口配置模式s0/0)
R1(config-s0/0)# ip address 192.168.2.1 255.255.255.0 (设置接口的IP地址)
R1(config-s0/0)# no shutdown (启用该接口)
R1(config)# router igrp 100 (启用IGRP协议,自治系统号100)
R1(config-igrp 100)# network 192.168.1.0 (启用IGRP路由协议,指明参与路由的网络)
R2配置:
R2(config)# interface ethernet0/0
R2(config-eth0/0)# ip address 192.168.1.253 255.255.255.0
R2(config-eth0/0)# Standby 1 preempt
R2(config-eth0/0)# standby 1 ip 192.168.1.254 (设置该路由器的虚拟IP地址为192.168.1.254,这里的设置两个路由器必须一致)
R2(config)# interface serial0/0
R2(config-s0/0)# ip address 192.168.3.1 255.255.255.0
R2(config-s0/0)# no shutdown
R2(config)# router igrp 100
R2(config-igrp 100)# network 192.168.1.0
R2(config-igrp 100)# network 192.168.3.0