Cisco HSRP 配置指南

www.net130.com     日期:2013-1-5    浏览次数:

1.什么是HSRP
HSRP --- Hot Standby Router Protocol ( 热备份路由器协议 )。
它的作用是能够把一台或多台路由器用来做备份,所谓热备份是指当使用的路由器不能正常工作时, 候补的路由器能够实现平滑的替换, 尽量不被察觉。
通常,我们的网络上主机设置一条缺省路由,指向主机所在网段内的一个路由器R,这样,主机发出的目的地址不在本网段的报文将被通过缺省路由发往路由器R, 从而实现了主机与外部网络的通信。在这种情况下,当路由器R坏掉时,本网段内所有以R为省缺路由下一跳的主机将断掉与外部的通信。如下图,主机A通过缺省 网关 (路由器A)来访问主机B,一旦路由器A不能正常工作,主机A将无法访问主机B。
HSRP 可以解决上述问题,首先由多台路由器组成备份组(路由器A和路由器B),从主机A看来这个备份组就是一台虚拟的路由器,有独立的虚拟IP 地址,主机A使用 这台虚拟路由器作为网关(设置虚拟IP地址)。 在备份组内有一台路由器是活动路由器(假设路由器A),它完成虚拟路由器的工作,如负责转发主机送给虚拟路由器的数据包,路由器B作为备份路由器,当活动 路由器A出现故障, 备份路由器B会接替活动路由器的工作,负责转发主机送给虚拟路由器的数据包。这对主机A来说是透明的,因为主机A只看到虚拟路由器。
HSRP协议确定备份组工作的机制,实现上述备份功能。
HSRP适用于具有多播或广播能力的局域网(如:以太网)。
2. HSRP的用途
HSRP用于广播或多播局域网上的路由器热备份, 并适于静态的路由配置,实际上HSRP正是解决设备不能动态适应路由改变的问题。
HSRP主要用途:
1。主机设置缺省网关
如图1-1中,假设主机A是局域网中一台需要访问远程数据的服务器, 要求远程访问能力可*。由于主机A中静态设置缺省网关,一旦想更换网关,必须在主机中重新配置。 通过使用HSRP,主机中设置虚拟路由器为缺省网关,具体由虚拟路由器中的哪台路由器完成网关的实际工作,主机并不关心,这就为应用提供了较好的可*性和 灵活性。
2。设置静态路由
如图1-2,也是一种HSRP应用的实例,路由器A和路由器B组成虚拟路由器,接入服务器配置静态缺省路由指向虚拟路由器,路由器C也同样把虚拟路由器作 为静态缺省路由来配置。当然,HSRP虚拟路由器是有接口区分的,下面会详细说明。
3.HSRP是如何工作的
3.1.HSRP工作实现
当采用HSRP, 用户看到的是一台虚拟路由器,该虚拟路由器有自己的虚拟IP地址和虚拟MAC地址,该虚拟路由器是由一组路由器组成的,这组路由器称为备份组。备份组内的 有一台活动路由器、一台备份路由器,以及群众路由器构成。一般情况下,一旦活动路由器坏掉,该备份路由器成为活动路由器,然后备份组内选举组内的另一台路 由器为备份路由器。
组内路由器通过接受来自活动路由器的周期性HELLO报文来判断活动路由器是否工作正常。如果组内备份路由器R在一定时间间隔未收到活动路由器的 HELLO报文,就认为活动路由器坏掉了,优先级高的备份路由器最终成为活动路由器。备份路由器也是通过类似过程产生的。这样总能保证备份组中有一台活动 路由器,一台备份路由器。
3.2.HSRP状态 和 HSRP报文
备份组内的路由器处于各自的状态,根据相互间发送HSRP报文来调整新的状态。
HSRP协议中定义了一个自动状态机,不同的触发事件会产生相应的状态变化和动作。
HSRP状态:
(1)INIT
所有备份组内组员的初始状态为INIT;当组员配置属性或端口UP是,进入INIT状态;
(2)LEARN
该组员未设定虚拟IP地址,并等待从本组活动路由器发出的认证的HELLO报文中学习得到自己的虚拟IP地址;
(3)LISTEN
该组员已得知或设置了虚拟IP地址,通过监听HELLO报文监视活动/备份路由器,一旦发现活动/备份路由器长时间未发送HELLO报文,则进入 SPEAK状态,开始竞选;
(4)SPEAK
参加竞选活动/备份路由器的组员所处的状态,通过发送HELLO报文使竞选者间相互比较,竞争;
(5)STANDBY
组内备份路由器所处的状态;备份组员监视活动路由器,准备随时在活动路由器坏掉时接替活动路由器。备份路由器也周期性发送HELLO报文告诉其他组员自己 没有坏掉。
(6)ACTIVE
组内活动路由器,负责虚拟路由器实际路由工作的组员所处的状态。 活动路由器周期性发送HELLO报文告诉其他组员自己没有坏掉。
HSRP报文结构如下:
0(BYTE) 1 2 3 4
Version Op Code State Hello Time
Hold Time Priority Group Reserved
Authentication Data
Authentication Data
Virtual IP Address
Version:1 BYTE
HSRP报文的版本号。本文档的HSRP报文版本为0;
Op Code:1 BYTE
描述了HSRP报文的类型:
共有3 种报文类型:
(1):0 --- HELLO;
HELLO类型报文说明发送者处在运行状态,有能力成为活动/备份路由器;
(2):1 --- COUP;
COUP类型报文说明发送者希望成为活动路由器;
(3):2 --- RESIGN;
COUP类型报文说明发送者不再是活动路由器;
State:1 BYTE
描述发送者发送报文时所处的状态;
Hello Time:1 BYTE
该域只在HELLO报文中有意义。它包含发送者发送HELLO报文的时间间隔,以秒计;
如果路由器上未配置Hello Time值,它可以从组中活动路由器发送的HELLO报文中学习到,但须本路由器认证该HELLO报文;
如果路由器上既未配置Hello Time,也未学习到,则赋予省缺值3;
Hold Time:1 BYTE
该域只在HELLO报文中有意义。它包含发送者发送HELLO报文的持有时间,以秒计;
Hold Time必须大于Hello Time,而且最好大于三倍Hello Time;
如果路由器上未配置Hold Time,它可以从组中活动路由器发送的HELLO报文中学习到,但须本路由器认证该HELLO报文;
如果路由器上既未配置Hello Time,也未学习到,则赋予省缺值10;
Priority:1 BYTYE
该域用来选举活动/备份路由器。当选举过程中出现竞争(多个路由器都想成为活动/备份路由器)时,优先级最高的竞争者胜,对于优先级相等的竞争者,IP地 址最大的竞争者胜。
Group:1 BYTE
此域中记录发送者所在的备份组号。对于以太网,Group取值范围为0-255;
Authentication Data:8 BYTE
8字符长的的口令,用于组内成员相互鉴别。
Vritual IP Address:4 BYTE
备份组的虚拟IP地址,备份组模拟的虚拟路由器的IP地址。虚拟路由器还有一MAC地址,它由组号直接映射而成:0X00 00 0C 07 AC ** ;**为备份组号。
组内各成员须至少有如下信息:
(1):备份组号(Group);
(2):虚拟MAC地址(Virtual MAC Address);
(3):优先级(Priority);
(4):Authentication Data;
(5):Hello Time;
(6):Hold Time;
至少一位组员有如下信息:
(1):虚拟IP地址(Virtual IP Address);
每位组员可选择配置如下信息:
(1):抢占标志(Preempt);
如果某位组员的Preempt置位,又收到活动路由器的HELLO报文,发现自己的优先级比活动路由器高,则该组员可强行取代成为活动路由器。

