热备份路由协议(HSRP)是Cisco平台所特有的一种技术,确保了当网络边缘设备或接入链路出现故障时,用户通信能迅速并透明的恢复,并以此为IP网络提供冗余性。通过使用同一个虚拟IP和虚拟MAC地址,LAN网段上的两台或者多台路由器可以作为一台“虚拟”路由器对外提供服务。在不同的IP子网上实现负载分担。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

#冗余性网络中的路由问题:

终端发现可用路由器的方式:

#默认网关

  最常用的方法。如果默认网关失效,则把那台路由器作为网关的设备只能在本地IP网段上进行通信,与其他网段的连接完全断开,解决方法是重新手动配置设备的默认网关。(比较麻烦)。

#代理ARP

  主机发送ARP请求,接收到ARP请求的路由器回复主机,作为目的地址,主机发往其他网段的数据将发送到回复的路由器上,当路由器失效时则数据丢失。解决方法是重启主机,清空ARP缓存表。(比较麻烦)

#ICMP路由器发现协议(IRDP

  支持IRDP的主机会自动地发现用于访问非本地网络的路由器,主机将选取优先级高的路由器作为默认网关,当默认网关失效时,主机会在其他的路由器中选择一个优先级最高的路由器 作为默认网关。

  一张3种方法在多数网络环境中都无法让人满意,所以Cisco开发了HSRP

HSPR的工作原理

@HSRP的组成员

#一台活跃路由器:功能是转发发送到虚拟路由器的数据包,通过发送Hello消息来承担和保持它的活跃角色。

#一台备份路由器:功能是监视HSRP组的运行状态。当活跃路由器不能运行时迅速承担起转发数据包的责任。也是通过Hello消息告知组中所有路由器备份路由器的角色和状态变化。

#一台虚拟路由器:功能是想最终用户代表一台可以连续工作的路由器,有自己的IP地址和MAC地址,但并不实际转发数据包。

#其他路由器:监视Hello消息,但不做应答。转发任何经由他们的数据包,但不转发经由虚拟路由器的数据包。

@多组HSRP协议(MHSRP

  是HSRP的扩展,需要Cisco IOS 10.3或以上的版本支持,且路由器硬件允许一个端口绑定多个MAC地址。故可以配置路由器中的一个端口属于不同的HSRP组,且在不同的HSRP组承担不同的角色。

@用于衡量路由器在活跃路由器选择中的优先程度的是路由器优先级(Priority)。默认优先级是100,范围是0~~255,组中有最高优先级的路由器将成为活跃路由器。

运行HSRP的设备会发送和接收基于UDP的组播数据包,一检测路由器故障,并确定活跃和备份路由器。

@虚拟MAC地址

组成:

       厂商编码

众所周知的虚拟MAC地址

       HSRP组号

众所周知的MAC虚拟地址是“07.ac

@HSRP的信息

HSRP中的所有路由器都发送或接受HSRP信息,他封装在用户数据报协议(UDP)数据包中的数据部分,使用UDP端口号1985.

       1字节

       1字节

      1字节

      1字节

版本

Op编码

状态

Hello时间

保留时间

优先级

保留

认证数据

认证数据

虚拟IP

**Op编码:

0Hello消息-------发送该消息表明路由器正在运行,且能够成为活跃或备份路由器, 默认每3s发送一次。

1Coup(政变)------发送该消息说明该路由器想成为活跃路由器。

2Resign(辞职)------发送该消息表明路由器不想再当活跃路由器。

**状态域-----各个状态的值为:0(初始)、1(学习)、2(监听)、4(发言)、8(备份)、16(活跃)。

**Hello-------默认每3s发送一次。

**保持时间域------默认值为10s(一般大于或等于Hello时间的3倍)。

**组域-------标识备份组。范围为0~~255,默认为0.

@HSRP的状态

**初始状态:一种起始状态,同时表明HSRP还没有运行。

**学习状态:路由器等待来自活跃路由器的消息。

**监听状态:路由器知道了虚拟IP地址,但既不是活跃路由器也不是备份路由器。

**发言状态:路由器发送周期性的Hello消息,并参与活跃与备份路由器的竞选。在获得虚拟路由器IP之前不能进入发言状态。

**备份状态:路由器成为下一个活跃路由器的候选设备,且发送周期性的Hello消息。在一个组中,只有一台备份路由器。

**活跃状态:路由器负责转发发送到备份组的虚拟MAC地址的数据包。周期性的发生Hello消息。在以组中必须有且只能有一台活跃路由器。

@HSRP计时器

Hello间隔和保持时间。任何状态下的HSRP路由器都会在Hello计时器超时后生成Hello包。默认Hello间隔是3s,默认保持时间是10s

保持时间的值通常会大于或等于Hello间隔的3倍。

@HSRP认证

通过在包内插入共享的明文密码实现的。接口设置命令:standby group-number authentication

@VRRP

HSRPCisco专有协议,在CiscoHSRP之后,Internet工程任务组(IETF)制定了一种路由备份冗余协议:虚拟路由冗余协议(VRRP)工作原理与HSRP相似。

@配置HSRP

**将路由器配置为HSRP成员

       Routerconfig-if#standb group-number ip virtual-ip-address

&group-number:指示端口所属的HSRP组,范围是0~~255

&virtual-ip-address:虚拟路由器的IP地址。

HSRP组中取消一个端口只需在命令前面加“no”即可

为防止主机发现HSRP组中路由器的真实MAC地址(活跃路由器地址),虚关闭端口重定向功能

    Routerconfig-if#no ip redirects

@配置HSRP的优先级

    Routerconfig-if#standby group-number priority priority-value

 Routerconfig-if#standby 35 priority 150

@配置HSRP占先权

当活跃路由器失效或从服务中移除时,备份路由将自动承担起活跃路由器的角色。即使当有更高优先级的原活跃路由器又重新开始在网络中工作时,这台新的活跃路由器仍然会继续作为转发路由器。要想原先的活跃路由器能够从优先级较低的新活跃路由器那里重新取会转发权,可配置占先权。

      Routerconfig-if#standby group-number preempt

例:  Routerconfig-if#standby 35 preempt

@配置Hello消息计时器

      Routerconfig-if#standby group-number time hellotime holdtime

例:         Routerconfig-if#sandby 35 time 5 15

@配置HSRP的端口跟踪

利用端口跟踪,活跃路由器的优先级可以基于路由器端口的可用性而自动进行调整。当活跃路由器上的一个被跟踪端口变为不可用时,活跃路由器的HSRP优先级将被降低。
 Routerconfig-if#standby group-number track  type number interface-priority

例:  Routerconfig-if#standby 35 track serial 1 100

意思是HSRP35组活跃路由器跟踪他上面的s1口,当s1口不可用是活跃路由器的优先级将降低100

关闭端口跟踪只需在命令前面加“no”。