HSRP 入门案例教程用最简单的拓扑、场景来说明 HSRP 的整个过程:配置路由器的命令、选举 Active 、超时反应、断线恢复等。案例有两个版本:图解、仿真。这是图解版本,从仿真截图并加标注,介绍主要步骤。
- 背景 :网关坏了,主机、服务器对外通讯中断,会天下大乱,若靠人工修复,得好几小时,影响很大。如果有后备网关递补,可以解决这个问题。方法是把网段中几个路由器设为后备网关组,选一个担任默认网关, 另一个担任后备网关。若担任网关的路由器出故障,马上由后备网关递补,只要后备网关组里还有路由器,默认路由器就不下线。
HSRP 工作原理 : HSRP 用一个虚拟路由器来代表默认网关,主机配置默认网关时,用的是虚拟路由器的 IP 地址,主机用 ARP 查询默认网关的 MAC 地址时,得到的是虚拟 MAC 地址。后备网关组的路由器播放 Hello, 根据彼此的 priority, Router ID 而选出 Active 及 Standby 。 Active 出任虚拟路由器的职位,成为默认网关。 当 Active 出问题, Standby 马上递补。在这个过程中主机对 Active 的变动浑然不知,继续把数据包发送给虚拟路由器。
- 预备知识 :路由器 , ARP, IP 地址。
- HSRP入门仿真 : 这个图解教程是根据 HSRP 仿真创作。仿真用动画显示 HSRP 选举过程,读者可以互动的检查数据包内容,观察数据包 – HSEP 状态表 – MAC 表之间的因果关系。
拓扑
1. 拓扑 :两个路由器 R1, R2 是 HSRP 路由器。 R1, R2, H1 经交换机连接。
2. 配置 :把 HSRP 虚拟路由器的 IP 地址设为 192.168.1.1, 虚拟 MAC 地址设为 MAC.virt 。把 R1, R2 配置为 HSRP 虚拟路由器后备组的成员,它们的 IP 地址是 192.168.1.2 , 192.168.3, MAC 地址都是 MAC.virt 。 R1, R2 的 HSRP priority 是 105.100 。在正常情况下, R1 会被选为 Active, R2 被选为 Standby 。 .
3. 初始化 : R2 先启动 , 还不知道别的路由器,认为自己是 Active, 就洪泛 Hello1 宣告:我是 R2, 我是 Active, priority 是 100 。
交换机 S1 收到 Hello1, 把它的源 MAC 地址 (HSRP 虚拟 MAC) 记录下来, S1 的 MAC 表增添了一个条目 ( 虚拟 MAC, F0/2)
稍后 R1 也启动了,发送 Hello2 宣布:我是 Active , priority 是 105 。 S1 收到这个 Hello 时,把 MAC 表虚拟 MAC 的条目改为 (MAC.virt, F0/1) 。
4. R1 收到 R2 的 Hello, 看到它的 priority (100) 比自己的 (105) 要低 , 就发送 Coup 宣布:我才是 Active, 我的 priority 是 105 。
5. R2 收到 R1 的 Coup, 承认 R1 应被选为 Active, 自己把状态改为 Speak, 然后发送 Hello3 通知其他路由器。同时,因为 Standby 还没有选出, R2 启动 Standby timer.
6. R1 周期性的发送 Hello ,宣布自己是 Active. R1 用 Hello 计时器,一超时就发送 Hello. 这样,别的路由器就能知道 Active 路由器一切正常,后备路由器继续待命。
7. R2 的 Standby timer (计时器) 超时 , R2 自选为 Standby, 发送 Hello 通知大家 .
8. R1 收到 R2 的 Hello, 知道 R2 是 Standby ,没有异议。现在, HSRP 初始化完成, R1, R2 对 HSRP 的状态有共同的认识。
9. H1 ping H2. 交换机 S1 收到 ping 根据其 Link 报头的目的 MAC (MAC.virt) 把 ping 转发到 R1 , R1 再把 ping 转发到 H2.
10. R1 E0/0 接口断线,不能发送、接收 HSRP 数据包。
11. H1 第二次 ping H2, 被 S1 转发到 R1, 因 R1 断线 而失败。
12. R2 超时没收到 R1 的 Hello, 判断 R1 出事了,就自动升级,从后备 (Standby) 改为 Active ,并发送 Hello 通知大家。
13. 交换机 S1 收到 R2 的 Hello ,更新 MAC 表,把虚拟 MAC 的接口改为 F0/2.
14. H1 第三次 ping H2 。 这次, S1 根据虚拟 MAC 把 ping 经 F0/2 转发到 R2 。然后 R2 把 ping 转发到 H2. 第三个成功了。
【注】以上步骤,可以互动的操作 HSRP入门仿真 ,检查数据包内容,观察数据包 – 计时器 - HSRP 状态表 – 交换机 MAC 表之间的因果关系。
参考资料:
[a] HSRP
Visualland.net HSRP入门仿真 ( 这篇图解相应的仿真 ) , HSRP仿真目录 (有 6 个 HSRP 仿真,由浅入深,并包括几个实验)
Wikipedia: HSRPt http://en.wikipedia.org/wiki/Hot_Standby_Router_Protocol
RFC2281 http://www.faqs.org/rfcs/rfc2281.html
[b] ARP & switch. HSRP 的路由器在被选上 Active 后,广播 ARP Reply 使得局网内的交换机都更新其虚拟地址的接口。 .
Visualland ARP 仿真目录 (8 个 ARP 仿真 ) http://www.visualland.net/protocol.overview.php?p=ARP&class=1&protocol=&title=0.ARP%20Overview
Switch MAC discovery http://www.visualland.net/view.php?cid=866&protocol=Switch_VLan&title=2.%20MAC%20discovery
Wikipedia: ARP http://en.wikipedia.org/wiki/Address_resolution_protocol