BFD理論基礎

BFD理論基礎

定義:
雙向轉發檢測BFD(Bidirectional Forwarding Detection)是一種全網統一的檢測機制,用於快速檢測、監控網絡中鏈路或者IP路由的轉發連通情況。 (注:能夠實現快速檢測並監控網絡中鏈路或IP路由的轉發連通狀態,改善網絡性能。相鄰系統之間經過快速檢測發現通訊故障,能夠更快地幫助用戶創建起備份通道以便恢復通訊,保證網絡可靠性。)網絡


BFD會話創建方式:
一、靜態創建BFD會話:

靜態創建BFD會話是指經過命令行手工配置BFD會話參數,包括配置本地標識符和遠端標識符等,而後手工下發BFD會話創建請求。
二、動態創建BFD會話:
1)、動態分配本地標識符:
當應用程序觸發動態建立BFD會話時,系統分配屬於動態會話標識符區域的值做爲BFD會話的本地標識符。而後向對端發送Remote Discriminator的值爲0的BFD控制報文,進行會話協商。
2)、自學習遠端標識符:
當BFD會話的一端收到Remote Discriminator的值爲0的BFD控制報文時,判斷該報文是否與本地BFD會話匹配,若是匹配,則學習接收到的BFD報文中Local Discriminator的值,獲取遠端標識符。session


BFD會話管理:
一、 BFD會話有四種狀態:Down、Init、Up和AdminDown。
二、 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。併發


BFD特殊應用場景:
一、BFD for Perlink:(ETH-TRUNK透傳二層VLAN場景)
背景:兩臺設備經過Eth-Trunk鏈路直連,Eth-Trunk加入VLAN,若是使用BFD for IP單跳會話綁定VLANIF口檢測鏈路故障,BFD會選擇Eth-Trunk的一條成員鏈路做爲檢測路徑,若是這條成員鏈路故障,而別的成員鏈路正常,BFD會話會檢測Down,因此BFD for IP單跳會話檢測Eth-Trunk鏈路可能會出現BFD誤報的狀況。
原理:BFD for Perlink會話綁定VLANIF口後,BFD會建立一條管理會話,同時還會基於Eth-Trunk的每一個成員口建立一條單播動態BFD子會話。管理會話不進行協商和檢測,只負責處理子會話上報的狀態,並上報上層應用。BFD子會話獨立地進行協商和檢測,並將檢測狀態上報到管理會話。只有當全部子會話的狀態是Down的時候,管理會話的狀態纔會Down。 (注:目前設備支持以單臂回聲模式實現BFD子會話的鏈路檢測; 單臂回聲報文:以本端的VLANIF口的IP地址爲目的地址,以對端vlanif所在設備的MAC爲目的MAC地址,會話的本地標識符和遠端標識符均動態建立。)ide

二、BFD for Link-bundle:(ETH-TRUNK爲三層口場景)
背景及原理與BFD for Perlink同樣;
BFD for Link-bundle會話由一個主會話以及多個子會話組成,•主會話負責爲Eth-Trunk下每個成員接口建立一個BFD子會話,以及彙總子會話的檢測結果並對Eth-Trunk鏈路的狀態作出最終判斷;只要有一個子會話的狀態爲Up,主會話狀態就爲Up,若是BFD for Link-bundle沒有子會話,則主會話狀態爲Down,通告給上層應用的狀態爲Unknown。性能

注:
一、V200R002C50及以後版本,配置BFD與傳輸設備對接時,建議配置port-status fast-detect enable命令使能芯片快速感知接口物理狀態變化功能,同時BFD檢測間隔建議配置爲500ms四、1000ms3或者更大值。
二、缺省狀況下,BFD使用組播IP地址224.0.0.184。學習


