HSRP 热备份路由协议的配置
一.HSRP简介
所谓的热备份路由协议HSRP)主要是向我们提供了这样一种机制,它的设计目的主要在于支持IP传输失败情况下的不中断服务。具体说,就是本协议用于在源主机无法动态地学习到首跳路由器IP地址的情况下防止首跳路由的失败。它主要用于多接入,多播和广播局域网(例如以太网)。
二.HSRP目的
 热备份路由协议(HSRP)的目的在于使主机看上去只使用了一个路由器,并且即使在它当前所使用的首跳路由器失败的情况下仍能够保持路由的连通性。
三.HSRP 涉及到得知识点
虚拟的路由器——此协议中所涉及到的多路由器都映射为一个虚拟的路由器。本协议保证同时有且只有一个路由器在代表虚拟路由器进行包的发送。而终端则是把数据包发向该虚拟路由器。这个转发包的路由器被成为活跃路由器。如果这个活跃路由器在某个时候由于某种原因而无法工作的话,则那个备份的路由器将被选择来代替原来的活跃路由器。本协议为活跃路由器和备份路由器的定义提供了一种机制。在协议所设计到的路由器上使用IP地址,如果这个活跃路由器失效的话则那个备份路由器马上代替活路由器工作而不会在对主机的连通性上产生大的中断。
备份组——在使用HSRP时,一组路由器的工作将一致的表现为局域网上通往主机的一个虚拟路由器的工作。这组路由器就称为一个 HSRP组,或备份组。这个组中将选出一个路由器来负责转发由主机发给虚拟路由器的数据包。这个路由器就是所谓的活路由器。另一台路由器将被选为备份路由器。在活路由器失效的情况下,备份路由器将承担活路由器的包的转发功能。即使你可以任意制定运行HSRP的路由器的数量,但只有活路由器才能转发发送给虚拟路由器的数据包。
优先级、占先权——HSRP协议利用一个优先级方案来决定哪个配置了HSRP协议的路由器成为默认的活跃路由器。在优先级高的端口配置占先权。
四、HSRP的工作原理
  HSRP协议利用一个优先级方案来决定哪个配置了HSRP协议的路由器成为默认的活跃路由器。如果一个路由器的优先级设置的比所有其他路由器的优先级高,则该路由器成为活跃路由器。路由器的缺省优先级是100,所以如果只设置一个路由器的优先级高于100,优先级高的端口配置占先权,则该路由器将成为主动路由器。当在预先设定的一段时间内活跃路由器不能发送hello消息时,优先级最高的备用路由器变为活跃路由器。完成转发数据的任务。

五、HSRP的配置  
今天我来试验配置热备份路由协议,验证其的功能。
试验拓扑图如下:
 
交换机上我们不配置任何参数。在R1R2上配置HSRP。具体配置步骤如下:
 
R1
 
 
Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#host r1
r1(config)#int f0/0
r1(config-if)#ip addr 192.168.1.1 255.255.255.0
r1(config-if)#no ip redirects               在接口下关闭重定向功能
r1(config-if)#standby 192 ip 192.168.1.254 定义备份组,定义虚拟路由的ip地址
r1(config-if)#standby 192 priority 120 配置优先级为120
r1(config-if)#standby 192 preempt      配置占先权
r1(config-if)#no shut
r1(config-if)#exit
r1(config)#int f0/1
r1(config-if)#ip addr 202.106.1.1 255.255.255.0
r1(config-if)#no ip redirects                  在接口下关闭重定向
r1(config-if)#standby 202 ip 202.106.1.254定义备份组,定义虚拟路由的ip地址
r1(config-if)#standby 202 priority 110   配置优先级
r1(config-if)#no shut
r1(config-if)#exit
r1(config)#int f1/0
r1(config-if)#ip addr 10.1.1.1 255.255.255.0
r1(config-if)#no shut
r1(config-if)#exit
r1(config)#ip route 192.168.1.0 255.255.255.0 10.1.1.2 配置静态路由
r1(config)#ip route 202.106.1.0 255.255.255.0 10.1.1.2
 
 
R2
 
Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#host r2
r2(config)#int f0/0
r2(config-if)#ip addr 202.106.1.2 255.255.255.0
r2(config-if)#no ip redirects               在接口下关闭重定向功能
r2(config-if)#standby 202 ip 202.106.1.254定义备份组,定义虚拟路由ip地址
r2(config-if)#standby 202 priority 120 配置优先级
r2(config-if)#standby 202 preempt      配置占先权
r2(config-if)#no shut
r2(config-if)#exit
r2(config)#int f0/1
r2(config-if)#ip addr 192.168.1.2 255.255.255.0
r2(config-if)#no ip re
r2(config-if)#no ip redirects                 接口下关闭重定向
r2(config-if)#standby 192 ip 192.168.1.254 定义备份组,定义虚拟路由ip地址
r2(config-if)#standby 192 priority 110     配置优先级
r2(config-if)#no shut
r2(config-if)#exit
r2(config)#int f1/0
r2(config-if)#ip addr 10.1.1.2 255.255.255.0
r2(config-if)#no shut
r2(config-if)#exit
r2(config)#ip route 192.168.1.0 255.255.255.0 10.1.1.1  配置静态路由
r2(config)#ip route 202.106.1.0 255.255.255.0 10.1.1.1
 
 
配置完成后,让我们测试一下两边的PC机是否能相互ping通。如下显示,通信成功。
VPCS 1 >ping 202.106.1.6
202.106.1.6 icmp_seq=1 time=11.000 ms
202.106.1.6 icmp_seq=2 time=13.000 ms
202.106.1.6 icmp_seq=3 time=59.000 ms
202.106.1.6 icmp_seq=4 time=11.000 ms
202.106.1.6 icmp_seq=5 time=12.000 ms
 
 
 
