HSRP(Hot Standby Router Protocol 热备份路由器协议)是Cisco的专有协议。

HSRP把多台路由器组成一个“热备份组”,形成一个虚拟路由器。这个组内只有一个路由器是Active(活动)的,并由它来转发数据包,如果活动路由器发生了故障,备份路由器将成为活动路由器。从网络内的主机来看,网关并没有改变。

HSRP的工作过程:

HSRP路由器利用Hello包来互相监听各自的存在。当路由器长时间没有接收到Hello包时,就认为活动路由器故障,备份路由器就会成为活动路由器。HSRP协议利用优先级决定哪个路由器成为活动路由器。如果一个路由器的优先级比其它路由器的优先级高,则该路由器成为活动路由器。路由器的默认优先级是100。在一个组中,最多有一个活动路由器和一个备份路由器。HSRP路由器发送的组播(224.0.0.2)消息有以下三种:

Hello通知其它路由器发送者的HSRP优先级和状态信息,HSRP路由器默认每3秒发送一个Hello消息。

Coup当一个备用路由器变为一个活动路由器时发送一个Coup消息。

Resign当活动路由器要当机或者当有优先级更高的路由器发送Hello消息时,主动发送一个Resign消息。

 

1.实验拓扑:

clip_image001

一般在路由器或三层交换机上都可以配置HSRP,这里是在路由器R1和R2上配置

 

2.相关命令:

R1(config-if)#standby 1 ip 192.168.1.254 //启用HSRP功能,创建standby组1,并设置虚拟网关IP地址
R1(config-if)#standby priority 105 //设置HSRP的优先级,该值大的会抢占成Active路由器,默认为100

R1(config-if)#standby 1 preempt //设置允许在该路由器优先级是最高时抢占为活动路由器
R1(config-if)#standby 1 timers 3 10 //设置Hellotime为3秒,Holdtime为10秒,默认即为该值
R1(config-if)#standby 1 authentication md5 key-string cisco //配置认证密码

R1(config-if)#standby 1 track f0/1 //配置端口跟踪

说明:

1) 相同组号的路由器属于同一个HSRP组,所有属于同一个HSRP组的路由器的虚拟IP地址必须一致。

“standby 1 preempt”命令:

  • 如果不配置该命令,即使该路由器优先级再高,也不会成为Active路由;
  • 如果再配置“standby 1 preempt delay minimum 1000”命令,则会延时1000毫秒才进行抢占。

2) Hellotime:路由器每间隔多长时间发送Hello信息;Holdtime:在多长时间内同组的其它路由器没有收到活动路由器的信息,则认为活动路由器发生故障;如果要更改默认值,所有同HSRP组的路由器该项设置必须一致。

3) 配置认证密码为了防止非法设备加入到HSRP组,并且同HSRP组的密码必须一致。

4) 端口跟踪:如果试验中没有配置f0/1的端口跟踪,当R1的f0/1接口出现问题,R1将没有到达R2的Loopback0接口所在网段的路由。然而R1和R3之间的以太网仍然没有问题,HSRP的Hello包正常发送和接收。因此R1仍然是虚拟网关192.168.1.254的活动路由器,客户端的数据仍会发送给R1,这样会造成客户端无法ping通R2的 Loopback接口。当配置路由跟踪后,端口跟踪使得R1发现f0/1上的链路出现问题后,把自己的优先级(我们设置的为105)减去一个数字(默认减10,可以自定义),成为了95。由于R2的优先级为默认值100,这样R2就成为了活动路由器,客户端的数据包将发往R2。降低的值应该选取合适的值,使得其他路由器能成为活动路由器。

5) 可以使用“standby 1 mac-address”命令修改虚拟MAC地址,系统默认的MAC地址为“0000.0c07.acXX”, “XX”为HSRP的组号。

6) 可以使用“standby 1 name”命令设置HSRP组1的名字,如果没有设置,系统将自动生成。

7) 由于HSRP的两个版本version1和version2不兼容,可以使用“standby version”命令设置HSRP的版本。

 

3.配置过程:

IP地址配置:

R3:

Config t

Int f0/0

Ip add 192.168.13.3 255.255.255.0

No shutdown

Int f0/1

Ip add 192.168.23.3 255.255.255.0

No shutdown

Int lo0

Ip add 3.3.3.3 255.255.255.0

End

Sh ip int brief

 

R1:

Int f0/1

Ip add 192.168.13.1 255.255.255.0

No shutdown

Int f0/0

Ip add 192.168.1.1 255.255.255.0

No shutdown

End

Sh ip int brief

 

R2:

Int f0/1

Ip add 192.168.23.2 255.255.255.0

No shutdown

Int f0/0

Ip add 192.168.1.2 255.255.255.0

No shutdown

End

Sh ip int brief

 

路由配置:

R3:

Router rip

ver 2

No auto-summary

Network 192.168.13.0

Network 192.168.23.0

Network 1.0.0.0

 

R1:

Router rip

Ver 2

No auto-summary

Network 192.168.13.0

Network 192.168.1.0

 

R2:

Router rip

Ver 2

No auto-summary

Network 192.168.23.0

Network 192.168.1.0

 

HSRP配置

R1:

Int f0/0

Standby 1 ip 192.168.1.254

Standby priority 105

Standby 1 preempt

Standby 1 timers 3 10

Standby 1 authentication md5 key-string cisco

Standby 1 track f0/1

 

R2:

Int f0/0

Standby 1 ip 192.168.1.254

Standby 1 preempt

Standby 1 timers 3 10

Standby 1 authentication md5 key-string cisco

Standby 1 track f0/1

 

4.实验调试:

Show standby brief //查看HSRP简要信息

clip_image003

Show standby //查看HSRP详细信息

clip_image005

测试,模拟故障,在客户端计算机持续PING测试是否丢包。

 

5.总结

1) 由于局域网内大多使用三层交换机,所以这时HSRP是在交换机上配置的;

2) 默认HSRP热备组以active-standby方式工作,standby设备除检测心跳外,基本处于空闲状态。如果要实现负载均衡,可以创建了两个HSRP组,组1的IP为192.168.1.254,活动路由器为R1,一部分计算机的网关指向192.168.1.254。组2的IP为192.168.1.253,活动路由器为R2,其余计算机的网关指向192.168.1.253。这样,当网络全部正常时,一部分数据是由R1转发的,其余数据是由R2转发的,实现了负载平衡。当一个路由器出现问题时,则另一个路由器就成为两个HSRP组的活动路由器,承担全部的数据转发。通过这种方式实现负载平衡;

3) 当内网有多个VLAN时,可以基于VLAN实现负载均衡,如VLAN 10,20网关走R1,VLAN30,40网关走R2,然后互为备份。