BFD协议是华为私有协议么?不是。BFD是标准协议,各主流厂商之间的互通不存在问题。
BFD协议简介
BFD是Bidirectional Forwarding Detection的缩写,它是一个用于检测两个转发点之间故障的网络协议,在RFC 5880有详细的描述。
BFD是一种双向转发检测机制,可以提供毫秒级的检测,可以实现链路的快速检测,BFD通过与上层路由协议联动,可以实现路由的快速收敛,确保业务的永续性。
BFD Echo报文采用UDP封装,目的端口号为3784,源端口号在49152到65535的范围内。目的IP地址为发送接口的地址,源IP地址由配置产生(配置的源IP地址要避免产生ICMP重定向)
BFD工作过程
1. BFD在两个端点之间的一条链路上先建立一个BFD会话(依靠上层协议建立,例如OSPF的邻居建立时,会将邻居信息告知BFD,BFD根据这个信息再建立BFD邻居),如果两个端点之间存在多条链路,则可以为每条链路建立一个BFD会话。
2. BFD在建立会话的两个网络节点之间进行BFD检测。如果发现链路故障就拆除BFD邻居,并立刻通知上层协议,则上层协议会立刻进行相应的切换。
在BFD会话建立时,有两种建立模式:主动模式和被动模式。
主动模式
在建立BFD会话前不管是否收到对端发来的BFD控制报文,都会主动发送BFD控制报文。
被动模式
在建立对话前不会主动发送BFD控制报文,直到收到对端发送来的BFD控制报文。
在会话初始化过程中,通信双方至少要有一个运行在主动模式才能成功建立起会话。
BFD在会话建立后有两种操作模式:异步模式和查询模式。
异步模式
在此模式下,网络节点双方会周期性地发送BFD控制报文,如果在检测时间内没有收到对端的BFD控制报文则认为对应的链路出现故障。
查询模式
假定每个系统都有一个独立的方法,确认自己连接到其他系统。这样,只要有一个BFD会话建立,系统就停止发送BFD控制报文,除非某个系统需要显式地验证连接性。如果要显式地验证连接性,系统发送一个短系列的BFD控制包,如果在检测时间内没有收到返回的报文就宣布会话为Down;如果收到对端的回应报文,协议再次保持沉默。
在BFD中还有一个回声功能,回声功能启动后,会话的一端周期性地发送BFD回声报文,对端不对此报文进行处理,而只将此报文转发再发回给发送端。发送端根据是否能收到BFD会话报文来检测会话状态。BFD回声报文只用来检测直连网段的链路状态,而BFD控制报文还可以检测非直连网段的链路状态。
BFD现在越来越多地应用在重要网络、重要链路上,结合路由、MPLS、VPN、流量工程等技术,可以对重点服务流量提供高可靠性,从而保证服务质量。
相关课程内容推荐
华为认证入门:hcia和hcna的区别
思博华为认证课程安排表: HCIA-DATACOM课表 | HCIA-云计算课表
华为399限额限时活动入门课程:HCIA课程
华为认证备考须知:HCIA/HCIP/HCIE 备考指南
HCIA-DATACOM 考试大纲:HCIA-Datacom V1.0