配置BFD多跳檢測示例

BFD簡介

定義

雙向轉發檢測BFD(Bidirectional Forwarding Detection)是一種全網統一的檢測機制,用于快速檢測、監控網絡中鏈路或者IP路由的轉發連通狀況。

目的

為了減小設備故障對業務的影響,提高網絡的可靠性,網絡設備需要能夠盡快檢測到與相鄰設備間的通信故障,以便及時采取措施,保證業務繼續進行。在現有網絡中,有些鏈路通常通過硬件檢測信號,如SDH告警,檢測鏈路故障,但并不是所有的介質都能夠提供硬件檢測。此時,應用就要依靠上層協議自身的Hello報文機制來進行故障檢測。上層協議的檢測時間都在1秒以上,這樣的故障檢測時間對某些應用來說是不能容忍的。在三層網絡中,Hello報文檢測機制無法針對所有路由來檢測故障,如:靜態路由。這對系統間互聯互通定位故障造成困難。

BFD協議就是在這種背景下產生的,BFD提供了一個通用的標準化的介質無關和協議無關的快速故障檢測機制。具有以下優點:

  • 對相鄰轉發引擎之間的通道提供輕負荷、快速故障檢測。這些故障包括接口、數據鏈路,甚至有可能是轉發引擎本身。

  • 用單一的機制對任何介質、任何協議層進行實時檢測。

受益

BFD可以實現快速檢測并監控網絡中鏈路或IP路由的轉發連通狀態,改善網絡性能。相鄰系統之間通過快速檢測發現通信故障,可以更快地幫助用戶建立起備份通道以便恢復通信,保證網絡可靠性。

BFD原理描述

原理簡介

BFD在兩臺網絡設備上建立會話,用來檢測網絡設備間的雙向轉發路徑,為上層應用服務。BFD本身并沒有鄰居發現機制,而是靠被服務的上層應用通知其鄰居信息以建立會話。會話建立后會周期性地快速發送BFD報文,如果在檢測時間內沒有收到BFD報文則認為該雙向轉發路徑發生了故障,通知被服務的上層應用進行相應的處理。下面以OSPF與BFD聯動為例,簡單介紹會話工作流程。

如上圖所示:

  1. 被檢測鏈路出現故障。

  2. BFD快速檢測到鏈路故障,BFD會話狀態變為Down。

  3. BFD通知本地OSPF進程BFD鄰居不可達。

  4. 本地OSPF進程中斷OSPF鄰居關系。

BFD會話建立方式

BFD會話的建立有兩種方式,即靜態建立BFD會話和動態建立BFD會話。靜態和動態創建BFD會話的主要區別在于本地標識符(Local Discriminator)和遠端標識符(Remote Discriminator)的配置方式不同。BFD通過控制報文中的Local Discriminator和Remote Discriminator區分不同的會話。

  • 靜態建立BFD會話

    靜態建立BFD會話是指通過命令行手工配置BFD會話參數,包括配置本地標識符和遠端標識符等,然后手工下發BFD會話建立請求。

  • 動態建立BFD會話

    動態建立BFD會話時,系統對本地標識符和遠端標識符的處理方式如下:

    • 動態分配本地標識符

      當應用程序觸發動態創建BFD會話時,系統分配屬于動態會話標識符區域的值作為BFD會話的本地標識符。然后向對端發送Remote Discriminator的值為0的BFD控制報文,進行會話協商。

    • 自學習遠端標識符

      當BFD會話的一端收到Remote Discriminator的值為0的BFD控制報文時,判斷該報文是否與本地BFD會話匹配,如果匹配,則學習接收到的BFD報文中Local Discriminator的值,獲取遠端標識符。

BFD會話管理

