1.设计目的

 HSRP(Hot Standby Redundency Protocol),热备份冗余协议

热备份路由器协议(HSRP)的设计目标是支持特定情况下IP 流量失败转移不会引起混乱、并对终端主机是透明的,以及即使在实际第一跳路由器使用失败的情形下仍能维护路由器间的连通性。换句话说,当源主机不能动态知道第一跳路由器的IP 地址时,HSRP 协议能够保护第一跳路由器不出故障。

2.工作原理
负责转发数据包的路由器称之为活动路由器(Active Router)。一旦活动路由器出现故障,HSRP 将激活备份路由器(Standby Router)取代主动路由器。HSRP 协议提供了一种决定使用Active Router还是Standby Router的机制,并指定一个虚拟的IP 地址以及虚拟的MAC作为网络系统的缺省网关地址。如果Active Router出现故障,Standby Routers承接活动路由器的所有任务,并且不会导致主机通信中断现象。HSRP 运行在
UDP 上,采用端口号1985。路由器转发协议数据包的源地址使用的是实际IP 地址,而并非虚拟地址,正是基于这一点,HSRP组的路由器间能相互识别。

3. HSRP协议的路由器交换以下三种多点广播消息:
Hello——hello消息通知其他路由器发送路由器的HSRP优先级和状态信息,HSRP路由器默认为每3秒钟发送一个hello消息;
Coup——当一个备用路由器变为一个主动路由器时发送一个coup消息;
Resign——在一个路由器退出备份组时发送。
4. ActiveStandby路由器
Active路由器
响应对虚拟路由器IP地址的ARP请求,使用虚拟路由器的MAC地址进行响应
负责虚拟路由器的报文转发
发送Hello消息
知道虚拟路由器的IP地址
Standby路由器
监听周期性的Hello消息
发送Hello消息
知道虚拟路由器的IP地址
若没有从Active路由器收到Hello消息则成为Active路由器
5.HSRP状态
HSRP VRRP GLBP_动态
6. HSRP优先级和抢占模式
一个HSRP组中具有最高优先级的设备成为Active路由器
缺省优先级为100
若优先级相同,具有最高接口IP地址的路由器成为Active路由器
抢占(Preempt)使得具有更高优先级的设备成为Active。HSRP默认抢占是关闭的。
配置HSRP的抢占
HSRP VRRP GLBP_数据包_02HSRP VRRP GLBP_流量_03
7.配置HSRP验证
switch(config-if)#standby 10 authentication cisco     #配置验证密码为cisco。可以启用MD5验证。
8.配置计时器
switch(config-if)#standby 10 timers msec 100 msec 300     #配置HSRP计时器(hello/hold时间)。可以精确到毫秒级别。
9.HSRP接口跟踪
switch(config)#int vlan 10
switch(config-if)#ip address 10.1.1.2 255.255.255.0
switch(config-if)#standby 10 ip 10.1.1.1     #配置HSRP组的虚拟IP地址
switch(config-if)#standby 10 priority 110      #配置此设备的HSRP优先级为110
switch(config-if)#standby 10 preempt     #开启抢占模式
switch(config-if)#standby 10 track f0/23 20     #配置跟踪接口,并设置优先级的减少量为20
switch(config-if)#standby 10 track f0/24
10.HSRP和IP SLA跟踪
switch(config-if)#standby 10 track 100 decrement 20     #配置HSRP跟踪与IP SLA作业相配合
注:IP SLA作业部分的配置参照“实现网络的高可用性”章节。
11.多个HSRP组
为了在接入/汇聚层链路上进行负载分担,在同一台多层交换机上为每个VLAN配置HSRP Active路由器和生成树的根桥。一般建议HSRP的Active路由器应该和STP根桥配置在同一台设备。
在同一个VLAN中实现负荷分担
SW1:
SW1(config)#int vlan 10
SW1(config-if)#ip address 192.168.10.1 255.255.255.0
SW1(config-if)#standby 1 ip 192.168.10.254
SW1(config-if)#standby 1 preempt
SW1(config-if)#standby 1 priority 105
SW1(config-if)#standby 2 ip 192.168.10.253
SW1(config-if)#standby 2 preempt
SW2:
SW2(config)#int vlan 10
SW2(config-if)#ip address 192.168.10.2 255.255.255.0
SW2(config-if)#standby 1 ip 192.168.10.254
SW2(config-if)#standby 1 preempt
SW2(config-if)#standby 2 ip 192.168.10.253
SW2(config-if)#standby 2 preempt
SW2(config-if)#standby 2 priority 105
VLAN 10中的一半PC的网关:配置为192.168.10.254
VLAN 10中的一半PC的网关:配置为192.168.10.253
在不同VLAN中实现负荷分担
SW1:
SW1(config)#int vlan 10
SW1(config-if)#ip address 192.168.10.1 255.255.255.0
SW1(config-if)#standby 1 ip 192.168.10.254
SW1(config-if)#standby 1 preempt
SW1(config-if)#standby 1 priority 105
SW1(config)#int vlan 20
SW1(config-if)#standby 1 ip 192.168.20.254
SW1(config-if)#standby 1 preempt
SW2:
SW2(config)#int vlan 10
SW2(config-if)#ip address 192.168.10.1 255.255.255.0
SW2(config-if)#standby 1 ip 192.168.10.254
SW2(config-if)#standby 1 preempt
SW2(config)#int vlan 20
SW2(config-if)#standby 1 ip 192.168.20.254
SW2(config-if)#standby 1 preempt
SW2(config-if)#standby 1 priority 105
VLAN 10的PC网关:配置为192.168.10.254(以交换机A作为Active路由器)
VLAN 20的PC网关:配置为192.168.20.254(以交换机B作为Active路由器)
12.检查
switch#sh standby brief     #查看HSRP备份组状态

三、VRRP(Virtual Router Redundency Protocol),虚拟路由器冗余协议
switch(config)#track 90 interface f0/0 line-protocol     #定义一个跟踪对象
switch (config-track)#int vlan 10
switch (config-if)#ip address 10.1.10.2 255.255.255.0
switch (config-if)#vrrp 1 ip 10.1.10.1     #定义VRRP组的IP地址
switch (config-if)#vrrp 1 priority 110     #设置接口VRRP优先级
switch (config-if)#vrrp 1 timers advertise msec 500     #设置advertise时间间隔为500毫秒
switch (config-if)#vrrp 1 authentication md5 key-string cisco     #配置vrrp验证
switch (config-if)#vrrp 1 track 90 decrement 20     #运用所定义的跟踪对象并设置处理动作为降低优先级量为20。

四、GLBP(Gateway Load Balance Protocol),网关负载均衡协议
switch(config)#track 90 interface f0/23 line-protocol
switch (config)#track 91 interface f0/24 line-protocol
switch (config)#int vlan 10
switch (config-if)#ip address 10.1.10.2 255.255.255.0
switch (config-if)#glbp 1 ip 10.1.10.1
switch (config-if)#glbp 1 weighting 110 lower 85 upper 105
switch (config-if)#glbp 1 timers msec 200 msec 700
switch (config-if)#glbp 1 preempt delay minimum 300
switch (config-if)#glbp 1 authentication md5 key-string cisco
switch (config-if)#glbp 1 weighting track 90 decrement 10
switch (config-if)#glbp 1 weighting track 91 decrement 20