HSRP实验总结兼分析
个人认为,HSRP是面向终端网络的,也就是路由的最后一跳,因为路由间由于有动态路由协议的存在,可以发现和调整实际的路由线路,已经可以实现路由热备。而终端设备诸如电脑、服务器、手持式设备的网关是单一的,或者默认是单一的,因此需要为网关IP实现热备。
简介:
HSRP(Hot Standby Router Protocol):Cisco私有的第3层协议。
HSRP为IP网络提供网络冗余,确保用户流量能立即并透明地恢复网络边界(终端网络)设备或接入电路中的第一跳故障。
在LAN中,多个router组成一个HSRP组,其中一个router代表这个HSRP转发这个LAN中的数据流,其它所有router只发送HSRP hello来维持这种HSRP组关系。
一个HSRP组共享一个IP和一个MAC地址。每个router可以加入多个组。
一个HSRP组由一台active router,一台standby router及other routers。
1>active router转发指向VIP的数据流,并发送HSRP hello包给所有其它HSRP组成员。(最终处于active state)
2>standby router不转发指向VIP的数据流,发送HSRP hello包给所有其它HSRP组成员,并监控active router的状态。(最终处于standby state)
3>other routers不转发指向VIP的数据流,只监控HSRP hello包,不发送。它们执行普通router的工作,只转发目标为他们自己的分组,不转发目标为VIP的地址。(最终处于listen state)
如何区分是否有HSRP热备:tracert 不同网段IP,如果第一跳不是网关,那么很可能是有热备的。这点我一直觉得奇怪ICMP反馈TTL超时的时候,居然反馈的是端口真实IP,不是VIP,也许是因为VIP在HSRP协议中保留,但是IP在端口设置中,HSRP不是任何设备有运行,运行了也不一定该端口就是active端口,反而是端口设置的IP是时刻可取且可靠,取该IP最可靠。
实验注意:Packet Tracert无法做HSRP实验,Dynami或者GNS3才行
基本拓扑如下
注释:
R1、R2的f0/0端口进行热备,对于C3所在网络没有热备。
R1、R2、R3需要启动态路由
HSRP在端口配置:
R1(config-if)#interface FastEthernet0/0
R1(config-if)# ip address 192.168.1.2 255.255.255.0
R1(config-if)# standby 1 ip 192.168.1.1 这是VIP,也就是虚拟IP,终端机这网关为这个。
R1(config-if)# standby 1 priority 120 这里表示优先级,越高越好255最大
R1(config-if)# standby 1 preempt这里表示是否抢占,后面还可以加一个延迟
R1(config-if)# standby 1 mac-address 0000.0c07.ad01 不写,会自动生成mac,写了更加明确
R2配置类似,priority优先级改低即可
V MAC生成原则
VMAC地址由3部分组成:
1>Vendor ID:MAC地址的前3个字节
2>HSRP code:2个字节,一般为07.ac,指示此地址为HSRP router。
3>Group ID:MAC地址的最后一个字节,为HSRP的组号。
如果不采用动态路由协议,R3在左侧网络拓扑变化后,仍然认为R1是路由,虽然,R2抢到了192.168.1.0的路由权,但是,R3不知道192.168.1.0网段现在由R2路由,仍然会把包发给R1,回路路由就在这里断了。
那么需要在R1、R2和R3 之间再加一个交换机,并且配置这个R1 f0/1 R2 f0/1和R3 f0/0在同一个网段,并且做同样的R1、R2 f0/1做一组新的热备,并且 R1、R2 的
f0/0要
standby 1 track f0/1 (这里可以写优先级下降值默认60)
f0/1要
standby 1 track f0/0
这样可以保证 R1的端口f0/0 down的时候,f0/1的优先级下降60(默认,上述命令后还可以跟下降值),那么R2的f0/0口在抢到192.168.1.1的路由权的时候,R2 的f0/1也能因为R1的f0/1权限下降而抢到路由权,这样对于R3看来左侧网络拓扑一直没有变。
参考:HSRP详解