BFD 是什么?
BFD (Bidirectional Forwarding Detection)的是雙向轉(zhuǎn)發(fā)檢測(cè)。是一種用于檢測(cè)兩個(gè)轉(zhuǎn)發(fā)引擎之間路徑故障的標(biāo)準(zhǔn)化全網(wǎng)統(tǒng)一檢測(cè)機(jī)制。該機(jī)制能夠?yàn)樯蠈討?yīng)用提供毫秒級(jí)檢測(cè)服務(wù),并實(shí)現(xiàn)鏈路的快速故障檢測(cè)。通過(guò)BFD檢測(cè)到鏈路故障后,上層協(xié)議可以采取措施及時(shí)糾正故障。
BFD 要解決什么問題?
隨著網(wǎng)絡(luò)應(yīng)用日益廣泛,對(duì)網(wǎng)絡(luò)的可靠性要求越來(lái)越高。為減少設(shè)備故障對(duì)業(yè)務(wù)的影響,要盡可能縮短故障檢測(cè)時(shí)間,從而觸發(fā)保護(hù)倒換,確保業(yè)務(wù)快速恢復(fù)?,F(xiàn)有路由協(xié)議(如OSPF、IS-IS)或冗余網(wǎng)關(guān)協(xié)議(如VRRP)的故障檢測(cè)時(shí)間通常在秒級(jí),難以滿足關(guān)鍵業(yè)務(wù)的高可靠性要求。BFD能提供毫秒級(jí)故障檢測(cè),并與其他協(xié)議聯(lián)動(dòng),實(shí)現(xiàn)業(yè)務(wù)的快速切換。
BFD的工作原理
BFD通過(guò)建立會(huì)話,在系統(tǒng)之間周期性地發(fā)送BFD數(shù)據(jù)包。若某一方在指定時(shí)間內(nèi)未收到對(duì)端響應(yīng),即判定會(huì)話狀態(tài)為"Down"(即檢測(cè)到路徑故障)。 本節(jié)從三個(gè)維度描述BFD的工作原理:BFD會(huì)話建立過(guò)程、BFD會(huì)話建立模式和BFD故障檢測(cè)機(jī)制。
BFD會(huì)話建立過(guò)程
BFD會(huì)話具有以下狀態(tài):Down(關(guān)閉)、Init(初始化)、Up(已建立)和AdminDown(管理性關(guān)閉)。BFD報(bào)文中的State字段指示會(huì)話狀態(tài)。系統(tǒng)根據(jù)本地會(huì)話狀態(tài)和接收到的對(duì)端會(huì)話狀態(tài)來(lái)更改會(huì)話狀態(tài)。
- Down:初始狀態(tài)或鏈路故障狀態(tài)。
- Init:初始化狀態(tài),表示BFD會(huì)話正在建立。
- Up:正常狀態(tài),表示鏈路正常。
- AdminDown(管理性關(guān)閉):BFD會(huì)話被管理性關(guān)閉。
BFD狀態(tài)機(jī)實(shí)現(xiàn)了用于BFD會(huì)話建立或刪除的三次握手,以確保兩個(gè)系統(tǒng)檢測(cè)到狀態(tài)變化。下圖顯示了BFD會(huì)話的建立過(guò)程,以描述狀態(tài)機(jī)的轉(zhuǎn)換過(guò)程。
會(huì)話建立過(guò)程BFD會(huì)話建立模式
“BFD會(huì)話建立模式”指的是在兩個(gè)設(shè)備之間創(chuàng)建和初始化一個(gè)BFD會(huì)話所采用的具體方法。它主要定義了關(guān)鍵的會(huì)話參數(shù)(尤其是標(biāo)識(shí)符)是如何被確定和交換的。BFD會(huì)話可以通過(guò)靜態(tài)或動(dòng)態(tài)模式建立。靜態(tài)和動(dòng)態(tài)BFD會(huì)話的區(qū)別在于本地和遠(yuǎn)程鑒別符的配置方式不同。
- 靜態(tài)建立BFD會(huì)話參數(shù),包括本地和遠(yuǎn)程鑒別符,在CLI上手動(dòng)指定。BFD會(huì)話建立請(qǐng)求手動(dòng)分發(fā)。
- 動(dòng)態(tài)建立當(dāng)動(dòng)態(tài)建立BFD會(huì)話時(shí),系統(tǒng)按以下方式處理本地和遠(yuǎn)程鑒別。
- 動(dòng)態(tài)分配的本地鑒別符:當(dāng)上層協(xié)議(如OSPF)發(fā)現(xiàn)鄰居并需要BFD進(jìn)行檢測(cè)時(shí),它會(huì)通知BFD模塊,BFD模塊自動(dòng)生成一個(gè)本地標(biāo)識(shí)符。
- 自學(xué)習(xí)的遠(yuǎn)程鑒別符:通過(guò)自我學(xué)習(xí)獲得。初始建立時(shí),設(shè)備發(fā)送的BFD報(bào)文中“遠(yuǎn)程標(biāo)識(shí)符”字段為0,表示“請(qǐng)告訴我你的本地標(biāo)識(shí)符”。對(duì)端設(shè)備收到后,會(huì)回復(fù)包含自己本地標(biāo)識(shí)符的報(bào)文。這樣,雙方就學(xué)習(xí)到了對(duì)方的標(biāo)識(shí)符。
BFD故障檢測(cè)機(jī)制
兩個(gè)網(wǎng)絡(luò)設(shè)備建立一個(gè) BFD 會(huì)話以監(jiān)控它們之間的路徑并服務(wù)于上層應(yīng)用程序。BFD 不提供鄰居發(fā)現(xiàn)。相反,BFD 從其服務(wù)的上層應(yīng)用程序獲取鄰居信息。兩個(gè)設(shè)備建立 BFD 會(huì)話后,它們周期性地相互發(fā)送 BFD 數(shù)據(jù)包。如果一個(gè)設(shè)備在設(shè)定的時(shí)間限制內(nèi)未收到響應(yīng),則該設(shè)備認(rèn)為轉(zhuǎn)發(fā)路徑存在故障。然后 BFD 將此故障通知上層協(xié)議。
當(dāng) OSPF 和 BFD 一起使用時(shí),BFD會(huì)話建立在上圖中,SwitchA 和 SwitchB 上都配置了 OSPF 和 BFD,建立 BFD 會(huì)話的過(guò)程如下:1 OSPF 使用 Hello 機(jī)制發(fā)現(xiàn)鄰居并建立鄰居關(guān)系。2 OSPF 將鄰居信息(包括源地址和目的地址)通知給 BFD。3 BFD 根據(jù)接收到的鄰居信息建立會(huì)話。4 BFD 會(huì)話建立后,BFD 開始監(jiān)控鏈路并對(duì)任何鏈路故障做出快速響應(yīng)。

