架构解析:
实验准备: 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/241.基础准备
1.1打通路由
R4 走 R3 访问 R1.R4-->R2-->R1为浮动路由,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 ip route-static 10.0.12.0 255.255.255.0 10.0.24.2 preference 80 ip route-static 10.0.12.0 255.255.255.0 10.0.34.3 ip route-static 10.0.13.0 255.255.255.0 10.0.34.3 ###R3 ip route-static 10.0.12.0 24 10.0.13.1 ###测试连通性 [R4]ping 10.0.12.1 PING 10.0.12.1: 56 data bytes, press CTRL_C to break Reply from 10.0.12.1: bytes=56 Sequence=1 ttl=254 time=270 ms Reply from 10.0.12.1: bytes=56 Sequence=2 ttl=254 time=60 ms Reply from 10.0.12.1: bytes=56 Sequence=3 ttl=254 time=50 ms Reply from 10.0.12.1: bytes=56 Sequence=4 ttl=254 time=50 ms Reply from 10.0.12.1: bytes=56 Sequence=5 ttl=254 time=60 ms --- 10.0.12.1 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 50/98/270 ms1.2模拟故障检测浮动路由是否生效
###查看当前路由表### 10.0.12.0/24 Static 60 0 RD 10.0.34.3 GigabitEthernet0/0/1 GigabitEthernet0/0/0 [R4]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 Static 60 0 RD 10.0.34.3 GigabitEthernet0/0/1 10.0.13.0/24 Static 60 0 RD 10.0.34.3 GigabitEthernet0/0/1 10.0.24.0/24 Direct 0 0 D 10.0.24.4 GigabitEthernet0/0/0 10.0.24.4/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0 10.0.24.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0 10.0.34.0/24 Direct 0 0 D 10.0.34.4 GigabitEthernet0/0/1 10.0.34.4/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 10.0.34.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 ###断掉 R4 和 L2 之间的接口模拟故障 [R4]int g0/0/1 [R4-GigabitEthernet0/0/1]shutdown Dec 12 2025 08:57:57-08:00 R4 %%01IFPDT/4/IF_STATE(l)[0]:Interface GigabitEthern et0/0/1 has turned into DOWN state. ###检测浮动路由是否生效###已生效 10.0.12.0/24 Static 80 0 RD 10.0.24.2 GigabitEthernet0/0/0 [R4]dis ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 8 Routes : 8 Destination/Mask Proto Pre Cost Flags NextHop Interface 10.0.12.0/24 Static 80 0 RD 10.0.24.2 GigabitEthernet0/0/0 10.0.24.0/24 Direct 0 0 D 10.0.24.4 GigabitEthernet0/0/0 10.0.24.4/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0 10.0.24.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/02.NQA介绍:
NQA(Network Quality Analysis-网络质量分析),也可以实现类似的功能。NQA 是一个非常强大的工具,主要用于网络性能检测以及运行状态分析。通过在设备上部署 NQA,网络管理员可以对网络的响应时间、网络抖动、丢包率、等信息进行统计,从而实现实时采集网络的各项运行指标。
2.1进行 NQA 的部署测试连通性
1.还是以下图为例,需求为:当主路由故障时,根据 NQA 的 ICMP 测试机制平滑切换为浮动路由,只需要在 R4 上部署 NQA,使用 ICMP 测试机制探测到 R1(10.0.12.1)的可达性。并将与下一跳为 R1 的静态路由进行联动即可。当 R1 可达时,静态路由生效,当 检测下一跳不可达时,浮动路由生效。
2.首先在 R4 上创建一个 NQA 的 ICMP 实例:
[R4]undo nqa test-instance admin nqatest [R4]nqa test-instance admin nqatest [R4-nqa-admin-nqatest] test-type icmp [R4-nqa-admin-nqatest] destination-address ipv4 10.0.34.3 [R4-nqa-admin-nqatest] frequency 6 [R4-nqa-admin-nqatest]interval seconds 2 [R4-nqa-admin-nqatest] timeout 2 [R4-nqa-admin-nqatest]probe-count 2 [R4-nqa-admin-nqatest]start now [R4-nqa-admin-nqatest]q ####解释 在以上配置中, 1.admi是测试实例的管理者名称,nqatest 是测试实例名称,这两个名称都是自定义。 2.test-type 命令定义了该测试实例使用的测试机制为 ICMP 3.destination-addresss 定义的是测试对象的 IP 地址 4.frequency 定义的是每一轮测试的时间间隔(单位为秒) 5.probe-count 2 定义了每一轮的探查次数 6.interval seconds 定义了每一轮测试中每个探测报文的发送间隔。 7.timeout 定义每次探测的超时时间。 8.start now 命令是测试实例开始执行3.将R4 的静态路由与该 NQA 实例进行联动
ip route-static 10.0.12.0 255.255.255.0 10.0.34.3 track nqa admin naqtest4.完成上述配置后查看一下 NQA 实例的探测结果
[R4]dis nqa results NQA entry(admin, nqatest) :testflag is active ,testtype is icmp 1 . Test 55 result The test is finished Send operation times: 2 Receive response times: 2 Completion:success RTD OverThresholds number: 0 Attempts number:1 Drop operation number:0 Disconnect operation number:0 Operation timeout number:0 System busy operation number:0 Connection fail number:0 Operation sequence errors number:0 RTT Status errors number:0 Destination ip address:10.0.34.3 Min/Max/Average Completion Time: 40/40/40 Sum/Square-Sum Completion Time: 80/3200 Last Good Probe Time: 2025-12-12 09:55:36.0 Lost packet ratio: 0 % 2 . Test 56 result The test is finished Send operation times: 2 Receive response times: 2 Completion:success RTD OverThresholds number: 0 Attempts number:1 Drop operation number:0 Disconnect operation number:0 Operation timeout number:0 System busy operation number:0 Connection fail number:0 Operation sequence errors number:0 RTT Status errors number:0 Destination ip address:10.0.34.3 Min/Max/Average Completion Time: 50/50/50 Sum/Square-Sum Completion Time: 100/5000 Last Good Probe Time: 2025-12-12 09:55:42.0 Lost packet ratio: 0 % 3 . Test 57 result The test is finished Send operation times: 2 Receive response times: 2 Completion:success RTD OverThresholds number: 0 Attempts number:1 Drop operation number:0 Disconnect operation number:0 Operation timeout number:0 System busy operation number:0 Connection fail number:0 Operation sequence errors number:0 RTT Status errors number:0 Destination ip address:10.0.34.3 Min/Max/Average Completion Time: 30/50/40 Sum/Square-Sum Completion Time: 80/3400 Last Good Probe Time: 2025-12-12 09:55:47.9 Lost packet ratio: 0 % 4 . Test 58 result The test is finished Send operation times: 2 Receive response times: 2 Completion:success RTD OverThresholds number: 0 Attempts number:1 Drop operation number:0 Disconnect operation number:0 Operation timeout number:0 System busy operation number:0 Connection fail number:0 Operation sequence errors number:0 RTT Status errors number:0 Destination ip address:10.0.34.3 Min/Max/Average Completion Time: 40/70/55 Sum/Square-Sum Completion Time: 110/6500 Last Good Probe Time: 2025-12-12 09:55:54.0 Lost packet ratio: 0 % 5 . Test 59 result The test is finished Send operation times: 2 Receive response times: 2 Completion:success RTD OverThresholds number: 0 Attempts number:1 Drop operation number:0 Disconnect operation number:0 Operation timeout number:0 System busy operation number:0 Connection fail number:0 Operation sequence errors number:0 RTT Status errors number:0 Destination ip address:10.0.34.3 Min/Max/Average Completion Time: 40/50/45 Sum/Square-Sum Completion Time: 90/4100 Last Good Probe Time: 2025-12-12 09:56:00.0 Lost packet ratio: 0 %5.从上述输出可以看到 R4 已经完成了 5 轮测试,每次结果都是成功的,使用dis nqa history命令可以查看每次的探测结果
[R4]dis nqa history NQA entry(admin, nqatest) history: Index T/H/P Response Status Address Time 1 37/1/2 50ms success 10.0.34.3 2025-12-12 09:53:48.018 2 38/1/1 30ms success 10.0.34.3 2025-12-12 09:53:52.038 3 38/1/2 30ms success 10.0.34.3 2025-12-12 09:53:54.028 4 39/1/1 40ms success 10.0.34.3 2025-12-12 09:53:58.048 5 39/1/2 30ms success 10.0.34.3 2025-12-12 09:54:00.0382.2关闭R3 和 L2 的接口, 模拟故障
###进入R3配置 [R3]int g0/0/0 [R3-GigabitEthernet0/0/0]shutdown Dec 12 2025 09:34:19-08:00 R3 %%01IFPDT/4/IF_STATE(l)[0]:Interface GigabitEthern et0/0/0 has turned into DOWN state. [R3-GigabitEthernet0/0/0] Dec 12 2025 09:34:19-08:00 R3 %%01IFNET/4/LINK_STATE(l)[1]:The line protocol IP on the interface GigabitEthernet0/0/0 has entered the DOWN state. ###回到 R4 NQA 报文回复失败 [R4]dis nqa history 47 81/1/2 2000ms timeout 10.0.34.3 2025-12-12 09:58:14.018 48 82/1/1 2000ms timeout 10.0.34.3 2025-12-12 09:58:18.038 49 82/1/2 2000ms timeout 10.0.34.3 2025-12-12 09:58:20.038 50 83/1/1 2000ms timeout 10.0.34.3 2025-12-12 09:58:23.9582.3 浮动路由生效
10.0.12.0/24 Static 80 0 RD 10.0.24.2 GigabitEthernet0/0/0
###浮动路由应该生效 [R4]dis ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 36 Routes : 12 Destination/Mask Proto Pre Cost Flags NextHop Interface 10.0.12.0/24 Static 80 0 RD 10.0.24.2 GigabitEthernet0/0/0 10.0.13.0/24 Static 60 0 RD 10.0.34.3 GigabitEthernet0/0/1 10.0.24.0/24 Direct 0 0 D 10.0.24.4 GigabitEthernet0/0/0 10.0.24.4/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0 10.0.24.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0 10.0.34.0/24 Direct 0 0 D 10.0.34.4 GigabitEthernet0/0/1 10.0.34.4/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 10.0.34.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1