HSRP的解析
个人简介
HSRP = hot standby router protocol 热备份路由协议(思科私有协议)
HSRP v1 = version 1
HSRP v2 = version 2
虚拟一个HSRP虚拟IP地址 192.168.1.1
开启HSRP的抢占功能 == 通过其他参数 人为调整谁是主 谁是从 !
查看HSRP 组查询
默认情况下 谁是主 谁是从?
官方角度︰谁的物理接口的IP地址大 谁是主!
实际角度︰谁先起来 谁是主!
Active路由器
- 响应对虚拟路由器P地址的ARP请求,使用虚拟路由器的MAC地址进行响应
- 负责虚拟路由器的报文转发
- 发送Hello消息
- 知道虚拟路由器的IP地址
Standby路由器
- 监听周期性的Hello消息
- 发送Hello消息
- 若没有从Active路由器收到Hello消息则成为Active路由器
如果出现故障 导致切换 设备恢复后 默认不切换回来的 !
HSRPv1 HSRPv2
HSRPv2 支持lPv6的环境;以及组号0- 4095;组播地址变了
组播地址 === 原来 224.0.0.2 ==== 224.0.0.102 更改了组播地址
HSRP状态
Initia1
初始状态,配置变化时的状态或接口刚刚up时的状态
Listen
路由器知道虚拟IP地址,它正在监听来自其他路由器的Hello消息
Speak
路由器发送周期性的Hello消息,参与activea或standby路由器的选举
Standby
路由器作为下一个active路由器的候选,路由器发送周其期性的Hello消息
Active
路由器当前负债转发,发送到该HSRP组虚拟MAC地址的报文,路由器发送周期性
的Hello信息
HSRP优先级和抢占模式
- 一个HSRP组中具有最高优先级的设备成为Active路由器
- 缺省优先级为100
- 若优先级相同,具有最高接口IP地址的路由器成为Active路由器
- 抢占(Preempt)使得具有更高优先级的设备成为Active。
建议:HSRP的Active路由器应该和STP根桥配置在同一台设备
配置命令
Switch(config)#interface 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
Switch(config-if)#standby 10 priority 110
Switch(config-if)#standby 10 preempt
HSRP验证
Switch(config-if)#standby 10 authentication liu
HSRP计时器配置
- 配置Hello和Hold计时器(可设置为毫秒级别)
- Hold计时器应该至少3倍于Hello计时器
- 配置抢占延迟,使得抢占在交换机完全启动并且网络连通性收敛后进行抢占
Switch(config-if)##standby 10 timers msec 15 (范围15 - 999)msec 600 (范围600 - 3000)
Switch(config-if)#standby 10 preempt delay minimum 1 (范围0 -3600 )
HSRP版本
HSRPv1(默认)
- 组号从0到255
- 虚拟MAC地址为0000.0C07.ACXX (XX为HSRP组号)
- Hello报文发送到组播地址224.0.0.2
HSRPv2
- 组号从0到4095
- 虚拟MAC地址为0000.0C9FFXXX (XXX为HSRP组号)
- Hello报文发送到组播地址224.0.0.102
- HSRPv2和HSRPv1具有不同的报文格式
同一个HSRP组中的所有设备应该配置相同的版本
Switch(config-if)#standby version 2
HSRP接口跟踪
- 配置备份组
- 配置优先级(缺省为100)
- 配置同一个HSRP组中所有设备的抢占
- 配置跟踪接口及其优先级减少值(缺省为10)
配置命令
Switch(config)#interface 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
Switch(config-if)#standby 10 priority 110
Switch(config-if)#atandby 10 preempt
Switch(config-if)#standby 10 track f0/0 20
Switch(config-if)#standby 10 track f0/1
跟踪对象
Switch(config)#track 1 ?
interface Select an interface to track
ip IP protocol
list Group objects in a list
rtr Response Time Reporter (RTR) entry
- Standby命令可以跟踪接口或对象。
- 跟踪对象使用track命令定义。
- Track编号 interface检查线路协议。
- Track编号 ip route检查网络可达性(即是否存在该路由)。
- Track 编号 list定义更复杂的条件。
- Track 编号rtr检省诸如IP SLA的参数等。
HSRP和IP SLA跟踪
配置命令
Switch(config)#ip sla 10
Switch(config-ip-sla)#icmp-echo 12.1.1.1
Switch(config)#ip sla schedule 1 life forever start-time now
Switch(config)#track 90 rtr 10 state
Switch(config)#interface 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
Switch(config-if)#standby 10 priority 110
Switch(config-if)#standby 10 preempt
Switch(config-if)#standby 10 track 90 decrement 30
多个HSRP组
- 为了在接入/汇聚层链路上进行负载分担,在同一台多层交换机上为每个VLAN配置HSRP Active路由器和生成树的根桥。
多个HSRP组的配置
将VLAN10设置为主根桥
Switch(config)#spanning-tree vlan 10 root primary
将VLAN20设置为从根桥
Switch(config)#spanning-tree vlan 20 root secondary
Switch(config)#interface 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
Switch(config-if)#standby 10 priority 110
Switch(config-if)#standby 10 preempt
Switch(config)#interface vlan 20
Switch(config-if)# ip address 10.1.2.2 255.255.255.0
Switch(config-if)#standby 20 ip 10.1.2.1
Switch(config-if)#standby 20 priority 110
Switch(config-if)#standby 20 preempt
查看HSRP
总结
- 单个默认网关或Proxy ARP无法为园区网络提供冗余。
- HSRP为终端设备提供路由器冗余。
- 在接口上使用standby命令配置HSRP。
- 配置抢占、计时器和接口跟踪可以优化HSRP并减少切换时间。
- 使用debug命令检查HSRP状态变化。
拓扑图
- R1是运营商电信
- R2是运营商联通
配置命令
IP地址的配置
R1(config)#int e0/0
R1(config-if)#ip add 13.1.1.1 255.255.255.0
R1(config-if)#no sh
R2(config)#int e0/0
R2(config-if)#ip add 24.1.1.2 255.255.255.0
R2(config-if)#no sh
R3(config)#int e0/0
R3(config-if)#ip add 13.1.1.3 255.255.255.0
R3(config-if)#no sh
R3(config-if)#int e0/1
R3(config-if)#ip add 192.168.1.100 255.255.255.0
R3(config-if)#no sh
R4(config)#int e0/0
R4(config-if)#ip add 24.1.1.4 255.255.255.0
R4(config-if)#no sh
R4(config-if)#int e0/1
R4(config-if)#ip add 192.168.1.200 255.255.255.0
R4(config-if)#no sh
配置PC1
-
PC1(config)#int e0/0 PC1(config-if)#ip add 192.168.1.10 255.255.255.0 PC1(config-if)#no sh PC1(config)#no ip routing PC1(config)#ip default-gateway 192.168.1.1
配置HSRP
R3(config)#int e0/1
配置HSRP 组号要一样(范围0-255)
R3(config-if)#standby 1 ip 192.168.1.1(虚拟一个HSRP的虚拟IP地址)
开启HSRP的抢占功能
R3(config-if)#standby 1 preempt R4(config)#int e0/1
R4(config-if)#standby 1 ip 192.168.1.1
R4(config-if)#standby 1 preempt
查看HSRP状态信息
R3主(活跃路由)
R4从(备用路由)
检验一下
- 假设我们在上网的时候突然路由器的接口短路了
- 我们就用R3的接口e0/1断开来测试一下
R3(config)#int e0/1
R3(config-if)#sh
查看状态
- 我们发现就丢了两个数据包
查看HSRP状态信息
R3
R4
当R3的接口回复时
R3(config)#int e0/1
R3(config-if)#no sh
查看R3的HSRP状态信息
- 会经过四种HSRP状态
- 监听状态
- 协商状态
- 选举状态
修改HSRP的优先级
R3(config)#int e0/1
R3(config-if)#standby 1 priority 120
查看状态信息
修改HSRP的时间
R3(config)#int e0/1
R3(config-if)#standby 1 timers msec 15(时间范围 15-999)毫秒 msec 50(时间范围50-3000)毫秒
R4(config)#int e0/1
R4(config-if)#standby 1 timers 1 2(Hello时间范围1 -254)2( Hold时间2 -255)秒
查看HSRP的状态信息
- 这样改收敛速度会变快