HSRP介绍

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消息。

案例如下

HSRP介绍

实验结果:pc1和pc2可和pc3通信 ,sw1和sw2一方出现问题也不影响网络通信。配置如下

基础配置:

en
conf t
no ip domian-lookup
line con 0
exec-timeout 0 0
logg syn

R1:

接口配置ip地址:

int f 0/0
ip add 192.168.100.1 255.255.255.0
no sh 
exit
int f 1/0
ip add 192.168.200.1 255.255.255.0
no sh 
exit
int f 2/0
ip add 10.0.0.1 255.255.255.0
no sh 
exit
配置RIP
route rip 
net 192.168.100.0
net 192.168.200.0
net 10.0.0.0
 

ip routing(开启路由功能)

SW1:

开启路由功能

ip ronting 

进入vlan2配置

int vlan 2
ip add 192.168.1.1 255.255.255.0(ip地址)

配置hsrp 组号20 优先级150
stan 20 ip  192.168.1.254
stan 20 pri 150

端口追踪
stan 20 track f 0/0 100
exit

接口开启trunk
int r f 0/14 -15
sw t en d 
sw mode t
exit


int f 0/0
no switchport (关闭路由交换功能)
ip add 192.168.100.2 255.255.255.0
exit

配置RIP
route rip 
net 192.168.100.0
net 192.168.1.0

 

 

 

 SW2:

开启路由功能

ip ronting 

进入vlan20配置
int vlan 20
ip add 192.168.1.1 255.255.255.0

配置hsrp 组号20  优先级200

stan 20 ip  192.168.1.254
stan 20 pri 200

配置端口追踪
stan 20 track f 0/0 100
exit

接口配置trunk
int r f 0/14 -15
sw t en d 
sw mode t
exit
int f 0/0
no switchport (关闭路由交换功能)
ip add 192.168.100.2 255.255.255.0
exit

配置rip
route rip 
net 192.168.100.0
net 192.168.1.0

 SW3(R4):

开启路由功能

ip routing 

接口加入vlan

int r f 0/1 -6 
sw mode ac 
sw ac vlan 2

接口开启trunk

int r f 0/14 -15
sw t en d 
sw mode t 
exit

show standby brief  (查看hsrp信息)

备份路由器成为活跃路由器后,原来的活跃设备即使线路修复也不会重新成为进入活跃状态。
为了使设备完全根据优先级来决定其状态,需要配置占先权。占先权保证了严格根据优先级来决定哪台设备进入活跃状态。
R1(config)#interface f0/0
R1(config-if)#standby 1 preempt
R2(config)#interface f0/0
R2(config-if)#standby 1 preempt