网络工程师必知:三种防火墙链路检测技术:BFD、NQA、IP-link
![网络工程师必知:三种防火墙链路检测技术:BFD、NQA、IP-link](https://static001.geekbang.org/infoq/86/86dd002bc36432d09a04f83487f96cc2.jpeg)
链路检测机制为高可用提供了决策依据,常见的链路检测技术有 BFD、NQA、IP-link,在本文中,我们将详细比较这三种链接检测技术。
BFD
BFD(双向转发检测)通过将检测信息封装在 UDP 报文中,发送到对端 UDP 端口 3784,接收对端发送的 BFD 报文来实现链路检测。
BFD 检测可分为两类:
一是当双方设备都支持 BFD 功能时,两端相互发送 BFD 控制报文进行链路检测。
另一种是当只有一台设备支持 BFD 功能时,通过发送 BFD echo 报文进行设备检测。
第一种情况,检测设备可以跨越多个设备,检测中间所有链路的总和,也就是说,这种检测不依赖于两个设备的直接连接,具有更高的适用性。
在第二种情况下,BFD echo 报文被远端设备反射回本端,虽然对设备的要求较低,但只能检测到直接链路。
为了满足快速检测的需要,BFD 协议规定发送间隔和接收间隔以微秒为单位,理论上,BFD 可以实现微秒级检测,是三种检测技术中灵敏度最高的。
NQA
严格来说,NQA(网络质量分析)并不是一种链路检测技术,它更像是一种用于全面测试连接的技术。与只进行简单链路连通性测试的 BFD 相比,NQA 可以对链路进行多方向的测试,例如,NQA 支持测试 DHCP 测试。
NQA 客户端模拟 DHCP 客户端向 DHCP 服务器请求 IP 地址,完成 IP 地址申请,测试完成后,NQA 客户端会主动发送 DHCP Release 消息,释放请求的 IP 地址。IP,并给出相关的测试结果。
此外,NQA 还支持 FTP 测试、HTTP 测试、UDP 测试、TCP 测试、UTP 抖动测试、TCP 抖动测试等,用户可以配置告警阈值,实现连接不满足测试条件时设备发出响应告警的功能,此外,NQA 还可以执行简单的 ICMP 测试来检测链路连通性。
与 BFD 相比,NQA 的检测精度稍差,仅达到毫秒级。
IP-link
IP-link 是目前防火墙独有的链路连通性检测功能,防火墙通过周期性地向指定的 IP 地址发送探测报文并等待响应来判断链路是否正常。IP-Link 主要用于自动检测服务链路是否正常,可检测非直连 FW 的链路状态,保证业务持续畅通。
与 NQA 的 ICMP 测试类似,IP-link 通过发送 ICMP 请求报文和检测对应的 ICMP 回复报文直接检测链路连通性,另一方面,与 BFD 和 NQA 可以达到毫秒级和微秒级精度不同,IP-link 的检测精度要弱得多,只能达到秒级。
BFD、NQA、IP-link 对比
![](https://static001.geekbang.org/infoq/51/51e0f2fff7bf3aa1f39aaa2516559d65.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
综上所述,这三种检测技术的一般选用原则如下:
如果需要检测特定功能,比如 HTTP 服务器,选择 NQA;
如果需要快速检测链路状态,选择 BFD;
如果需要绑定双机热备,又不想链路开销太大,选择 IP-link;
如果您需要与多种其他协议和功能进行绑定,请选择 BFD。
评论