目录
[本实验基于静态路由进行与 BFD 的联动编辑](#本实验基于静态路由进行与 BFD 的联动编辑)
[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