06-BFD配置
本章節下載: 06-BFD配置 (398.83 KB)
1.4.3 通過bfd static命令手工創建靜態BFD會話
2.5.3 配置Initiator(檢測MPLS TE隧道)
2.5.4 配置Initiator(檢測SR-MPLS TE Policy)
2.5.5 配置Initiator(檢測SRv6 TE Policy)
BFD(Bidirectional Forwarding Detection,雙向轉發檢測)是一個通用的、標準化的、介質無關和協議無關的快速故障檢測機製,用於檢測轉發路徑的連通狀況,保證設備之間能夠快速檢測到通信故障,以便能夠及時采取措施,保證業務持續運行。BFD可以為各種上層協議(如路由協議)快速檢測兩台設備間雙向轉發路徑的故障。上層協議通常采用Hello報文機製檢測故障,所需時間為秒級,而BFD可以提供毫秒級檢測。
BFD可以用來進行單跳和多跳檢測:
· 單跳檢測:是指對兩個直連設備進行IP連通性檢測,這裏所說的“單跳”是IP的一跳。
· 多跳檢測:BFD可以檢測兩個設備間任意路徑的鏈路情況,這些路徑可能跨越很多跳。
BFD會話通過echo報文和控製報文實現。
echo報文封裝在UDP報文中傳送,其UDP目的端口號為3785。
本端發送echo報文建立BFD會話,對鏈路進行檢測。對端不建立BFD會話,隻需把收到的echo報文轉發回本端。如果在檢測時間內沒有收到對端轉發回的echo報文,則認為會話down。
當BFD會話工作於echo報文方式時,僅支持單跳檢測,且不受檢測模式的控製。
控製報文封裝在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 BFD支持的應用
應用 |
參見信息 |
靜態路由 IS-IS OSPF RIP BGP IP快速重路由 |
“三層技術-IP路由配置指導” |
IPv6靜態路由 OSPFv3 |
“三層技術-IP路由配置指導” |
PIM |
“IP組播配置指導” |
MPLS L3VPN MPLS OAM |
“MPLS配置指導” |
Track |
“可靠性配置指導” |
以太網鏈路聚合 |
“二層技術-以太網交換配置指導” |
與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
缺省BFD運行版本1,同時兼容版本0。不能通過命令行配置修改為版本0,當對端設備運行版本0會話時,本端自動會切換到版本0。
BFD會話建立後,可以動態協商BFD的相關參數(例如最小發送間隔、最小接收間隔、初始模式、報文認證等),兩端協議通過發送相應的協商報文後采用新的參數,不影響會話的當前狀態。
建立echo報文方式的BFD會話的方式有兩種:
· 通過bfd static命令手工創建。
· 應用程序與BFD聯動時動態創建。
為了避免對端發送大量的ICMP重定向報文造成網絡擁塞,建議不要將echo報文的源IPv4/IPv6地址配置為屬於該設備任何一個接口所在網段。
創建的靜態BFD會話可以用來進行echo報文方式的BFD單跳檢測和多跳檢測。
使用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參數。
(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會話標識符的場景。
(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) 進入係統視圖。
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) 進入係統視圖。
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。
建立控製報文方式的BFD會話有兩種方式:靜態創建BFD會話和動態建立BFD會話。
BFD通過控製報文中的本地標識符和遠端標識符來區分不同的會話。靜態創建BFD會話和動態建立BFD會話的主要區別在於本地標識符和遠端標識符的獲取方式不同:
· 靜態BFD會話的本地標識符和遠端標識符由用戶手工配置。手工指定會話的本地標識符和遠端標識符方法包括:
¡ 在靜態BFD會話視圖下通過discriminator命令手工指定。
¡ 應用程序與BFD聯動時,由用戶手工指定會話的本地標識符和遠端標識符。例如,使用靜態BFD會話方式檢測MPLS LSP時,需要用戶手工指定會話的本地標識符和遠端標識符。關於靜態BFD會話方式檢測MPLS LSP的詳細介紹,請參見“MPLS配置指導”中的“MPLS OAM”。
· 動態BFD會話的本端標識符由本端設備分配,遠端標識符在BFD會話協商建立過程中獲取。應用程序與BFD聯動時,如果用戶未指定會話的本地標識符和遠端標識符,則建立的會話為動態BFD會話。
BFD版本0不支持以下命令,配置不生效。
· bfd authentication-mode
· bfd demand enable
· bfd echo enable
創建的靜態BFD會話可以用來進行控製報文方式的BFD單跳檢測和多跳檢測,通過與Track配合可為對鏈路故障響應速度要求較高的業務提供故障檢測服務。關於Track與BFD聯動的詳細介紹,請參見“可靠性配置指導”中的“Track”。
靜態BFD會話可以檢測如表1-2中的路徑類型。本文僅介紹檢測IP路徑的靜態BFD會話。
表1-2 靜態BFD支持檢測的路徑類型
路徑類型 |
參見信息 |
IP路徑 |
|
MPLS TE隧道 |
“MPLS配置指導”中的“MPLS OAM” |
MPLS PW |
“MPLS配置指導”中的“MPLS OAM” |
如果對端創建了靜態BFD會話,那麼本端必須創建靜態BFD會話。
首次創建靜態BFD會話時,必須指定靜態BFD會話的對端IPv4或IPv6地址。係統僅檢查IP地址的形式,不檢查其正確性。指定錯誤的對端IP地址或源IP地址均會導致靜態BFD會話無法建立。
不同的靜態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會話標識符的場景。
(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) 進入係統視圖。
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) 進入係統視圖。
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
本命令的缺省情況與設備的型號有關,具體請參見命令參考。
使能BFD回聲功能後,會話的一端周期性地發送echo報文,對端不對此報文進行處理,隻將此報文轉發回發送端,根據發送端是否能收到echo報文來判斷鏈路狀態。
僅單跳檢測支持回聲功能。
回聲功能對接口狀態與BFD聯動的會話無效。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖或靜態BFD會話視圖。
¡ 進入接口視圖。
interface interface-type interface-number
¡ 進入靜態BFD會話視圖。
bfd static session-name
靜態BFD會話必須已經存在。
(3) 使能回聲功能。
bfd echo [ receive | send ] enable
缺省情況下,回聲功能處於關閉狀態。
配置接口狀態與BFD聯動後,係統將通過發送BFD控製報文來協商建立單跳檢測的BFD會話,實現對鏈路的快速檢測。當檢測到鏈路故障時,將接口鏈路層協議狀態置為“DOWN(BFD)”,從而幫助依賴接口鏈路層協議狀態的應用快速收斂。係統發送的BFD控製報文中的源地址為用戶手工指定的IP地址,目的地址固定為224.0.0.184。對於有IP地址的接口,建議將源地址指定為該接口的IP地址;如果接口沒有IP地址,建議將源地址指定為0.0.0.0以外的單播地址。
支持與BFD聯動的接口類型為:
· 二層以太網接口
· 加入聚合組的二層以太網接口
· 三層以太網接口
· 加入聚合組的三層以太網接口
· 三層以太網子接口
· VLAN接口
回聲功能對接口狀態與BFD聯動的會話無效。
(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。
BFD檢測到鏈路故障時,會拆除BFD會話,並通知上層協議鄰居不可達。當上層協議重新建立鄰居關係後,BFD會話重新up。當鏈路頻繁發生故障並故障恢複時,將導致BFD會話震蕩,引發設備不斷執行上述操作,這會占用大量的係統資源並影響網絡的穩定性。可配置本功能通過如下懲罰機製對BFD會話震蕩進行抑製。
BFD會話震蕩的懲罰機製通過initial-interval、secondary-interval、maximum-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會話。
(1) 進入係統視圖。
system-view
(2) 開啟BFD會話震蕩抑製功能。
bfd dampening [ maximum maximum-interval initial initial-interval secondary secondary-interval ]
缺省情況下,不會對BFD會話的建立進行抑製。
initial-interval和secondary-interval配置值不允許大於或等於maximum-interval。
對於未指定出接口的會話,無法通過會話出接口配置BFD會話參數。使用BFD全局多跳可以配置,但是缺乏靈活性。通過BFD模板可以對參數進行靈活配置,LSP以及PW的BFD檢測關聯到BFD模板即可指定會話參數。
(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
本命令的缺省情況與設備的型號有關,具體請參見命令參考。
開啟BFD模塊的告警功能後,該模塊會生成告警信息,用於報告該模塊的重要事件。生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。(有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。)
(1) 進入係統視圖。
system-view
(2) 開啟BFD的告警功能。
snmp-agent trap enable bfd
缺省情況下,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
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會話狀態。
SBFD會話通過echo報文和控製報文實現。
對於echo報文方式的SBFD,隻需配置Initiator,無需配置Reflector。echo報文方式的SBFD的檢測機製如下:
(1) Initiator發送echo報文建立SBFD會話,對鏈路進行檢測。
(2) SBFD會話的目的端不需要任何SBFD相關配置,不會建立SBFD會話,隻需把收到的echo報文轉發回本端。
(3) Initiator在檢測時間超時前收到目的端轉發回的echo報文,則認為鏈路可達。否則,認為鏈路不可達。
控製報文方式的SBFD的檢測機製如下:
(1) Initiator周期性向Reflector發送SBFD控製報文。
(2) Reflector收到Initiator發送的SBFD報文後,檢查報文中攜帶的遠端標識符是否與本地節點為Reflector指定的標識符一致。如果一致,Reflector將向Initiator發送SBFD響應報文。如果不一致,Reflector將丟棄收到的SBFD報文。
(3) Initiator在檢測時間超時前收到響應報文,則認為鏈路可達。否則,認為鏈路不可達。
一個節點可以同時作為不同SBFD會話的Initiator和Reflector。
目前僅支持采用靜態方式建立SBFD會話,即通過命令行手工指定遠端的標識符,根據指定的標識符建立SBFD會話。
(1) 配置Initiator
¡ 配置Initiator(檢測SR-MPLS TE Policy)
¡ 配置Initiator(檢測SRv6 TE Policy)
(2) 配置Reflector
(3) 配置BFD模板
對於控製報文方式的SBFD,Initiator上指定的SBFD會話的遠端標識符必須為Reflector上通過sbfd local-discriminator命令指定的標識符。否則,當Reflector收到Initiator發送的SBFD控製報文後,發現報文中攜帶的遠端標識符不是自己的本地標識符時,不會發送響應報文給Initiator。
LDP LSP通知SBFD創建會話時,會將報文的源地址、目的地址等信息通告給SBFD。其中,源地址為本端設備的MPLS LSR ID。因此,配置SBFD檢測LDP LSP功能前,需要先在本端設備上配置MPLS LSR ID,並確保遠端設備上存在到達MPLS LSR ID的路由。
(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”。
MPLS TE隧道通知SBFD創建會話時,會將報文的源地址、目的地址等信息通告給SBFD。其中,源地址為本端設備的MPLS LSR ID。因此,配置SBFD檢測MPLS TE隧道功能前,需要先在本端設備上配置MPLS LSR ID,並確保遠端設備上存在到達MPLS LSR ID的路由。
(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”。
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觸發候選路徑切換。
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”。
配置本功能前,需要執行mpls bfd enable命令開啟MPLS BFD功能。有關mpls bfd enable命令的詳細介紹,請參見“MPLS命令參考”中的“MPLS OAM”。
(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功能。
(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功能。
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檢測過程
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檢測生效。
(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”。
在SBFD會話的Reflector端配置IPv4地址形式的本地標識符後,設備會自動轉換為整數形式的本地標識符。IPv4地址形式的本地標識符用於和其他廠商互通,通常情況下,建議配置整數形式的本地標識符。
Reflector收到Initiator發送的SBFD控製報文中攜帶的遠端標識符為Reflector上通過sbfd local-discriminator命令指定的任意一個標識符時,Reflector均會發送響應報文給Initiator。
(1) 進入係統視圖。
system-view
(2) 在SBFD會話的Reflector端配置本地標識符。
sbfd local-discriminator { ipv4-address | integer-value }
缺省情況下,未配置SBFD會話的Reflector端的本地標識符。
多次執行本命令,可以為Reflector端配置多個本地標識符。
通過BFD模板可以對SBFD會話的參數進行靈活配置。使用SBFD檢測如下類型的路徑時,可通過關聯BFD模板獲取SBFD會話參數:
· LDP LSP
· MPLS TE隧道
· SR-MPLS TE Policy
· SRv6 TE Policy
(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
本命令的缺省情況與設備的型號有關,具體請參見命令參考。
可在任意視圖下執行以下命令,顯示SBFD會話信息。
display sbfd session { initiator | reflector } [ discriminator value | verbose ]
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!