BFD會話有四種狀態:Down、Init、Up和AdminDown。會話狀態變化通過BFD報文的State字段傳遞,系統根據自己本地的會話狀態和接收到的對端BFD報文驅動狀態改變。BFD狀態機的建立和拆除都采用三次握手機制,以確保兩端系統都能知道狀態的變化。以BFD會話建立為例,簡單介紹狀態機的遷移過程。

  1. SwitchA和SwitchB各自啟動BFD狀態機,初始狀態為Down,發送狀態為Down的BFD報文。對于靜態配置BFD會話,報文中的Remote Discriminator的值是用戶指定的;對于動態創建BFD會話,Remote Discriminator的值是0。

  2. SwitchB收到狀態為Down的BFD報文后,狀態切換至Init,并發送狀態為Init的BFD報文。

  3. SwitchB本地BFD狀態為Init后,不再處理接收到的狀態為Down的報文。

  4. SwitchA的BFD狀態變化同SwitchB。

  5. SwitchB收到狀態為Init的BFD報文后,本地狀態切換至Up。

  6. SwitchA的BFD狀態變化同SwitchB。

拓撲圖

S1基本配置
<Huawei>system-view 	
[Huawei]sysname S1[S1]undo info-center enable 
[S1]vlan 10
[S1-vlan10]q配置設備間的網絡互連 
# 配置設備各接口的IP地址
[S1]interface GigabitEthernet 0/0/1	
[S1-GigabitEthernet0/0/1]port link-type hybrid 
[S1-GigabitEthernet0/0/1]port hybrid  pvid vlan 10
[S1-GigabitEthernet0/0/1]port hybrid untagged vlan 10
[S1-GigabitEthernet0/0/1]q[S1]interface Vlanif 10
[S1-Vlanif10]ip address 10.1.1.1 24
[S1-Vlanif10]q配置靜態路由,使S1、S3之間有可達路由 
# SwitchC的配置與SwitchA類似,具體配置過程略,詳見配置文件。
[S1]ip route-static 10.2.1.0 24 10.1.1.2配置多跳BFD檢測 
# 在S1上配置與S3之間的BFD會話。
[S1] bfd
[S1-bfd] quit
[S1] bfd atoc bind peer-ip 10.2.1.2
[S1-bfd-session-atoc] discriminator local 10
[S1-bfd-session-atoc] discriminator remote 20
[S1-bfd-session-atoc] commit
[S1-bfd-session-atoc] quit

S2基本配置配置設備間的網絡互連 
# 配置設備各接口的IP地址
<Huawei>system-view 
[Huawei]sysname S2[S2]undo info-center enable [S2]vlan 10
[S2-vlan10]q[S2]interface GigabitEthernet 0/0/1	
[S2-GigabitEthernet0/0/1]port link-type hybrid 	
[S2-GigabitEthernet0/0/1]port hybrid  pvid vlan 10
[S2-GigabitEthernet0/0/1]port hybrid untagged  vlan 10
[S2-GigabitEthernet0/0/1]q[S2]interface Vlanif 10
[S2-Vlanif10]ip address 10.1.1.2 24
[S2-Vlanif10]q[S2]interface GigabitEthernet 0/0/2
[S2-GigabitEthernet0/0/1]port link-type hybrid 	
[S2-GigabitEthernet0/0/1]port hybrid  pvid vlan 20
[S2-GigabitEthernet0/0/1]port hybrid untagged  vlan 20
[S2-GigabitEthernet0/0/1]q[S2]interface Vlanif 20
[S2-Vlanif10]ip address 10.2.1.1 24
[S2-Vlanif10]q

S3配置設備間的網絡互連 
# 配置設備各接口的IP地址
<Huawei>system-view 
[Huawei]sysname S3[S3]undo info-center enable [S3]vlan 20
[S3-vlan20]q[S3]interface GigabitEthernet 0/0/1
[S3-GigabitEthernet0/0/1]port link-type hybrid 
[S3-GigabitEthernet0/0/1]port hybrid  pvid  vlan 20
[S3-GigabitEthernet0/0/1]port hybrid  untagged  vlan  20
[S3-GigabitEthernet0/0/1]q[S3]interface Vlanif 20
[S3-Vlanif20]ip address 10.2.1.2 24
[S3-Vlanif20]q# 在S3上配置與S1之間的BFD會話。
[S3] bfd
[S3-bfd] quit
[S3] bfd ctoa bind peer-ip 10.1.1.1
[S3-bfd-session-ctoa] discriminator local 20
[S3-bfd-session-ctoa] discriminator remote 10
[S3-bfd-session-ctoa] commit
[S3-bfd-session-ctoa] quit配置靜態路由,使S1、S3之間有可達路由 
[S3]ip route-static 10.1.1.0 24 10.2.1.1
  1. 驗證配置結果

    配置完成后,在S3和S1上執行display bfd session all verbose命令,可以看到建立了一個BFD會話,且狀態為Up

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214047.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214047.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214047.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

