雙向轉發偵測

雙向轉發偵測（，縮寫為 BFD）是一個用于侦测两个轉送引擎之间数据链路錯誤的網路協議。BFD可做到全程路徑的偵測，不管中間經過多少交換器。BFD(Bidirectional Forwarding Detection)偵測網路斷線應用 , 紀志欣它为不支援任何錯誤偵測類型的實體媒介（如：乙太網路、虛電路（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。

组网应用
由於BFD能快速的切換網路備援，因此非常適用在大型網路的骨幹網路，如學術骨幹網路或是Tier1/Tier2的網際網路服務供應商（ISP）骨幹網路。

下一代网络（Next Generation Network）的Layer 1傳輸設備大量採用同步光网络（SONET）設備，在Layer 2/3的網路設備也漸漸開始會採用乙太網路介面來當骨幹網路設備，但乙太網路無法像傳統的Packet over SONET/SDH或是Serial T1/E1/T3專線可直接快速偵測斷線狀態，此時就可以利用BFD協助快速偵測網路是否有斷線狀況。

標準化
BFD通訊協議在2010年6月標準化，定义于RFC 5880。RFC 5880, Bidirectional Forwarding Detection, D. Katz, D. Ward (June 2010)标准中定义了偵測MPLS LSP錯誤、監視多端網路跳躍（Hop）的連線、与OSPF和IS-IS共用的机制。而其对IPv4和IPv6的支持定义于RFC 5881。RFC 5881, BFD for IPv4 and IPv6 (Single Hop), D. Katz, D. Ward (June 2010)

參考

外部連結

 IETF BFD Working Group
 BFD presentation by Juniper Networks 
 RFC 5880
 BFD white paper from IP Infusion
 NetworkWorld article: Reducing Link Failure Detection Time with BFD 

Category:網路管理
Category:网际协议
Category:互联网标准