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

20-可靠性配置指導

目錄

06-BFD配置

本章節下載 06-BFD配置  (398.83 KB)

06-BFD配置


1 BFD

1.1  BFD簡介

BFD(Bidirectional Forwarding Detection,雙向轉發檢測)是一個通用的、標準化的、介質無關和協議無關的快速故障檢測機製,用於檢測轉發路徑的連通狀況,保證設備之間能夠快速檢測到通信故障,以便能夠及時采取措施,保證業務持續運行。BFD可以為各種上層協議(如路由協議)快速檢測兩台設備間雙向轉發路徑的故障。上層協議通常采用Hello報文機製檢測故障,所需時間為秒級,而BFD可以提供毫秒級檢測。

1.1.1  單跳檢測和多跳檢測

BFD可以用來進行單跳和多跳檢測:

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

·     多跳檢測:BFD可以檢測兩個設備間任意路徑的鏈路情況,這些路徑可能跨越很多跳。

1.1.2  BFD會話的工作方式和檢測模式

BFD會話通過echo報文和控製報文實現。

1. echo報文方式

echo報文封裝在UDP報文中傳送,其UDP目的端口號為3785。

本端發送echo報文建立BFD會話,對鏈路進行檢測。對端不建立BFD會話,隻需把收到的echo報文轉發回本端。如果在檢測時間內沒有收到對端轉發回的echo報文,則認為會話down。

當BFD會話工作於echo報文方式時,僅支持單跳檢測,且不受檢測模式的控製。

2. 控製報文方式

控製報文封裝在UDP報文中傳送,對於單跳檢測其UDP目的端口號為3784,對於多跳檢測其UDP目的端口號為4784。鏈路兩端的設備通過控製報文中攜帶的參數(會話標識符、期望的收發報文最小時間間隔、本端BFD會話狀態等)協商建立BFD會話。

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

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

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

通信雙方至少要有一方運行在主動模式才能成功建立起BFD會話。

BFD會話建立後有兩種模式:異步模式和查詢模式。

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

·     查詢模式:本端的BFD會話工作在查詢模式時,本端設備會向對端發送D比特位置1的BFD控製報文,對端(缺省為異步模式)收到該報文後將停止周期性發送BFD控製報文。這種情況下,僅對本端到對端的鏈路進行檢測,即當對端設備在檢測時間內未收到BFD控製報文時,則認為鏈路故障,將BFD會話狀態置為down。如果通信雙方的BFD會話均工作在查詢模式,則雙方都停止周期性發送BFD控製報文。這種情況下,係統將通過其他與BFD無關的機製對鏈路進行檢測(比如Hello報文機製、硬件檢測機製等)。當係統中的BFD會話數量較多時,采用查詢模式可防止周期性發送BFD控製報文的開銷對係統的正常運行造成影響。

1.1.3  BFD支持的應用

表1-1 BFD支持的應用

應用

參見信息

靜態路由

IS-IS

OSPF

RIP

BGP

IP快速重路由

“三層技術-IP路由配置指導”

IPv6靜態路由

OSPFv3

“三層技術-IP路由配置指導”

PIM

“IP組播配置指導”

MPLS L3VPN

MPLS OAM

“MPLS配置指導”

Track

“可靠性配置指導”

以太網鏈路聚合

“二層技術-以太網交換配置指導”

 

1.1.4  協議規範

與BFD相關的協議規範有:

·     RFC 5880:Bidirectional Forwarding Detection (BFD)

·     RFC 5881:Bidirectional Forwarding Detection (BFD) for IPv4 and IPv6 (Single Hop)

·     RFC 5882:Generic Application of Bidirectional Forwarding Detection (BFD)

·     RFC 5883:Bidirectional Forwarding Detection (BFD) for Multihop Paths

·     RFC 5884:Bidirectional Forwarding Detection (BFD) for MPLS Label Switched Paths (LSPs)

·     RFC 5885:Bidirectional Forwarding Detection (BFD) for the Pseudowire Virtual Circuit Connectivity Verification (VCCV)

·     RFC 7130:Bidirectional Forwarding Detection (BFD) on Link Aggregation Group (LAG) Interfaces

1.2  BFD配置限製和指導

缺省BFD運行版本1,同時兼容版本0。不能通過命令行配置修改為版本0,當對端設備運行版本0會話時,本端自動會切換到版本0。

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

1.3  配置echo報文方式的BFD會話

1.3.1  BFD會話建立方式

建立echo報文方式的BFD會話的方式有兩種:

·     通過bfd static命令手工創建。

·     應用程序與BFD聯動時動態創建。

1.3.2  配置限製和指導

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

1.3.3  創建靜態BFD會話

1. 功能簡介

創建的靜態BFD會話可以用來進行echo報文方式的BFD單跳檢測和多跳檢測。

2. 配置限製和指導

使用echo報文方式的靜態BFD會話進行檢測時,僅需在本端創建靜態BFD會話。

