双向转发侦测
没有或很少条目链入本条目。 (2011年12月6日) |
双向转发侦测(英语:Bidirectional Forwarding Detection,缩写为 BFD)是一个用于侦测两个转送引擎之间数据链路错误的网路协议。BFD可做到全程路径的侦测,不管中间经过多少交换器。[1]它为不支援任何错误侦测类型的实体媒介(如:乙太网路、虚电路(Virtual Circuits)、穿隧协议 (Tunnel)和MPLS LSP)提供一种低成本的侦测错误事件的能力。
运作原理
编辑BFD在某个链结的两个端点建立了一个会话,如果超过一个连线存在于两个系统,多重BFD会话也能建立以监视其中的每一个连线。会话使用三路握手(three-way handshake)的方式建立和拆除。会话的建立支持鉴权,鉴权方式可以为较简易的密码方式,或MD5、SHA1安全验证。
BFD不俱备对端发现的机制,必须在通信双方设置对端的信息。BFD可以被多种不同的底层传输机制所承载,因此BFD需要能够被各种传输层封包传输。例如,当其传输层为MPLS,监控MPLS的LSP时,BFD会话的建立要通过LSP-Ping封包捎带(piggybacking)。支持邻接关系建立的通讯协定,如OSPF和IS-IS,也可用于建立BFD会话;而这些通讯协议可以使用BFD的链接失败通知来更快捷地确认链路故障(它们自身也有定时保活机制)。
链路状态确认机制
编辑会话有以下2种模式:非同步模式(asynchronous mode)和按需模式(demand mode)。
在非同步模式中,两端周期性地发送Hello封包。如果无响应次数超过一定限度,会话即判定为中断。
在按需模式中,在会话建立后不需要交换Hello封包。它假设链路的两端有其他的方法来验证彼此之间的可达性。不过任意一端仍可按照自己的需要发送Hello封包。
无论使用哪种模式,两个端点也可以使用Echo功能:当此功能被开启时,一端发送Echo封包流,另一端则透过转发面寄送回寄送者,从而测试对端系统的传送路径。
实际应用
编辑产品功能
编辑网络设备供应商Cisco和Juniper的路由器产品都支援BFD。以Cisco的路由器为例,依设备等级不同,BFD可支援的路由协定有所差异:EIGRP、OSPF、IS-IS、BGP和MPLS TE。[1]
组网应用
编辑由于BFD能快速的切换网路备援,因此非常适用在大型网路的骨干网路,如学术骨干网路或是Tier1/Tier2的网际网路服务供应商(ISP)骨干网路。
下一代网络(Next Generation Network)的Layer 1传输设备大量采用同步光网络(SONET)设备,在Layer 2/3的网路设备也渐渐开始会采用乙太网路介面来当骨干网路设备,但乙太网路无法像传统的Packet over SONET/SDH或是Serial T1/E1/T3专线可直接快速侦测断线状态,此时就可以利用BFD协助快速侦测网路是否有断线状况。[1]
标准化
编辑BFD通讯协议在2010年6月标准化,定义于RFC 5880。[2]标准中定义了侦测MPLS LSP错误、监视多端网路跳跃(Hop)的连线、与OSPF和IS-IS共用的机制。而其对IPv4和IPv6的支持定义于RFC 5881。[3]