雙向轉發偵測
沒有或很少條目連入本條目。 (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]