首次創建靜態BFD會話時,必須指定靜態BFD會話的對端IPv4或IPv6地址。係統僅檢查IP地址的形式,不檢查其正確性。指定錯誤的對端IP地址或源IP地址均會導致靜態BFD會話無法建立。

不同的靜態BFD會話的本地標識符不能相同。

如果創建靜態BFD會話時未指定source-ip/source-ipv6參數,將使用bfd echo-source-ip/bfd echo-source-ipv6命令指定的IPv4/IPv6地址作為echo報文的源IPv4/IPv6地址。如果創建靜態BFD會話時指定了source-ip/source-ipv6參數,將使用該參數的地址作為echo報文的源IPv4/IPv6地址。建議用戶創建echo報文方式的靜態BFD會話時指定source-ip/source-ipv6參數。

3. 配置單跳檢測的靜態BFD會話

(1)     進入係統視圖。

system-view

(2)     配置echo報文源IP地址。

¡     配置echo報文源IPv4地址。

bfd echo-source-ip ip-address

缺省情況下,未配置echo報文的源IPv4地址。

¡     配置echo報文源IPv6地址。

bfd echo-source-ipv6 ipv6-address

缺省情況下,未配置echo報文的源IPv6地址。

echo報文源IPv6地址僅支持全球單播地址。

(3)     創建靜態BFD會話,並進入靜態BFD會話視圖。

(IPv4網絡)

bfd static session-name [ peer-ip ipv4-address interface interface-type interface-number destination-ip ipv4-address [ source-ip ipv4-address ] one-arm-echo [ discriminator auto ] ]

(IPv6網絡)

bfd static session-name [ peer-ipv6 ipv6-address interface interface-type interface-number destination-ipv6 ipv6-address [ source-ipv6 ipv6-address ] one-arm-echo [ discriminator auto ] ]

(4)     (可選)指定靜態BFD會話的本地標識符。

discriminator local local-value

缺省情況下,未指定靜態BFD會話的本地標識符。

本命令僅用於創建靜態BFD會話時未指定靜態BFD會話標識符的場景。

4. 配置多跳檢測的靜態BFD會話

(1)     進入係統視圖。

system-view

(2)     配置echo報文源IP地址。

¡     配置echo報文源IPv4地址。

bfd echo-source-ip ip-address

缺省情況下,未配置echo報文的源IPv4地址。

¡     配置echo報文源IPv6地址。

bfd echo-source-ipv6 ipv6-address

缺省情況下,未配置echo報文的源IPv6地址。

echo報文源IPv6地址僅支持全球單播地址。

(3)     創建靜態BFD會話,並進入靜態BFD會話視圖。

(IPv4網絡)

bfd static session-name [ peer-ip ipv4-address [ vpn-instance vpn-instance-name ] destination-ip ipv4-address [ source-ip ipv4-address ] one-arm-echo [ discriminator auto ] ]

(IPv6網絡)

bfd static session-name [ peer-ipv6 ipv6-address interface interface-type interface-number destination-ipv6 ipv6-address [ source-ipv6 ipv6-address ] one-arm-echo [ discriminator auto ] ]

(4)     (可選)指定靜態BFD會話的本地標識符。

discriminator local local-value

缺省情況下,未指定靜態BFD會話的本地標識符。

本命令僅用於創建靜態BFD會話時未指定靜態BFD會話標識符的場景。

1.3.4  配置單跳檢測的BFD會話參數

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置接收echo報文的最小時間間隔。

bfd min-echo-receive-interval interval

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

(4)     配置單跳檢測的BFD檢測時間倍數。

bfd detect-multiplier interval

缺省情況下,BFD單跳檢測的時間倍數為5。

1.3.5  配置多跳檢測的BFD會話參數

(1)     進入係統視圖。

system-view

(2)     (可選)進入靜態BFD會話視圖。

bfd static session-name

配置靜態BFD會話的參數時,需要進入靜態BFD會話視圖。

(3)     配置接收多跳echo報文的最小時間間隔。

bfd multi-hop min-echo-receive-interval interval

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

(4)     配置多跳檢測的BFD檢測時間倍數。

bfd multi-hop detect-multiplier value

缺省情況下,多跳檢測的BFD檢測時間倍數為5。

1.4  配置控製報文方式的BFD會話

1.4.1  BFD會話建立方式

建立控製報文方式的BFD會話有兩種方式:靜態創建BFD會話和動態建立BFD會話。

BFD通過控製報文中的本地標識符和遠端標識符來區分不同的會話。靜態創建BFD會話和動態建立BFD會話的主要區別在於本地標識符和遠端標識符的獲取方式不同:

·     靜態BFD會話的本地標識符和遠端標識符由用戶手工配置。手工指定會話的本地標識符和遠端標識符方法包括:

¡     在靜態BFD會話視圖下通過discriminator命令手工指定。

¡     應用程序與BFD聯動時,由用戶手工指定會話的本地標識符和遠端標識符。例如,使用靜態BFD會話方式檢測MPLS LSP時,需要用戶手工指定會話的本地標識符和遠端標識符。關於靜態BFD會話方式檢測MPLS LSP的詳細介紹,請參見“MPLS配置指導”中的“MPLS OAM”。

·     動態BFD會話的本端標識符由本端設備分配,遠端標識符在BFD會話協商建立過程中獲取。應用程序與BFD聯動時,如果用戶未指定會話的本地標識符和遠端標識符,則建立的會話為動態BFD會話。

1.4.2  配置限製和指導

BFD版本0不支持以下命令,配置不生效。

·     bfd authentication-mode

·     bfd demand enable

·     bfd echo enable

·     bfd session init-mode

1.4.3  通過bfd static命令手工創建靜態BFD會話

1. 功能簡介

創建的靜態BFD會話可以用來進行控製報文方式的BFD單跳檢測和多跳檢測,通過與Track配合可為對鏈路故障響應速度要求較高的業務提供故障檢測服務。關於Track與BFD聯動的詳細介紹,請參見“可靠性配置指導”中的“Track”。

靜態BFD會話可以檢測如表1-2中的路徑類型。本文僅介紹檢測IP路徑的靜態BFD會話。

表1-2 靜態BFD支持檢測的路徑類型

路徑類型

參見信息

IP路徑

本文“1.4.3  通過bfd static命令手工創建靜態BFD會話

MPLS TE隧道

“MPLS配置指導”中的“MPLS OAM”

MPLS PW

“MPLS配置指導”中的“MPLS OAM”

 

2. 配置限製和指導

如果對端創建了靜態BFD會話,那麼本端必須創建靜態BFD會話。

首次創建靜態BFD會話時,必須指定靜態BFD會話的對端IPv4或IPv6地址。係統僅檢查IP地址的形式,不檢查其正確性。指定錯誤的對端IP地址或源IP地址均會導致靜態BFD會話無法建立。

不同的靜態BFD會話的本地標識符不能相同。

3. 創建單跳檢測的靜態BFD會話

(1)     進入係統視圖。

system-view

(2)     創建靜態BFD會話,並進入靜態BFD會話視圖。

(IPv4網絡)

bfd static session-name [ peer-ip ipv4-address interface interface-type interface-number source-ip ipv4-address ]

需要保證指定的peer-ip為對端靜態BFD會話所在的接口的IP地址,source-ip為本端靜態BFD會話所在的接口的IP地址,否則無法建立靜態BFD會話。

(IPv6網絡)

bfd static session-name [ peer-ipv6 ipv6-address interface interface-type interface-number source-ipv6 ipv6-address ]

需要保證指定的peer-ipv6為對端靜態BFD會話所在的接口的IPv6地址,source-ipv6為本端靜態BFD會話所在的接口的IPv6地址,否則無法建立靜態BFD會話。

(3)     指定靜態BFD會話的本地標識符和遠端標識符。

discriminator { local local-value | remote remote-value }

缺省情況下,未指定靜態BFD會話的本地標識符和遠端標識符。

本命令僅用於創建靜態BFD會話時未指定靜態BFD會話標識符的場景。

4. 創建多跳檢測的靜態BFD會話

(1)     進入係統視圖。

system-view

(2)     創建靜態BFD會話,並進入靜態BFD會話視圖。

(IPv4網絡)

bfd static session-name [ peer-ip ipv4-address [ vpn-instance vpn-instance-name ] source-ip ipv4-address [ track-interface interface-type interface-number ] ]

(IPv6網絡)

bfd static session-name [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] source-ipv6 ipv6-address [ track-interface interface-type interface-number ] ]

(3)     指定靜態BFD會話的本地標識符和遠端標識符。

discriminator { local local-value | remote remote-value }

缺省情況下,未指定靜態BFD會話的本地標識符和遠端標識符。

1.4.4  配置單跳檢測的BFD會話參數

(1)     進入係統視圖。

system-view

(2)     配置BFD會話建立前的運行模式。

bfd session init-mode { active | passive }

缺省情況下,BFD會話建立前的運行模式為主動模式。

(3)     進入接口視圖。

interface interface-type interface-number

(4)     配置單跳BFD控製報文進行認證的方式。

bfd authentication-mode { m-md5 | m-sha1 | md5 | sha1 | simple } key-id { cipher cipher-string | plain plain-string }

缺省情況下,單跳BFD控製報文不進行認證。

(5)     配置BFD會話為查詢模式。

bfd demand enable

缺省情況下,BFD會話為異步模式。

(6)     配置發送單跳BFD控製報文的最小時間間隔。

bfd min-transmit-interval interval

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

(7)     配置接收單跳BFD控製報文的最小時間間隔。

bfd min-receive-interval interval

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

(8)     配置單跳檢測的BFD檢測時間倍數。

bfd detect-multiplier interval

缺省情況下,BFD單跳檢測的時間倍數為5。

1.4.5  配置多跳檢測的BFD會話參數

(1)     進入係統視圖。

system-view

(2)     配置BFD會話建立前的運行模式。

bfd session init-mode { active | passive }

缺省情況下,BFD會話建立前的運行模式為主動模式。

(3)     配置多跳BFD控製報文進行認證的方式。

bfd multi-hop authentication-mode { m-md5 | m-sha1 | md5 | sha1 | simple } key-id { cipher cipher-string | plain plain-string }

缺省情況下,多跳BFD控製報文不進行認證。

(4)     配置多跳BFD控製報文的目的端口號。

bfd multi-hop destination-port port-number

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

(5)     配置多跳檢測的BFD檢測時間倍數。

bfd multi-hop detect-multiplier value

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

(6)     配置接收多跳BFD控製報文的最小時間間隔。

bfd multi-hop min-receive-interval interval

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

(7)     配置發送多跳BFD控製報文的最小時間間隔。

bfd multi-hop min-transmit-interval interval

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

1.4.6  配置BFD回聲功能

1. 功能簡介

使能BFD回聲功能後,會話的一端周期性地發送echo報文,對端不對此報文進行處理,隻將此報文轉發回發送端,根據發送端是否能收到echo報文來判斷鏈路狀態。

僅單跳檢測支持回聲功能。

2. 配置限製和指導

回聲功能對接口狀態與BFD聯動的會話無效。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖或靜態BFD會話視圖。

¡     進入接口視圖。

interface interface-type interface-number

¡     進入靜態BFD會話視圖。

bfd static session-name

靜態BFD會話必須已經存在。

(3)     使能回聲功能。

bfd echo [ receive | send ] enable

缺省情況下,回聲功能處於關閉狀態。

1.4.7  配置接口狀態與BFD聯動

1. 功能簡介

配置接口狀態與BFD聯動後,係統將通過發送BFD控製報文來協商建立單跳檢測的BFD會話,實現對鏈路的快速檢測。當檢測到鏈路故障時,將接口鏈路層協議狀態置為“DOWN(BFD)”,從而幫助依賴接口鏈路層協議狀態的應用快速收斂。係統發送的BFD控製報文中的源地址為用戶手工指定的IP地址,目的地址固定為224.0.0.184。對於有IP地址的接口,建議將源地址指定為該接口的IP地址;如果接口沒有IP地址,建議將源地址指定為0.0.0.0以外的單播地址。

支持與BFD聯動的接口類型為:

·     二層以太網接口

·     加入聚合組的二層以太網接口

·     三層以太網接口

·     加入聚合組的三層以太網接口

·     三層以太網子接口

·     VLAN接口

2. 配置限製和指導

回聲功能對接口狀態與BFD聯動的會話無效。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     配置接口狀態與BFD聯動。

bfd detect-interface source-ip ip-address [ discriminator local local-value remote remote-value ]

當對端設備不支持通過自動協商的方式獲取BFD會話的標識符時,必須指定discriminator參數,且兩端都需要指定該參數,否則,BFD會話無法up。

1.5  開啟BFD會話震蕩抑製功能

1. 功能簡介

BFD檢測到鏈路故障時,會拆除BFD會話,並通知上層協議鄰居不可達。當上層協議重新建立鄰居關係後,BFD會話重新up。當鏈路頻繁發生故障並故障恢複時,將導致BFD會話震蕩,引發設備不斷執行上述操作,這會占用大量的係統資源並影響網絡的穩定性。可配置本功能通過如下懲罰機製對BFD會話震蕩進行抑製。

BFD會話震蕩的懲罰機製通過initial-intervalsecondary-intervalmaximum-interval參數來進行抑製:

·     在抑製時間間隔內,不允許建立BFD會話;在抑製時間間隔超時後,允許建立BFD會話。抑製時間最大不超過maximum-interval

·     BFD會話第二次down後,在initial-interval時間間隔內,不允許重新建立BFD會話。

·     BFD會話第三次down後,在secondary-interval時間間隔內,不允許重新建立BFD會話。

·     BFD會話第四次或更多次down後,按照如下規則抑製BFD會話的建立:

¡     secondary-interval×2n-3(n為BFD會話震蕩的次數,初始值為4)小於或等於maximum-interval時,在secondary-interval×2n-3時間間隔內,不允許重新建立BFD會話。

¡     secondary-interval×2n-3(n為BFD會話震蕩的次數,初始值為4)大於maximum-interval時,在maximum-interval時間間隔內,不允許重新建立BFD會話。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟BFD會話震蕩抑製功能。

bfd dampening [ maximum maximum-interval initial initial-interval secondary secondary-interval ]

缺省情況下,不會對BFD會話的建立進行抑製。

initial-intervalsecondary-interval配置值不允許大於或等於maximum-interval

1.6  配置BFD模板

1. 功能簡介

對於未指定出接口的會話,無法通過會話出接口配置BFD會話參數。使用BFD全局多跳可以配置,但是缺乏靈活性。通過BFD模板可以對參數進行靈活配置,LSP以及PW的BFD檢測關聯到BFD模板即可指定會話參數。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建BFD模板,並進入BFD模板視圖。

bfd template template-name

(3)     配置BFD控製報文進行認證的方式。

bfd authentication-mode { m-md5 | m-sha1 | md5 | sha1 | simple } key-id { cipher cipher-string | plain plain-string }

缺省情況下,BFD控製報文不進行認證。

BFD版本0不支持本命令,配置不生效。

(4)     配置BFD檢測時間倍數。

bfd detect-multiplier value

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

(5)     配置接收echo報文的最小時間間隔。

bfd min-echo-receive-interval interval

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

(6)     配置接收BFD控製報文的最小時間間隔。

bfd min-receive-interval interval

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

(7)     配置發送BFD控製報文的最小時間間隔。

bfd min-transmit-interval interval

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

1.7  開啟告警功能

1. 功能簡介

開啟BFD模塊的告警功能後,該模塊會生成告警信息,用於報告該模塊的重要事件。生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。(有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。)

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟BFD的告警功能。

snmp-agent trap enable bfd

缺省情況下,BFD的告警功能處於開啟狀態。

1.8  BFD顯示和維護

可在任意視圖下執行以下命令,顯示BFD會話信息。

display bfd session [ discriminator local local-value | static session-name | verbose ]

display bfd session [ [ dynamic ] [ control | echo ] [ ip ] [ state { admin-down | down | init | up } ] [ discriminator remote remote-value ] [ peer-ip ipv4-address [ vpn-instance vpn-instance-name ] ] [ verbose ] ]

display bfd session [ [ dynamic ] [ control | echo ] [ ipv6 ] [ state { admin-down | down | init | up } ] [ discriminator remote remote-value ] [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] ] [ verbose ] ]

display bfd session [ [ dynamic ] [ control | echo ] [ lsp | te | pw ] [ state { admin-down | down | init | up } ] [ discriminator remote remote-value ] [ [ peer-ip ipv4-address [ vpn-instance vpn-instance-name ] ] | [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] ] ] [ verbose ] ]