“==”和“equals”的區別

“”和“equals”的區別 Java中“”和“equals”的區別在于&#xff0c;它們比較的內容不同。""比較的是對象的引用是否相等&#xff0c;而equals比較的是對象的值是否相等。 具體來說&#xff0c;以下是兩個操作符之間的區別&#xff1a; “”比較的是對象的引用&…

【鏈表Linked List】力扣-117 填充每個節點的下一個右側節點指針II

目錄 問題描述 解題過程 官方題解 問題描述 給定一個二叉樹&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每個 next 指針&#xff0c;讓這個指針指向其下一個右側節點。如果找不到下一個右側節點&#xff0c;則將 next 指針設置為 N…

C++中字符串詳解

在C語言中只能通過字符串數組來模擬字符串&#xff0c;沒有字符串類型。在C引入了string類來表示字符串類型。從而用它定義字符串。 在C語言中&#xff1a; char str[] "abc"; char str[] {a&#xff0c;b,c,\0}; char* str "abc"; //這三種形式是C語言…

因為高考考砸了,我學了計算機

2015年&#xff0c;是我高中的最后一年。 2023年&#xff0c;我已在計算機領域工作十多個年頭。 我出生在東部省份的一個不沿海小縣城&#xff0c;在那里度過了我高考前的17年。起點平平&#xff0c;沒有任何特長傍身&#xff0c;也可以說是毫無亮點&#xff1b;成績中等&#…

代碼隨想錄算法訓練營第四十五天 _ 動態規劃_ 70. 爬樓梯、322.零錢兌換、279.完全平方數、139.單詞拆分。

學習目標&#xff1a; 動態規劃五部曲&#xff1a; ① 確定dp[i]的含義 ② 求遞推公式 ③ dp數組如何初始化 ④ 確定遍歷順序 ⑤ 打印遞歸數組 ---- 調試 引用自代碼隨想錄&#xff01; 60天訓練營打卡計劃&#xff01; 學習內容&#xff1a; 70. 爬樓梯 動態規劃五步曲&…

中文語音標注工具FunASR(語音識別)

全稱 A Fundamental End-to-End Speech Recognition Toolkit&#xff08;一個語音識別工具&#xff09; 可能大家用過whisper&#xff08;openAi&#xff09;&#xff0c;它【標注英語的確很完美】&#xff0c;【但中文會出現標注錯誤】或搞了個沒說的詞替換上去&#xff0c;所…

【Fiddler】IDEA配置Fiddler

由于遇上了個迷之請求&#xff0c;接口調用正常&#xff0c;OkHttpClient調用正常&#xff0c;RestTemplate調用失敗&#xff0c;所以想看看發送的報文是怎樣的&#xff0c;所以就下了個Fiddler 問題 下載安裝&#xff0c;以及如何安裝證書&#xff0c;網上太多相同文章了&…

APP備案,最新獲取安卓簽名文件中MD5等信息方法

1.通過簽名文件獲取SHA1和SHA256 直接通過cmd執行命令 keytool -list -v -keystore xxxxx/xxx/xx/xxx.keystore輸入后回車會提示輸入密碼庫口令&#xff0c;直接輸入Keystore密碼&#xff08;輸入過程中終端上不會顯示&#xff0c;輸完回車就行&#xff09; 2.獲取md5 由于…

redis集群(cluster)筆記

1. 定義&#xff1a; 由于數據量過大&#xff0c;單個Master復制集難以承擔&#xff0c;因此需要對多個復制集進行集群&#xff0c;形成水平擴展每個復制集只負責存儲整個數據集的一部分&#xff0c;這就是Redis的集群&#xff0c;其作用是提供在多個Redis節點間共享數據的程序…

IDEA啟動失敗報錯解決思路

IDEA啟動失敗報錯解決思路 背景&#xff1a;在IDEA里安裝插件失敗&#xff0c;重啟后直接進不去了&#xff0c;然后分析問題解決問題的過程記錄下來。方便下次遇到快速解決。也是一種解決問題的思路&#xff0c;分享出去。 啟動報錯信息 Internal error. Please refer to https…