BFD聯動功能:
一、 配置BFD與接口狀態聯動:(該功能針對綁定出接口且使用缺省組播地址進行檢測的單跳BFD會話)
背景:當直連鏈路中間存在傳輸設備時,與接口自己的鏈路協議故障檢測機制相比,BFD可以更快地檢測到鏈路故障。 爲了將BFD檢測結果更快地通告到應用程序,在設備接口管理模塊中,爲每一個接口增長了一個屬性,即BFD狀態,指的是與該接口綁定的BFD會話的狀態,系統根據接口的鏈路狀態、協議狀態和BFD狀態決定接口的狀態,並將結果通告給應用程序。ui

1)、system-view,進入系統視圖;
2)、bfd,使能全局BFD功能並進入BFD視圖(默認未使能);
3)、(可選)default-ip-address ip-address,配置BFD缺省組播IP地址(缺省爲224.0.0.184);
4)、quit,返回系統視圖
5)、bfd** session-name bind peer-ip default-ip interface interface-type interface-number [ source-ip ip-address ],創建BFD會話‘
6)、
discriminator local discr-value,配置BFD會話的本地標識符;
7)、
discriminator remote discr-value,配置BFD會話的遠端標識符;
8)、
process-interface-status,配置當前BFD會話與其綁定接口狀態聯動(缺省狀況下,BFD會話不與綁定的接口狀態聯動,即BFD會話狀態的變化不修改接口狀態);
9)、
commit,提交配置。
注:當配置文件中存在
process-interface-status命令時,在整機重啓後,考慮到接口的初始狀態必定是Down,因此配置了process-interface-status**命令的BFD會上報一個Down狀態給接口。命令行

二、 配置BFD與接口聯動(觸發與BFD聯動的接口物理狀態變爲Down):
1)、system-view,進入系統視圖;
2)、oam-mgr,進入OAM管理視圖;
3)、oam-bind ingress bfd-session session-name session-name trigger if-down egress interface interface-type interface-number,配置BFD會話向接口單向傳遞故障消息功能(當BFD會話檢測到故障後,與BFD會話綁定的接口物理狀態變爲Down);
4)、commit,提交配置。blog


調整BFD參數:
一、 調整bfd檢測時間:
1)、bfd session-name,進入BFD會話視圖;
2)、min-tx-interval interval,配置BFD報文的發送間隔;(默認1000ms)
3)、min-rx-interval interval,配置BFD報文的接收間隔;(默認1000ms)
4)、detect-multiplier multiplier,配置本地檢測倍數;(默認爲3)
注:配置BFD與傳輸設備對接時,建議配置port-status fast-detect enable命令使能芯片快速感知接口物理狀態變化功能。接口

二、 bfd等待恢復時間:
1)、bfd session-name,進入BFD會話視圖;
2)、wtr wtr-value,配置BFD會話的等待恢復時間;(即BFD會話從狀態Down變爲狀態Up時,BFD等待WTR超時後纔將這個變化通知給上層應用;默認wtr爲0)
3)、commit,提交配置。

三、 bfd會話延遲up時間:
1)、bfd,對本節點使能全局BFD功能並進入BFD視圖;
2)、delay-up time,使能延遲BFD會話Up的功能;(默認爲0)
3)、commit,提交配置。
注:該時間是爲了彌補路由協議Up晚於接口Up的時間差,避免流量回切時查不到路由。

四、 bfd會話震盪抑制:
1)、bfd,進入BFD會話視圖;
2)、dampening timer-interval maximum maximum-milliseconds initial** initial-milliseconds secondary secondary-milliseconds,配置BFD會話的震盪抑制時間(缺省已開啓,時間:第一次6000ms、第二次10000ms,最大缺省值爲20000ms);
3)、(可選,針對BFD for Link-bundle會話)
dampening timer-interval bundle-member maximum bundle-maximum-milliseconds initial bundle-initial-milliseconds secondary bundle-secondary-milliseconds ,配置BFD for Link-bundle的震盪抑制時間(缺省開啓,時間:第一次16000ms、第二次20000ms,最大缺省值爲60000ms**)

相關文章
相關標籤/搜索