雙向轉發偵測

維基百科,自由的百科全書

雙向轉發偵測(英語: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)。支持鄰接關係建立的通訊協定,如OSPFIS-IS,也可用於建立BFD會話;而這些通訊協議可以使用BFD的鏈接失敗通知來更快捷地確認鏈路故障(它們自身也有定時保活英語keepalive機制)。

鏈路狀態確認機制[編輯]

會話有以下2種模式:非同步模式(asynchronous mode)和按需模式(demand mode)。

在非同步模式中,兩端周期性地發送Hello封包。如果無響應次數超過一定限度,會話即判定為中斷。

在按需模式中,在會話建立後不需要交換Hello封包。它假設鏈路的兩端有其他的方法來驗證彼此之間的可達性。不過任意一端仍可按照自己的需要發送Hello封包。

無論使用哪種模式,兩個端點也可以使用Echo功能:當此功能被開啟時,一端發送Echo封包流,另一端則透過轉發面寄送回寄送者,從而測試對端系統的傳送路徑。

實際應用[編輯]

產品功能[編輯]

網絡設備供應商CiscoJuniper的路由器產品都支援BFD。以Cisco的路由器為例,依設備等級不同,BFD可支援的路由協定有所差異:EIGRPOSPFIS-ISBGPMPLS 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共用的機制。而其對IPv4IPv6的支持定義於RFC 5881。[3]

參考[編輯]

  1. ^ 1.0 1.1 1.2 BFD(Bidirectional Forwarding Detection)偵測網絡斷線應用頁面存檔備份,存於互聯網檔案館), 紀志欣
  2. ^ RFC 5880, Bidirectional Forwarding Detection, D. Katz, D. Ward (June 2010)
  3. ^ RFC 5881, BFD for IPv4 and IPv6 (Single Hop), D. Katz, D. Ward (June 2010)

外部連結[編輯]