1.1. HSRP多备份组和HSRP多接口
在一网段内,多个备份组可以共存。每个备份组模拟成一虚拟路由器,每个这样的虚拟路由器配置一虚拟MAC地址和一虚拟IP地址。该虚拟IP地址应属于本网 段,而且不与网段内的任何路由器和主机的IP地址相同,也不与网段内的其他虚拟路由器的虚拟IP地址相同。
一台路由器也可以参加多个备份组,为多个组作备份。
路由器的HSRP配置是针对具体接口的,因此需要在接口模式下配置。在一台路由器上,备份组由(接口,组号)唯一确定。每个备份组都有属于自己的数据和状 态。
如果一台路由器有两个以太网口,可以分别在两个接口上配置两个HSRP备份组,为不同网段使用。
2. HSRP在路由器上的配置方法
HSRP配置在以太网接口配置模式下进行。
2.1. HSRP配置任务列表
以下是HSRP的配置列表:
? 激活和关闭HSRP
? 设置HSRP的优先级
? 设置HSRP抢占方式
? 设置HSRP的授权字
? 设置HSRP的计时器
? 设置监视指定接口
? 设置使用接口 Mac地址模式(burned in address)
? 设置不同的虚拟Mac地址
? HSRP的监控
2.2. 激活和关闭HSRP
使路由器在指定局域网段加入或退出一个备份组。需要指定备份组号和虚拟IP地址。
表10-1 激活 HSRP
*作 命令
激活HSRP备份组 standby [group-number] ip [virtual ip address]
备份组号范围从0到255,如group-number 不指定, 备份组号缺省为0, virtual ip address 如果不指定, 路由器不会参与备份, 直到从备份组中的活动路由器获得虚拟IP地址。注意虚拟IP地址应该是接口所在网段的地址。
表10-2 关闭HSRP
*作 命令
退出HSRP备份组 no standby [group-number] ip [virtual ip address]
一旦退出HSRP备份组, 则路由器在该备份组上设置的所有HSRP特性不再有效(如优先级,授权字等)。
1.1. 设置HSRP的优先级
HSRP中根据优先级来确定参与备份组的每台路由器的地位,备份组中优先级最大并且已获得虚拟IP地址的路由器将成为活动路由器,优先级其次的路由器将成 为备份路由器。
优先级缺省值是100,可设置范围从0 到255。
表10-3 设置HSRP优先级
*作 命令
设置HSRP优先级 standby [group-number] priority [priority-value]
1.1. 设置HSRP抢占方式
一旦备份组中的某台路由器成为活动路由器,只要它没有出现故障,其它路由器即使随后被配置更高的优先级, 也不会成为活动路由器,除非被设置抢占方式。路由器如果设置抢占方式,它一旦发现自己的优先级比当前的活动路由器的优先级高,就会成为活动路由器,相应 地,原活动路由器会退出活动态,成为备份路由器或其它。
缺省方式是不抢占。
表10-4 设置HSRP抢占方式
*作 命令
设置HSRP抢占方式 standby [group-number] preempt
1.1. 设置HSRP的授权字
HSRP授权字确认同备份组间其它路由器的有效性。
表10-5 设置HSRP授权字
*作 命令
设置HSRP授权字 standby [group-number] authentication string
授权字 string 的长度不超过8个字节。
注意:同一备份组要设置相同的授权字
1.1. 设置HSRP的计时器
HSRP备份组路由器之间通过定时发送Hello报文确认相互的状态,超过一定时间(hold time)没有收到某台路由器的Hello报文,则认为它已关机或出现故障。
用户可以调整发送Hello报文的间隔时间(hello time)和超时时间(hold time)。缺省值分别是 3 秒和10 秒。
表10-6 设置HSRP计时器
*作 命令
设置HSRP计时器 standby [group-number] timer [hello_time] [hold_time]
时间单位是秒。
注意:同一备份组要设置相同的hello time 和hold time
1.1. 设置监视指定接口
HSRP监视接口功能,更好地扩充了备份功能,即不仅在路由器出现故障时提供备份功能,而且在某网络接口不可用时,也可以使用备份功能。
表10-7 设置HSRP监视接口
*作 命令
监视指定接口 standby [group-number] track interface_name [priority-reduced]
取消 监视指定接口 no standby [group-number] track interface_name [priority-reduced]
命令作用是监视接口interface_name, 如果接口变为不可用,则将优先级减少priority-reduced 。 priority-reduced 缺省值为10 。
1.1. 设置使用本地接口 Mac地址模式(burned in address)
当主机使用HSRP备份组,除了使用虚拟IP地址,还要使用备份组的虚拟Mac地址,缺省方式下, 每个HSRP备份组使用特殊保留的Mac地址作为虚拟Mac地址, 以保证备份组对主机的透明性。然而,用户也可以设置HSRP备份组使用活动路由器的真实Mac地址。
表10-8 设置HSRP接口Mac地址模式
*作 命令
HSRP接口Mac地址模式 standby use-bia
使用虚拟Mac地址 no standby use-bia
注意:1. 使用use-bia 时, 不能参加多个备份组
2. 使用该设置, 可能会引起HSRP状态的改变
1.1. 设置不同的虚拟Mac地址
对于HSRP备份组的虚拟Mac地址, 随生产厂家而不同。为了实现与其它厂家路由器的互通,Quidway(R)提供用户更改虚拟Mac地址的设置。
表10-8 设置其它虚拟Mac地址
*作 命令
设置其它虚拟Mac standby use-ovmac xx-xx-xx-xx-xx
恢复使用缺省虚拟Mac地址 no standby use-ovmac
用户设置Mac地址的前5个字节,最后一个字节为备份组号。
注意: 使用该设置, 可能会引起HSRP各备份组状态的改变
1.1. HSRP的监控
Quidway(R) 提供用户监控或诊断的命令。
表10-8 HSRP 监控
*作 命令
显示HSRP信息 show standby
显示调试信息 debug standby
 
