浮动静态路由----思科的sla,track和华为BFD

R1到达R2有两条路径,我们将上面的路径称链1,下面为链2

链1为高速链路,链2为低速链路

最好的效果是优先走高速,高速有故障,再走低速,高速恢复正常,走高速

实现:写两条静态,优先让链2加表,通过修改优先级(不能修改开销值,针对直连和静态,开销值恒为0,无法修改),将R2的接口shutdown,链2自动加表

我们做两个实验,来显示区别:

  1. 将链1备份,链2做主
  2. 将链2备份,链1做主

先配置好环境:

R1:

bash 复制代码
<Huawei>sy
[Huawei]sy r1
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip add 10.1.1.1 24 
[r1-GigabitEthernet0/0/0]q
[r1]int s4/0/0
[r1-Serial4/0/0]ip add 20.1.1.1 24
[r1-Serial4/0/0]q

R2:

bash 复制代码
<Huawei>sy
[Huawei]sy r2
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ip add 10.1.1.2 24
[r2-GigabitEthernet0/0/0]q
[r2]int s4/0/0
[r2-Serial4/0/0]ip add 20.1.1.2 24
[r2-Serial4/0/0]q
[r2]int lo0
[r2-LoopBack0]ip add 2.2.2.2 24

实验一

配静态:

bash 复制代码
[r1]ip route-static 2.2.2.0 24 20.1.1.2 preference 10
[r1]ip route-static 2.2.2.0 24 10.1.1.2 preference 20
[r1]dis ip ro protocol static 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : Static
         Destinations : 1        Routes : 2        Configured Routes : 2

Static routing table status : <Active>
         Destinations : 1        Routes : 1

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        2.2.2.0/24  Static  10   0          RD   20.1.1.2        Serial4/0/0

Static routing table status : <Inactive>
         Destinations : 1        Routes : 1

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        2.2.2.0/24  Static  20   0          R    10.1.1.2        GigabitEthernet
0/0/0

[r1]ping 2.2.2.2
  PING 2.2.2.2: 56  data bytes, press CTRL_C to break
    Reply from 2.2.2.2: bytes=56 Sequence=1 ttl=255 time=30 ms
    Reply from 2.2.2.2: bytes=56 Sequence=2 ttl=255 time=20 ms
    Reply from 2.2.2.2: bytes=56 Sequence=3 ttl=255 time=20 ms
    Reply from 2.2.2.2: bytes=56 Sequence=4 ttl=255 time=30 ms
    Reply from 2.2.2.2: bytes=56 Sequence=5 ttl=255 time=20 ms

  --- 2.2.2.2 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 20/24/30 ms

[r1]

让R1pingR2,再断开R2接口,看R1的表

如图可知,链1加表,实验一成功

实验二

修改链1优先级

bash 复制代码
[r1]undo ip route-static 2.2.2.0 24 10.1.1.2 
[r1]
[r1]ip route-s	
[r1]ip route-static 2.2.2.0 24 10.1.1.2 pre	
[r1]ip route-static 2.2.2.0 24 10.1.1.2 preference 5

链1加表

断r2接口

bash 复制代码
[r2-Serial4/0/0]undo shut	
[r2-Serial4/0/0]undo shutdown 

显示不可达

实验2中,链2加表失败,数据不可达

实验一成功之处在于:

由于链2是点对点网络结果,r1发数据,只能由R2接收,当R2接口故障,R1感知,将接口变up down,物理状态起来,协议接口关闭,不满足直连的要求(1.接口有合法ip 2.接口双up),所以直连消失,直连是产生一切路由的前提,所以静态消失,链1加表,数据恢复转发

分析实验二原因:

跟接口属性有关,由于链1是MA网络,即多路访问网络,R2的g0口断开,交换机接口感知,但是R1的接口无法感知接口双up,静态仍存在,备份无法加表,数据转发失败

问:若链1没有交换机,数据还能恢复转发吗?

不能,即使R1感知,但因为是多路访问网络,可能网络中还有其他用户存在,R1不可能舍100求1

实验改进:改进实验2,实现真正的浮动静态路由

主要方向:R1监测到R2接口

思科做法:SLA

