一、BFD原理
1.1 BFD技術簡介
一種全網統一、檢測迅速、監控網絡中鍊路或者IP路由的雙向轉發連通狀況,并未上層應用提供服務的技術。
1.2 BFD會話建立方式和監測機制
●BFD的辨別符:
(1)BFD建立會話存在辨別符的概念,類似于OSPF建立鄰居需要一個路由器的Router ID。
(2)辨別符分為本地辨別符和遠端辨別符,本地辨別符用于表示本端裝置,遠端辨別符用 于表示對端裝置。
(3)靜态建立BFD會話是指通過指令行手工配置BFD會話參數,包括配置本地辨別符和遠 端辨別符等,然後手工下發BFD會話建立請求。
(4)動态建立BFD會話是指由應用程式觸發建立BFD會話,當應用程式動态觸發建立BFD 會話時,系統配置設定屬于動态會話辨別符區域的值作為BFD會話的本地辨別符。然後向 對端發送Remote Discriminator的值為0的BFD控制封包,進行會話協商。當BFD會 話的一端收到Remote Discriminator的值為0的BFD控制封包時,判斷該封包是否與 本地BFD會話比對,如果比對,則學習接收到的BFD封包中Local Discriminator的值,擷取遠端辨別符。
●BFD的檢測機制:
(1)BFD的檢測機制是兩個系統建立BFD會話,并沿它們之間的路徑周期性發送BFD控制 封包,如果一方在既定的時間内沒有收到BFD控制封包,則認為路徑上發生了故障,BFD控制封包是UDP封包,端口号3784。
(2)BFD提供異步檢測模式。在這種模式下,系統之間互相周期性地發送BFD控制封包, 如果某個系統連續3個封包都沒有接收到,就認為此BFD會話的狀态是Down。
1.3 BFD會話建立過程
●RTA和RTB各自啟動BFD狀态機,初始狀态為Down,發送狀态為Down的BFD封包。對于 靜态配置BFD會話,封包中的Remote Discriminator的值是使用者指定的;對于動态建立
●BFD會話,Remote Discriminator的值是0。
●RTB收到狀态為Down的BFD封包後,狀态切換至Init,并發送狀态為Init的BFD封包。
●RTB本地BFD狀态為Init後,不再處理接收到的狀态為Down的封包。
●RTB收到狀态為Init的BFD封包後,本地狀态切換至Up。
●RTA的BFD狀态變化同RTB。
●鄰居會話建立成功後,RTA和RTB周期性的向對方發送狀态為Up的控制封包。
1.4 BFD工作流程
●BGP鄰居建立àBFD會話建立。
●鍊路故障àBFD會話downàBGP鄰居關系中斷。
●OSPF的BFD檢測故障發現處理流程。
(1)OSPF通過自己的Hello機制發現鄰居并建立連接配接。
(2)OSPF在建立了鄰居關系後,将鄰居資訊(包括目的位址和源位址等)通告給BFD。
(3)BFD根據收到的鄰居資訊建立會話。
(4)被檢測鍊路出現故障。
(5)BFD快速發送BFD探測封包檢測到鍊路故障,如果在規定時間内無響應,BFD會話狀 态變為Down。
(6)BFD通知本地OSPF程序BFD鄰居不可達。
(7)本地OSPF程序中斷OSPF鄰居關系
1.5 關聯功能簡介
●監測子產品負責對鍊路狀态、網絡性能等進行監測,并将探測結果通知給Track子產品 。
●Track子產品收到監測子產品的探測結果後,及時改變Track項的狀态,并通知應用子產品。
●應用子產品根據Track項的狀态,進行相應的處理,進而實作關聯。
1.6 BFD與BGP關聯場景
場景描述:
●兩台路由器經過中間網絡通道建立BGP的鄰居關系;
●已知RA、RA都支援BFD功能,要求使用BGP與BFD關聯技術,采用BFD控制封包方式實作當RA或RB與中間網絡裝置以及中間網絡通道内部鍊路出現故障時,BFD能夠快速感覺并通告BGP協定。
二、測試案例
2.1測試用例
(1)測試目的驗證BFD與BGP的關聯
(2)測試說明DUT的兩個端口分别與兩台二層交換機連接配接,通過二層交換機與測試儀兩個端口連接配接并通信
(3)測試步驟
●按圖連接配接好拓撲
●DUT的G0/0/1與測試儀P1端口建立IBGP鄰居,配置BFD;
●DUT的G0/0/2與測試儀P2端口建立IBGP鄰居,不配置BFD;
●測試儀P1端口配置BGP協定和BFD協定,并将BGP與BFD關聯;
●測試儀P2端口配置BGP協定;
●測試儀上開啟全部協定,檢視DUT上BGP鄰居和BFD會話,有預期結果1;
●SW1和SW2上同時down掉G0/0/1接口,檢視DUT和測試儀上的BGP鄰居和BFD會話,有預期結果2.
(4)預期結果
●預期結果1:兩個BGP鄰居均成功建立,DUT與P1端口成功建立BFD會話
●預期結果2:有BFD會話的BGP鄰居馬上斷開,每月會話的BGP鄰居需要等待一段時間後才會斷開。
2.2 DUT配置
三、測試步驟
3.1預約測試資源
預約測試資源:添加機箱、預約端口
3.2 建立接口
P1/P2端口下,建立IPv4接口
3.3 修改接口參數
修改接口IPv4位址和IPv4網關位址;點選“所有接口發送ARP/ND”學習ARP
3.4 配置BGP協定
“2-3層協定”中選擇BGP,點選菜單欄的“添加BGP”,選擇P1和P2端口
3.5關聯接口,調整協定參數
(1)将建立的IPv4接口與BGP協定關聯,根據實際情況調整BGP協定參數
(2)P1端口下的BGP協定使能BFD;
3.6配置BFD協定
(1)“2-3層協定”中選擇BFD,點選菜單欄的“添加BFD”,選擇P1端口
(2)将IPv4接口與BFD協定關聯
3.7啟動協定
點選菜單欄的“全部開始”,啟動BGP和BFD協定;
3.8檢視測試儀上協定狀态
●BFD協定狀态變為“running”;
●P1/P2端口的BGP協定狀态均變”Established”.
3.9檢視統計結果
●檢視BGP BFD Session Result
●IPv4源位址為測試儀接口IP,IPv4目的位址為DUT接口位址,BFD會話狀态為UP。
3.10檢視DUT 資訊
通過dis bgp peer檢視BGP鄰居
通過dis bgp bfd session all檢視BFD會話
3.11斷開測試儀和DUT之間連接配接
SW1和SW2的G0/0/1口分别使用shutdown指令down端口
3.12觀察測試儀和DUT的BGP狀态變化
測試儀上P1端口的BGP狀态因為存在BFD會話很快變為Idle,P2端口的狀态依舊是Established