上圖中,1 被監(jiān)控的鏈路發(fā)生故障。2 BFD 快速檢測(cè)到鏈路故障并將 BFD 會(huì)話狀態(tài)更改為 Down。3 BFD 通知本地 OSPF 進(jìn)程該鄰居不可達(dá)。4 本地 OSPF 進(jìn)程終止 OSPF 鄰居關(guān)系。
數(shù)據(jù)中心和運(yùn)營(yíng)商網(wǎng)絡(luò)中交換機(jī)作為核心轉(zhuǎn)發(fā)設(shè)備,承擔(dān)著數(shù)據(jù)包的高速轉(zhuǎn)發(fā)、VLAN劃分、流量控制等關(guān)鍵功能。它的穩(wěn)定性和可靠性直接決定了整個(gè)網(wǎng)絡(luò)的性能和業(yè)務(wù)的連續(xù)性。其中支持的高可靠性BFD通過(guò)與路由協(xié)議(如OSPF、IS-IS)、網(wǎng)關(guān)協(xié)議(如VRRP)等聯(lián)動(dòng),能夠在毫秒級(jí)內(nèi)檢測(cè)到鏈路或設(shè)備故障,并立即觸發(fā)保護(hù)切換,確保業(yè)務(wù)流量不會(huì)因單點(diǎn)故障而中斷。
-
故障檢測(cè)
+關(guān)注
關(guān)注
0文章
80瀏覽量
20519 -
BFD
+關(guān)注
關(guān)注
0文章
12瀏覽量
6097
發(fā)布評(píng)論請(qǐng)先 登錄
請(qǐng)問FPGA在啟動(dòng)的時(shí)候是否有對(duì)于Flash的任何故障檢測(cè)機(jī)制呢?
BFD技術(shù)白皮書 華為
詳解Linux內(nèi)核搶占實(shí)現(xiàn)機(jī)制
通力電梯故障代碼詳解
通信IP網(wǎng)BFD應(yīng)用的研究
基于多核處理器BFD協(xié)議的設(shè)計(jì)
流量檢測(cè)儀表和物位檢測(cè)儀表等自動(dòng)化儀表的故障處理案例分析
BFD協(xié)議的機(jī)制和如何實(shí)現(xiàn)分布式BFD系統(tǒng)的詳細(xì)說(shuō)明
故障度量和安全機(jī)制ASIL等級(jí)的詳解
華為RIP與BFD聯(lián)動(dòng)實(shí)驗(yàn)
構(gòu)建高可靠網(wǎng)絡(luò):硬件BFD的關(guān)鍵作用
BFD 故障檢測(cè)機(jī)制詳解
評(píng)論