1. HSRP典型的配置实例
1.1. HSRP单备份组举例
(1)配置需求
主机A把路由器A和路由器B组成的HSRP备份组作为自己的缺省网关,访问Internet, 如主机B。
HSRP备份组构成: 备份组号为0, 虚拟IP地址为202.38.160.111,路由器A做活动路由器,路由器B做备份路由器, 允许抢占。
(2)配置步骤
配置路由器A:
Quidway(config-if-Ethernet0)# standby ip 202.38.160.111
Quidway(config-if-Ethernet0)# standby preempt
Quidway(config-if-Ethernet0)# standby priority 120
配置路由器B:
Quidway(config-if-Ethernet0)# standby ip 202.38.160.111
Quidway(config-if-Ethernet0)# standby preempt
(3)配置说明
备份组配置后不久,就可以使用。主机A可将缺省网关设为202.38.160.111 。
正常情况下,路由器A执行网关工作,当路由器A关机或出现故障,路由器B将接替执行网关工作。
设置抢占方式,目的是当路由器A恢复工作后,能够继续成为活动路由器执行网关工作。

1.2. HSRP监视接口举例
(1)配置需求
如上图, 即使路由器A仍然工作,但当其连接Internet的接口不可用时,可能希望由路由器B来执行网关工作。可通过配置监视接口来实现上述需求。
为示例起见,备份组号为1,并增加授权字和计时器的配置,在该应用中不是必须的。
(2)配置步骤
配置路由器A:
Quidway(config-if-Ethernet0)# standby 1 ip 202.38.160.111
Quidway(config-if-Ethernet0)# standby 1 preempt
Quidway(config-if-Ethernet0)# standby 1 priority 120
Quidway(config-if-Ethernet0)# standby 1 authentication QUIDWAY
Quidway(config-if-Ethernet0)# standby 1 timers 5 15
Quidway(config-if-Ethernet0)# standby 1track serial0 30
配置路由器B:
Quidway(config-if-Ethernet0)# standby 1 ip 202.38.160.111
Quidway(config-if-Ethernet0)# standby 1 preempt
Quidway(config-if-Ethernet0)# standby 1 authentication QUIDWAY
Quidway(config-if-Ethernet0)# standby 1 timers 5 15
(3)配置说明
正常情况下,路由器A执行网关工作,当路由器A的接口serial0不可用时,路由器A的优先级降低30,低于路由器B优先级,路由器B将抢占成为活动路 由器执行网关工作。
当路由器A的接口serial0恢复工作后,路由器A能够继续成为活动路由器执行网关工作。

