目录
前言
实现全网互通
R1的配置
R2的配置
R3的配置
R4的配置
使用BFD来弥补静态路由无法动态响应网络拓扑变更这 一短板的方法,除此之外,还有一个颇有用处的工具 NQA (Network Quality Analysis,网络质量分析),也可以实现类似的功能。NQA是一个非常强大的工具,主要用于网络 性能检测及运行状况分析。通过在设备上部署NQA,网络管理员可以对网络的响应时间、 网络抖动、丢包率等信息进行统计,从而能够实时釆集到网络的各项运行指标。NQA支 持 DHCP、DNS、FTP、HTTP、ICMP、SNMP、TCP、Trace、UDP 等各种测试机制, 功能十分丰富。当然,NQA也能完成基本的IP可达性测试(例如使用ICMP测试机制), 并且将测试结果与静态路由进行联动。在部署静态路由与NQA联动时,只需配置静态 路由的设备支持NQA即可。
以该图为例,
此时只需要在R2上部署一个NQA 的实例,使用ICMP测试机制探测到R1 (10.1.12.1)的可达性,并将测试结果与下一跳 为R1的静态路由进行联动即可。当NQA检测到10.1.12.1可达时,静态路由生效,当 检测到其不可达时,静态路由失效,此时浮动路由将出现在路由表中。
#
sysname R1
#
interface Ethernet0/0/1
ip address 10.9.9.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.1.12.1 255.255.255.0
#
ip route-static 10.1.23.0 255.255.255.0 10.1.12.2
ip route-static 10.1.23.0 255.255.255.0 10.9.9.2
#
sysname R2
#
interface GigabitEthernet0/0/1
ip address 10.1.23.2 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 10.1.12.2 255.255.255.0
#
ip route-static 10.9.9.0 255.255.255.0 10.1.12.1
ip route-static 10.9.9.0 255.255.255.0 10.1.23.3 preference 80
#
sysname R3
#
interface Ethernet0/0/1
ip address 10.9.9.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.1.23.3 255.255.255.0
#
ip route-static 10.1.12.0 255.255.255.0 10.1.23.2
ip route-static 10.1.12.0 255.255.255.0 10.9.9.1
#
sysname R4
#
interface GigabitEthernet0/0/1
ip address 10.9.9.100 255.255.255.0
#
ip route-static 10.1.12.0 255.255.255.0 10.9.9.1
ip route-static 10.1.23.0 255.255.255.0 10.9.9.2
首先在R2上创建一个NQA的ICMP测试实例:
[R2]nqa test-instance admin test1
[R2-nqa-admin-test1]test-type icmp
[R2-nqa-admin-test1]destination-address ipv4 10.1.12.1
[R2-nqa-admin-test1]frequency 6
[R2-nqa-admin-test1]interval seconds 2
[R2-nqa-admin-test1]timeout 2
[R2-nqa-admin-test1]probe-count 2
[R2-nqa-admin-test1]start now
在以上配置中,admin是测试实例的管理者名称,testl是测试实例名,这两个名称 都是自定义的。
Test-type命令定义了该测试实例使用的测试机制为ICMP;
destinationaddress 定义的是测试对象的IP地址;
frequency定义的是每一轮测试的时间间隔(单位 为秒);
probe-count命令定义了每一轮测试的探测次数;
interval seconds定义了在每一 轮测试当中每个探测报文的发送间隔(单位为秒);
而timeout则定义了每一次探测的超 时时间(单位秒)。
最后start now命令使该测试实例开始执行。
接下来为R2配置静态路由,将静态路由ip route-static 10.9.9.0 255.255.255.0 10.1.12.1与admin testl这个NQA实例进行联动,然后再另外配置一条浮动静态路由:
ip route-static 10.9.9.0 255.255.255.0 10.1.12.1 track nqa admin test1
ip route-static 10.9.9.0 255.255.255.0 10.1.23.3 preference 80(之前已经配置过了)
完成上述配置后,首先查看一下NQA实例的探测结果:
display nqa results
从上述输出可以看到,R2已经完成了三轮测试,每一轮测试的结果都是成功的(Success),使用display nqa history命令可以查看到每一次探测的结果:
display nqa history
由于当前每一轮NQA测试的都是成功的,因此与该NQA实例联动的静态路由也是活跃的,此时它出现在R2的路由表中:
到达10.9.9.0/24的流量被R2转发给了 R1。现在将R1连接SW的接口关闭,来模拟R1发生故障的情景。
此时R2的NQA实例检测失败(failed),如此一来,与该实例联动的静态路由生效,浮动路由出现在路由表中:
此时,到达10.9.9.0/24的流量被R2平滑地切换到了 R3。
而当R1的接口恢复后,R2到10.1.12.1的IP可达性也跟着恢复了,NQA实例又能 够检测成功,因此与该实例联动的静态路由又再次出现在了路由表中,到达10.9.9.0/24 的流量被R2重新切换到R1。