加索引后 sql loader-951

加索引后 sql loader-951 現象解決過程最終解決 現象 之前使用sqlldr正常&#xff0c;加表索引后使用sqlldr時 報錯 SQL Loader-951 解決過程 百度&#xff0c;說可能是鎖表&#xff08;或者表未提交&#xff09; 查看沒有對應未commit數據&#xff0c;且沒有鎖表。查看對應…

【筆記 Python 01】基本數據類型、基本類型

文章目錄 類型是否可轉換基本類型匯總集合 set【創建】【添加元素】【刪除】【清空】【差集】【交集】【并集】【update 批量更新】【set → numpy】 元組 tuple ()【描述】【優點】【元組的創建】【元組的插入】【刪除元組】 字典 dict {}【創建空列表】【創建列表】【字典的獲…

ke14--10章-1數據庫JDBC介紹

注冊數據庫(兩種方式),獲取連接,通過Connection對象獲取Statement對象,使用Statement執行SQL語句。操作ResultSet結果集 ,回收數據庫資源. 需要語句: 1Class.forName("DriverName");2Connection conn DriverManager.getConnection(String url, String user, String…

抖音各加密參數說明和獲取(含代碼)

?X-Bogus&#xff1a;X-Bogus是一種防數據包偽造的一個參數&#xff0c; 又稱為x偽造&#xff0c;主要用于反爬蟲&#xff0c;這個是某節公司下面基礎服務&#xff0c;這個反爬蟲機制幾乎用在了它所有的產品中&#xff0c;不過&#xff0c;只要是能正常使用&#xff0c;這些東…

什么是Non EC

今天在填一個表單時&#xff0c;里面有個Non EC的選項&#xff0c;不解其意。原來是歐盟成員國國民的意思&#xff0c;因為歐盟法規各方面比較嚴厲&#xff0c;所以會單列出來&#xff0c;作為一個條件。 互聯網查詢結果如下&#xff1a; Non-EC是指非歐盟&#xff08;EU&#…

PHP基礎 - 常量字符串

常量 在PHP中,常量是一個簡單值的標識符,定義后默認是全局變量,可以在整個運行的腳本的任何地方使用。常量由英文字母、下劃線和數字組成,但數字不能作為首字母出現。 PHP中定義常量的方式是使用define()函數,其語法如下: bool define( string $name, mixed $value [,…

使用人工智能優化常見業務流程

在現代商業環境中&#xff0c;人工智能(AI)正在改變企業的運營方式。將人工智能集成到業務流程中可以提高效率和準確性&#xff0c;從而節省大量時間和成本。 這使員工能夠專注于更具戰略性的任務。人工智能在商業中的應用范圍從自動化日常任務到提供高級分析&#xff0c;以做…

【mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar安裝】linux安裝mysql5.7

之前安裝的時候遇到了很多問題&#xff0c;浪費了一些時間。整理出這份教程&#xff0c;照著做基本一遍過。 這是安裝包: 鏈接&#xff1a;https://pan.baidu.com/s/1gBuQBjA4R5qRYZKPKN3uXw?pwd1nuz 1.下載安裝包&#xff0c;上傳到linux。我這里就放到downloads目錄下面…

郵政快遞單號查詢入口,刪除不需要的單號

批量查詢郵政快遞單號的物流信息&#xff0c;并刪除不需要的單號。 所需工具&#xff1a; 一個【快遞批量查詢高手】軟件 郵政快遞單號若干 操作步驟&#xff1a; 步驟1&#xff1a;運行【快遞批量查詢高手】軟件&#xff0c;第一次使用的伙伴記得先注冊&#xff0c;然后登錄…

SimpleSQL

游戲和應用中的SQL集成 simpleSQL可將數據庫存儲集成到您的游戲或項目中。創建水平地圖鏈接,存儲球員的統計資料,保持庫存規格,以及更多! 請注意,simpleSQL是本地數據庫解決方案,不能連接到服務器數據庫 將SQLite數據庫附加到場景中的管理器 無需移動移動設備上的文件! 使…