HSRP的工作原理:

配置了HSRP协议两个设备之间靠hello消息相互响应,3s一次,hold time 10s一次;当HSRP检测不到主动路由器的hello消息时(一个hold time),将认为主动路由器有故障,这时HSRP会选择优先级最高的备用路由器变为主动路由器, 同时将按HSRP优先级在配置了HSRP的路由器中再选择一台路由器作为新的备用路由器。

配置了HSRP协议的路由器交换以下三种多点广播消息:

      Hello──hello消息通知其他路由器,发送路由器的HSRP优先级和状态信息,HSRP 路由器默认为每3秒钟发送一个hello消息;

      Coup──当一个备用路由器变为一个主动路由器时发送一个coup消息;

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

在任一时刻,配置了HSRP协议的路由器处于由以下六种状态:

      Inithsrp──的初始状态,网关接口刚up时的状态;

      Learn──等待hello消息,从而学习虚拟ip的状态;

      Listen──监听hello,并持续一个holdtime时间;

      Speak──处于发言状态的hsrp router定期发送hello,并积极参与active和standby的选举,如果都没有选上,保持这个状态;

      Standby──为下一任active的候选者,并定期发送hello消息;

       Active──路由器对发送给hsrp组的虚拟mac地址和ip地址的数据包进行转发,并自己定期发送hello消息。

如果多台路由器存在一个虚拟路由器中,一个是active,一个是standby,其他的既不是active,也不是standby,而状态处speak。    
活动路由器的选举方法:

   1 :先比较交换机在组中的优先级,优先级最高的路由器为活动路由器。    
   2 :如果优先级相同,则比较IP地址,ip地址高的成为活动路由器。      
常用的技术:

一:HSRP preempt技术    
       HRSP技术能够保证优先级高的路由器失效恢复后总能处于活动状态。      
二:HSRP track技术      
如果所监测的端口出现故障,则也可以进行路由器的切换,进而实现链路的高 可用性。      
      如果多台路由器存在一个虚拟路由器中,一个是active,一个是standby,其他的既不是active,也不是standby,而状态处于speak。      
注:优先级默认为100
   
HELLO消息是基于UDP的信息包,目的地址是224.0.0.2,协议号是1892    
如果在一个选举好的虚拟路由器内又加了一台优先级高的设备,只有在配置了抢占后才会成为Active,稳定优先。      
hsrp虚拟mac地址:00000c07ac2f,其中:00000c是代表厂商cisco,07ac代表hsrp协议,2f代表hsrp组号。

在Cisco路由器中,最多可以配置256个HSRP组,    
因为HSRP能够使用的MAC地址类似于:0000.0c07.ac**。      
HRSP每隔3秒发送hello包,包括group ID,HSRP group和优先级(默认为100)。

案例一

需求分析:在公司的网络中存在有多个vl,并且申请了两条链路,为了实现链路的冗余和备份,提高设备的利用率,最终使得同一个vl的用户都从一个路由设备里面发送数据,并且使用hrsp的监听技术,对链路进行监听,当链路出现单点故障的时候,可以使备份的路由器激活,从而不影响正常的工作,使得本网络达到高可用性的效果·

示意图:

clip_p_w_picpath002

步骤:

一: 使用小凡的模拟软件,进行网络环境的搭建。( 详细的使用大家可以我看网上的教程,在这里我就不再为大家演示啦)

1:连线方式

clip_p_w_picpath004

2:为pc 10 和pc20 配置相应网络参数(ip address gateway cidr子网掩码),为验证做准备

clip_p_w_picpath006

二:在SW1 上进行配置

SW1#show run

hostname SW1

interface Port-channel1

switchport mode trunk

!

interface FastEthernet0/0

switchport mode trunk

!

interface FastEthernet0/1

switchport mode trunk

channel-group 1 mode on 端口聚合

!

interface FastEthernet0/2

switchport mode trunk

channel-group 1 mode on 端口聚合

!

interface FastEthernet0/3

!

interface FastEthernet0/4

interface FastEthernet0/5

switchport access vlan 10

logging synchronous

line aux 0

line vty 0 4

SW1#show vlan-switch

VLAN Name Status Ports

---- -------------------------------- --------- -------------------------------

1 default active Fa0/3, Fa0/4, Fa0/6, Fa0/7

Fa0/8, Fa0/9, Fa0/10, Fa0/11

Fa0/12, Fa0/13, Fa0/14, Fa0/15

10 VLAN0010 active Fa0/5

20 VLAN0020 active

1002 fddi-default active

1003 token-ring-default active

1004 fddinet-default active

1005 trnet-default active

VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2

---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------

1 enet 100001 1500 - - - - - 1002 1003

10 enet 100010 1500 - - - - - 0 0

20 enet 100020 1500 - - - - - 0 0

1002 fddi 101002 1500 - - - - - 1 1003

1003 tr 101003 1500 1005 0 - - srb 1 1002

1004 fdnet 101004 1500 - - 1 ibm - 0 0

