浮动静态路由路由黑洞问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文深入剖析浮动静态路由路由黑洞问题产生的原因以及如何解决该问题。
拓扑图如上:
R1(config)#ip route 192.168.4.0 255.255.255.0 192.168.2.2 //默认情况下pc1去往pc2走R1-sw1-R2
R1(config)#ip route 192.168.4.0 255.255.255.0 192.168.3.2 100 //期待当主链路失效后路由走R1-sw2-R3 事实真会如此吗?
R2(config)#ip route 0.0.0.0 0.0.0.0 f1/0
正常情况下,即主链路可用时测试如下:
R1#traceroute 192.168.4.10 source 192.168.1.1
Type escape sequence to abort.
Tracing the route to 192.168.4.10
1 192.168.2.
2 68 msec 52 msec 12 msec
2 192.168.4.10 28 msec 68 msec 32 msec //如预期相同
现在我们在R2上关闭接口f1/0,会发生什么情况?路由会启用备用链路吗?
R2(config-if)#int f1/0
R2(config-if)#shutdown
查看路由器R1的路由表:show ip route
S 192.168.4.0/24 [1/0] via 192.168.2.2 //此处可知路由器并未启用备用链路
查看网络连通性:
R1#ping 192.168.4.10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.4.10, timeout is 2 seconds: .....
Success rate is 0 percent (0/5) //由此出现了路由黑洞问题!
查看R1接口状态:
R1#show ip int b
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 192.168.2.1 YES manual up up
//此处为up up状态,尽管链路是up的,但是我们没有办法抵达网关(下一跳路由器地址)
分析可知,普通情况下浮动静态路由只适用于接口 up/down down/down的状态!在
R1、R2中间没有sw1的情况下,接口状态 up/down,会正常切换到备用链路---小伙伴们都
知道的,这里就不再实验证明。
就本拓扑而言,我们就无能为力使其切换到备用链路以避免黑洞问题了吗? NO!神器来了,
小伙伴们,神器来了! cisco ip sla 是工程师的首选!
继续下面的配置:
R1(config)#ip sla monitor 10
R1(config-sla-monitor)#$ type echo ipicmpecho protocol ipicmpecho 192.168.2.2
source-ip 192.168.2.1
R1(config-sla-monitor-echo)#timeout 1000
R1(config-sla-monitor-echo)#frequency 3
R1(config-sla-monitor-echo)#exit
R1(config)#ip sla monitor schedule 10 life forever start-time now
R1(config)#track 20 rtr 10 reachability // 以上的配置可以追踪track的状态,当
有ping包返回时track结果为up,否则为down。
R1#show track
Track 20
Response Time Reporter 10 reachability
Reachability is Down
4 changes, last change 00:03:43
Latest operation return code: Timeout
Tracked by:
STATIC-IP-ROUTING 0
R1(config)#no ip route 192.168.4.0 255.255.255.0 192.168.2.2 //这个命令一定要删
除!
R1(config)#ip route 192.168.4.0 255.255.255.0 192.168.2.2 track 20
//根据对象20的状态决定是否启用备用链路, track 20 表示该静态路由只有track状态为
up的时候才建立。如果为down ,则启用第二条备用链路。
R1(config)#ip route 192.168.4.0 255.255.255.0 192.168.3.2 100
关闭R2 接口f1/0
R2(config)#int f1/0
R2(config-if)#shutdown
检查R1路由表:
S 192.168.4.0/24 [100/0] via 192.168.3.2 //注意此处变化
检查路由路径:
R1#traceroute 192.168.4.10
Type escape sequence to abort.
Tracing the route to 192.168.4.10
1 192.168.3.
2 160 msec 12 msec 116 msec
2 192.168.4.10 12 msec 64 msec 68 msec //备用链路启用成功!路由黑洞问题解决!