静态路由与 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
相关推荐
HIT_Weston7 小时前
93、【Ubuntu】【Hugo】搭建私人博客:面包屑(一)
linux·运维·ubuntu
cuijiecheng20188 小时前
Linux下Beyond Compare过期
linux·运维·服务器
喵叔哟8 小时前
20.部署与运维
运维·docker·容器·.net
HIT_Weston8 小时前
92、【Ubuntu】【Hugo】搭建私人博客:侧边导航栏(六)
linux·运维·ubuntu
CodeAllen嵌入式8 小时前
Windows 11 本地安装 WSL 支持 Ubuntu 24.04 完整指南
linux·运维·ubuntu
Kevin Wang72710 小时前
欧拉系统服务部署注意事项
网络·windows
min18112345610 小时前
深度伪造内容的检测与溯源技术
大数据·网络·人工智能
汤愈韬10 小时前
Full Cone Nat
网络·网络协议·网络安全·security·huawei
zbtlink11 小时前
现在还需要带电池的路由器吗?是用来干嘛的?
网络·智能路由器
桌面运维家11 小时前
vDisk配置漂移怎么办?VOI/IDV架构故障快速修复
网络·架构