1.3. 多备份组举例
(1)配置需求
Quidway(R) 允许一台路由器为多个备份组作备份。
通过多备份组设置可以实现Load Sharing。如 路由器A作为备份组1的活动路由器, 同时又兼职备份组2的备份路由器, 而路由器B正相反, 作为备份组2的活动路由器, 并兼职备份组1的备份路由器。一部分主机使用备份组1作网关, 另一部分主机使用备份组2作为网关。这样,可以达到分担数据流,而又相互备份的目的。
(2)配置步骤
配置路由器A:
Quidway(config-if-Ethernet0)# standby 1 ip 202.38.160.111
Quidway(config-if-Ethernet0)# standby 1 preempt
Quidway(config-if-Ethernet0)# standby 1 priority 120
Quidway(config-if-Ethernet0)# standby 2 ip 202.38.160.112
Quidway(config-if-Ethernet0)# standby 2 preempt
配置路由器B:
Quidway(config-if-Ethernet0)# standby 1 ip 202.38.160.111
Quidway(config-if-Ethernet0)# standby 1 preempt
Quidway(config-if-Ethernet0)# standby 2 ip 202.38.160.112
Quidway(config-if-Ethernet0)# standby 2 preempt
Quidway(config-if-Ethernet0)# standby 2 priority 120

分享道
相关新闻