链路检测机制为高可用提供了决策依据,常见的链路检测技术有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对比
综上所述,这三种检测技术的一般选用原则如下:
- 如果需要检测特定功能,比如HTTP服务器,选择NQA;
- 如果需要快速检测链路状态,选择BFD;
- 如果需要绑定双机热备,又不想链路开销太大,选择IP-link;
- 如果您需要与多种其他协议和功能进行绑定,请选择 BFD。
|