VPCS 2 >ping 192.168.1.6
192.168.1.6 icmp_seq=1 time=9.000 ms
192.168.1.6 icmp_seq=2 time=9.000 ms
192.168.1.6 icmp_seq=3 time=11.000 ms
192.168.1.6 icmp_seq=4 time=12.000 ms
192.168.1.6 icmp_seq=5 time=9.000 ms
 
使用show standby 命令,查看路由器间HSRP的配置情况
 
首先在R1上查看,输出结果显示,
f0/0接口属于192备份组,优先级为120,配置了占先权,是活跃路由器;
f0/1接口属于202备份组,优先级为110,没有配置占先权,是备份路由器。
r1#show standby
FastEthernet0/0 - Group 192
  Local state is Active, priority 120, may preempt
  Hellotime 3 holdtime 10
  Next hello sent in 00:00:00.618
  Hot standby IP address is 192.168.1.254 configured
  Active router is local
  Standby router is 192.168.1.2 expires in 00:00:08
  Standby virtual mac address is 0000.0c07.acc0
  2 state changes, last state change 00:21:24
FastEthernet0/1 - Group 202
  Local state is Standby, priority 110
  Hellotime 3 holdtime 10
  Next hello sent in 00:00:02.896
  Hot standby IP address is 202.106.1.254 configured
  Active router is 202.106.1.2 expires in 00:00:07, priority 120
  Standby router is local
  6 state changes, last state change 00:07:57
 
R2下输出的结果表明:
f0/0接口属于202备份组,优先级为120,配置了占先权,是活跃路由器;
f0/1接口属于192备份组,优先级为110,没有配置占先权,是备份路由器。
 
r2#show standby
FastEthernet0/0 - Group 202
  Local state is Active, priority 120, may preempt
  Hellotime 3 holdtime 10
  Next hello sent in 00:00:01.216
  Hot standby IP address is 202.106.1.254 configured
  Active router is local
  Standby router is 202.106.1.1 expires in 00:00:07
  Standby virtual mac address is 0000.0c07.acca
  2 state changes, last state change 00:19:10
FastEthernet0/1 - Group 192
  Local state is Standby, priority 110
  Hellotime 3 holdtime 10
  Next hello sent in 00:00:00.808
  Hot standby IP address is 192.168.1.254 configured
  Active router is 192.168.1.1 expires in 00:00:08, priority 120
  Standby router is local
  12 state changes, last state change 00:02:28
 
我们还可以使用命令show standby brief 来查看,具体的接口信息,
show standby brief输出的信息显示:
路由器R1Fa0/0接口属于192 备份组,优先级为120,属于活跃路由,虚拟路由ip地址192.168.1.254
Fa0/1接口属于202 备份组,优先级为110,属于备份路由,虚拟路由ip地址202.106.1.254
 
r1#show standby brief
                     P indicates configured to preempt.
                     |
Interface  Grp Prio  P State  Active addr     Standby addr    Group addr
Fa0/0    192 120  P Active   local        192.168.1.2     192.168.1.254
Fa0/1    202 110  Standby  202.106.1.2      local         202.106.1.254
 
路由器R2Fa0/0接口属于202 备份组,优先级为120,属于活跃路由,虚拟路由ip地址202.106.1.254
Fa0/1接口属于202 备份组,优先级为110,属于备份路由,虚拟路由ip地址192.168.1.254
 
r2#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp Prio P State    Active addr     Standby addr    Group addr
Fa0/0     202 120  P Active   local           202.106.1.1     202.106.1.254
Fa0/1    192 110    Standby  192.168.1.1     local           192.168.1.254
 
 
一切正常,现在让我们来尝试一下HSRP路由协议的强大功能吧!
配置完HSRP后,在它当前所使用的首跳路由器失败的情况下仍能够保持路由的连通性,现在我们把分别把R1R2f0/1端口shutdown,看其是否能实现冗余备份功能。
 
r1(config)#int f0/1
r1(config-if)#shutdown
 
r2(config)#int f0/1
r2(config-if)#shutdown
 
接口shutdown以后,让我们来验证一下,PC机之间是否还能够相互通讯。
如下内容所示,PC机之间能够相互通讯。
VPCS 1 >ping 202.106.1.6
202.106.1.6 icmp_seq=1 time=11.000 ms
202.106.1.6 icmp_seq=2 time=13.000 ms
202.106.1.6 icmp_seq=3 time=59.000 ms
202.106.1.6 icmp_seq=4 time=11.000 ms
202.106.1.6 icmp_seq=5 time=12.000 ms
 
 
VPCS 2 >ping 192.168.1.6
192.168.1.6 icmp_seq=1 time=9.000 ms
192.168.1.6 icmp_seq=2 time=9.000 ms
192.168.1.6 icmp_seq=3 time=11.000 ms
192.168.1.6 icmp_seq=4 time=12.000 ms
192.168.1.6 icmp_seq=5 time=9.000 ms
 
我们还可以在链路中shutdown其他接口,在HSRP强大的功能支持下,链路还是正常的,两边的PC之间还是能够相互通讯的。
 
怎么样,HSRP功能够强大吧!HSRP在企业中是十分实用的!