- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
一、BFD概述
雙向轉發檢測BFD(Bidirectional Forwarding Detection)是一種全網統一的、與介質和協議無關的快速鏈路故障檢測機制,用于快速檢測、監控網絡中鏈路或者IP路由的轉發連通狀況,若出現故障可通知上層應用。BFD由IETF的RFC 5880定義。
BFD是一種提高網絡可靠性的非常重要的技術,能實現與接口狀態、靜態路由、RIP路由、IS-IS路由、OSPF路由和BGP路由、VRRP等的聯動。(即根據BFD會話狀態實現接口狀態改變、路由收斂和VRRP主備切換等。)
二、BFD檢測原理
原先的故障檢測方法有SDH告警、慢Hello機制等。SDH告警是通過硬件檢測來發現故障的,雖然發現速度快,但并不是所有介質都能提供硬件檢測;慢Hello機制檢測到故障所需時間為秒級,對于高速數據傳輸,超過1秒的檢測時間將導致大量數據丟失,并且慢Hello機制依賴于路由協議,若網絡中沒有部署路由協議則無法使用慢Hello機制。
BFD可解決上述機制的不足,BFD可在兩臺網絡設備間建立用來檢測設備間雙向轉發路徑的BFD會話,為上層應用服務。會話建立后會周期性地快速發送BFD報文,如果在檢測時間內沒有收到BFD報文,則認為該雙向轉發路徑發生了故障,通知被服務的上層應用進行相應的處理。
三、BFD會話建立與管理
1.BFD的會話建立
BFD會話的主要區別在于本地標識符和遠端標識符,BFD通過控制報文中的本地標識符和遠端標識符來區別不同的BFD會話。
BFD會話有兩種建立方式,即靜態建立BFD會話和動態建立BFD會話。
a)靜態建立BFD會話
靜態建立BFD會話是指通過命令行手工配置BFD會話參數,包括配置本地標識符和遠端標識符等,然后手工下發BFD會話建立請求。建立靜態BFD會話又可包括兩種方式:手動指定標識符的靜態BFD會話、標識符自協商的靜態BFD會話。
b)動態建立BFD會話
動態BFD聯動會話主要是由各種路由協議觸發,如RIP、OSPF等。在建立動態BFD會話時,系統對本地標識符和遠端標識符所采用的方式不同:動態分配本地標識符、自動學習遠端標識符。
2.BFD的檢測機制
BFD的檢測機制是先在兩個系統間建立BFD會話,然后沿它們之間的路徑周期性發送BFD控制報文,如果一方在既定的時間內沒有收到對方發來的BFD控制報文或者自己發送的BFD報文返回(配置單臂回聲功能時發送的報文,下文的BFD應用會介紹),則認為路徑上發生了故障。BFD提供了兩種檢測模式,分別是異步模式、查詢模式。
異步模式:BFD的主要操作模式為異步模式。在這種模式下,系統之間相互周期性地單獨發送BFD控制報文,如果某個系統在既定的時間內沒有接收到對方發送過來的BFD報文,就認為BFD會話的狀態是Down。
查詢模式:當一個系統中存在大量BFD會話時,為防止周期性發送BFD控制報文的開銷影響到系統的正常運行,可以采用查詢模式。在查詢模式下,一旦BFD會話建立,系統就不再周期性發送BFD控制報文,而是通過其他與BFD無關的機制檢測連通性(比如路由協議的Hello機制、硬件檢測機制等),從而減少BFD會話帶來的開銷。
3.BFD的會話管理
BFD會話有四種狀態:Down、Init、Up和AdminDown。會話狀態的變化通過BFD報文的State字段傳遞,系統根據自己本地的會話狀態和接收到的對端BFD報文驅動狀態改變。BFD狀態機的建立和拆除都采用三次握手機制,以確保兩端系統都能知道狀態的變化。
四、BFD的報文格式
(強制部分的格式)
Vers:Version,BFD協議版本號,目前版本號為1。
Diag:Diagnostic診斷碼,表明發送方最近一次會話Down的原因。
Sta:State狀態碼,表示發送方BFD會話當前狀態,0表示AdminDown,1表示Down,2表示Init,3表示Up。
P:Poll,會話參數變化時置位,發送方在BFD報文中置該標志,接收方必須立即響應該報文。1表示發送系統請求進行連接確認,或者發送請求參數改變的確認。0表示發送系統不請求確認。
F:Final,響應P標志置位的回應報文中必須將F標志置位。1表示發送系統響應一個接收到P比特為1的BFD包。0表示發送系統不響應一個P比特為1的包。
C:Control Plane Independent控制/轉發分離標志,1表示BFD報文在轉發平面傳輸,即使控制平面失效,BFD仍然能夠起作用。0表示BFD報文在控制平面傳輸。
A:Authentication,認證標識,置1代表會話需要進行驗證。
D:Demand,查詢請求,置1表示發送系統希望工作在查詢模式。置0表示發送系統不希望、或不能工作在查詢模式。
M:Multipoint,為BFD將來支持點對多點擴展而設的預留位。
Detect Mult:檢測超時倍數,用于檢測方計算檢測超時時間。
Length:報文長度,單位為字節。
My Discriminator:BFD會話連接本地標識符。發送系統產生的一個唯一的、非0鑒別值,用來區分一個系統的多個BFD會話。
Your Discriminator:BFD會話連接遠端標識符。從遠端系統接收到的鑒別值,這個域直接返回接收到的“My Discriminator”,如果不知道這個值就返回0。
Desired Min TX Interval:本地支持的最小BFD報文發送間隔,單位為微秒。
Required Min RX Interval:本地支持的最小BFD報文接收間隔,單位為微秒。
Required Min Echo RX Interval:本地支持的最小Echo報文接收間隔,單位為微秒(如果本地不支持Echo功能,則設置0)。
(控制報文可選部分的格式)
Auth Type:認證類型。
Auth Len:認證字段的長度。
Authentication Data:認證字段凈荷。
五、BFD的應用場景
1.BFD檢測IP鏈路
在IP鏈路上建立BFD會話,可以利用BFD檢測機制快速檢測故障。BFD檢測IP鏈路支持單跳檢測和多跳檢測。
單跳檢測:是指對兩個直連系統進行IP連通性檢測。
多跳檢測:是指BFD可以檢測兩個系統間的任意路徑,這些路徑可能跨越很多跳,也可能在某些部分發生重疊。
2.BFD單臂回聲
單臂回聲功能是指通過BFD報文的環回來檢測轉發鏈路的連通性,主要應用于兩臺直連設備中只有一臺支持BFD功能的情況,具體的機制是:在支持BFD功能的設備上配置單臂回聲功能,向對端主動發起回聲請求,對端不支持BFD功能的設備收到請求報文后直接將其環回(即只作環回轉發,不作其他任何處理),從而實現轉發鏈路的連通性檢測功能。
3.BFD與各種路由的聯動
BFD可以與靜態路由、RIP路由、OSPF路由、IS-IS路由、BGP路由等進行聯動(聯動指的是互相快速響應、配合工作)。
a)BFD與靜態路由聯動
BFD與靜態路由聯動特性可為公網靜態路由綁定BFD會話,利用BFD會話來檢測靜態路由所在鏈路的狀態。
b)BFD與OSPF聯動
BFD與OSPF聯動是通過BFD對鏈路故障的快速感應來通知OSPF協議,從而加快OSPF協議對于網絡拓撲變化的響應。(BFD相對于OSPF的快速檢測體現在BFD的檢測速度是毫秒級的,OSPF只是秒級,IS-IS、BGP等都是秒級。)
c)BFD與IS-IS聯動
BFD與IS-IS聯動是指BFD會話由IS-IS協議動態創建,不再依靠手動配置。當BFD檢測到有故障時,通過路由管理模塊通知IS-IS協議,由協議進行相應鄰居Down處理,快速更新LSP信息和重新進行路由計算,從而實現IS-IS路由的快速收斂。
d)BFD與BGP聯動
BGP傳輸的速率會比較大,當發生故障時會導致大量數據丟失,所以通過BFD的快速檢測可迅速發現BGP對等體間鏈路的故障,從而實現BGP路由的快速收斂。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP