• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

12-可靠性配置指導

目錄

11-BFD配置

本章節下載 11-BFD配置  (246.55 KB)

11-BFD配置


1 BFD

1.1  BFD簡介

為了減小設備故障對業務的影響、提高網絡的可用性,設備需要能夠盡快檢測到與相鄰設備間的通信故障,以便能夠及時采取措施,從而保證業務繼續進行。

現有的故障檢測方法主要包括以下幾種:

·     硬件檢測:例如通過SDH(Synchronous Digital Hierarchy,同步數字體係)告警檢測鏈路故障。硬件檢測的優點是可以很快發現故障,但並不是所有介質都能提供硬件檢測。

·     慢Hello機製:通常采用路由協議中的Hello報文機製。這種機製檢測到故障所需時間為秒級。對於高速數據傳輸,例如吉比特速率級,超過1秒的檢測時間將導致大量數據丟失;對於時延敏感的業務,例如語音業務,超過1秒的延遲也是不能接受的。並且,這種機製依賴於路由協議。

·     其他檢測機製:不同的協議有時會提供專用的檢測機製,但在係統間互聯互通時,這樣的專用檢測機製通常難以部署。

BFD(Bidirectional Forwarding Detection,雙向轉發檢測)就是為了解決上述檢測機製的不足而產生的,它是一套全網統一的檢測機製,用於快速檢測、監控網絡中鏈路或者IP路由的轉發連通狀況,保證鄰居之間能夠快速檢測到通信故障,從而快速建立起備用通道恢複通信。

1.1.1  BFD工作機製

BFD提供了一個通用的、標準化的、介質無關、協議無關的快速故障檢測機製,可以為各上層協議如路由協議、MPLS等統一地快速檢測兩台路由器間雙向轉發路徑的故障。

BFD在兩台路由器上建立會話,用來監測兩台路由器間的雙向轉發路徑,為上層協議服務。BFD本身並沒有發現機製,而是靠被服務的上層協議通知其與誰建立會話,會話建立後如果在檢測時間內沒有收到對端的BFD控製報文則認為發生故障,通知被服務的上層協議進行相應的處理。

1. BFD工作流程

圖1-1 BFD會話建立流程圖(以OSPF為例)

 

BFD會話建立過程:

·     上層協議通過自己的Hello機製發現鄰居並建立連接;

·     上層協議在建立了新的鄰居關係時,將鄰居的參數及檢測參數(包括目的地址和源地址等)都通告給BFD;

·     BFD根據收到的參數進行計算並建立鄰居。

圖1-2 BFD處理網絡故障流程圖(以OSPF為例)

 

當網絡出現故障時:

·     BFD檢測到鏈路/網絡故障;

·     拆除BFD鄰居會話;

·     BFD通知本地上層協議進程BFD鄰居不可達;

·     本地上層協議中止上層協議鄰居關係;

·     如果網絡中存在備用路徑,路由器將選擇備用路徑。

說明

BFD草案中沒有規定檢測的時間精度,目前支持BFD的設備大多數提供的是毫秒級檢測。

 

2. BFD檢測方式

·     單跳檢測:BFD單跳檢測是指對兩個直連係統進行IP連通性檢測,這裏所說的“單跳”是IP的一跳。

·     多跳檢測:BFD可以檢測兩個係統間的任意路徑,這些路徑可能跨越很多跳,也可能在某些部分發生重疊。

·     雙向檢測:BFD通過在雙向鏈路兩端同時發送檢測報文,檢測兩個方向上的鏈路狀態,實現毫秒級的鏈路故障檢測。(BFD檢測LSP是一種特殊情況,隻需在一個方向發送BFD控製報文,對端通過其他路徑報告鏈路狀況。)

3. BFD會話的工作方式

·     控製報文方式:鏈路兩端會話通過控製報文交互監測鏈路狀態。

·     Echo報文方式:鏈路某一端通過發送Echo報文由另一端轉發回來,實現對鏈路的雙向監測。

4. BFD運行模式

BFD會話建立前有兩種模式:主動模式和被動模式。

·     主動模式:在建立會話前不管是否收到對端發來的BFD控製報文,都會主動發送BFD控製報文;

·     被動模式:在建立會話前不會主動發送BFD控製報文,直到收到對端發送來的控製報文。

說明

在會話初始化過程中,通信雙方至少要有一個運行在主動模式才能成功建立起會話。

 

BFD會話建立後有兩種模式:異步模式和查詢模式通信雙方要求運行在相同的模式。

·     異步模式:以異步模式運行的設備周期性地發送BFD控製報文,如果在檢測時間內對端沒有收到BFD控製報文,則認為會話down。

·     查詢模式:假定有一個獨立的方法,確認自己和對端係統的連通性。這樣,BFD會話建立後,會停止周期發送BFD控製報文,除非需要顯式地驗證連接性。

說明

·     目前僅支持異步模式。

·     當BFD會話工作於echo報文方式時,不受運行模式控製。

·     在需要顯式驗證連接性的情況下,係統以協商的周期連續發送幾個P比特位置1的BFD控製報文。如果在檢測時間內沒有收到返回的報文,就認為會話down;如果認為連通,則不再發送報文,等待下一次查詢的觸發。

 

5. 動態改變BFD參數功能

會話建立後,可以動態協商BFD的相關參數(例如最小發送間隔、最小接收間隔、初始模式、報文認證等),兩端協議通過發送相應的協商報文後采用新的參數,不影響會話的當前狀態。

1.1.2  BFD報文格式

BFD控製報文封裝在UDP報文中傳送,對於單跳檢測其UDP目的端口號為3784,對於多跳檢測其UDP目的端口號為4784(也可配置為3784,具體參見配置任務)。BFD echo報文與BFD控製報文格式類似(區別在於字段Desired Min Tx Interval和Required Min Rx Interval為空),其UDP目的端口號為3785。報文格式如圖1-3所示:

圖1-3 BFD報文格式圖

 

·     Vers:協議的版本號,協議版本為1。

·     Diag:本地會話最後一次從up狀態轉換到其他狀態的原因如表1-1

表1-1 Diag原因描述

Diag

描述

0

無診斷信息(No Diagnostic)

1

控製檢測超時(Control Detection Time Expired)

2

回聲功能失效(Echo Function Failed)

3

鄰居通知會話down(Neighbor Signaled Session Down)

4

轉發平麵重啟(Forwarding Plane Reset)

5

通道失效(Path Down)

6

連接通道失效(Concatenated Path Down)

7

管理down(Administratively Down)

8

反向鏈路down(Reverse Concatenated Path Down)

9~31

保留位(Reserved for future use)

 

·     State(Sta):BFD會話當前狀態,取值為:0代表AdminDown,1代表Down,2代表Init,3代表Up;

·     Poll(P):設置為1,表示發送協議請求進行連接確認,或者發送請求參數改變的確認;設置為0,表示發送方不請求確認;

·     Final(F):設置為1,表示發送協議響應一個接收到P比特為1的BFD控製報文;設置為0,表示發送方不響應一個接收到P比特為1的BFD控製報文;

·     Control Plane Independent(C):設置為1,表示發送協議的BFD實現不依賴於它的控製平麵(換句話說,BFD在轉發平麵實施,即使控製平麵失效了,BFD仍然能夠起作用);設置為0,表示BFD在控製平麵實施;

·     Authentication Present(A):如果設置為1,則表示控製報文包含認證字段,並且會話是被認證的;

·     Demand(D):設置為1,表示發送協議希望操作在查詢模式;設置為0,表示發送協議不區分是否操作在查詢模式,或者表示發送協議不能操作在查詢模式;

·     Reserved(R):在發送時設置為0,在接收時忽略;

·     Detect Mult:檢測時間倍數;

·     Length:BFD控製報文的長度,單位字節;

·     My Discriminator:發送協議產生的一個唯一的、非0鑒別值,用來對兩個協議之間的多個BFD會話進行分離;

·     Your Discriminator:從遠端協議接收到的鑒別值 “My Discriminator”,如果沒有收到這個值就返回0;

·     Desired Min Tx Interval:本地協議發送BFD控製報文時想要采用的最小間隔,單位毫秒;

·     Required Min Rx Interval:本地協議能夠支持的接收兩個BFD控製報文之間的間隔,單位毫秒;

·     Required Min Echo Rx Interval:本地協議能夠支持的接收兩個BFD回聲報文之間的間隔,單位毫秒。如果這個值設置為0,則發送協議不支持接收BFD回聲報文;

·     Auth Type:BFD控製報文使用的認證類型;

·     Auth Len:認證字段的長度,包括認證類型與認證長度字段。

1.1.3  BFD支持的應用

·     OSPF與BFD聯動:詳細情況請參見“三層技術-IP路由配置指導”中的“OSPF”。

·     OSPFv3與BFD聯動:詳細情況請參見“三層技術-IP路由配置指導”中的“OSPFv3”。

·     IS-IS與BFD聯動:詳細情況請參見“三層技術-IP路由配置指導”中的“IS-IS”。

·     IPv6 IS-IS與BFD聯動:詳細情況請參見“三層技術-IP路由配置指導”中的“IPv6 IS-IS”。

·     RIP與BFD聯動:詳細情況請參見“三層技術-IP路由配置指導”中的“RIP”。

·     靜態路由與BFD聯動:詳細情況請參見“三層技術-IP路由配置指導”中的“靜態路由”。

·     BGP與BFD聯動:詳細情況請參見“三層技術-IP路由配置指導”中的“BGP”。

·     IPv6 BGP與BFD聯動:詳細情況請參見“三層技術-IP路由配置指導”中的“IPv6 BGP”。

·     PIM與BFD聯動:詳細情況請參見“IP組播配置指導”中的“PIM”。

·     IPv6 PIM與BFD聯動:詳細情況請參見“IP組播配置指導”中的“IPv6 PIM”。

·     MPLS與BFD聯動:詳細情況請參見“MPLS配置指導”中的“MPLS基礎”。

·     Track與BFD聯動:詳細情況請參見“可靠性配置指導”中的“Track”。

·     IP快速重路由:目前支持快速重路由的有OSPF、RIP、IS-IS和靜態路由。詳細情況請參見“三層技術-IP路由配置指導”中的“OSPF”、“IS-IS”、“RIP”和“靜態路由”。

1.1.4  協議規範

與BFD相關的協議規範有:

·     draft-ietf-bfd-base-09:Protocol Independent Bidirectional Forwarding Detection

·     draft-ietf-bfd-v4v6-1hop-10:BFD for IPv4 and IPv6 (Single Hop)

·     draft-ietf-bfd-multihop-08:BFD for Multihop Paths

·     draft-ietf-bfd-generic-05:Generic Application of BFD

1.2  配置BFD基本功能

BFD基本功能配置,是配置其他協議和BFD聯動應用的基礎。

1.2.1  配置準備

在配置BFD基本功能之前,需完成以下任務:

·     配置接口的網絡層地址,使相鄰節點之間網絡層可達

·     配置可支持BFD的路由協議

1.2.2  配置步驟

表1-2 配置BFD基本功能

操作

命令

說明

進入係統視圖

system-view

-

配置BFD會話建立前的會話模式

bfd session init-mode { active | passive }

可選

缺省情況下,BFD會話建立前的會話模式為active

配置多跳BFD控製報文的目的端口號

bfd multi-hop destination-port port-number

可選

缺省情況下,多跳BFD控製報文的目的端口號為4784

配置echo報文源IP地址

bfd echo-source-ip ip-address

可選

需要注意的是,為了避免對端發送大量的ICMP重定向報文造成網絡擁塞,建議不要將BFD echo報文的源IP地址配置為屬於該設備任何一個接口所在網段

進入接口視圖

interface interface-type interface-number

-

配置接收echo報文的最小時間間隔

bfd min-echo-receive-interval value

可選

·     主控板型號為LSR1SRP2D1、LSR1SRP2C1或LSR1SRP2C2,缺省情況下,接收BFD echo報文的最小時間間隔為400毫秒

·     主控板型號為LSR1SRP2B1或LSR1SRP2B2,缺省情況下,接收BFD echo報文的最小時間間隔為1000毫秒

配置發送BFD控製報文的最小時間間隔

bfd min-transmit-interval value

可選

·     主控板型號為LSR1SRP2D1、LSR1SRP2C1或LSR1SRP2C2,缺省情況下,BFD控製報文的最小發送時間間隔為400毫秒

·     主控板型號為LSR1SRP2B1或LSR1SRP2B2,缺省情況下,BFD控製報文的最小發送時間間隔為1000毫秒

配置接收BFD控製報文的最小時間間隔

bfd min-receive-interval value

可選

·     主控板型號為LSR1SRP2D1、LSR1SRP2C1或LSR1SRP2C2,缺省情況下,BFD控製報文的最小接收時間間隔為400毫秒

·     主控板型號為LSR1SRP2B1或LSR1SRP2B2,缺省情況下,BFD控製報文的最小接收時間間隔為1000毫秒

配置檢測時間倍數

bfd detect-multiplier value

可選

缺省情況下,檢測時間倍數為5

 

圖1-1所示,假如Router ADesired Min Tx Interval100毫秒,Required Min Rx Interval300毫秒,Detect Mult5Router BDesired Min Tx Interval150毫秒,Required Min Rx Interval400毫秒,Detect Mult10。那麼會有以下結果:

·     Router A的實際發送時間為Router A發送控製報文的最小時間間隔和Router B接收控製報文的最小時間間隔之間的較大值=Max(100,400)=400毫秒。

·     Router B的實際發送時間為Router B發送控製報文的最小時間間隔和Router A接收控製報文的最小時間間隔之間的較大值=Max(150,300)=300毫秒。

·     Router A的實際檢測時間為Router B的檢測時間倍數和Router B的實際發送時間的乘積=10×300=3000毫秒。

·     Router B的實際檢測時間為Router A的檢測時間倍數和Router A的實際發送時間的乘積=5×400=2000毫秒。

說明

·     在BFD會話初始化過程中,通信雙方至少要有一個運行在主動模式才能成功建立起會話。

·     聚合口配置BFD檢測時間較小時,成員口需配置link-delay 0/link-delay msc 0以保證成員端口UP/DOWN不影響BFD會話。

 

1.3  BFD顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後BFD的運行情況,通過查看顯示信息驗證配置的效果。

在用戶視圖下執行reset命令可以清除BFD會話的統計信息。

表1-3 BFD顯示和維護

操作

命令

顯示使能的BFD接口信息

display bfd interface [ verbose ] [ | { begin | exclude | include } regular-expression ]

顯示使能的BFD調試信息開關

display bfd debugging-switches [ | { begin | exclude | include } regular-expression ]

顯示BFD會話信息(獨立運行模式)

display bfd session [ slot slot-number [ all | verbose ] | verbose ] [ | { begin | exclude | include } regular-expression ]

顯示BFD會話信息(IRF模式)

display bfd session [ chassis chassis-number slot slot-number [ all | verbose ] | verbose ] [ | { begin | exclude | include } regular-expression ]

清除BFD會話統計信息(獨立運行模式)

reset bfd session statistics [ slot slot-number ]

清除BFD會話統計信息(IRF模式)

reset bfd session statistics [ chassis chassis-number slot slot-number ]

 

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們