display bfd session [ [ static ] [ ip ] [ state { admin-down | down | init | up } ] [ discriminator remote remote-value ] [ peer-ip ipv4-address [ vpn-instance vpn-instance-name ] ] [ verbose ]

display bfd session [ [ static ] [ ipv6 ] [ state { admin-down | down | init | up } ] [ discriminator remote remote-value ] [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] ] [ verbose ]

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

reset bfd session statistics


2 SBFD

2.1  SBFD簡介

SBFD(Seamless BFD,無縫BFD)是一種單向的故障檢測機製,簡化了BFD的狀態機(SBFD僅支持UP、DOWN兩個狀態),縮短了會話協商時間,其檢測速度比BFD更快速。SBFD適用於僅一端需要進行鏈路狀態檢測的情況。

SBFD會話中,節點的角色分為發起端(Initiator)和響應端(Reflector):

·     Initiator:SBFD會話的發起者,負責維護SBFD會話的狀態。Initiator周期性發送SBFD echo報文或SBFD控製報文。

·     Reflector:監聽到達本地實體的SBFD控製報文,並判斷是否需要生成SBFD響應報文。Reflector無需維護SBFD會話狀態。

2.2  SBFD會話的工作方式

SBFD會話通過echo報文和控製報文實現。

1. echo報文方式

對於echo報文方式的SBFD,隻需配置Initiator,無需配置Reflector。echo報文方式的SBFD的檢測機製如下:

(1)     Initiator發送echo報文建立SBFD會話,對鏈路進行檢測。

(2)     SBFD會話的目的端不需要任何SBFD相關配置,不會建立SBFD會話,隻需把收到的echo報文轉發回本端。

(3)     Initiator在檢測時間超時前收到目的端轉發回的echo報文,則認為鏈路可達。否則,認為鏈路不可達。

2. 控製報文方式

控製報文方式的SBFD的檢測機製如下:

(1)     Initiator周期性向Reflector發送SBFD控製報文。

(2)     Reflector收到Initiator發送的SBFD報文後,檢查報文中攜帶的遠端標識符是否與本地節點為Reflector指定的標識符一致。如果一致,Reflector將向Initiator發送SBFD響應報文。如果不一致,Reflector將丟棄收到的SBFD報文。

(3)     Initiator在檢測時間超時前收到響應報文,則認為鏈路可達。否則,認為鏈路不可達。

2.3  SBFD配置限製和指導

一個節點可以同時作為不同SBFD會話的Initiator和Reflector。

目前僅支持采用靜態方式建立SBFD會話,即通過命令行手工指定遠端的標識符,根據指定的標識符建立SBFD會話。

2.4  SBFD配置任務簡介

(1)     配置Initiator

¡     配置Initiator(檢測LDP LSP)

¡     配置Initiator(檢測MPLS TE隧道)

¡     配置Initiator(檢測SR-MPLS TE Policy)

¡     配置Initiator(檢測SRv6 TE Policy)

(2)     配置Reflector

(3)     配置BFD模板

2.5  配置Initiator

2.5.1  配置限製和指導

對於控製報文方式的SBFD,Initiator上指定的SBFD會話的遠端標識符必須為Reflector上通過sbfd local-discriminator命令指定的標識符。否則,當Reflector收到Initiator發送的SBFD控製報文後,發現報文中攜帶的遠端標識符不是自己的本地標識符時,不會發送響應報文給Initiator。

2.5.2  配置Initiator(檢測LDP LSP)

1. 配置限製和指導

LDP LSP通知SBFD創建會話時,會將報文的源地址、目的地址等信息通告給SBFD。其中,源地址為本端設備的MPLS LSR ID。因此,配置SBFD檢測LDP LSP功能前,需要先在本端設備上配置MPLS LSR ID,並確保遠端設備上存在到達MPLS LSR ID的路由。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     使能MPLS與BFD聯動功能。

mpls bfd enable

缺省情況下,MPLS與BFD聯動功能處於關閉狀態。

關於本命令的詳細介紹,請參見“MPLS命令參考”中的“MPLS OAM”。

(3)     (可選)配置SBFD檢測時間倍數。

bfd multi-hop detect-multiplier value

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

(4)     (可選)配置發送SBFD控製報文的最小時間間隔。

bfd multi-hop min-transmit-interval interval

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

(5)     配置使用SBFD檢測指定FEC對應LSP的連通性。

mpls sbfd dest-addr mask-length [ nexthop nexthop-address ] remote remote-id [ template template-name ]

缺省情況下,未使用SBFD檢測FEC對應LSP的連通性。

關於本命令的詳細介紹,請參見“MPLS命令參考”中的“MPLS OAM”。

2.5.3  配置Initiator(檢測MPLS TE隧道)

1. 配置限製和指導

MPLS TE隧道通知SBFD創建會話時,會將報文的源地址、目的地址等信息通告給SBFD。其中,源地址為本端設備的MPLS LSR ID。因此,配置SBFD檢測MPLS TE隧道功能前,需要先在本端設備上配置MPLS LSR ID,並確保遠端設備上存在到達MPLS LSR ID的路由。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     使能MPLS與BFD聯動功能。

mpls bfd enable

缺省情況下,MPLS與BFD聯動功能處於關閉狀態。

關於本命令的詳細介紹,請參見“MPLS命令參考”中的“MPLS OAM”。

(3)     (可選)配置SBFD檢測時間倍數。

bfd multi-hop detect-multiplier value

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

(4)     (可選)配置發送SBFD控製報文的最小時間間隔。

bfd multi-hop min-transmit-interval interval

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

(5)     進入MPLS TE隧道對應的Tunnel接口視圖。

interface tunnel number [ mode mpls-te ]

(6)     配置使用SBFD檢測隧道接口對應MPLS TE隧道的連通性

mpls sbfd remote remote-id [ template template-name ]

缺省情況下,未使用SBFD檢測隧道接口對應MPLS TE隧道的連通性。

關於本命令的詳細介紹,請參見“MPLS命令參考”中的“MPLS OAM”。

2.5.4  配置Initiator(檢測SR-MPLS TE Policy)

1. 功能簡介

SBFD可以用來檢測SR-MPLS TE Policy的連通性,為其提供毫秒級的故障檢測速度,並實現快速的故障切換。缺省情況下,SBFD僅檢測SR-MPLS TE Policy中優先級最高的候選路徑裏的所有SID列表。當SR-MPLS TE Policy中優先級最高的候選路徑裏存在多個SID列表時,SBFD會對所有SID列表進行檢測。當SBFD檢測到優先級最高的候選路徑下所有SID列表均無效時,則SBFD觸發候選路徑切換。

圖2-1 SR-MPLS TE Policy與SBFD聯動示意圖

 

圖2-1所示,通過控製報文方式的SBFD檢測SR-MPLS TE Policy路徑的過程如下:

(1)     作為Initiator的源節點Device A對外發送SBFD報文,SBFD控製報文封裝SR-MPLS TE Policy中優先級最高的候選路徑。當SR-MPLS TE Policy中優先級最高的候選路徑裏存在多個SID列表時,會建立多個SBFD會話分別用來檢測每一個SID列表對應的轉發路徑。

(2)     作為Reflector的尾節點Device E收到SBFD報文後,檢查報文中攜帶的遠端標識符是否與本地配置的標識符一致。如果一致,Reflector將通過IP路由向Initiator發送SBFD響應報文。如果不一致,Reflector將丟棄收到的SBFD報文。

(3)     源節點Device A如果收到SBFD回應報文,則認為該SID列表對應的轉發路徑正常;否則,會認為該SID列表對應轉發路徑故障。如果一個候選路徑下所有SID列表對應的轉發路徑都發生故障,則SBFD觸發候選路徑切換。

通過echo報文方式的SBFD檢測SR-MPLS TE Policy路徑的過程如下:

(1)     作為Initiator的源節點Device A對外發送SBFD報文,SBFD echo報文封裝SR-MPLS TE Policy中優先級最高的候選路徑。當SR-MPLS TE Policy中優先級最高的候選路徑裏存在多個SID列表時,會建立多個SBFD會話分別用來檢測每一個SID列表對應的轉發路徑。

(2)     尾節點Device E收到SBFD echo報文後,通過查找IP路由表按照最短路徑將報文轉發出去。

(3)     源節點Device A在檢測時間超時前收到尾節點Device E轉發回來的SBFD echo報文,則認為該SID列表對應的轉發路徑正常;否則,會認為該SID列表對應轉發路徑故障。如果一個候選路徑下所有SID列表對應的轉發路徑都發生故障,則SBFD觸發候選路徑切換。

2. 配置限製和指導

SR TE視圖和SR-MPLS TE Policy視圖下均可以配置SR-MPLS TE Policy的SBFD功能。SR TE視圖的配置對所有SR-MPLS TE Policy都有效,而SR-MPLS TE Policy視圖的配置隻對當前SR-MPLS TE Policy有效。對於一個SR-MPLS TE Policy來說,優先采用該SR-MPLS TE Policy內的配置,隻有該SR-MPLS TE Policy內未進行配置時,才采用SR TE視圖的配置。

對於同一源節點和尾節點之間不同的SR-MPLS TE Policy,由於尾節點回應SBFD報文時根據IP路由表進行轉發,所以SBFD回應報文的轉發路徑是相同的。SBFD回應報文的轉發路徑故障將引起所有SBFD會話Down,進而導致源節點和目的節點間所有SR-MPLS TE Policy Down。

SR-MPLS TE Policy通知SBFD創建會話時,會將報文的源地址、目的地址等信息通告給SBFD。其中,源地址為本端設備的MPLS LSR ID。因此,配置SBFD檢測SR-MPLS TE Policy功能前,需要先在本端設備上配置MPLS LSR ID,並確保遠端設備上存在到達MPLS LSR ID的路由。

關於Segment Routing視圖下所有配置命令的詳細情況,請參見“Sgment Routeing命令參考”中的“SR-MPLS TE Policy”。

3. 配置準備

配置本功能前,需要執行mpls bfd enable命令開啟MPLS BFD功能。有關mpls bfd enable命令的詳細介紹,請參見“MPLS命令參考”中的“MPLS OAM”。

4. 配置控製報文方式的SBFD檢測SR-MPLS TE Policy

(1)     進入係統視圖。

system-view

(2)     進入Segment Routing視圖。

segment-routing

(3)     進入SR-TE視圖。

traffic-engineering

(4)     開啟所有SR-MPLS TE Policy的SBFD功能。

sr-policy sbfd enable [ template template-name ] [ backup-template backup-template-name ]

缺省情況下,所有SR-MPLS TE Policy的SBFD功能處於關閉狀態。

(5)     (可選)配置SBFD的檢測時間參數。

sr-policy sbfd timer { detect-multiplier multiplier-value | min-tx-interval transmit-interval }

缺省情況下,未配置SBFD的檢測時間參數。

(6)     進入SR-MPLS TE Policy視圖。

policy policy-name

(7)     配置SR-MPLS TE Policy的SBFD功能。

sbfd { disable | enable [ template template-name ] [ backup-template backup-template-name ] }

缺省情況下,未配置SR-MPLS TE Policy的SBFD功能。

5. 配置echo報文方式的SBFD檢測SR-MPLS TE Policy

(1)     進入係統視圖。

system-view

(2)     進入Segment Routing視圖。

segment-routing

(3)     進入SR-TE視圖。

traffic-engineering

(4)     開啟所有SR-MPLS TE Policy的SBFD功能。

sr-policy sbfd echo enable [ template template-name ] [ backup-template backup-template-name ]

缺省情況下,所有SR-MPLS TE Policy的SBFD功能處於關閉狀態。

(5)     (可選)配置SBFD的檢測時間參數。

sr-policy sbfd timer { detect-multiplier multiplier-value | min-tx-interval transmit-interval }

缺省情況下,未配置SBFD的檢測時間參數。

(6)     進入SR-MPLS TE Policy視圖。

policy policy-name

(7)     配置SR-MPLS TE Policy的SBFD功能。

sbfd echo { disable | enable [ template template-name ] [ backup-template backup-template-name ] }

缺省情況下,未配置SR-MPLS TE Policy的SBFD功能。

2.5.5  配置Initiator(檢測SRv6 TE Policy)

1. 功能簡介

SBFD可以用來檢測SRv6 TE Policy的連通性,為其提供毫秒級的故障檢測速度,並實現快速的故障切換。一個SRv6 TE Policy中,優先級最高的有效路徑為主路徑,優先級次高的有效路徑為備份路徑。SBFD對SRv6 TE Policy的主、備路徑進行檢測。如果主、備路徑中存在多個SID列表,SBFD會對所有SID列表進行檢測。當SBFD檢測到SRv6 TE Policy主路徑的所有SID列表均無效時,SBFD通知SRv6 TE Policy切換到備份路徑。

圖2-2所示,在Device A上配置SRv6 TE Policy,並使用SBFD檢測該SRv6 TE Policy。SBFD檢測SRv6 TE Policy的過程如下:

(1)     頭節點作為Initiator發送SBFD報文,SBFD報文封裝SRv6 TE Policy中主路徑或備份路徑對應的SID列表,分別對主、備路徑進行檢測。

(2)     作為Reflector的尾節點收到SBFD報文後,檢查報文中攜帶的遠端標識符是否與本地配置的標識符一致。如果一致,Reflector將通過IPv6路由向Initiator發送SBFD響應報文。如果不一致,Reflector將丟棄收到的SBFD報文。

(3)     如果頭節點在檢測時間超時前能夠收到SBFD響應報文,則認為SRv6 TE Policy的SID列表正常。否則,頭節點認為SID列表故障。如果主路徑下的所有SID列表都發生故障,則SBFD觸發主備路徑切換。

圖2-2 SBFD for SRv6 TE Policy檢測過程

 

2. 配置限製和指導

SRv6 TE視圖和SRv6 TE Policy視圖下均可以配置SRv6 TE Policy的SBFD功能。SRv6 TE視圖的配置對所有SRv6 TE Policy都有效,而SRv6 TE Policy視圖的配置隻對當前SRv6 TE Policy有效。對於一個SRv6 TE Policy來說,優先采用該SRv6 TE Policy內的配置,隻有該SRv6 TE Policy內未進行配置時,才采用SRv6 TE視圖的配置。

SRv6 TE Policy通知SBFD創建會話時,會將報文的源地址、目的地址等信息通告給SBFD。其中,源地址為sbfd source-ipv6命令指定的地址。需要確保遠端設備上存在到達sbfd source-ipv6命令指定的地址的路由。

目前,支持通過BFD echo報文和SBFD兩種方式檢測SRv6 TE Policy。在同一SRv6 TE Policy下同時配置以上兩種檢測方式時,SBFD檢測生效。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置Initiator發送SBFD報文使用的源IPv6地址。

sbfd source-ipv6 ipv6-address

缺省情況下,未配置Initiator發送SBFD報文使用的源IPv6地址。

(3)     進入SRv6視圖。

segment-routing ipv6

(4)     進入SRv6-TE視圖。

traffic-engineering

(5)     進入SRv6 TE Policy視圖。

policy policy-name

(6)     配置使用SBFD檢測SRv6 TE Policy。

sbfd { disable | enable [ remote remote-id ] [ template template-name ] [ backup-template backup-template-name ] [ oam-sid sid ] }

缺省情況下,未使用SBFD檢測SRv6 TE Policy的連通性。

關於本命令的詳細介紹,請參見“Sgment Routeing命令參考”中的“SRv6 TE Policy”。

2.6  配置Reflector

1. 配置限製和指導

在SBFD會話的Reflector端配置IPv4地址形式的本地標識符後,設備會自動轉換為整數形式的本地標識符。IPv4地址形式的本地標識符用於和其他廠商互通,通常情況下,建議配置整數形式的本地標識符。

Reflector收到Initiator發送的SBFD控製報文中攜帶的遠端標識符為Reflector上通過sbfd local-discriminator命令指定的任意一個標識符時,Reflector均會發送響應報文給Initiator。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     在SBFD會話的Reflector端配置本地標識符。

sbfd local-discriminator { ipv4-address | integer-value }

缺省情況下,未配置SBFD會話的Reflector端的本地標識符。

多次執行本命令,可以為Reflector端配置多個本地標識符。

2.7  配置BFD模板

1. 功能簡介

通過BFD模板可以對SBFD會話的參數進行靈活配置。使用SBFD檢測如下類型的路徑時,可通過關聯BFD模板獲取SBFD會話參數:

·     LDP LSP

·     MPLS TE隧道

·     SR-MPLS TE Policy

·     SRv6 TE Policy

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建BFD模板,並進入BFD模板視圖。

bfd template template-name

(3)     配置SBFD檢測時間倍數。

bfd detect-multiplier value

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

(4)     配置發送SBFD控製報文的最小時間間隔。

bfd min-transmit-interval interval

本命令的缺省情況與設備的型號有關,具體請參見命令參考。

2.8  SBFD顯示和維護

可在任意視圖下執行以下命令,顯示SBFD會話信息。

display sbfd session { initiator | reflector } [ discriminator value | verbose ]

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

BOB登陆
官網
聯係我們