浮动静态路由
概述:当主链路出现故障时,能够根据浮动静态来实现备链路的切换
1、Huawei
实验拓扑:
需求:
主链路出现故障后,备份链路应该能够实现浮动静态的切换
分析:
由于接口为G口,即以太网的封装,即MA网络,那么当主链路的R2的G0/0/0口出现故障后,对于R1来说,直连并没有断开,则主链路的静态路由优先级还是优选,结果导致备份链路并不会切换
演示:
1、将主链路的优先级改的比备份的小,即优选
[R1]ip route-static 2.2.2.0 24 10.1.1.2 preference 100
[R1]ip route-static 2.2.2.0 24 20.1.1.2 preference 200
2、查看路由表,可见主链路的静态路由是活跃的,路由追踪走的就是主链路
3、测试能否切换
当R2的G0/0/0口出现故障后,不能切换,因为MA网络的R1并不知道交换机后的连接情况
解决:
BFD:类似于Cisco的SLA流量发生器;双向通信的会话测试,双方都要部署,因为基于UDP传输
部署:
1、定义BFD会话;用于监听一段MA链路;在本实验中,即当10.1.1.1与10.1.1.2不通时,BFD会话就会断开
本端
[R1]bfd
[R1]bfd 1 bind peer-ip 10.1.1.2 source-ip 10.1.1.1 定义bfd的源目IP
[R1-bfd-session-1]discriminator local 1 定义本端的bfd会话标识
[R1-bfd-session-1]discriminator remote 2 定义对端的bfd会话标识
[R1-bfd-session-1]commit 启动BFD会话,提交bfd的配置
对端
[R2]bfd
[R2]bfd 1 bind peer-ip 10.1.1.1 source-ip 10.1.1.2
[R2-bfd-session-1]discriminator local 2
[R2-bfd-session-1]discriminator remote 1
[R2-bfd-session-1]commit
查看BFD的会话
[R1]dis bfd session all
--------------------------------------------------------------------------------
Local Remote PeerIpAddr State Type InterfaceName
--------------------------------------------------------------------------------
1 2 10.1.1.2 Up S_IP_PEER -
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 1/0
抓包,可以看到BFD的报文
2、静态上定义跟踪,即调用BFD会话,当BFD会话断开时,那么静态失效
[R1]ip route-static 2.2.2.0 24 10.1.1.2 preference 100 track bfd-session 1
测试:R1上常ping,R2上down掉g0/0/0接口,可以看到BFD会话断开,导致条件路由的切换,即切换到备链路上,如下图
2、Cisco
实验拓扑:
需求:
主链路出现故障后,备份链路应该能够实现浮动静态的切换
分析:
1、若down掉R2的F口,路由并不会切换到S口,为什么?
R2down掉F口后,R1其实是知道的,但是R1并不会down掉自己的F口,因为接口封装问题,MA网络,连接多个用户;R2down了,但是还是要与其他用户进行通信的;所以不会切换
2、若down掉R2的S口,为什么会切换?
S口用的是PPP的封装,则R2的S口down掉后,R1也会down掉自己的S口,这样直连路由就不存在了,那么就会完成静态路由的切换
解决:类似于监控的一个技术
SLA:service level agreement 流量发生器;配合IP的track来调用SLA,实现浮动的静态的切换
注意:这与直连的存在与否无关
部署:
1、定义SLA(定义发送数据包的类型以及频率,SLA的工作时间)
R1(config)#ip sla 1
R1(config-ip-sla)#icmp-echo 10.1.1.2 source-ip 10.1.1.1
R1(config-ip-sla-echo)#frequency ?
<1-604800> Frequency in seconds (default 60)
R1(config-ip-sla-echo)#frequency 5 发送频率
R1(config)#ip sla schedule 1 start-time now 定义工作时效 发送3600s
测试:可以看到10.1.1.1一直向10.1.1.2发包
R1#debug ip packet
IP packet debugging is on
R1#
*Jun 25 01:18:16.799: IP: s=10.1.1.1 (local), d=10.1.1.2 (FastEthernet0/0), len 64, sending
*Jun 25 01:18:16.799: IP: s=10.1.1.1 (local), d=10.1.1.2 (FastEthernet0/0), len 64, sending full packet
2、定义track跟踪
R1(config)#track 10 ip sla 1 reachability
R1(config-track)#exit
3、静态路由中调用跟踪
R1(config)#ip route 2.2.2.0 255.255.255.0 10.1.1.2 10 track 10
测试:
R1上常pingR2的环回地址,R2上down以太网接口,即F口;可以,实现了切换
R1#ping 2.2.2.2 repeat 10000
Type escape sequence to abort.
Sending 10000, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!.......!!!!!!!!!!!!!!!!!!!!!!!!!!!
*Jun 25 01:22:26.387: %TRACKING-5-STATE: 10 ip sla 1 reachability Up->Down!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
查看R1的路由表,此时的静态路由切换到了串口,切换的实质是条件静态路由