天天看點

BFD雙向轉發檢測

BFD雙向轉發檢測:是用來實作快速故障檢測的标準協定

産生背景

為了保護關鍵業務應用,網絡中采用備援備份鍊路,網絡發生故障要求快速檢測出故障并将流量切換至備份鍊路以加快網絡收斂速度,POS通過硬體檢測機制來實作快速故障檢測,但是某些鍊路不具備這樣的檢測機制,此時依靠上層協定自身的機制來進行故障檢測,上層協定都是1s以上,對于某些應用不能容忍,像ospf、lsls的檢測時間也隻能達到1s的精度

BFD協定提供了一個通用的标準化的媒體無關和協定無關的快速故障檢測機制,為上層應用提供服務

優點:

1、對網絡裝置間任意類型的雙向轉發路徑進行故障檢測,包括直連鍊路、隧道等

2、提供小于1s的檢測時間,加快網絡收斂速度,減少中斷時間,提高網絡的可靠性

3、可以為不同的上層應用服務,提供一緻的快速故障檢測時間

BFD沒有鄰居發現機制,而是靠被服務的上層應用通知其鄰居資訊建立會話,建立會話會周期性地快速發送BFD封包,如果在檢測時間内沒收到BFD封包則認為該雙向轉發路徑發生故障,通知被服務的上層應用進行相應的處理

BFD不能建立鄰居,而是靠OSPF,形成會話狀态,BFD以快速發送封包檢測鍊路,當鍊路故障,第一時間通知OSPF,并拆散會話狀态

如圖所示

<a href="https://s2.51cto.com/wyfs02/M02/8D/B9/wKiom1ioDevi0vjhAAEEpnsXFcM440.jpg" target="_blank"></a>

BFD控制封包采用UDP封裝,目的端口号3784,源端口号49152-65535

BFD echo封包采用UDP封裝,目的端口号為3785

控制封包方式:鍊路兩端會話通過控制封包互動檢測鍊路狀态

Echo封包方式:鍊路某一端通過發送Echo封包由另一端轉發回來,實作對鍊路的雙向檢測

BFD會話建立前BFD控制封包以1s的時間間隔發送以減少封包流量,會話建立後,發送BFDecho封包以實作快速檢測

BFD檢測方式

1、單跳檢測:指對兩個直連的系統進行IP連通性檢測,這“單跳”是IP的一跳

2、多跳檢測:檢測兩個系統間的任意路徑,這些路徑可能跨越很多跳,也可能在某些部分發送重疊

3、雙向檢測:兩端同時發送檢測封包,檢測兩個方向上的鍊路狀态,實作毫秒級的鍊路故障檢測

封包格式

<a href="https://s4.51cto.com/wyfs02/M00/8D/B9/wKiom1ioDpbR9Z0CAAHjIMdPPpQ302.jpg" target="_blank"></a>

本文轉自 周小玉 51CTO部落格,原文連結:http://blog.51cto.com/maguangjie/1899059,如需轉載請自行聯系原作者