静态路由与 BFD 联动

目录

[本实验基于静态路由进行与 BFD 的联动​编辑](#本实验基于静态路由进行与 BFD 的联动编辑)

架构解析:

开始试验

1.网络需求

2.模拟故障

[3.BFD 介绍:](#3.BFD 介绍:)

[3.1进行BFD 的部署来检测双方直连接口的 IP 连通性。](#3.1进行BFD 的部署来检测双方直连接口的 IP 连通性。)

[3.2 查看 BFD 状态](#3.2 查看 BFD 状态)

[3.3 模拟故障](#3.3 模拟故障)

[3.4 还原 BFD](#3.4 还原 BFD)


本实验基于静态路由进行与 BFD 的联动

架构解析:

复制代码
实验准备:

4 台路由器模拟之间的路由交换。
2 台交换机模拟故障为 BFD 与 NQA 联动,
3 本实验 LSW1 故障跟 BFD 联动

数据流向:
R1和R2-->10.0.12.0/24
R1和R3-->10.0.13.0/24
R4和R2-->10.0.24.0/24
R4和R3-->10.0.34.0/24

开始试验


1.网络需求

R1 访问 R4 走 R2 这条路由。R3 为备用路由 pre(优先值):80,先打通所有设备之间的路由

复制代码
###AR1 配置
<Huawei>sys #进入到命令视图
Enter system view, return user view with Ctrl+Z.
[Huawei]sysn R1 #设备命名为 R1
[R1]int g0/0/0  #进入到R1接口G0/0/0
[R1-GigabitEthernet0/0/0]ip ad 10.0.12.1 24 #给设备接口G0/0/0配置网段10.0.12.1 255.255.255.0
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip ad 10.0.13.1 24 

###AR2 配置
<Huawei>sys
[Huawei]sysn R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip ad 10.0.12.2 24
[R2-GigabitEthernet0/0/0] 
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip ad 10.0.24.2 24


###AR3 配置
<Huawei>sys
[Huawei]sysn R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip ad 10.0.34.3 24
[R3-GigabitEthernet0/0/0]
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip ad 10.0.13.3 24


###AR4 配置
<Huawei>sys
[Huawei]sysn R4
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip ad 10.0.24.4 24
[R4-GigabitEthernet0/0/0]int g0/0/1
[R4-GigabitEthernet0/0/1]ip ad 10.0.34.4 24


###写静态路由,打通设备之间的通信。
###R1-->R4 
[R1]ip route-static 10.0.24.4 24 10.0.12.2 #这个规则告诉 R1想去往 10.0.24.0/24 这个网段,下一跳走 10.0.12.2 这个接口可以到目的地。
[R1]ip route-static 10.0.24.4 24 10.0.13.3 pre 80 #同理,静态路由默认优先值为60 越小优先级越高。到同一目的的路由只保留一个最小优先值路径的。或者相同的就是负载均衡。
[R1]ip route-static 10.0.34.0 255.255.255.0 10.0.13.3#第二条路线回程

###R4-->R1
[R4]ip route-static 10.0.12.0 24 10.0.24.2
[R4]ip route-static 10.0.12.0 24 10.0.34.3

###R3
ip route-static 10.0.12.0 24 10.0.13.1

###测试连通性
[R1]ping 10.0.24.4
  PING 10.0.24.4: 56  data bytes, press CTRL_C to break
    Reply from 10.0.24.4: bytes=56 Sequence=1 ttl=254 time=140 ms
    Reply from 10.0.24.4: bytes=56 Sequence=2 ttl=254 time=60 ms
    Reply from 10.0.24.4: bytes=56 Sequence=3 ttl=254 time=70 ms
    Reply from 10.0.24.4: bytes=56 Sequence=4 ttl=254 time=60 ms
    Reply from 10.0.24.4: bytes=56 Sequence=5 ttl=254 time=80 ms

  --- 10.0.24.4 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 60/82/140 ms

2.模拟故障

复制代码
R1]dis ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 12       Routes : 12       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      10.0.12.0/24  Direct  0    0           D   10.0.12.1       GigabitEthernet
0/0/0
      10.0.12.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
    10.0.12.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
      10.0.13.0/24  Direct  0    0           D   10.0.13.1       GigabitEthernet
0/0/1
      10.0.13.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/1
    10.0.13.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/1
      10.0.24.0/24  Static  60   0          RD   10.0.12.2       GigabitEthernet
0/0/0
      10.0.34.0/24  Static  60   0          RD   10.0.13.3       GigabitEthernet
0/0/1
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0


###其中这条路由
10.0.24.0/24  Static  60   0          RD   10.0.12.2       GigabitEthernet
###经过测试你会发现当R1G0/0/0 接口故障后会跳出我们写的切换路由:
10.0.24.0/24  Static  80   0          RD   10.0.13.3       GigabitEthernet
0/0/1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]shutdown 
[R1]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 9        Routes : 9        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      10.0.13.0/24  Direct  0    0           D   10.0.13.1       GigabitEthernet
0/0/1
      10.0.13.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/1
    10.0.13.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/1
      10.0.24.0/24  Static  80   0          RD   10.0.13.3       GigabitEthernet
0/0/1
      10.0.34.0/24  Static  60   0          RD   10.0.13.3       GigabitEthernet
0/0/1
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

###现在把R2与 LSW1 之间的断掉,你会发现 R1 是无法感知的,造成上述的问题的根本原因,静态路由无法感知网络拓扑的变化并做出动态的响应。
[R2]int g0/0/0	
[R2-GigabitEthernet0/0/0]shutdown 

[R1]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 12       Routes : 12       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      10.0.12.0/24  Direct  0    0           D   10.0.12.1       GigabitEthernet
0/0/0
      10.0.12.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
    10.0.12.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/0
      10.0.13.0/24  Direct  0    0           D   10.0.13.1       GigabitEthernet
0/0/1
      10.0.13.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/1
    10.0.13.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
0/0/1
      10.0.24.0/24  Static  60   0          RD   10.0.12.2       GigabitEthernet
0/0/0
      10.0.34.0/24  Static  60   0          RD   10.0.13.3       GigabitEthernet
0/0/1
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

3.BFD 介绍:

BFD(bidirectional Forwarding Detection 双向转发检测)就是这类技术之一。实际上,BFD 可以与多种协议或机制进行联动,他可以用于快速检测网络中的链路状态、IP 可达性、等。BFD 可以与多种协议或机制进行联动,以确保他们更加可靠的工作。例如:OSPF、IS-IS、BGP、 VRRP、PIM、及 MPLS LSP 等

3.1进行BFD 的部署来检测双方直连接口的 IP 连通性。

BFD 在 R1 和 R2 之间开始工作后,两者便会周期性的交换报文,当 R1 和 R2 的连通性产生变化时,双反的 BFD 报文也会产生问题。此时 R1 和 R2 都可以通过 BFD 感知网络的变化

###R1的配置如下

先把链路恢复

#激活BFD功能

复制代码
[R1]bfd
[R1-bfd]q

#创建一个BFD会话,会话名称为check12(该名称可以自己定义),对端 IP 为 10.0.12.2

复制代码
[R1]bfd check12 bind peer-ip 10.0.12.2
[R1-bfd-session-check12]discriminator local 10  #该BFD会话的本地标识符即端口IP
[R1-bfd-session-check12]discriminator remote 20  #该BFD会话的远端标识符即对端IP
[R1-bfd-session-check12]commit  #提交配置
[R1]ip route-static 10.0.24.4 24 10.0.12.2 track bfd-session check12 #将下一跳为R2 的静态路由与 BFD 会话 check12 进行联动

###R2配置如下

复制代码
[R2]bfd
[R2-bfd]q
[R2]bfd check21 bind peer-ip 10.0.12.1
[R2-bfd-session-check21]discriminator local 20
[R2-bfd-session-check21]discriminator remote 10
[R2-bfd-session-check21]commit 
[R2-bfd-session-check21]q
[R2]
Dec 11 2025 15:33:50-08:00 R2 %%01BFD/4/STACHG_TOUP(l)[0]:BFD session changed to
 Up. (SlotNumber=0, Discriminator=335544320, FormerStatus=Init, Applications=Non
e, BindInterfaceName=None, ProcessPST=False) 

完成上述配置后,R1 和 R2 就会进行 BFD 报文交互,首先查看一下 R1 的BFD 状态

3.2 查看 BFD 状态

状态是 UP

复制代码
[R1]dis bfd session all
--------------------------------------------------------------------------------
Local Remote     PeerIpAddr      State     Type        InterfaceName            
--------------------------------------------------------------------------------

10    20         10.0.12.2       Up        S_IP_PEER         -                  
--------------------------------------------------------------------------------
     Total UP/DOWN Session Number : 1/0

查看 R1 的路由表:10.0.24.0/24 pre 60

复制代码
[R1]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 13       Routes : 12       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      10.0.12.0/24  Direct  0    0           D   10.0.12.1       GigabitEthernet0/0/0
      10.0.12.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
    10.0.12.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
      10.0.13.0/24  Direct  0    0           D   10.0.13.1       GigabitEthernet0/0/1
      10.0.13.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
    10.0.13.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
      10.0.24.0/24  Static  60   0          RD   10.0.12.2       GigabitEthernet0/0/0
      10.0.34.0/24  Static  60   0          RD   10.0.13.3       GigabitEthernet0/0/1

[R1]dis current-configuration
#
ip route-static 10.0.24.0 255.255.255.0 10.0.12.2 track bfd-session check12
ip route-static 10.0.24.0 255.255.255.0 10.0.13.3 preference 80
ip route-static 10.0.34.0 255.255.255.0 10.0.13.3
#

3.3 模拟故障

现在将 R2 与 LSW1 之间的端口关闭,R2 将会弹出以下日志:

复制代码
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]shutdown . 
[R2-GigabitEthernet0/0/0]
Dec 11 2025 20:19:17-08:00 R2 %%01BFD/4/STACHG_TODWN(l)[2]:BFD session changed toDown. 
(SlotNumber=0, Discriminator=335544320, Diagnostic=DetectDown, Applications=None, 
ProcessPST=False, BindInterfaceName=None,InterfacePhysicalState=None, InterfaceProtocolState=None) 

由于 R2 和 R1 的连通性已经出现了问题,BFD 很快就能感知到,从上述的日志输出可以看出来。BFD 的状态已经切换为 down,查看一下会话状态

复制代码
[R1]dis bfd session all
--------------------------------------------------------------------------------
Local Remote     PeerIpAddr      State     Type        InterfaceName            
--------------------------------------------------------------------------------

10    20         10.0.12.2       Down      S_IP_PEER         -                  
--------------------------------------------------------------------------------
     Total UP/DOWN Session Number : 0/1

由于静态路由ip route-static 10.0.24.0 255.255.255.0 10.0.12.2 track bfd-session check12 与该 BFD 会话绑定进行联动,因此该静态路由一失效。浮动路由就会出现在路由表中:10.0.24.0/24 Static 80 0 RD 10.0.13.3 GigabitEthernet0/0/1

复制代码
R1]dis ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 14       Routes : 12       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      10.0.12.0/24  Direct  0    0           D   10.0.12.1       GigabitEthernet0/0/0
      10.0.12.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
    10.0.12.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
      10.0.13.0/24  Direct  0    0           D   10.0.13.1       GigabitEthernet0/0/1
      10.0.13.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
    10.0.13.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
      10.0.24.0/24  Static  80   0          RD   10.0.13.3       GigabitEthernet0/0/1
      10.0.34.0/24  Static  60   0          RD   10.0.13.3       GigabitEthernet0/0/1

此时 R1 发往 R4 的数据就会从 R3 转发,流量实现了平滑切换,

3.4 还原 BFD

把端口重新开启,重新建立会话需要等待 30S 左右

复制代码
[R1]dis bfd session all
--------------------------------------------------------------------------------
Local Remote     PeerIpAddr      State     Type        InterfaceName            
--------------------------------------------------------------------------------

10    20         10.0.12.2       Down      S_IP_PEER         -                  
--------------------------------------------------------------------------------
     Total UP/DOWN Session Number : 0/1
[R1]dis bfd session all
--------------------------------------------------------------------------------
Local Remote     PeerIpAddr      State     Type        InterfaceName            
--------------------------------------------------------------------------------

10    20         10.0.12.2       Init      S_IP_PEER         -                  
--------------------------------------------------------------------------------
     Total UP/DOWN Session Number : 0/1
[R1]
Dec 11 2025 20:30:24-08:00 R1 %%01BFD/4/STACHG_TOUP(l)[0]:BFD session changed to
 Up. (SlotNumber=0, Discriminator=167772160, FormerStatus=Init, Applications=Non
e, BindInterfaceName=None, ProcessPST=False) 
[R1]dis bfd session all
--------------------------------------------------------------------------------
Local Remote     PeerIpAddr      State     Type        InterfaceName            
--------------------------------------------------------------------------------

10    20         10.0.12.2       Up        S_IP_PEER         -                  
--------------------------------------------------------------------------------
     Total UP/DOWN Session Number : 1/0

静态路由恢复开销值小的那个,实验结束

复制代码
[R1]dis ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 14       Routes : 12       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      10.0.12.0/24  Direct  0    0           D   10.0.12.1       GigabitEthernet0/0/0
      10.0.12.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
    10.0.12.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0
      10.0.13.0/24  Direct  0    0           D   10.0.13.1       GigabitEthernet0/0/1
      10.0.13.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
    10.0.13.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1
      10.0.24.0/24  Static  60   0          RD   10.0.12.2       GigabitEthernet0/0/0
      10.0.34.0/24  Static  60   0          RD   10.0.13.3       GigabitEthernet0/0/1
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
相关推荐
代码游侠5 小时前
学习笔记——Linux 进程管理笔记
linux·运维·笔记·学习·算法
Logic1015 小时前
《数据库运维》 郭文明 实验5 数据库性能监视与优化实验核心操作与思路解析
运维·数据库·sql·mysql·计算机网络技术·形考作业·国家开放大学
ooolmf5 小时前
【无标题】TemperatureMonitor.m matlab2024串口监控温度run_temperature_monitor.m
linux·运维·网络
眠晚晚5 小时前
src挖洞笔记分享_上
服务器·网络·笔记
YANshangqian5 小时前
网页Http远程启动应用工具
网络·网络协议·http
合才科技5 小时前
【要闻周报】网络安全与数据合规 12-13
网络·安全
此生只爱蛋5 小时前
【Linux】网络层IP
服务器·网络·tcp/ip
lingggggaaaa5 小时前
CS配合CrossC2插件,实现MacOS/Linux上线
linux·运维·笔记·安全·macos
盼哥PyAI实验室5 小时前
Python验证码处理实战:从12306项目看验证码识别的技术演进
开发语言·网络·python