SLA是一种协议,用于测量网络性能和可靠性。它可以测量延迟、丢包率、带宽和可用性等方面,从而帮助网络管理员确定最佳的数据传输路径。

bash 复制代码
1.定义sla
ip sla 1    #定义一个sla会话编号
icmp-echo 10.1.1.2 source-ip 10.1.1.1  #定义发送流量的类型
frequency 5 #定义频率
ip sla schedule 1 start-time now  #定义sla会话启动时间,没写终止时间,默认3600s

通过sla,监测对方接口状态,若是up,发送ping包,对方回复,反之不回复

bash 复制代码
2.定义track跟踪(把ip的sla流量传递过程进行匹配)
track 10 ip sla 1 reachability
#定义track跟踪,调用sla 1 会话,定义reachabiity是否可达

3.设置条件静态路由
ip route 2.2.2.0 24 10.1.1.2 10 track 10 

sla检测太慢,默认60s发送一次,我们修改成5s还是慢,但频率低,占用资源少

华为做法:BFD(双方检测转发)

基于UPD发送,速度是ms级,并且是一个独立的BFD会话

BFD只进行双方通信检测,里面发送的就是BFD包,对资源占用少,速率高

BFD除此以外,还可以在ospf(解决邻居挂了,死亡时间太长),vrrp,bgp等中做

bash 复制代码
[r1]
[r1]bfd  #启动功能
[r1-bfd]q
[r1]bfd 1 bind ?    #选择监听普通ip
  ldp-lsp     Information about LDP LSP
  mpls-te     Information about MPLS TE
  peer-ip     Set peer IP address  
  static-lsp  Information about static LSP
[r1]bfd 1 bind pee	
[r1]bfd 1 bind peer-ip 10.1.1.2 so	
[r1]bfd 1 bind peer-ip 10.1.1.2 source-ip 10.1.1.1  #定义bfd会话
[r1-bfd-session-1]dis	
[r1-bfd-session-1]discriminator lo	
[r1-bfd-session-1]discriminator local ?  #定义一条会话的本地编号,可自动生成,可手动
  INTEGER<1-8191>  Discriminator value
[r1-bfd-session-1]discriminator local 1
[r1-bfd-session-1]discriminator remote 2	
[r1-bfd-session-1]commit #提交保存
[r1]undo ip route-static 2.2.2.0 24 10.1.1.2 preference 5
[r1]ip route-static 2.2.2.0 24 10.1.1.2 preference 5 track bfd-session 1



[r2]bfd
[r2-bfd]q
[r2]bfd 2 bind p	
[r2]bfd 2 bind peer-ip 10.1.1.1 so	
[r2]bfd 2 bind peer-ip 10.1.1.1 source-ip 10.1.1.2
[r2-bfd-session-2]dis	
[r2-bfd-session-2]discriminator lo	
[r2-bfd-session-2]discriminator local 2
[r2-bfd-session-2]dis	
[r2-bfd-session-2]discriminator re	
[r2-bfd-session-2]discriminator remote 1
[r2-bfd-session-2]com	
[r2-bfd-session-2]commit 
[r2-bfd-session-2]
[r2-bfd-session-2]q

重复试验2

查看路由表

链2成功加表

BFD缺点:两端都要做,也有特殊情况,但是要有硬件设备支持

相关推荐
小林熬夜学编程1 小时前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
Hacker_Fuchen1 小时前
天融信网络架构安全实践
网络·安全·架构
上海运维Q先生1 小时前
面试题整理15----K8s常见的网络插件有哪些
运维·网络·kubernetes
ProtonBase1 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
fantasy_arch11 小时前
CPU性能优化-磁盘空间和解析时间
网络·性能优化
是Dream呀13 小时前
Python从0到100(七十八):神经网络--从0开始搭建全连接网络和CNN网络
网络·python·神经网络
kaixin_learn_qt_ing14 小时前
了解RPC
网络·网络协议·rpc
安全小王子14 小时前
Kali操作系统简单介绍
网络·web安全
Hacker_LaoYi15 小时前
【漏洞分析】DDOS攻防分析(四)——TCP篇
网络·tcp/ip·ddos
爱吃水果蝙蝠汤15 小时前
DATACOM-IP单播路由(BGP)-复习-实验
网络·网络协议·tcp/ip