1005 trnet 101005 1500 - - 1 ibm - 0 0

三:在SW2 进行配置

SW2(config)#show run

SW2#show run

interface Port-channel1

switchport mode trunk

!

interface FastEthernet0/0

switchport mode trunk

!

interface FastEthernet0/1

switchport mode trunk

channel-group 1 mode on端口聚合

!

interface FastEthernet0/2

switchport mode trunk

channel-group 1 mode on端口聚合

!

interface FastEthernet0/3

!

interface FastEthernet0/4

!

interface FastEthernet0/10

switchport access vlan 20

!

SW2#show vlan-switch

VLAN Name Status Ports

---- -------------------------------- --------- ----------------------------

1 default active Fa0/3, Fa0/4, Fa0/5, Fa0/6

Fa0/7, Fa0/8, Fa0/9, Fa0/11

Fa0/12, Fa0/13, Fa0/14, Fa0/

10 VLAN0010 active

20 VLAN0020 active Fa0/10

1002 fddi-default active

1003 token-ring-default active

1004 fddinet-default active

1005 trnet-default active

VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Tran

---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ----

1 enet 100001 1500 - - - - - 1002 1003

10 enet 100010 1500 - - - - - 0 0

20 enet 100020 1500 - - - - - 0 0

1002 fddi 101002 1500 - - - - - 1 1003

1003 tr 101003 1500 1005 0 - - srb 1 1002

1004 fdnet 101004 1500 - - 1 ibm - 0 0

1005 trnet 101005 1500 - - 1 ibm - 0 0

四:R1的配置

clip_p_w_picpath008

clip_p_w_picpath010

clip_p_w_picpath012

五:在R2的配置

clip_p_w_picpath014

clip_p_w_picpath016

clip_p_w_picpath018

六:在R3上的配置

clip_p_w_picpath020

clip_p_w_picpath022

七 :验证

Pc 10:使用vl 10中的主机pc 10 ping vl 20的主机192.168.20.100 ,并进行跟踪,可以看到所走的是192.168.10.1 的网关(即R1路由器)。

clip_p_w_picpath024

Pc 20:使用vl 20中的主机pc 10 ping vl 10的主机192.168.10.100 ,并进行跟踪,可以看到所走的是192.168.20.2的网关(即R2路由器)。

clip_p_w_picpath026

模拟 R1 路由器 s 1/0 down掉的状态

clip_p_w_picpath028

之前:R2路由器上的hsrp组中的各路由器的状态

clip_p_w_picpath030

之后:R2路由器上的hsrp组中的各路由器的状态,看到在配置了监听以后R2路由器在组10中的优先级降低到了90

clip_p_w_picpath032

R1 路由器 s 1/0 又恢复到正常的状态,看到R2路由器的优先级再次提高到了120

clip_p_w_picpath034

clip_p_w_picpath036

验证nat

主机Pc 10

clip_p_w_picpath038

clip_p_w_picpath040

主机 pc 20

clip_p_w_picpath042

clip_p_w_picpath044

模拟 R1 上的被监听的端口s 1/0 坏掉的状态

clip_p_w_picpath046

没有down之前

Pc10 到R3的通信状态,与外网的通信

clip_p_w_picpath048

R1的组状态

clip_p_w_picpath050

Down 之后 R1 在组中的状态

clip_p_w_picpath052

clip_p_w_picpath054

clip_p_w_picpath056

在这里我们看到了虽然在组10中R1 路由器的优先级降低到了90 ,但是仍然是活动的状态。这就悲剧啦,在此我也没有办法,不知道是什么原因啦。

Pc10 到R3的通信状态,不通

clip_p_w_picpath058

经最后的分析可能是应为我们配置的nat 所导致的。

实验小结 :

热备份路由协议 HSRP (Hot Standby Router Protocol) Cisco 平台特有 技术,确保了当网络边缘设备或接入链路出现故障时,用户通信能迅速并透明地 恢复,并以此为 IP 网络提供冗余性和一定的负载分担能力。通过应用 HSRP 可 是网络正常运行时间接近 100%,从而满足用户对网络可靠性要求。知识点总 结如下: 网络终端设备发现可用路由器有 3 种方式:默认网关(Default Gateway); 代理 ARP(Proxy ARP);ICMP 路由器发现协议(ICMP Router Discovery Protocol, IRDP) HSRP 组成员包括:一台活跃路由器、一台备份路由器、一台虚拟路由器和其 他路由器 HSRP 工作状态依次有:初始状态;学习状态;监听状态;发言状态;备份状 态;活跃状态。 通常 HSRP 计时器的保持时间会大于或等于 Hello 间隔时间。 HSRP 可建立 8 字符明文认证字符串以保证 HSRP 组正确性和提供一定程度 的安全性,但明文密码容易被探测并重放到线路中。

欢迎加入郑州阳仔的网络工程师自由交流群--132444800(请注明自己的身份,就说是51cto的博友)