BFD和NQA的概念、配置、区别

BFD(双向转发检测)

基本概念

BFD(BidrectionalForwarding Detection,双向转发检测)用于快速检测系统设备之间的发送和接受两个方向的通信故障,并在出现故障时通知生成应用。BFD广泛用于链路故障检测,并能实现与接口、静态路由、动态路由等联动检测。BFD协议使用的默认组播地址是 224.0.0.184。

配置

如图,在R1和R2上配置BFD,检测链路状态。

R1上的IP地址配置如下:

R2上的IP地址配置如下:

R1配置BFD:

[R1]bfd //开启BFD
[R1-bfd]q    
[R1]bfd R1toR2 bind peer-ip 10.1.12.2 source-ip 10.1.12.1 //配置BFD名称为R1toR2,绑定对端IP地址和本端IP地址
[R1-bfd-session-r1tor2]discriminator local 11    //本地标识符
[R1-bfd-session-r1tor2]discriminator remote 22      //远端标识符
[R1-bfd-session-r1tor2]commit  //使用关键字commit使BFD生效

上述配置也可以简化为:

[R1]bfd R1toR2 bind peer-ip 10.1.12.2 source-ip 10.1.12.1  auto //配置BFD名称为R1toR2,绑定对端IP地址和本端IP地址,参数自动协商

配置完成,在R1上查看BFD会话:

可以看到状态为Down,这是因为R2上还没有配置BFD会话

R2配置BFD:

[R2]bfd //开启BFD
[R2-bfd]q    
[R2]bfd R2toR1 bind peer-ip 10.1.12.1 source-ip 10.1.12.2 //配置BFD名称为R2toR1,绑定对端IP地址和本端IP地址
[R2-bfd-session-r2tor1]discriminator local 22    //本地标识符
[R2-bfd-session-r2tor1]discriminator remote 11      //远端标识符
[R2-bfd-session-r2tor1]commit  //使用关键字commit使BFD生效

上述配置也可以简化为:

[R2]bfd R2toR1 bind peer-ip 10.1.12.1 source-ip 10.1.12.2 auto //配置BFD名称为R2toR1,绑定对端IP地址和本端IP地址,参数自动协商

配置完成后,再次在R1上查看BFD会话状态:

可以看到,会话状态为Up,表明BFD会话已经生效了。

此外,BFD还可以配置单臂回声的功能,即只需要在一台设备上配置即可,由于ensp模拟器不支持此功能,我们无法展示结果,配置命令如下:

bfd R1toR2 bind peer-ip 10.1.12.2 source-ip 10.1.12.1 one-arm-echo //创建bfd单臂回声会话
discriminator local 123  //本地标识符
discriminator remote 123  //远端标识符,单臂模式中可以不用配置
commit  //提交生效

BFD和静态路由联动

BFD可以和静态路由、动态路由等协议进行联动,接下来我们演示一下BFD和静态路由的联动。

在路由器IP地址和BFD会话配置完成后,我们在R1上配置一条到R2上的LoopBack 0地址的静态路由,实现路由互通:

查看R1路由表:

可以看到有2.2.2.2的静态路由,当R2上的GE0/0/0接口失效后,路由表是否还会显示呢?

我们手动关闭R2的GE0/0/0接口,查看效果:

可以看到R1的路由表上还有到2.2.2.2的静态路由,可是实际上已经ping不通了,由于中间连接着交换机,R1无法得知R2的链路状态,所以认为自己还能ping通。

所以我们在配置静态路由时,就可以跟踪BFD会话。实现静态路由和BFD的联动:

配置完成后,我们再把R2的链路手动关闭,查看R1路由表:

可以看到,当R2的链路失效后,即使中间隔着其他设备,BFD也能检测到,而我们配置了静态路由和BFD联动,一旦BFD失效,路由表中的静态路由也会自动删除。

有了BFD之后,我们就可以配合使用浮动静态路由,当设备一端链路失效后,马上启用备用路由,实现毫秒级切换。

NQA(网络质量分析)

基本概念

NQA(Network Quality Analysis,网络质量分析)是系统提供的一个特性,位于链路层之上,覆盖网络层、传输层、应用层,独立于底层硬件,可实现实时监视网络性能状况,在网络发生事故时进行故障诊断和定位。
NQA通过发送测试报文,对网络性能或服务质量进行分析,NQA支持的测试包括多种协议,例如 http 的延迟、TCP 延迟、DNS 错误、ICMP 消息等,下面以 ICMP 为例简单配置一个实例:

配置

如图,在R1和R2上配置NQA,检测链路状态。

R1上的IP地址配置如下:

R2上的IP地址配置如下:

NQA和BFD不同,只需要在一端配置即可,所以我们在R1上配置NQA:

[R1]nqa test-instance root icmp //创建一个NQA测试实例,测试管理账户名为root,测试实例名称为icmp    
[R1-nqa-root-icmp]test-type icmp  //测试类型为icmp协议测试
[R1-nqa-root-icmp]frequency 10  //指定连续两次探测时间间隔为10s
[R1-nqa-root-icmp]probe-count 2  //指定一次探测进行的测试次数
[R1-nqa-root-icmp]destination-address ipv4 10.1.12.2  //测试的对端IP地址    
[R1-nqa-root-icmp]start now  //启动当前测试

配置完成后,使用命令display nqa results test-instance root icmp在R1上查看NQA测试结果:

Lost packet ratio:0%表示丢包率为0,能和对端IP地址正常通信。

NQA和静态路由联动

同样,NQA也可以和静态路由联动。

手动断开R2的链路:

跟踪NQA前:

跟踪NQA后:

当R2上的链路断开后,R1的路由表和NQA测试结果如下:

可以看到,NQA测试结果为100%丢包率,且检测到失效后静态路由自动从路由表删除

BFD和NQA的区别

BFD探测速度快,能实现毫秒级探测,而NQA不行;
NQA探测种类多样,可以探测icmp、http等,而BFD只能探测链路;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值