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

23-Segment Routing配置指導

目錄

03-SRv6 TE Policy配置

本章節下載 03-SRv6 TE Policy配置  (1.36 MB)

03-SRv6 TE Policy配置

  錄

1 SRv6 TE Policy概述

1.1 SRv6 TE Policy的基本概念

1.1.1 SRv6 TE Policy標識

1.1.2 SRv6 TE Policy構成

1.1.3 SRv6 TE Policy的BSID

1.1.4 SRv6 TE Policy組

1.2 SRv6 TE Policy的生成和算路

1.2.1 SRv6 TE Policy生成和算路概述

1.2.2 SRv6 TE Policy創建方式

1.3 SRv6 TE Policy引流

1.3.1 基於BSID引流

1.3.2 基於Color引流

1.3.3 基於DSCP引流

1.3.4 基於APN ID引流

1.3.5 基於CBTS引流

1.3.6 自引流功能

1.3.7 其他引流方式

1.4 SRv6 TE Policy流量轉發

1.4.1 SRv6 TE Policy選路原則

1.4.2 SRv6 TE Policy報文轉發過程

1.5 SRv6 TE Policy的可靠性

1.5.1 SRv6 TE Policy熱備份功能

1.5.2 SRv6 TE Policy與BFD聯動

1.5.3 SRv6 TE Policy中間節點保護

1.5.4 SRv6尾節點保護功能

1.6 SRv6 TE Policy在APN6網絡中的應用

2 SRv6 TE Policy的配置

2.1 SRv6 TE Policy配置任務簡介

2.2 配置SID列表

2.3 創建SRv6 TE Policy

2.3.1 手工創建SRv6 TE Policy並配置相關屬性

2.3.2 通過ODN自動創建SRv6 TE Policy

2.4 配置設備允許將SRv6 TE Policy的候選路徑信息上報BGP-LS

2.5 關閉SRv6 TE Policy

2.6 創建候選路徑並引用SID列表

2.7 配置BGP發布BGP IPv6 SR Policy路由

2.7.1 配置限製和指導

2.7.2 開啟BGP發布BGP IPv6 SR Policy路由能力

2.7.3 配置BGP引入BGP IPv6 SR Policy路由

2.7.4 配置將BGP IPv6 SR Policy路由發布給EBGP對等體

2.7.5 開啟Router ID過濾功能

2.7.6 開啟BGP IPv6 SR Policy路由有效性檢查功能

2.7.7 控製BGP IPv6 SR Policy路由的優選和發布

2.7.8 維護BGP會話

2.8 配置SRv6 TE Policy引流

2.8.1 配置SRv6-TE的引流方式

2.8.2 配置基於Color引流

2.8.3 配置基於隧道策略引流

2.8.4 配置基於DSCP引流

2.8.5 配置基於APN ID引流

2.8.6 配置基於靜態路由引流

2.8.7 配置基於QoS策略引流

2.8.8 配置基於Flowspec引流

2.8.9 配置SRv6 TE Policy自動引流功能

2.9 配置SRv6 TE Policy的封裝方式

2.10 開啟SRv6 TE Policy的SBFD功能

2.11 開啟SRv6 TE Policy的echo報文方式的BFD檢測功能

2.12 開啟SRv6 TE Policy的熱備份功能

2.13 配置SRv6 TE Policy的慢切慢刪功能

2.14 配置SRv6 TE Policy中間節點保護功能

2.15 配置SRv6 TE Policy尾節點保護功能

2.15.1 配置限製和指導

2.15.2 配置End.M SID

2.15.3 開啟尾節點保護功能

2.15.4 配置遠端SRv6 SID與VPN實例/交叉連接/VSI映射表的延遲刪除時間

2.16 配置SRv6 TE Policy對TTL的處理模式

2.17 配置SRv6 TE Policy CBTS

2.18 配置SRv6 TE Policy限速功能

2.19 開啟SRv6 TE Policy在Policy失效時丟棄流量的功能

2.20 配置根據報文封裝進行路由優選

2.21 配置SRv6 TE Policy的流量轉發統計功能

2.22 SRv6 TE Policy顯示和維護

2.23 SRv6 TE Policy典型配置舉例

2.23.1 SRv6 TE Policy基本轉發配置舉例

2.23.2 SRv6 TE Policy尾節點保護配置舉例

 


1 SRv6 TE Policy概述

SRv6 TE Policy提供了靈活的轉發路徑選擇方法,可以滿足用戶不同的轉發需求。當Segment Routing網絡的源節點和目的節點之間存在多條路徑時,合理利用SRv6 TE Policy選擇轉發路徑,不僅可以方便管理員對網絡進行管理和規劃,還可以有效地減輕網絡設備的轉發壓力。

1.1  SRv6 TE Policy的基本概念

1.1.1  SRv6 TE Policy標識

SRv6 TE Policy使用以下三元組來全局唯一標識一個SRv6 TE Policy:

·     Headend:標識SRv6 TE Policy的頭節點。

·     Color:標識頭節點和目的節點的不同的SRv6 TE Policy,SRv6 TE Policy的Color屬性由管理員分配,可以用來與業務屬性關聯,例如,時延需求小於10ms的業務對應通過Color屬性為100的SRv6 TE Policy轉發,因此,Color屬性提供了一種業務和SRv6 TE Policy的關聯機製。

·     End-point:標識SRv6 TE Policy的目的節點,是SRv6 TE Policy目的節點的IP地址。

在同一個頭節點上,僅需Color和End-point即可唯一標識一個SRv6 TE Policy。

1.1.2  SRv6 TE Policy構成

圖1-1 SRv6 TE Policy構成

 

圖1-1所示,一個SRv6 TE Policy由多條具有不同優先級的Candidate Paths(候選路徑)組成,每個候選路徑包括由Segment List(SID列表)標識的一條或多條轉發路徑。

·     候選路徑

一個SRv6 TE Policy包含一條或多條候選路徑。通過SRv6 TE Policy轉發流量時,設備從多條候選路徑中選擇優先級(Preference)最高的候選路徑作為主路徑。

<Protocol-origin,Originator,Discriminator>是SRv6 TE Policy中候選路徑的唯一標識,其中,

¡     Protocol-origin是一個8bit的數值,用於表示候選路徑通過何種協議或方式生成。例如,候選路徑可以通過PCEP或BGP IPv6 SR Policy地址族協議動態生成,也可以通過命令行或NETCONF方式靜態配置的。

¡     Originator表示生成這條候選路徑的節點,是一個由4字節的自治係統號(ASN)和16字節的節點地址拚接形成的160位數值。

¡     Discriminator是一個32bit的編號值,用於在Protocol-origin和Originator確定的情況下,標識和區分候選路徑。

不同SRv6 TE Policy不能共享同一條候選路徑。

·     SID列表

SID列表包含報文轉發路徑信息,由轉發路徑上各個節點的SID(IPv6地址)組成。

候選路徑由一個SID列表或者多個帶權重的SID列表組成。SRv6 TE Policy選擇某條候選路徑後,會根據SID列表的權重,在候選路徑的多個SID列表間進行負載分擔。

1.1.3  SRv6 TE Policy的BSID

SRv6 TE Policy還存在Binding SID(BSID)屬性。BSID是SRv6 TE Policy Headend上的一個特殊的本地SRv6 SID。BSID關聯了SRv6 TE Policy中的一條候選路徑或者關聯了一個SRv6 TE Policy。如果報文的目的地址是某個SRv6 TE Policy的BSID,則該報文可以被引導到SRv6 TE Policy的主用候選路徑中轉發。因此,從編程的角度看,如果把SRv6 TE Policy作為一種網絡服務,如果希望通過該SRv6 TE Policy的某個候選路徑轉發業務流量,那麼BSID就是業務調用這個網絡服務的接口。在RFC相關標準和草案中,為了在不同的數據平麵可以調用SRv6 TE Policy這種網絡服務,BSID的形式既可以是一個SRv6 SID(IPv6地址),也可以是MPLS標簽。

作為一個SRv6 SID,BSID的轉發行為是End.B6(Endpoint Bound to an SRv6 TE Policy,引流到一個SRv6 TE Policy),End.B6的轉發行為又包括End.B6.Insert和End.B6.Encaps等類型。關於End.B6的SRv6 SID的詳細介紹,請參見“Segment Routing配置指導”中的“SRv6”。

1.1.4  SRv6 TE Policy

SRv6 TE Policy組是一組具有相同End-point的SRv6 TE Policy的集合。通過SRv6 TE Policy組轉發的流量可以根據報文的DSCP或其他標識信息映射到SRv6 TE Policy組中不同Color值的SRv6 TE Policy中轉發,根據業務的不同標識信息,實現差異化引流和轉發控製。

SRv6 TE Policy組由Group ID標識,同時也存在BSID、Color和End-point屬性:

·     BSID:SRv6 TE Policy組入節點的SID,可以用於將流量引入SRv6 TE Policy組。

·     Color:SRv6 TE Policy組攜帶的擴展團體屬性,攜帶相同Color屬性的BGP路由可以迭代到該SRv6 TE Policy組。

·     End-point:SRv6 TE Policy組目的節點的IPv6地址。如果SRv6 TE Policy和SRv6 TE Policy組的End-point相同,則該SRv6 TE Policy屬於這個SRv6 TE Policy組。

SRv6 TE Policy組可以通過如下方式創建:

·     通過命令行手工創建

采用該方式時,需要手工配置SRv6 TE Policy組的目的節點地址。

·     通過ODN功能自動創建

創建SRv6 TE Policy組的ODN模板後,當設備收到BGP路由時,如果該BGP路由攜帶的Color擴展團體屬性與ODN模板的Color值相同,則以該BGP路由的下一跳地址作為SRv6 TE Policy組的目的節點地址,以ODN模板的Color值作為SRv6 TE Policy組的Color屬性,生成一個SRv6 TE Policy組。設備將在未分配的組ID中,選擇最小的組ID分配給該SRv6 TE Policy組。

1.2  SRv6 TE Policy的生成和算路

1.2.1  SRv6 TE Policy生成和算路概述

一個完整有效的SRv6 TE Policy組成比較複雜,如果說Headend、Color和End-point三元組標識了SRv6 TE Policy的“身份”,候選路徑和SID列表則定義了SRv6 TE Policy的轉發路徑。

生成SRv6 TE Policy包括定義該SRv6 TE Policy的Headend、Color和End-point三元組標識,為SRv6 TE Policy提供一個有效的“身份”。SRv6 TE Policy算路才能得到SRv6 TE Policy候選路徑中的SID列表。因此,SRv6 TE Policy生成和算路可以是兩個非耦合的過程。

可以通過采用以下方式來生成SRv6 TE Policy:

·     通過NETCONF或命令行手工配置SRv6 TE Policy和候選路徑。

·     通過BGP IPv6 SR Policy路由學習SRv6 TE Policy和候選路徑。

·     通過PCEP協議學習SRv6 TE Policy和候選路徑。

·     通過ODN功能自動創建SRv6 TE Policy和候選路徑。

為候選路徑建立SID列表實現SRv6 TE Policy算路的方式包括:

·     通過NETCONF或命令行創建;

·     采用動態計算的路徑建立SID列表;

·     采用PCE計算的路徑建立SID列表

例如,手工配置SRv6 TE Policy的Color、End-point、候選路徑、候選路徑的優先級、候選路徑的SID列表及其權重後,可以在該SRv6 TE Policy中采用動態計算的路徑為其他候選路徑建立SID列表。

為了通過BGP和PCEP來生成SRv6 TE Policy和SRv6 TE Policy的算路功能,在控製平麵PECP協議、BGP-LS和BGP IPv6 SR Policy均為SRv6 TE Policy進行了協議擴展支持。

1.2.2  SRv6 TE Policy創建方式

SRv6 TE Policy可以通過如下方式創建:

·     通過命令行手工創建

采用該方式時,需要手工配置候選路徑、候選路徑的優先級、候選路徑的SID列表及其權重。

·     通過SRv6 TE Policy路由學習

為了支持SRv6 TE Policy,MP-BGP定義了新的子地址族——BGP IPv6 SR Policy地址族,並新增了SRv6 TE Policy NLRI(Network Layer Reachability Information,網絡層可達性信息),即BGP IPv6 SR Policy路由。BGP IPv6 SR Policy路由中包含SRv6 TE Policy的相關配置,包括BSID、Color、Endpoint、候選路徑優先級、SID列表和SID列表的權重等。

在設備間建立BGP IPv6 SR Policy對等體後,設備可以將本地配置的SRv6 TE Policy通過BGP IPv6 SR Policy路由發布到對端。對端設備根據接收到的BGP IPv6 SR Policy路由生成對應的SRv6 TE Policy。

·     通過ODN功能自動創建

創建ODN(On-Demand Next-Hop,按需下一跳)模板後,如果設備接收到的BGP路由攜帶的Color擴展團體屬性與ODN模板的Color值相同,則以該BGP路由的下一跳地址作為SRv6 TE Policy的目的節點地址,以ODN模板的Color值作為SRv6 TE Policy的Color屬性,自動創建一個SRv6 TE Policy。該SRv6 TE Policy會在指定Locator段內自動申請一個BSID。由ODN功能自動創建的SRv6 TE Policy下可以手工創建候選路徑。

1.3  SRv6 TE Policy引流

可以通過多種方式將流量直接引入到SRv6 TE Policy轉發,其中包括:

·     基於BSID引流

·     基於Color引流

·     基於CBTS引流

·     自引流功能

·     其他引流方式

也可以將流量先引入到SRv6 TE Policy組中,再基於SRv6 TE Policy組轉發類型和映射關係,將流量間接引入到SRv6 TE Policy,其中包括:

·     基於DSCP引流

·     基於APN ID引流

1.3.1  基於BSID引流

如果接收到的報文的目的IPv6地址為某個SRv6 TE Policy的BSID,則通過該SRv6 TE Policy轉發該報文。基於BSID引流通常用於SID縫接場景,通過在某個SRv6 TE Policy的SID列表中加入另一個SRv6 TE Policy的BSID,可以在流量轉發過程中減少報文SRH頭的長度,實現不同SRv6 TE Policy之間的縫接。

1.3.2  基於Color引流

1. Color引流機製

Color引流是直接基於路由的擴展團體屬性Color和目的地址,將流量引入到SRv6 TE Policy轉發。如果設備上存在Color和Endpoint地址與BGP路由的Color擴展團體屬性和下一跳地址完全相同的SRv6 TE Policy,則將該BGP路由迭代到SRv6 TE Policy。當設備收到匹配該BGP路由的報文時,會通過SRv6 TE Policy轉發該報文。

2. Color引流的工作過程示例

圖1-2所示組網中,Color引流的過程為:

(1)     通過控製器向源節點A下發SRv6 TE Policy 1,其Color為100,Endpoint是設備H的地址5::5。

(2)     設備H將BGP VPNv4路由2.2.2.2/32發送給源節點設備A。該路由的Color擴展團體屬性值為100,下一跳為設備H的地址5::5。

(3)     當源節點A收到BGP VPNv4路由2.2.2.2/32後,根據Color擴展團體屬性100和下一跳地址5::5,將該路由迭代到SRv6 TE Policy 1。匹配該BGP路由的報文會通過SRv6 TE Policy 1轉發。

圖1-2 Color引流示意圖

 

1.3.3  基於DSCP引流

1. DSCP引流機製

根據報文的DSCP值將報文引流到SRv6 TE Policy時,需要先部署SRv6 TE Policy組。SRv6 TE Policy組由多個Color屬性不同,但Endpoint地址相同的SRv6 TE Policy組成。

基於DSCP引流的工作機製為:

(1)     將Color屬性不同的多個SRv6 TE Policy加入到一個SRv6 TE Policy組,並指定DSCP值與Color屬性的映射關係。

(2)     采用以下任意一種方式,均可實現引流到SRv6 TE Policy組:

¡     配置隧道策略,在隧道策略中將指定的目的地址與SRv6 TE Policy組綁定,從而實現去往該目的地址的流量引入到SRv6 TE Policy組轉發。

¡     配置隧道策略,在隧道策略中指定SRv6 TE Policy組為優先隧道,當路由的下一跳地址為SRv6 TE Policy組的目的節點地址時,流量優先引入到SRv6 TE Policy組中轉發。

¡     查找到Color和Endpoint地址與BGP路由的Color擴展團體屬性和下一跳地址匹配的SRv6 TE Policy組後,將該BGP路由迭代到SRv6 TE Policy組。

(3)     根據報文的DSCP值查找與其關聯的Color屬性,再通過Color屬性匹配到SRv6 TE Policy組中的某個SRv6 TE Policy。這樣,就形成了DSCP->Color->SRv6 TE Policy的映射關係,實現攜帶指定DSCP的報文通過指定SRv6 TE Policy轉發。

2. DSCP引流工作過程示例

圖1-3所示,DSCP引流過程為:

(1)     通過控製器向源節點A下發SRv6 TE Policy,SRv6 TE Policy 1的Color是100,EndPoint是設備H的地址5::5;SRv6 TE Policy 2的Color是200,EndPoint也是設備H的地址5::5。

(2)     設備H將BGP VPNv4路由2.2.2.2/32發送給源節點設備A,下一跳地址為5::5。

(3)     在源節點設備A上創建SRv6 TE Policy組111,其EndPoint為設備H的地址5::5。在SRv6 TE Policy組內創建Color和DSCP映射關係,Color 100映射為DSCP 10,Color 200映射為DSCP 20。之後在源節點A上配置隧道策略,將SRv6 TE Policy組與目的地址2.2.2.2綁定。

(4)     源節點A根據報文的目的地址,查找到匹配的隧道綁定策略,進而關聯到SRv6 TE Policy組。然後根據報文的DSCP值查找映射的Color,再根據Color匹配到SRv6 TE Policy組裏具體的某一個SRv6 TE Policy。在該SRv6 TE Policy中選擇最優的候選路徑,並按照候選路徑中SID List將DSCP值為10的報文按B -> C -> D -> H路徑轉發,從而實現報文的DSCP引流。

圖1-3 DSCP引流示意圖

 

1.3.4  基於APN ID引流

APN ID是APN6(Application-aware IPv6 Networking,應用感知型IPv6網絡)中定義的一種應用的標識信息,網絡設備基於APN ID來區分不同應用的業務流。關於基於APN ID引流的詳細介紹,請參見“1.6  SRv6 TE Policy在APN6網絡中的應用”。

1.3.5  基於CBTS引流

1. 基於CBTS引流機製

SRv6 TE Policy CBTS(Class-based Tunnel Selection,基於服務類型的隧道選擇)是一種SRv6 TE Policy隧道的選擇方式。有別於傳統的隧道選擇方式,CBTS可以基於流量的轉發類選擇對應的隧道進行轉發,以便為不同的業務提供不同的轉發服務。

基於CBTS引流也是通過報文的service-class標識來實現,但相較於基於service-class引流,基於CBTS引流無需引流到SRv6 TE Policy組。

SRv6 TE Policy CBTS工作原理為:

·     對需要經過SRv6 TE Policy轉發的流量,通過流分類進行匹配,將不同業務的流量映射成不同的轉發類。

·     在SRv6 TE Policy視圖下直接配置隧道轉發類(service-class屬性),映射到指定轉發類的業務流量可以通過具有對應轉發類的SRv6 TE Policy隧道轉發。

SRv6 TE Policy CBTS的優選規則為:

·     設備會優先選擇與流量的轉發類值相同的SRv6 TE Policy轉發該流量。

·     如果存在多條與流量的轉發類值相同的SRv6 TE Policy,隻有一條流且為逐流負載分擔則隨機選擇一個SRv6 TE Policy轉發流量;有一條流但是為逐包負載分擔或有多條流,則流量在相同轉發類的SRv6 TE Policy間進行負載分擔。

·     如果沒有與流量的轉發類值相同的SRv6 TE Policy,則選擇隧道優先級最低的SRv6 TE Policy轉發流量。SRv6 TE Policy轉發類的取值越小,隧道轉發的優先級越低,沒有配置轉發類的隧道優先級最低。

圖1-4所示,隧道的選擇原則為:

·     從Device A到Device B轉發類值為3的流量通過SRv6 TE Policy B轉發。

·     從Device A到Device B轉發類值為6的流量通過SRv6 TE Policy C轉發。

·     從Device A到Device B轉發類值為4的流量通過SRv6 TE Policy A轉發。

·     從Device A到Device B未配置轉發類的流量通過SRv6 TE Policy A轉發。

圖1-4 SRv6 TE Policy CBTS示意圖

 

2. CBTS引流工作過程示例

圖1-5所示,基於CBTS引流的工作過程為:

(1)     通過控製器向源節點A下發SRv6 TE Policy,SRv6 TE Policy 1的Color是100,Service-class為1,EndPoint是設備H的地址5::5;SRv6 TE Policy 2的Color是200,Service-class為2,EndPoint也是設備H的地址5::5。

(2)     設備H將BGP VPNv4路由2.2.2.2/32發送給源節點設備A,下一跳地址為5::5。

(3)     在源節點A根據報文的五元組等特征,使用QoS策略標記報文的Service-class值。

(4)     被源節點A標記為Service-class為1的報文通過SRv6 TE Policy 1轉發;被源節點A標記為Service-class為2的報文通過SRv6 TE Policy 2轉發。

圖1-5 圖16 CBTS引流示意圖

 

1.3.6  自引流功能

自引流是指將SRv6 TE Policy隧道或SRv6 TE Policy組發布到IGP(OSPFv3或IS-IS)路由中,讓SRv6 TE Policy隧道或SRv6 TE Policy組參與IGP路由的計算,使得流量可以通過SRv6 TE Policy隧道或SRv6 TE Policy組轉發。

自動引流目前僅支持IGP Shortcut方式,也稱為自動路由宣告(AutoRoute Announce)。該功能將SRv6 TE Policy或SRv6 TE Policy組當作一條直接連接隧道Ingress節點(頭節點)和Egress節點(尾節點)的鏈路,在隧道的Ingress節點上進行IGP路由計算時考慮該SRv6 TE Policy或SRv6 TE Policy組。

IGP Shortcut功能不會通過IGP路由協議將SRv6 TE Policy隧道或SRv6 TE Policy組作為一條鏈路發布給鄰居。因此,其他設備在路由計算時不會考慮SRv6 TE Policy隧道或SRv6 TE Policy組。

說明

通過自引流方式將流量引入到SRv6 TE Policy組後,流量將在SRv6 TE Policy組內基於DSCP或Dot1p引流方式查找匹配的SRv6 TE Policy,通過該SRv6 TE Policy轉發流量。

 

例如,在圖1-6中,Device D到Device C之間存在一條SRv6 TE Policy隧道,IGP Shortcut可以使源節點Device D在計算IGP路由時利用這條隧道,從而將進入Device D的報文引到Device D與Device C之間的SRv6 TE Policy隧道上。

圖1-6 IGP Shortcut與轉發鄰接示意圖

 

1.3.7  其他引流方式

還可以根據具體場景和配置,通過如下方式將流量引入到SRv6 TE Policy:

·     基於隧道策略引流:MPLS L3VPN、EVPN L3VPN、EVPN VPLS或EVPN VPWS組網中,通過部署隧道策略,將SRv6 TE Policy作為公網隧道來轉發私網報文。隧道策略的詳細介紹請參見“MPLS配置指導”中的“隧道策略”。

·     基於靜態路由引流:配置靜態路由迭代到SRv6 TE Policy,如果設備收到匹配該靜態路由的報文,則通過指定SRv6 TE Policy轉發該報文。

·     基於QoS策略引流:通過QoS策略將流量重定向到SRv6 TE Policy,如果設備收到匹配該QoS策略流分類規則的報文,則通過指定SRv6 TE Policy轉發該報文。有關QoS策略的詳細介紹,請參見“ACL和QoS配置指導”中的“QoS”。

·     基於Flowspec引流:通過Flowspec路由將流量重定向到SRv6 TE Policy,如果設備收到匹配該Flowspec路由規則的報文,則通過指定SRv6 TE Policy轉發該報文。有關Flowspec的詳細介紹,請參見“ACL和QoS配置指導”中的“Flowspec”。

1.4  SRv6 TE Policy流量轉發

1.4.1  SRv6 TE Policy選路原則

數據報文引流到SRv6 TE Policy後,在SRv6 TE Policy中選擇路徑的過程為:

(1)     在SRv6 TE Policy中選擇優先級取值最大的有效候選路徑轉發流量。

(2)     在優先級取值最大的有效候選路徑的各個SID列表間進行WECMP(Weighted ECMP,權重負載分擔),即基於權重對通過SRv6 TE Policy轉發的流量進行負載分擔。假設候選路徑中包含n個有效SID列表,第x個SID列表的權重為Wight x,則第x個SID列表轉發流量的比例為Weight x/(Weight 1+Weight 2+…+Weight n)。

圖1-7所示,根據BSID選擇有效的SRv6 TE Policy轉發流量,再選取優先級取值最大的有效候選路徑轉發流量。該候選路徑中有兩個有效的SID列表:SID List 1和SID List 2,其權重分別為20和80。通過該SRv6 TE Policy轉發流量時,SID List 1和SID List 2轉發的流量占比分別為1/5和4/5。

圖1-7 SRv6 TE Policy轉發流量時選路過程示意圖

 

1.4.2  SRv6 TE Policy報文轉發過程

SRv6 TE Policy中的報文支持Encaps和Insert封裝方式。Encaps封裝方式是指在原始報文外層再封裝新的IPv6頭和SRH擴展頭,Insert封裝方式則是在原始報文IPv6頭之後插入SRH擴展頭。

根據封裝方式的差異,報文轉發過程稍有不同。

1. Encaps封裝方式的SRv6 TE Policy報文轉發

圖1-8所示,以SID縫接場景中基於BSID引流為例,SRv6 TE Policy的報文轉發過程為:

(1)     Device A將流量引入到SRv6 TE Policy A轉發。SRv6 TE Policy A的SID中引入了SRv6 TE Policy B的BSID 20::2。根據SRv6 TE Policy A為報文封裝SRH頭,SRH頭攜帶的SID列表為{10::2, 20::2, 50::2}。其中,10::2為Device B的End SID;50::2為Device F的End SID。

(2)     Device A將封裝後的報文發送給下一跳Device B。

(3)     Device B收到報文後,根據SRH獲取到下一跳為Device C,將報文發送給Device C。

(4)     Device C收到報文後發現報文的目的地址為20::2,為本地SRv6 TE Policy B的BSID。SRv6 TE Policy B的封裝方式為Encaps模式。因此Device C根據SRv6 TE Policy B為報文再封裝一個外層IPv6頭和SRH,SRH頭攜帶的SID列表為{30::2, 40::2}。其中,30::2為Device D的End SID;40::2為Device E的End SID。外層IPv6頭的目的地址更新為30::2,下一跳為Device D,將報文發送給Device D。

(5)     Device D收到報文後,根據外層SRH獲取到下一跳為Device E,將報文發送給Device E。

(6)     Device E收到報文後,檢查外層SRH頭中的SL值,發現SL=0。對報文的外層IPv6頭和SRH頭進行解封裝,刪除封裝報文頭,再根據內層報文的目的地址將報文發送給Device F。

(7)     Device F收到報文後,檢查外層SRH頭中的SL值,發現SL=0,Device F是SRv6 TE Policy A的尾節點,對報文的外層IPv6頭和SRH頭進行解封裝,刪除封裝報文頭。

圖1-8 Encaps封裝方式的SRv6 TE Policy報文轉發過程示意圖

 

2. Insert封裝方式的SRv6 TE Policy報文轉發

圖1-9所示,以SID縫接場景中基於BSID引流為例,SRv6 TE Policy的報文轉發過程為:

(1)     Device A將流量引入到SRv6 TE Policy A轉發。為了減少SRH封裝的長度,SRv6 TE Policy A的SID中引入了SRv6 TE Policy B的BSID 20::2。根據SRv6 TE Policy A為報文封裝SRH頭,SRH頭攜帶的SID列表為{10::2, 20::2, 50::2}。其中,10::2為Device B的End SID;50::2為Device F的End SID。

(2)     Device A將封裝後的報文發送給下一跳Device B。

(3)     Device B收到報文後,根據SRH獲取到下一跳為Device C,將報文發送給Device C。

(4)     Device C收到報文後發現報文的目的地址為20::2,為本地SRv6 TE Policy B的BSID,SRv6 TE Policy B的封裝方式為Insert模式,因此Device C根據SRv6 TE Policy B在原始IPv6報文頭後插入SRH,SRH頭攜帶的SID列表為{30::2, 40::2}。其中,30::2為Device D的End SID;40::2為Device E的End SID。外層IPv6頭的目的地址更新為30::2,下一跳為Device D,將報文發送給Device D。

(5)     Device D收到報文後,根據外層SRH獲取到下一跳為Device E,將報文發送給Device E。

(6)     Device E收到報文後,檢查外層SRH頭中的SL值,發現SL=0。對報文的外層SRH頭進行解封裝,再根據內層SRH更新目的地址,將報文發送給Device F。

(7)     Device F收到報文後,檢查外層SRH頭中的SL值,發現SL=0,Device F是SRv6 TE Policy A的尾節點,對報文的外層IPv6頭和SRH頭進行解封裝,刪除封裝報文頭。

圖1-9 Insert封裝方式的SRv6 TE Policy報文轉發

 

1.5  SRv6 TE Policy的可靠性

SRv6 TE Policy通過多種功能配合來實現其流量轉發的可靠性機製,包括:

·     SRv6 TE Policy支持在多條有效候選路徑間的熱備份功能,並且支持通過BFD檢測機製來觸發主備候選路徑間的快速切換。

·     SRv6 TE Policy支持SRv6 TE FRR的中間節點保護功能來保護必經節點或鏈路。

·     在雙歸屬的VPN組網場景中,支持尾節點保護功能。

通過以上可靠性機製的配合,流量通過SRv6 TE Policy轉發時,可以實現多層次多級別的保護能力。

1.5.1  SRv6 TE Policy熱備份功能

當SRv6 TE Policy中存在多條有效候選路徑時,設備通過優先級最大的候選路徑轉發報文。如果該候選路徑發生故障,則SRv6 TE Policy需要重新選擇有效候選路徑轉發報文。由於選擇新的有效候選路徑會耗費一些時間,所以在切換轉發路徑的過程中會造成丟包,影響業務流量轉發。

SRv6 TE Policy的熱備份功能可以解決上述問題。SRv6 TE Policy的熱備份是指通過備份候選路徑對主候選路徑進行保護。如果一個SRv6 TE Policy下存在多條候選路徑,則優先級最高的有效候選路徑作為主路徑,優先級次高的有效候選路徑作為備份路徑。如圖1-10所示,如果主路徑下所有SID列表對應的轉發路徑都發生故障,則將流量立即切換到備份候選路徑轉發,以減少對業務的影響。

圖1-10 SRv6 TE Policy熱備份示意圖

 

SRv6 TE Policy熱備份功能和SRv6 TE Policy與SBFD聯動配合使用時,SBFD可以同時檢測SRv6 TE Policy中優先級最高和次高的兩條候選路徑裏的所有SID列表對應的轉發路徑。如果優先級最高的候選路徑裏所有SID列表對應的轉發路徑都發生故障,則將流量切換到備份路徑。當流量切換到備份路徑後,會再次重新計算主備路徑。原備份路徑將作為主路徑,並重新選擇一個有效的候選路徑作為新的備份路徑。當主備路徑同時故障時,SRv6 TE Policy將重新計算主備路徑。

1.5.2  SRv6 TE Policy與BFD聯動

1. SRv6 TE Policy與echo BFD聯動

echo BFD方式檢查SRv6 TE Policy時,無需在本地和Reflector端配置相同的標識符。相較於SBFD檢查SRv6 TE Policy,echo BFD方式的配置更簡單,無需規劃本地和遠端標識符。

echo BFD檢測SRv6 TE Policy的過程如下:

(1)     頭節點發送BFD echo報文,BFD echo報文封裝SRv6 TE Policy中的SID列表。

(2)     尾節點收到BFD echo報文後,通過IPv6路由的最短路徑將BFD echo報文轉發回頭節點。

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

echo報文方式的BFD對SRv6 TE Policy進行檢測時,如果被選中的候選路徑中存在多個SID列表,則SRv6 TE Policy會建立多個BFD會話分別用來檢測每一個SID列表對應的轉發路徑。

echo BFD方式檢查SRv6 TE Policy時,BFD報文支持Insert和Encaps的兩種封裝方式,缺省情況下,BFD報文采用Insert封裝方式。

圖1-11所示,在Device A上配置SRv6 TE Policy,並使用echo報文方式的BFD檢測該SRv6 TE Policy。BFD報文采用缺省的Insert封裝方式時,Device A將構造特殊的BFD報文,BFD報文的源地址為Device A的本地IPv6地址a,且將該IPv6地址a插入到SID列表中SL=0的位置。Device D接收到BFD報文,更新IPv6報文頭的目的地址為a,並根據IPv6地址a查找IPv6路由表把報文環回給Device A。

說明

關於BFD報文源地址的選取請參見“2.11  開啟SRv6 TE Policy的echo報文方式的BFD檢測功能”。

 

圖1-11 echo報文方式的BFD會話檢測SRv6 TE Policy(Insert封裝)

 

圖1-12所示,在Device A上配置SRv6 TE Policy,並使用echo報文方式的BFD檢測該SRv6 TE Policy,BFD報文采用Encaps封裝方式時,Device A先構造BFD報文,該BFD報文的源地址和目的地址均為Device A的本地IPv6地址a,Device A在BFD報文外層再封裝一個IPv6頭和SRH頭,外層IPv6頭的源地址為encapsulation source-address命令指定的IPv6地址,SRH頭中包含SRv6 TE Policy的SID列表。Device D接收到BFD報文時,將外層IPv6頭和SRH頭解封裝,並根據地址a查找IPv6路由表把報文環回給Device A。

說明

關於BFD報文的源地址的選取請參見“2.11  開啟SRv6 TE Policy的echo報文方式的BFD檢測功能”。

 

圖1-12 echo報文方式的BFD會話檢測SRv6 TE Policy(Encaps封裝)

 

2. SRv6 TE Policy與SBFD聯動

SRv6 TE Policy不會通過設備之間互相發送的消息來維持自身狀態,可以利用SBFD(Seamless BFD,無縫BFD)來檢測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列表故障。

SBFD對SRv6 TE Policy進行檢測時,如果被選中的候選路徑中存在多個SID列表,則SRv6 TE Policy會建立多個SBFD會話分別用來檢測每一個SID列表對應的轉發路徑。

SBFD方式檢查SRv6 TE Policy時,SBFD報文支持Insert和Encaps的兩種封裝方式,缺省情況下,SBFD報文采用Insert封裝方式。

圖1-13所示,在Device A上配置SRv6 TE Policy,並使用SBFD檢測該SRv6 TE Policy。SBFD報文采用缺省的Insert封裝方式時,Device A將構造SBFD報文,SBFD報文的源地址為Device A的本地IPv6地址a,同時將SRv6 TE Policy的End-point地址e插入到SID列表中SL=0的位置。Device D接收到SBFD報文時,將IPv6頭和SRH頭解封裝,根據SBFD報文的源地址a查找IPv6路由表,重新構造SBFD報文返回給Device A。

圖1-13 SBFD for SRv6 TE Policy檢測過程(Insert封裝)

 

圖1-14所示,在Device A上配置SRv6 TE Policy,並使用SBFD檢測該SRv6 TE Policy。SBFD報文采用Encaps封裝方式時,Device A將構造SBFD報文,SBFD報文的源地址為Device A的本地IPv6地址a,將SRv6 TE Policy的End-point地址e作為SBFD報文的目的地址,同時在SBFD報文外層再封裝一個IPv6頭和SRH頭,IPv6頭的源地址仍為a。Device D接收到SBFD報文時,將外層IPv6頭和SRH頭解封裝,根據SBFD報文的源地址a查找IPv6路由表,重新構造SBFD報文返回給Device A。

圖1-14 SBFD for SRv6 TE Policy檢測過程(Encaps封裝)

 

3. BFD檢測SRv6 TE Policy指定回程路徑

如果SRv6 TE Policy的頭節點和尾節點之間存在多個SRv6 TE Policy,通過BFD echo方式檢測這些SRv6 TE Policy連通性時,缺省情況下,BFD echo回程報文均通過IP路徑轉發,一旦中間設備故障,則回程報文會被丟棄,導致BFD會話down,從而錯誤地認為所有SRv6 TE Policy的SID列表故障。

為了解決上述問題,可以使BFD echo回程報文按照SRv6 TE Policy的指定SID列表轉發,以確保連通性。通常情況下,通過BFD echo檢測SRv6 TE Policy時指定的回程路徑與去程路徑一致,這種場景被稱為BFD的來回路徑一致。

目前,可以通過以下方式來指定BFD echo的回程路徑:

·     指定反向BSID的方式。

圖1-15所示,BFD echo檢測SRv6 TE Policy時采用指定反向BSID的方式指定回程路徑,並且采用缺省的Insert封裝方式,具體實現流程如下:

(1)     在Device A和Device D上分別建立一個SRv6 TE Policy,SRv6 TE Policy AtoD和SRv6 TE Policy DtoA。SRv6 TE Policy AtoD的轉發路徑為A > B > C > D,SRv6 TE Policy DtoA的轉發路徑為D > F > E > A。在Device D上為SID列表D > F > E > A指定Local BSID為x。

(2)     在Device A上開啟BFD檢測SRv6 TE Policy AtoD,為BFD echo回程報文的指定Reverse BSID為x,x等於Device D上指定的Local BSID。Device A發送BFD echo報文時,將Reverse BSID封裝在BFD echo報文SRH頭部SID列表中SRH[1]的位置。

(3)     Device D接收到BFD echo報文時,獲取當前SL=1,目的地址為x。x與本地SID列表D > F > E > A指定的Local BSID相同,因此Device D為回程的BFD echo報文插入新的SRH,其中SRH攜帶了Local BSID對應的SID列表。

(4)     回程報文按照SID列表中指定的路徑D > F > E > A返回Device A。

圖1-15 BFD檢測SRv6 TE Policy指定回程路徑示意圖(反向BSID)

 

1.5.3  SRv6 TE Policy中間節點保護

1. 保護路徑失效場景

SRv6 TE Policy的SID列表指定了報文沿途必須經過的節點或鏈路。如圖1-16所示,節點A通過SRv6 TE Policy將報文轉發到節點F,SRv6 TE Policy最優候選路徑的SID列表中包含了節點D的End.SID和尾節點F的End.SID。因此,轉發報文需要先通過節點D再抵達尾節點F。當節點D故障時,即使在上遊節點B開啟了TI-LFA FRR功能,但TI-LFA FRR計算備份路徑時,仍然以節點D的End.SID作為目的地址,備份路徑無法繞行節點D,沒有達到保護的效果。

圖1-16 保護路徑失效場景

 

2. 中間節點保護(SRv6 TE FRR)

在必經節點D的上遊節點B上開啟中間節點保護(SRv6 TE FRR)功能,可以由節點B執行代理轉發動作,通過繞行故障的中間節點D完成報文轉發,從而解決必經的中間節點故障TI-LFA FRR無法繞行的問題,這個上遊節點稱之為代理轉發節點。

在節點開啟SRv6 TE FRR功能後,當報文中存在SRH,且SRH中SL>0時,在如下任一場景下,該節點將作為代理轉發節點轉發報文:

·     查詢IPv6 FIB表,沒有找到對應的轉發表項。

·     報文的下一跳是報文目的地址,該目的地址對應的出接口狀態為DOWN;

·     查詢Local SID表匹配SRv6 SID為End.X SID,且End.X SID對應的出接口狀態為DOWN。

·     從路由表中查到的路由為NULL0路由。

代理轉發節點代替故障節點進行報文轉發時,需要進行以下操作:

·     代理轉發節點將報文中SRH的SL減1;

·     將下層要處理的SID更新到外層IPv6報文頭,使其作為報文的目的地址;

·     根據目的地址查表轉發。

代理轉發節點通過執行以上操作使報文繞過故障節點,實現中間節點故障的保護。這種保護技術也稱為SRv6 TE FRR。

圖1-17 中間節點故障保護示意圖

 

圖1-17例,流量引入SRv6 TE Policy後,報文沿著SID列表{d, f}轉發。節點D故障時,中間節點故障的保護過程如下:

(1)     節點D故障時,上遊節點B快速感知到報文下一跳節點故障,此時,SL>0,且滿足作為代理轉發節點轉發報文的條件,即下一跳報文目的地址d,該目的地址對應的出接口狀態為DOWN。因此,節點B執行代理轉發行為,將SL減1,並將下層SID f複製到外層IPv6報文頭的目的地址字段。此時,由於SL=0,節點B可以去掉SRH擴展報文頭,然後根據目的地址f查表轉發。

(2)     節點B根據目的地f查表轉發時,根據節點B的路由收斂情況,處理方式如下:

¡     如果節點B上路由已經收斂(到達節點F的下一跳為節點C),則按照收斂後的最短路徑轉發報文,將報文轉發到節點C。

¡     如果節點B上路由未收斂(到達節點F的路由主下一跳為節點D),則按照TI-LFA計算的備份路徑轉發報文,備份路徑的Repair List為<c1>。所以,節點B為報文封裝SRH,添加備份路徑Segment List c1,經過備份路徑將報文轉發到節點F。

3. 源節點的特殊處理

如果SRv6 TE Policy的源節點A感知到節點D故障,即SRv6 TE Policy的SID列表中的第一個SID不可達,則源節點A會將SRv6 TE Policy置為down狀態。此時,設備既無法通過該SRv6 TE Policy轉發報文,也無法觸發SRv6 TE FRR。

通過開啟SRv6 TE Policy的備份路徑功能,可以解決上述問題。開啟SRv6 TE Policy的備份路徑功能後,如果SRv6 TE Policy的SID列表中的第一個SID不可達,則設備生成一條目的地址為SID列表中第一個SID、出接口為NULL0的路由,保證該SRv6 TE Policy處於up狀態,以觸發SRv6 TE FRR。

當節點A觸發SRv6 TE FRR後,節點A需要將SL減1,並將下層SID f更新到外層IPv6報文頭作為報文的目的地址,然後根據目的地址查找路由表將報文轉發到節點B。節點B收到報文後,處理方式如下:

·     如果節點B上路由已經收斂(到達節點F的下一跳為節點C),則按照收斂後的最短路徑將報文轉發到節點F。

·     如果節點B上路由未收斂(到達節點F的路由主下一跳為節點D),則按照TI-LFA計算的備份路徑轉發到節點F。

1.5.4  SRv6尾節點保護功能

在IP L3VPN over SRv6/EVPN L3VPN over SRv6/EVPN VPLS over SRv6/EVPN VPWS over SRv6/公網IP over SRv6組網中,當公網隧道為SRv6隧道時,SRv6隧道的尾節點發生故障時,報文無法通過尾節點PE設備轉發到CE設備,所以需要對SRv6隧道的尾節點提供保護。

SRv6尾節點保護是通過CE雙歸到PE設備實現的,因此,僅適用於雙歸屬的網絡場景,要求尾節點PE和對尾節點進行保護的另一個PE節點上具有相同的轉發表項。

提示

EVPN VPLS over SRv6/EVPN VPWS over SRv6雙歸屬單活組網不支持SRv6 TE Policy尾節點保護功能。

SRv6尾節點保護不僅對SRv6 TE Policy作為隧道的場景有效,對SRv6 BE轉發方式的組網場景也有效果。

 

圖1-18所示,以SRv6 TE Policy組網場景為例,在PE 1與PE 3之間部署SRv6 TE Policy,PE 3是SRv6 TE Policy的尾節點,為了增強可靠性,CE 2雙歸到PE 3和PE 4,PE 4為PE 3提供保護。

圖1-18 SRv6尾節點保護示意圖

 

1. End.M SID

在SRv6 TE Policy尾節點保護場景中,End.M SID用於保護指定的Locator,即保護指定Locator段內的SRv6 SID。如果遠端設備發布的SRv6 SID在指定Locator段的範圍內,則使用End.M SID對該SRv6 SID(稱為遠端SRv6 SID)進行保護。在不同組網環境中,End.M SID對應的轉發動作不同:

(1)     MPLS/EVPN L3VPN over SRv6 TE Policy尾節點保護場景:End.M SID對應的轉發動作為剝掉外層IPv6報文頭,獲取到內層報文信息,查找遠端SRv6 SID。根據查找到的遠端SRv6 SID查詢遠端SRv6 SID與VPN實例的映射表,找到對應VPN實例。在PE 4上對應VPN實例的路由表中查表轉發。

(2)     EVPN VPWS over SRv6 TE Policy尾節點保護場景:End.M SID對應的轉發動作為剝掉外層IPv6報文頭,獲取到內層報文信息,查找遠端SRv6 SID。根據查找到的遠端SRv6 SID查詢遠端SRv6 SID與交叉連接的映射表,找到對應交叉連接。在PE 4上根據該交叉連接關聯的AC轉發報文。遠端SRv6 SID類型僅支持End.DX2 SID。

(3)     EVPN VPLS over SRv6 TE Policy尾節點保護場景:End.M SID對應的轉發動作為剝掉外層IPv6報文頭,獲取到內層報文信息,查找遠端SRv6 SID。根據查找到的遠端SRv6 SID查詢遠端SRv6 SID與VSI的映射表,找到對應VSI。在PE 4上對應VSI內查找MAC地址表轉發。遠端SRv6 SID類型僅支持End.DT2U SID。

2. 遠端SRv6 SID

圖1-19所示,PE 4從PE 3收到BGP路由後,如果BGP路由中的SRv6 SID在PE 4上End.M SID保護的Locator範圍內,則該SRv6 SID為遠端SRv6 SID,同時在PE 4上生成遠端SRv6 SID與VPN實例/交叉連接/VSI的映射表。

當PE 3故障時,PE 4與PE 3之間鄰居中斷,會導致PE 4從PE 3收到的BGP路由刪除,進而導致遠端SRv6 SID與VPN實例/交叉連接/VSI的映射表被刪除,造成丟包。為了避免上述情況,可以在PE 4上延遲刪除遠端SRv6 SID與VPN實例/交叉連接/VSI的映射表,在PE 1感知到PE 3故障計算出新的轉發路徑前,保證流量通過PE 4轉發,避免丟包。

3. 路由發布

IP L3VPN/EVPN L3VPN/EVPN VPWS/EVPN VPLS over SRv6 TE Policy尾節點保護場景的路由發布過程類似,以IP L3VPN over SRv6 TE Policy尾節點保護場景為例進行介紹。

圖1-19所示,P 1上FRR路徑的生成過程為:

(1)     PE 4通過IS-ISv6路由向鄰居P 1發布End.M SID和被保護的Locator,同時PE 4上生成End.M SID的Local SID表。

(2)     P 1收到PE 4發送的End.M SID和被保護的Locator的路由後,P 1為被保護Locator安裝一條Mirror FRR備份路徑,這條Mirror FRR備份路徑以PE 4作為下一跳。為了能夠保證流量不經過故障的PE 3且無環路抵達PE 4,通常需要計算一條TI-LFA FRR備份路徑,並將End.M SID壓入到TI-LFA FRR備份路徑的SID列表的最後。

圖1-19所示,PE 4上遠端SRv6 SID與VPN實例的映射表生成過程為:

(1)     PE 3收到CE 2發布的私網路由之後,封裝成VPNv4路由發送給PE 4,路由攜帶SRv6 SID、RT、RD信息。

(2)     PE 4從PE 3收到VPNv4路由後,獲取到該VPN實例對應的SRv6 SID。PE 4使用該SRv6 SID和End.M SID保護的Locator段進行最長匹配。如果匹配上,則該SRv6 SID為遠端SRv6 SID,在PE 4上生成遠端SRv6 SID與VPN實例的映射表。

4. 報文轉發

IP L3VPN/EVPN L3VPN/EVPN VPWS/EVPN VPLS over SRv6 TE Policy尾節點保護場景的報文轉發過程類似,以IP L3VPN over SRv6 TE Policy尾節點保護場景為例進行介紹。

圖1-19 SRv6 TE Policy尾節點保護轉發示意圖

 

圖1-19所示,正常情況下,流量經過路徑CE 1-PE 1-P 1-PE 3-CE 2轉發。當尾節點PE 3故障時,報文轉發過程為:

(1)     P 1上感知到下一跳PE 3不可達,切換為Mirror FRR路徑。本例中,P 1到PE 4的最優鏈路無需經過PE 3,無需封裝TI-LFA FRR的SID列表,P 1直接為報文封裝IPv6報文頭,將其目的地址設置為End.M SID,然後轉發給PE 4。

(2)     PE 4發現目的地址為本地End.M SID,根據End.M SID對應的轉發指令,剝掉外層IPv6報文頭,獲取到內層報文信息,再內層報文目的地址查詢遠端SRv6 SID與VPN實例的映射表,找到對應VPN實例1。然後,在PE 4上查詢該VPN實例1的路由表將流量轉發給CE 2。

1.6  SRv6 TE Policy在APN6網絡中的應用

1. APN6簡介

APN6(Application-aware IPv6 Networking,應用感知型IPv6網絡)是一種新型的網絡。APN6利用了IPv6報文的DOH(Destination Option Header,目的選項報文頭)來攜帶應用信息,從而使網絡可以識別應用,並且感知應用對網絡的需求,進而為不同的應用業務提供精準且差異化的網絡服務。

IETF定義了DOH中攜帶的應用信息包括以下兩類:

·     APN ID:應用的標識信息,網絡設備基於APN ID來區分不同應用的業務流。

·     APN Parameters:應用的需求參數信息,網絡設備通過APN Parameters感知該應用的業務流對網絡質量的需求,包括該應用要求的帶寬、時延、抖動、丟包率等需求。

在APN6網絡中應用SRv6 TE Policy、SRv6網絡切片、SRv6 SFC和iFiT等技術,設備可以根據報文的應用信息實現靈活選路,並且監控關鍵應用業務的實時網絡質量。關於APN6的詳細介紹,請參見“應用感知型網絡配置指導”中的“APN6”。

2. 基於APN ID轉發流量的工作原理

圖1-20所示,以IPv6 L3VPN over SRv6 TE Policy組網為例,介紹在SRv6 TE Policy場景中,基於APN ID轉發流量的工作原理。

圖1-20 基於APN ID轉發流量的工作原理示意圖

 

基於APN ID轉發流量的工作機製為:

(1)     設備A上創建SRv6 TE Policy組,在該SRv6 TE Policy組中創建多個Color屬性不同,但Endpoint地址相同SRv6 TE Policy。指定SRv6 TE Policy組中APN ID值與Color屬性的映射關係。

(2)     采用以下任意一種方式,均可實現引流到SRv6 TE Policy組:

¡     配置隧道策略,在隧道策略中將指定的目的地址與SRv6 TE Policy組綁定,從而實現去往該目的地址的流量引入到SRv6 TE Policy組轉發。

¡     配置隧道策略,在隧道策略中配置SRv6 TE Policy組為優先隧道,當路由的下一跳地址為SRv6 TE Policy組的目的節點地址時,流量優先引入到SRv6 TE Policy組中轉發。

¡     查找到Color和Endpoint地址與BGP路由的Color擴展團體屬性和下一跳地址匹配的SRv6 TE Policy組後,將該BGP路由迭代到SRv6 TE Policy組。

(3)     在SRv6 TE Policy組中指定轉發類型為基於APN ID轉發,並建立APN ID和轉發策略的映射關係,目前支持的映射關係包括:

¡     APN ID和Color屬性映射:設備A將攜帶指定APN ID的報文引入到Color屬性對應的SRv6 TE Policy中轉發。圖中,APN 10和SRv6 TE Policy 1建立映射關係,APN 20和SRv6 TE Policy 2建立映射關係。這樣,就形成了APN ID->Color->SRv6 TE Policy的映射關係,實現攜帶指定APN ID的報文通過指定SRv6 TE Policy轉發。

¡     APN ID和SRv6 BE轉發方式映射:設備將攜帶指定APN ID的報文通過SRv6 BE方式轉發。此時,設備A為報文封裝新的IPv6報文頭,IPv6報文頭的目的地址為SRv6 TE Policy組的尾節點為公網或私網分配的VPN SID,設備A通過查IPv6路由表將報文從出接口轉發。

說明

基於APN ID轉發報文時,與SRv6 BE方式轉發相比,SRv6 TE Policy轉發方式具有可控的路徑和更高的可靠性,並可以結合iFIT測量手段檢測端到端固定轉發路徑的網絡質量,因此,一般規劃時,將SRv6 TE Policy隧道作為關鍵應用業務的轉發方式。SRv6 BE方式轉發則作為非關鍵業務或者無SLA需求的業務的轉發方式。當指定SRv6 TE Policy隧道路徑故障時,SRv6 BE方式轉發可以用於流量逃生。

 


2 SRv6 TE Policy的配置

2.1  SRv6 TE Policy配置任務簡介

SRv6 TE Policy配置任務如下:

(1)     配置通過IGP擴展通告SID

需要在所有SRv6節點執行本配置,配置方法請參見“Segment Routing配置指導”中的“SRv6”。

(2)     配置SID列表

(3)     配置SRv6 TE Policy

a.     創建SRv6 TE Policy

b.     創建候選路徑並引用SID列表

c.     (可選)配置設備允許將SRv6 TE Policy的候選路徑信息上報BGP-LS

d.     (可選)關閉SRv6 TE Policy

(4)     (可選)配置BGP發布BGP IPv6 SR Policy路由

a.     開啟BGP發布BGP IPv6 SR Policy路由能力

b.     配置BGP引入BGP IPv6 SR Policy路由

c.     (可選)配置將BGP IPv6 SR Policy路由發布給EBGP對等體

d.     (可選)開啟Router ID過濾功能

e.     (可選)開啟BGP IPv6 SR Policy路由有效性檢查功能

f.     (可選)控製BGP IPv6 SR Policy路由的優選和發布

g.     (可選)維護BGP會話

(5)     配置SRv6 TE Policy引流

(6)     (可選)配置SRv6 TE Policy的封裝方式

(7)     (可選)配置SRv6 TE Policy高可靠性

¡     開啟SRv6 TE Policy的SBFD功能

¡     開啟SRv6 TE Policy的echo報文方式的BFD檢測功能

¡     開啟SRv6 TE Policy的熱備份功能

¡     配置SRv6 TE Policy的慢切慢刪功能

¡     配置SRv6 TE Policy中間節點保護功能

¡     配置SRv6 TE Policy尾節點保護功能

(8)     (可選)配置SRv6 TE Policy高級功能

¡     配置SRv6 TE Policy對TTL的處理模式

¡     配置SRv6 TE Policy CBTS

¡     配置SRv6 TE Policy限速功能

¡     開啟SRv6 TE Policy在Policy失效時丟棄流量的功能

¡     配置根據報文封裝進行路由優選

(9)     (可選)配置SRv6 TE Policy的流量轉發統計功能

2.2  配置SID列表

1. 功能簡介

為SRv6 TE Policy的候選路徑引用手工創建的SID列表前,需要先創建SID列表,並在列表中添加節點。在SID列表中添加節點後,報文轉發路徑上由近到遠的節點(從源節點的下一跳到目的節點)依次為SID列表中節點索引值從小到大的節點。例如,索引值最小的節點為源節點的下一跳。

為了減少SRH的開銷可以在SID列表中添加G-SID,使用4個32bits G-SID代替1個普通的128bits SRv6 SID。可以在SID列表中添加攜帶COC標識的128bits SRv6 SID,表示當前節點的下一節點為32bits G-SID。

有關G-SID的詳細介紹,請參見“Segment Routing配置指導”中的“SRv6”。

2. 配置限製和指導

在SID列表中添加G-SID時,需要保證:

·     G-SID的前一節點對應的SRv6 SID必須是End(COC32) SID或End.X(COC32) SID。

·     SID列表的最後一個節點對應的SRv6 SID不能攜帶COC標識。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟SRv6功能,並進入SRv6視圖。

segment-routing ipv6

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

(3)     創建SRv6-TE,並進入SRv6-TE視圖。

traffic-engineering

(4)     創建SID列表,並進入SID列表視圖。

segment-list segment-list-name

(5)     在SID列表中添加節點。

¡     添加普通128bits SRv6 SID。

index index-number ipv6 ipv6-address

¡     添加COC標識的128bits SRv6 SID,並指定下一個G-SID的公共前綴長度。

index index-number coc32 ipv6 ipv6-address common-prefix-length

2.3  創建SRv6 TE Policy

2.3.1  手工創建SRv6 TE Policy並配置相關屬性

1. 功能簡介

SRv6 TE Policy由BSID(入節點的SID)、Color和End-point(目的節點IP地址)標識。

BSID獲取方式如下:

·     手工配置。

·     動態獲取:SRv6 TE Policy下僅配置Color和End-point時,SRv6 TE Policy會自動申請一個BSID。

手工配置優先生效。

2. 配置限製和指導

BSID必須在SRv6-TE視圖下引用的Locator的靜態段範圍內。否則,BSID對應的SRv6 TE Policy不能用於報文轉發。有關Locator的詳細描述,請參見“Segment Routing配置指導”中的“SRv6”。

不同SRv6 TE Policy不能配置相同Color和目的節點地址。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6-TE視圖。

traffic-engineering

(4)     配置SRv6-TE引用Locator段。

srv6-policy locator locator-name

缺省情況下,SRv6-TE未引用Locator段。

(5)     進入SRv6 TE Policy視圖。

policy policy-name

(6)     手工配置BSID。

binding-sid ipv6 ipv6-address

(7)     配置Color屬性和目的節點地址。

color color-value end-point ipv6 ipv6-address

缺省情況下,未配置SRv6 TE Policy的Color屬性和目的節點地址。

2.3.2  通過ODN自動創建SRv6 TE Policy

1. 功能簡介

創建ODN模板後,如果設備接收到的BGP路由攜帶的Color擴展團體屬性與ODN模板的Color值相同,則以該BGP路由的下一跳地址作為SRv6 TE Policy的目的節點地址,以ODN模板的Color值作為SRv6 TE Policy的Color屬性,自動創建一個SRv6 TE Policy。

根據ODN模板創建SRv6 TE Policy時,可以利用IPv6地址前綴列表對BGP路由進行過濾。通過IPv6地址前綴列表過濾的BGP路由可以觸發生成SRv6 TE Policy,被IPv6地址前綴列表拒絕的BGP路由不能觸發建立SRv6 TE Policy。

ODN基於指定BGP路由自動創建SRv6 TE Policy後,如果該BGP路由被刪除,則自動創建的SRv6 TE Policy也會被立刻刪除,這樣將導致通過該BGP路由轉發的報文被丟棄。在BGP路由被刪除後,為了避免流量丟失,可以配置延遲刪除SRv6 TE Policy,待設備計算出新轉發路徑後,再將該SRv6 TE Policy刪除。

2. 配置限製和指導

通過ODN自動創建SRv6 TE Policy後,還需要配置SRv6 TE Policy的候選路徑,配置方法為:

·     手工創建Preference為100和200以外的其他候選路徑,並指定該候選路徑的SID列表。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     創建SRv6 TE,並進入SRv6 TE視圖。

traffic-engineering

(4)     配置SRv6 TE引用Locator段。

srv6-policy locator locator-name

缺省情況下,SRv6 TE未引用Locator段。

(5)     創建ODN模板,並進入SRv6 TE ODN視圖。

on-demand color color-value

(6)     (可選)配置ODN生成SRv6 TE Policy的觸發策略。

restrict prefix-list-name

缺省情況下,攜帶的Color擴展團體屬性與ODN模板的Color值相同的BGP路由均會觸發ODN功能生成SRv6 TE Policy。

2.4  配置設備允許將SRv6 TE Policy的候選路徑信息上報BGP-LS

1. 功能簡介

配置本功能後,設備將SRv6 TE Policy的候選路徑信息上報BGP-LS,通過BGP-LS路由對外發布,以滿足需要知道SRv6 TE Policy路徑信息的應用的需求。

2. 配置準備

配置本功能前,需要開啟本設備與對等體/對等體組交換LS信息的能力。有關該功能的詳細介紹,請參見“三層技術-IP路由配置指導”中的“BGP LS”。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6-TE視圖。

traffic-engineering

(4)     配置設備允許將SRv6 TE Policy的候選路徑信息上報BGP-LS。

distribute bgp-ls

缺省情況下,不允許將SRv6 TE Policy的候選路徑信息上報BGP-LS。

2.5  關閉SRv6 TE Policy

1. 功能簡介

通過本功能控製SRv6 TE Policy的開啟和關閉狀態,從而控製該SRv6 TE Policy是否可以轉發流量。

當設備存在多個SRv6 TE Policy時,可以配置本命令,關閉一些不需要的SRv6 TE Policy,避免影響流量轉發。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6-TE視圖。

traffic-engineering

(4)     進入SRv6 TE Policy視圖。

policy policy-name

(5)     關閉SRv6 TE Policy。

shutdown

缺省情況下,SRv6 TE Policy處於開啟狀態。

2.6  創建候選路徑並引用SID列表

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6-TE視圖。

traffic-engineering

(4)     進入SRv6 TE Policy視圖。

policy policy-name

(5)     創建SRv6 TE Policy候選路徑,並進入SRv6 TE Policy候選路徑視圖。

candidate-paths

(6)     配置候選路徑的優先級,並進入SRv6 TE Policy候選路徑優先級視圖。

preference preference-value

不同的優先級代表不同的候選路徑。

(7)     為指定優先級的SRv6 TE Policy候選路徑配置SID列表。

explicit segment-list segment-list-name [ weight weight-value ]

一條候選路徑可以引用多個SID列表。

2.7  配置BGP發布BGP IPv6 SR Policy路由

2.7.1  配置限製和指導

BGP相關命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP”。

2.7.2  開啟BGP發布BGP IPv6 SR Policy路由能力

(1)     進入係統視圖。

system-view

(2)     配置全局Router ID。

router id router-id

缺省情況下,未配置全局Router ID。

(3)     啟動BGP實例,並進入BGP實例視圖。

bgp as-number [ instance instance-name ]

缺省情況下,係統沒有運行BGP。

(4)     配置對等體。

peer { group-name | ipv6-address [ prefix-length ] } as-number as-number

(5)     創建BGP IPv6 SR Policy地址族,並進入BGP IPv6 SR Policy地址族視圖。

address-family ipv6 sr-policy

(6)     使能本地路由器與指定對等體/對等體組交換BGP IPv6 SR Policy路由的能力。

peer { group-name | ipv6-address [ prefix-length ] } enable

缺省情況下,本地路由器不能與對等體/對等體組交換BGP IPv6 SR Policy路由。

2.7.3  配置BGP引入BGP IPv6 SR Policy路由

1. 功能簡介

通過配置本功能,設備可以將本地的BGP IPv6 SR Policy路由引入到BGP路由表中,並將BGP IPv6 SR Policy路由發布給IBGP對等體,以便對等體根據SRv6 TE Policy轉發流量。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP IPv6 SR Policy地址族視圖。

address-family ipv6 sr-policy

(4)     將BGP IPv6 SR Policy路由引入到BGP路由表中。

import-route sr-policy

缺省情況下,BGP不會引入BGP IPv6 SR Policy路由。

2.7.4  配置將BGP IPv6 SR Policy路由發布給EBGP對等體

1. 功能簡介

缺省情況下,BGP IPv6 SR Policy路由隻能在IBGP對等體之間發布。如果需要將BGP IPv6 SR Policy路由發布給EBGP對等體,則需要執行本配置。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP IPv6 SR Policy地址族視圖。

address-family ipv6 sr-policy

(4)     配置將BGP IPv6 SR Policy路由發布給EBGP對等體。

advertise ebgp enable

缺省情況下,BGP IPv6 SR Policy路由不發布給EBGP對等體。

2.7.5  開啟Router ID過濾功能

1. 功能簡介

當網絡中存在大量的BGP IPv6 SR Policy路由,而設備僅希望處理部分路由時,可以通過本配置過濾接收到的BGP IPv6 SR Policy路由。

開啟Router ID過濾功能後,設備將檢查接收到的BGP IPv6 SR Policy路由中攜帶的Route Target屬性。如果該屬性中包含本地設備的Router ID,則接收該路由,並生成對應的SRv6 TE Policy;否則:

·     執行本命令時,如果未指定bgp-rib-only參數,則丟棄該路由。

·     執行本命令時,如果指定bgp-rib-only參數,則僅接收該路由,不生成對應的SRv6 TE Policy。

當控製器需要通過多台中間設備將BGP IPv6 SR Policy路由發布到源節點時,控製器與源節點之間的中間設備僅需要轉發BGP IPv6 SR Policy路由,不需要生成SRv6 TE Policy,以節省中間設備的資源。這種情況下,可以在中間設備上配置router-id filter bgp-rib-only命令,當中間設備收到BGP IPv6 SR Policy路由後,即使該路由攜帶的Route Target屬性中不包含本地設備的Router ID,也不會丟棄該路由,仍對該路由進行轉發。同時,也不會在中間設備上生成SRv6 TE Policy,避免影響報文轉發。

2. 配置限製和指導

為了正確使用本功能,需要通過路由策略等方式為BGP IPv6 SR Policy路由合理添加Route Target屬性。否則,可能會導致錯誤地學習或丟棄BGP IPv6 SR Policy路由。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP IPv6 SR Policy地址族視圖。

address-family ipv6 sr-policy

(4)     開啟Router ID過濾功能。

router-id filter [ bgp-rib-only ]

缺省情況下,Router ID過濾功能處於關閉狀態。

2.7.6  開啟BGP IPv6 SR Policy路由有效性檢查功能

1. 功能簡介

開啟本功能後,設備會對BGP IPv6 SR Policy路由進行檢查。如果BGP IPv6 SR Policy路由中既沒有IPv4地址格式的RT擴展團體屬性,又沒有NO_ADVERTISE團體屬性,則該路由無效,不會被優選。

在控製器與RR(Router Reflector,路由反射器)建立BGP鄰居關係,RR再與多個不同SRv6 TE Policy的源節點建立BGP鄰居關係的組網場景中,可以在RR上配置本功能,RR將檢查控製器下發的多條BGP IPv6 SR Policy路由是否攜帶IPv4地址格式的RT屬性或者NO_ADVERTISE團體屬性,如果攜帶上述屬性之一,則RR接收這些路由,並將不帶NO_ADVERTISE的路由反射給多個不同SRv6 TE Policy的源節點。在不同SRv6 TE Policy的源節點可以配置router-id filter命令來開啟Router ID過濾功能,源節點將本地的Router ID與BGP IPv6 SR Policy路由RT屬性中的IPv4地址進行對比。如果相同,則接收該路由,否則,丟棄該路由。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP IPv6 SR Policy地址族視圖。

address-family ipv6 sr-policy

(4)     開啟BGP IPv6 SR Policy路由有效性檢查功能。

validation-check enable

缺省情況下,BGP IPv6 SR Policy路由有效性檢查功能處於關閉狀態,即設備不會檢查對等體/對等體組接收到的BGP IPv6 SR Policy路由的有效性。

 

2.7.7  控製BGP IPv6 SR Policy路由的優選和發布

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP IPv6 SR Policy地址族視圖。

address-family ipv6 sr-policy

(4)     配置向對等體/對等體組發布路由時,將下一跳屬性修改為自身的地址。

peer { group-name | ipv6-address [ prefix-length ] } next-hop-local

缺省情況下,向EBGP對等體/對等體組發布路由時,將下一跳屬性修改為自身的地址;向IBGP對等體/對等體組發布路由時,不修改下一跳屬性。

(5)     配置對於從對等體/對等體組接收的BGP消息,允許本地AS號在該消息的AS_PATH屬性中出現,並配置允許出現的次數。

peer { group-name | ipv6-address [ prefix-length ] } allow-as-loop [ number ]

缺省情況下,不允許本地AS號在接收消息的AS_PATH屬性中出現。

(6)     為從對等體/對等體組接收的路由分配首選值。

peer { group-name | ipv6-address [ prefix-length ] } preferred-value value

缺省情況下,從對等體/對等體組接收的路由的首選值為0。

(7)     配置允許從對等體/對等體組接收的路由的最大數量。

peer { group-name | ipv6-address [ prefix-length ] } route-limit prefix-number [ { alert-only | discard | reconnect reconnect-time } | percentage-value ] *

缺省情況下,不限製從對等體/對等體組接收的路由數量。

(8)     配置本機作為路由反射器,對等體/對等體組作為路由反射器的客戶機。

peer { group-name | ipv6-address [ prefix-length ] } reflect-client

缺省情況下,沒有配置路由反射器及其客戶機。

(9)     為對等體/對等體組設置基於IPv6地址前綴列表的路由發布和接收過濾策略。

peer { group-name | ipv6-address [ prefix-length ] } prefix-list ipv6-prefix-list-name { export | import }

缺省情況下,不對發布和接收的路由信息進行過濾。

(10)     對來自對等體/對等體組的路由或發布給對等體/對等體組的路由應用路由策略。

peer { group-name | ipv6-address [ prefix-length ] } route-policy route-policy-name { export | import }

缺省情況下,沒有為對等體/對等體組指定路由策略。

(11)     配置向對等體/對等體組發布團體屬性。

peer { group-name | ipv6-address [ prefix-length ] } advertise-community

缺省情況下,不向對等體/對等體組發布團體屬性。

(12)     配置向對等體/對等體組發布擴展團體屬性。

peer { group-name | ipv6-address [ prefix-length ] } advertise-ext-community

缺省情況下,不向對等體/對等體組發布擴展團體屬性。

(13)     為指定對等體/對等體組設置高優先級,路由選路時優選從該對等體/對等體組學習到的路由。

peer { group-name | ipv6-address [ prefix-length ] } high-priority [ preferred ]

缺省情況下,BGP不為指定對等體/對等體組設置高優先級,選路規則不發生變化。

(14)     配置BGP路由的下一跳地址類型影響路由優選。

bestroute nexthop-priority { ipv4 | ipv6 } [ preferred ]

缺省情況下,BGP優選下一跳地址為IPv4地址的路由。

2.7.8  維護BGP會話

請在用戶視圖下執行如下命令,複位或軟複位BGP會話。

·     複位BGP IPv6 SR Policy地址族下的BGP會話。

reset bgp [ instance instance-name ] { as-number | ipv6-address [ prefix-length ] | all | external | group group-name | internal } ipv6 sr-policy

·     手工對BGP IPv6 SR Policy地址族下的BGP會話進行軟複位。

refresh bgp [ instance instance-name ] { ipv6-address [ prefix-length ] | all | external | group group-name | internal } { export | import } ipv6 sr-policy

2.8  配置SRv6 TE Policy引流

2.8.1  配置SRv6-TE的引流方式

1. 配置限製和指導

在L2VPN組網環境中,本功能不生效。

2. 配置準備

采用基於Color的引流方式時,需要通過路由策略等方式為IPv6單播路由添加Color擴展團體屬性。路由策略的配置方法請參見“三層技術-IP路由配置指導”中的“路由策略”。

采用基於隧道策略的引流方式時,需要配置綁定隧道、首選隧道策略或負載分擔隧道策略,詳細配置方法請參見“MPLS配置指導”中的“隧道策略”。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     配置引流到SRv6 TE Policy的方式。

sr-policy steering { disable | policy-based }

缺省情況下,基於Color將數據報文引流到SRv6 TE Policy。

指定policy-based參數後,按照基於隧道綁定策略進行引流->基於Color引流->基於隧道負載分擔策略進行引流的優先級順序引流方式。

2.8.2  配置基於Color引流

1. 功能簡介

基於Color引流到SRv6 TE Policy時,如果設備接收到的路由未攜帶Color擴展團體屬性,可以通過如下兩種方式為路由指定Color擴展團體屬性:

·     通過配置路由策略為路由添加Color值。

·     為路由指定缺省Color值。

路由優先采用路由策略中指定的Color值。

2. 配置限製和指導

通過缺省Color值引流時,Color值僅在SRv6 TE Policy隧道引流時生效,路由向外發布時不生效。通過缺省Color值引流隻對從遠端PE學習到的VPN或公網實例路由生效。

3. 通過配置路由策略為路由添加Color屬性

(1)     進入係統視圖。

system-view

(2)     進入路由策略視圖。

route-policy route-policy-name { deny | permit } node node-number

(3)     配置BGP路由的Color擴展團體屬性。

apply extcommunity color color [ additive ]

缺省情況下,未配置BGP路由屬性。

(4)     退回係統視圖。

quit

(5)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(6)     進入BGP IPv4單播地址族視圖、BGP IPv6單播地址族視圖、BGP VPNv4地址族視圖、BGP VPNv6地址族視圖或BGP EVPN地址族視圖。

¡     進入BGP IPv4單播地址族視圖。

address-family ipv4 [ unicast ]

¡     進入BGP IPv6單播地址族視圖。

address-family ipv6 [ unicast ]

¡     進入BGP VPNv4地址族視圖。

address-family vpnv4

¡     進入BGP VPNv6地址族視圖。

address-family vpnv6

¡     進入BGP EVPN地址族視圖。

address-family l2vpn evpn

(7)     對來自對等體/對等體組的路由或發布給對等體/對等體組的路由應用路由策略。

peer { group-name | ipv6-address [ prefix-length ] } route-policy route-policy-name { export | import }

缺省情況下,沒有為對等體/對等體組指定路由策略。

4. 為VPN路由配置缺省Color值

(1)     進入係統視圖。

system-view

(2)     進入VPN實例視圖。

ip vpn-instance vpn-instance-name

(3)     進入VPN實例IPv4地址族視圖或VPN實例IPv6地址族視圖。

¡     進入VPN實例IPv4地址族視圖。

address-family ipv4

¡     進入VPN實例IPv6地址族視圖。

address-family ipv6

(4)     配置L3VPN業務迭代SRv6 TE Policy隧道時使用指定的缺省Color值。

default-color color-value [ evpn ]

缺省情況下,未指定L3VPN業務迭代SRv6 TE Policy隧道時使用的缺省Color值。

 

5. 為公網路由配置缺省Color值

(1)     進入係統視圖。

system-view

(2)     進入公網實例視圖。

ip public-instance

(3)     進入公網實例IPv4地址族視圖或公網實例IPv6地址族視圖。

¡     進入公網實例IPv4地址族視圖。

address-family ipv4

¡     進入公網實例IPv6地址族視圖。

address-family ipv6

(4)     配置公網業務迭代SRv6 TE Policy隧道時使用指定的缺省Color值。

default-color color-value

缺省情況下,未指定公網路由迭代SRv6 TE Policy隧道時使用的缺省Color值。

 

2.8.3  配置基於隧道策略引流

1. 創建隧道策略

(1)     進入係統視圖。

system-view

(2)     創建隧道策略,並進入隧道策略視圖。

tunnel-policy tunnel-policy-name [ default ]

(3)     配置隧道策略。請至少選擇其中一項進行配置。

¡     配置綁定的隧道類型為SRv6 TE Policy隧道。

binding-destination dest-ipv6-address srv6-policy { name policy-name | end-point ipv6 ipv6-address color color-value } [ ignore-destination-check ] [ down-switch ]

缺省情況下,未配置綁定隧道。

¡     配置指定的SRv6 TE Policy隧道為首選隧道。

preferred-path srv6-policy name sr-policy-name

缺省情況下,未配置首選隧道。

¡     配置SRv6 TE Policy隧道的負載分擔策略。

select-seq srv6-policy load-balance-number number

缺省情況下,未配置負載分擔策略。

本命令的詳細描述,請參見“MPLS命令參考”中的“隧道策略”。

2. 配置VPN實例引用隧道策略

(1)     進入係統視圖。

system-view

(2)     進入VPN實例視圖、VPN實例IPv4地址族視圖或VPN實例IPv6地址族視圖。

¡     進入VPN實例視圖。

ip vpn-instance vpn-instance-name

¡     請依次執行以下命令進入VPN實例IPv4地址族視圖。

ip vpn-instance vpn-instance-name

address-family ipv4

¡     請依次執行以下命令進入VPN實例IPv6地址族視圖。

ip vpn-instance vpn-instance-name

address-family ipv6

(3)     配置VPN實例的隧道策略。

tnl-policy tunnel-policy-name

缺省情況下,未配置VPN實例的隧道策略。

本命令的詳細描述,請參見“MPLS命令參考”中的“MPLS L3VPN”。

2.8.4  配置基於DSCP引流

1. 功能簡介

SRv6 TE Policy組中不同SRv6 TE Policy的Color屬性不同。配置Color與DSCP的映射關係後,在一個SRv6 TE Policy組內,可以形成DSCP->Color->SRv6 TE Policy的映射關係,從而實現通過IP報文的DSCP值將報文引流到指定的SRv6 TE Policy。

流量引入SRv6 TE Policy組後,根據報文攜帶的DSCP值以及color match dscp命令和drop-upon-mismatch enable命令的配置情況,按如下順序依次查找匹配關係,若查找到和報文匹配的轉發策略,且該轉發策略有效,則使用該轉發策略來轉發報文,若未查找到和報文匹配的轉發策略或該轉發策略無效,則繼續下一步查找:

(1)     查找color match dscp命令為本地址族指定的DSCP和轉發策略的映射關係,根據匹配的SRv6 TE Policy轉發流量。

(2)     查找color match dscp default命令為本地址族指定的缺省SRv6 TE Policy,根據缺省的SRv6 TE Policy轉發流量。

(3)     查找color match dscp default命令為另一地址族指定的缺省SRv6 TE Policy,根據缺省的SRv6 TE Policy轉發流量。

(4)     根據drop-upon-mismatch enable命令的配置情況,確定流量處理方式:

¡     如果配置了drop-upon-mismatch enable命令,則直接丟棄報文。

¡     如果未配置drop-upon-mismatch enable命令,但SRv6 TE Policy組內配置了本地址族DSCP和Color的映射關係,則查找DSCP值最小的映射關係,最小DSCP對應的SRv6 TE Policy有效,采用該映射關係中指定的SRv6 TE Policy轉發報文。如果不存在本地址族DSCP和Color的映射關係,則查找另一地址族下配置的Color和DSCP映射關係,且最小DSCP對應的SRv6 TE Policy有效,則采用該SRv6 TE Policy轉發。

2. 配置限製和指導

隻有SRv6 TE Policy有效時,才能將其Color值與DSCP關聯。

IPv4和IPv6地址族可以分別指定Color與DSCP的映射關係,但是對於同一個地址族的報文,每個DSCP值僅支持關聯一個Color值。

可以通過color match dscp default命令來配置某個SRv6 TE Policy作為指定地址族報文的缺省SRv6 TE Policy。當SRv6 TE Policy組內某個DSCP沒有關聯到SRv6 TE Policy時,可以使用該缺省SRv6 TE Policy轉發報文。一個SRv6 TE Policy組內,一個地址族隻能有一個缺省SRv6 TE Policy。

3. 手工創建SRv6 TE Policy組

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6-TE視圖。

traffic-engineering

(4)     創建SRv6 TE Policy組,並進入SRv6 TE Policy組視圖。

policy-group group-id

(5)     配置SRv6 TE Policy組的目的節點地址。

end-point ipv6 ipv6-address

缺省情況下,未配置SRv6 TE Policy組的目的節點地址。

SRv6 TE Policy組中每個Color對應的SRv6 TE Policy的目的節點地址必須與該SRv6 TE Policy組的目的節點地址相同。

(6)     (可選)配置SRv6 TE Policy組的Color值。

group-color color-value

缺省情況下,未配置SRv6 TE Policy組的Color值。

(7)     (可選)配置SRv6 TE Policy組的BSID。

binding-sid ipv6 ipv6-address

缺省情況下,SRv6 TE Policy組不存在BSID。

(8)     (可選)開啟SRv6 TE Policy組不匹配引流策略時丟棄流量的功能。

drop-upon-mismatch enable

缺省情況下,SRv6 TE Policy組未匹配引流策略時丟棄流量功能處於關閉狀態。

(9)     配置SRv6 TE Policy組的Color和DSCP映射關係。

color color-value match dscp { ipv4 | ipv6 } dscp-value-list

color color-value match dscp { ipv4 | ipv6 } default

缺省情況下,未配置SRv6 TE Policy組的Color和DSCP映射關係。

未配置Color和DSCP映射關係時,無法根據報文的DSCP值進行引流。

(10)     退回係統視圖。

quit

(11)     創建隧道策略,並進入隧道策略視圖。

tunnel-policy tunnel-policy-name [ default ]

(12)     配置隧道綁定策略,指定目的地址與SRv6 TE Policy組綁定。

binding-destination dest-ipv6-address srv6-policy group srv6-policy-group-id [ ignore-destination-check ] [ down-switch ]

缺省情況下,未將目的IP地址與任何隧道綁定。

本命令的詳細描述,請參見“MPLS命令參考”中的“隧道策略”。

4. 配置通過ODN自動創建SRv6 TE Policy組

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6 TE視圖。

traffic-engineering

(4)     創建SRv6 TE Policy組的ODN模板,並進入SRv6 TE ODN Policy組視圖。

on-demand-group color color-value

(5)     (可選)配置SRv6 TE Policy組ODN模板的描述信息。

description text

缺省情況下,未配置SRv6 TE Policy組ODN模板的描述信息。

(6)     (可選)開啟SRv6 TE Policy組不匹配引流策略時丟棄流量的功能。

drop-upon-mismatch enable

缺省情況下,SRv6 TE Policy組未匹配引流策略時丟棄流量功能處於關閉狀態。

(7)     創建DSCP轉發類型,並進入DSCP轉發類型視圖。

forward-type dscp

(8)     配置SRv6 TE Policy組的ODN模板中Color和DSCP的映射關係。

color color-value match dscp { ipv4 | ipv6 } dscp-value-list

color color-value match dscp { ipv4 | ipv6 } default

缺省情況下,未配置SRv6 TE Policy組的ODN模板中Color和DSCP映射關係。

未配置Color和DSCP映射關係時,無法根據報文的DSCP值進行引流。

5. 引流到SRv6 TE Policy組

(1)     進入係統視圖。

system-view

(2)     配置引流到SRv6 TE Policy組。

¡     依次執行以下命令,配置隧道策略引流到SRv6 TE Policy組。

創建隧道策略,並進入隧道策略視圖。

tunnel-policy tunnel-policy-name [ default ]

配置隧道綁定策略,指定目的地址與SRv6 TE Policy組綁定。

binding-destination dest-ipv6-address srv6-policy group srv6-policy-group-id [ ignore-destination-check ] [ down-switch ]

缺省情況下,未將目的IP地址與任何隧道綁定。

本命令的詳細描述,請參見“MPLS命令參考”中的“隧道策略”。

¡     配置通過Color屬性引流到SRv6 TE Policy組。

請參見“2.8.2  配置基於Color引流”。

在路由策略中配置BGP路由的Color擴展團體屬性時,指定的Color值與SRv6 TE Policy組的創建方式有關:

-     對於手工創建的SRv6 TE Policy組,指定的Color值必須與該SRv6 TE Policy組的Color值相同。

-     對於通過ODN自動創建SRv6 TE Policy組,指定的Color值必須與ODN模板的Color值相同。

2.8.5  配置基於APN ID引流

1. 功能簡介

SRv6 TE Policy組中不同SRv6 TE Policy的Color屬性不同。當業務流量被引入到SRv6 TE Policy組中轉發時,配置本功能後,設備可以根據IPv6報文的APN ID標識,將流量引入到指定Color對應的SRv6 TE Policy中轉發,或者采用SRv6 BE方式轉發報文。

2. 配置限製和指導

隻有SRv6 TE Policy有效時,才能建立APN ID與SRv6 TE Policy的映射關係,流量才可以通過該SRv6 TE Policy轉發。

隻有SRv6 BE轉發方式有效,即設備IPv6路由表中存在目的為SRv6 TE Policy組的尾節點為公網或私網路由分配的VPN SID時,才能建立APN ID與SRv6 BE的映射關係,流量才可以通過SRv6 BE轉發。

一個SRv6 TE Policy組內,同一個APN ID僅能關聯一個Color對應的SRv6 TE Policy或者僅能關聯SRv6 BE轉發方式。

當流量引入SRv6 TE Policy組後,設備收到的報文未攜帶APN ID、報文的APN ID未匹配任何映射關係或者報文的APN ID匹配的SRv6 TE Policy/SRv6 BE無效時,依次按照如下優選順序選擇報文轉發方式:

(1)     如果已執行default match命令配置了通過缺省的SRv6 TE Policy轉發報文,且該SRv6 TE Policy有效,則優先采用該SRv6 TE Policy轉發報文。

(2)     如果已執行default match命令配置了通過SRv6 BE轉發報文,且SRv6 BE有效,則采用SRv6 BE方式轉發報文。

(3)     未配置default match命令,或者default match命令配置的轉發策略無效時,根據drop-upon-mismatch enable命令的配置情況,流量處理方式為:

¡     如果配置了drop-upon-mismatch enable命令,則流量將被直接丟棄。

¡     如果未配置drop-upon-mismatch enable命令,但通過本命令配置了多個APN ID和SRv6 TE Policy或SRv6 BE的映射關係,則查找其中SRv6 TE Policy或SRv6 BE有效且索引值最小的映射關係,采用該映射關係中指定的SRv6 TE Policy或SRv6 BE轉發報文。

3. 手工創建SRv6 TE Policy組並配置APN ID轉發類型

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6-TE視圖。

traffic-engineering

(4)     創建SRv6 TE Policy組,並進入SRv6 TE Policy組視圖。

policy-group group-id

(5)     配置SRv6 TE Policy組的目的節點地址。

end-point ipv6 ipv6-address

缺省情況下,未配置SRv6 TE Policy組的目的節點地址。

SRv6 TE Policy組中每個Color對應的SRv6 TE Policy的目的節點地址必須與該SRv6 TE Policy組的目的節點地址相同。

(6)     (可選)配置SRv6 TE Policy組的Color值。

group-color color-value

缺省情況下,未配置SRv6 TE Policy組的Color值。

(7)     (可選)配置SRv6 TE Policy組的BSID。

binding-sid ipv6 ipv6-address

缺省情況下,SRv6 TE Policy組不存在BSID。

(8)     (可選)開啟SRv6 TE Policy組不匹配引流策略時丟棄流量的功能。

drop-upon-mismatch enable

缺省情況下,SRv6 TE Policy組未匹配引流策略時丟棄流量功能處於關閉狀態。

(9)     配置SRv6 TE Policy組的轉發類型為APN ID。

forward-type apn-id

缺省情況下,SRv6 TE Policy組基於DSCP引流。

(10)     配置指定APN ID和轉發策略的映射關係。

index index-value apn-id instance instance-name match { best-effort | srv6-policy color color-value }

缺省情況下,未配置APN ID和轉發策略的映射關係。

(11)     (可選)配置根據APN ID轉發的缺省轉發策略。

default match best-effort

default match srv6-policy color color-value

缺省情況下,未配置根據APN ID轉發的缺省轉發策略。

可以同時指定SRv6 TE Policy和SRv6 BE方式作為缺省轉發策略,但優先使用SRv6 TE Policy轉發報文。

4. 配置通過ODN自動創建SRv6 TE Policy組並配置APN ID轉發類型

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6 TE視圖。

traffic-engineering

(4)     創建SRv6 TE Policy組的ODN模板,並進入SRv6 TE ODN Policy組視圖。

on-demand-group color color-value

(5)     (可選)配置SRv6 TE Policy組ODN模板的描述信息。

description text

缺省情況下,未配置SRv6 TE Policy組ODN模板的描述信息。

(6)     (可選)開啟SRv6 TE Policy組不匹配引流策略時丟棄流量的功能。

drop-upon-mismatch enable

缺省情況下,SRv6 TE Policy組未匹配引流策略時丟棄流量功能處於關閉狀態。

(7)     創建APN ID轉發類型,並進入APN ID轉發類型視圖。

forward-type apn-id

(8)     配置指定APN ID和轉發策略的映射關係。

index index-value apn-id instance instance-name match { best-effort | srv6-policy color color-value }

缺省情況下,未配置APN ID和轉發策略的映射關係。

(9)     (可選)配置根據APN ID轉發的缺省轉發策略。

default match best-effort

default match srv6-policy color color-value

缺省情況下,未配置根據APN ID轉發的缺省轉發策略。

可以同時指定SRv6 TE Policy和SRv6 BE方式作為缺省轉發策略,但優先使用SRv6 TE Policy轉發報文。

5. 引流到SRv6 TE Policy組

(1)     進入係統視圖。

system-view

(2)     配置引流到SRv6 TE Policy組。

¡     依次執行以下命令,配置隧道策略引流到SRv6 TE Policy組。

創建隧道策略,並進入隧道策略視圖。

tunnel-policy tunnel-policy-name [ default ]

配置隧道綁定策略,指定目的地址與SRv6 TE Policy組綁定。

binding-destination dest-ipv6-address srv6-policy group srv6-policy-group-id [ ignore-destination-check ] [ down-switch ]

缺省情況下,未將目的IP地址與任何隧道綁定。

本命令的詳細描述,請參見“MPLS命令參考”中的“隧道策略”。

¡     配置通過Color屬性引流到SRv6 TE Policy組。

請參見“2.8.2  配置基於Color引流

在路由策略中配置BGP路由的Color擴展團體屬性時,指定的Color值必須與ODN模板的Color值相同。

 

2.8.6  配置基於靜態路由引流

1. 配置限製和指導

在公網IP over SRv6場景中,配置本功能後,需要在公網實例IPv4/IPv6地址族下使用route-replicate命令將指定VPN實例的路由信息引入到公網中,從而使公網獲取指定VPN的路由,以便轉發用戶流量。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置靜態路由迭代到指定SRv6 TE Policy。

¡     配置IPv4靜態路由迭代到指定SRv6 TE Policy。

(公網)

ip route-static dest-address { mask-length | mask } srv6-policy { color color-value end-point ipv6 ipv6-address | name policy-name } [ preference preference ] [ tag tag-value ] [ description text ]

(VPN網絡)

ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } srv6-policy { color color-value end-point ipv6 ipv6-address | name policy-name } [ preference preference ] [ tag tag-value ] [ description text ]

缺省情況下,未配置IPv4靜態路由。

本命令的詳細描述,請參見“三層技術-IP路由命令參考”中的“靜態路由”。

¡     配置IPv6靜態路由迭代到指定SRv6 TE Policy。

(公網)

ipv6 route-static ipv6-address prefix-length srv6-policy { color color-value end-point ipv6 ipv6-address | name policy-name } [ preference preference ] [ tag tag-value ] [ description text ]

(VPN網絡)

ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length srv6-policy { color color-value end-point ipv6 ipv6-address | name policy-name } [ preference preference ] [ tag tag-value ] [ description text ]

缺省情況下,未配置IPv6靜態路由。

本命令的詳細描述,請參見“三層技術-IP路由命令參考”中的“IPv6靜態路由”。

2.8.7  配置基於QoS策略引流

1. 功能簡介

當網絡中某些IPv6公網流量發生擁塞時,可以通過流分類進行識別,然後將流量重定向到SRv6 TE Policy中,解決擁塞問題。IPv6公網流量重定向到SRv6 TE Policy的重定向因子是Endpoint + Color,如果重定向規則匹配不成功,則流分類失效,流量進行普通IPv6轉發。如果SRv6 TE Policy出現故障,流分類同樣失效,流量也進行普通IPv6轉發。

2. 配置限製和指導

QoS策略相關命令的詳細介紹,請參見“ACL和QoS命令參考”中的“QoS策略”。

3. 配置步驟

(1)     定義類

a.     進入係統視圖。

system-view

b.     創建一個類,並進入類視圖。

traffic classifier classifier-name [ operator { and | or } ]

c.     定義匹配數據包的規則。

if-match [ not ] match-criteria

缺省情況下,未定義匹配數據包的規則。

具體規則的介紹,請參見“QoS命令”中的if-match命令。

(2)     定義流行為

a.     創建一個流行為,並進入流行為視圖。

traffic behavior behavior-name

b.     配置流量重定向到SRv6 TE Policy。

redirect srv6-policy endpoint color [ { sid | vpnsid } sid ]

缺省情況下,未配置流量重定向動作。

(3)     定義並應用策略

a.     創建一個策略,並進入策略視圖。

qos policy policy-name

b.     在策略中為類指定采用的流行為。

classifier classifier-name behavior behavior-name

缺省情況下,未指定類對應的流行為。

c.     退回係統視圖。

quit

d.     應用QoS策略。

具體配置請參見“ACL和QoS配置指導”中的“QoS策略”。

缺省情況下,未應用QoS策略。

2.8.8  配置基於Flowspec引流

1. 創建並激活IPv6 Flowspec路由

(1)     進入係統視圖。

system-view

(2)     創建IPv6 Flowspec路由。

flow-route flowroute-name ipv6

(3)     定義Flowspec路由的報文匹配規則。

if-match match-criteria

(4)     配置流量重定向到SRv6 TE Policy動作。

apply redirect next-hop ipv6-address color color [ sid sid-value ]

缺省情況下,Flowspec路由中未配置流量動作。

(5)     激活Flowspec路由中的匹配規則及流量動作。

commit

缺省情況下,Flowspec路由下配置的匹配規則及流量動作未生效。

2. 在公網中應用IPv6 Flowspec路由

(1)     進入係統視圖。

system-view

(2)     進入Flowspec視圖。

flowspec

(3)     創建Flowspec IPv6地址族。

address-family ipv6

(4)     應用已創建的普通IPv6 Flowspec路由。

flow-route flowroute-name

缺省情況下,公網中未應用IPv6 Flowspec路由。

3. 在VPN實例中應用IPv6 Flowspec路由

(1)     進入係統視圖。

system-view

(2)     配置VPN實例。

a.     創建VPN實例,並進入VPN實例視圖。

ip vpn-instance vpn-instance-name

b.     配置VPN實例的RD。

route-distinguisher route-distinguisher

缺省情況下,未配置VPN實例的RD。

c.     配置VPN實例的Route Target。

vpn-target { vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ] }

缺省情況下,未配置VPN實例的Route Target。

關於ip vpn-instanceroute-distinguishervpn-target命令的詳細介紹,請參見“MPLS命令參考”中的“MPLS L3VPN”。

(3)     進入VPN實例IPv6 Flowspec地址族視圖。

address-family ipv6 flowspec

(4)     配置VPN實例下IPv6 Flowspec地址族的RD。

route-distinguisher route-distinguisher

缺省情況下,未配置VPN實例下IPv6 Flowspec地址族的RD。

(5)     配置VPN實例下IPv6 Flowspec地址族的VPN target。

vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]

缺省情況下,未配置VPN實例下IPv6 Flowspec地址族的VPN target。

VPN實例IPv6 Flowspec地址族的VPN target必須與之前配置的VPN實例的Route target保持一致。

(6)     依次執行以下命令退回係統視圖。

a.     quit

b.     quit

(7)     進入Flowspec視圖。

flowspec

(8)     創建Flowspec IPv6 VPN實例地址族並關聯已創建的VPN實例。

address-family ipv6 vpn-instance vpn-instance-name

(9)     應用已創建的IPv6 Flowspec路由。

flow-route flowroute-name

缺省情況下,VPN實例中未應用IPv6 Flowspec路由。

4. 配置BGP發布IPv6 Flowspec路由

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP IPv6 Flowspec地址族視圖、BGP-VPN IPv6 Flowspec地址族視圖或BGP VPNv6 Flowspec地址族視圖。

¡     進入BGP IPv6 Flowspec地址族視圖發布公網IPv6 Flowspec路由。

address-family ipv6 flowspec

¡     依次執行以下命令進入BGP-VPN IPv6 Flowspec地址族視圖發布私網IPv6 Flowspec路由。

ip vpn-instance vpn-instance-name

address-family ipv6 flowspec

¡     進入BGP VPNv6 Flowspec地址族視圖發布VPNv6 Flowspec路由。

address-family vpnv6 flowspec

(4)     允許BGP Flowspec鄰居間交換路由信息。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } enable

缺省情況下,BGP Flowspec鄰居間不能交換路由信息。

2.8.9  配置SRv6 TE Policy自動引流功能

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6-TE視圖。

traffic-engineering

(4)     進入SRv6 TE Policy視圖。

policy policy-name

(5)     開啟SRv6 TE Policy的自動引流功能。

autoroute enable [ isis | ospfv3 ]

缺省情況下,SRv6 TE Policy的自動引流功能處於關閉狀態。

(6)     配置SRv6 TE Policy隧道的度量值。

autoroute metric { absolute value | relative value }

缺省情況下,SRv6 TE Policy隧道的度量值等於其IGP度量值。

(7)     退回係統視圖。

quit

quit

quit

(8)     配置SRv6 TE Policy隧道參與IGP路由計算。

¡     依次執行以下命令,開啟IS-IS的SRv6 TE Policy自動引流功能。

isis [ process-id ] [ vpn-instance vpn-instance-name ]

address-family ipv6 [ unicast ]

srv6-policy autoroute enable [ level-1 | level-2 ]

缺省情況下,SRv6 TE Policy自動引流功能處於關閉狀態。

2.9  配置SRv6 TE Policy的封裝方式

1. 功能簡介

報文通過SRv6 TE Policy轉發時,需要為報文封裝SRv6 TE Policy的SID列表,封裝模式包括:

·     Encaps方式:普通封裝模式。在原始報文的基礎上封裝新的IPv6頭和SRH,且SRv6 TE Policy的SID列表中的所有SID均封裝在SRH中。

¡     新IPv6頭的目的IPv6地址為SRv6 TE Policy的SID列表中的第一個IPv6地址,源IPv6地址為encapsulation source-address命令指定的IPv6地址。

¡     SRH包含SRv6 TE Policy的SID列表中所有SID信息。

·     Encaps.Red方式:普通封裝的簡化模式。在原始報文的基礎上封裝新的IPv6頭和SRH,且SRv6 TE Policy的SID列表中的第一個SID不封裝在SRH中,其他SID封裝到SRH中,以便減少SRH的長度。

¡     新IPv6頭的目的IPv6地址為SRv6 TE Policy的SID列表中的第一個SID,源IPv6地址為encapsulation source-address命令指定的IPv6地址。

¡     SRH包含SRv6 TE Policy的SID列表中除第一個SID外所有SID信息。

·     Insert方式:插入封裝模式。在原始IPv6報文頭後插入SRH,且SRv6 TE Policy的SID列表中的所有SID均封裝在SRH中。

¡     IPv6頭的目的IPv6地址改為SRv6 TE Policy的SID列表中的第一個IPv6地址,原始IPv6報文頭的源IPv6地址不變。

¡     SRH包含SRv6 TE Policy的SID列表中所有SID信息。

·     Insert.Red方式:插入封裝的簡化模式。在原始IPv6報文頭後插入SRH,且SRv6 TE Policy的SID列表中的第一個SID不封裝在SRH中,其他SID封裝到SRH中,以便減少SRH的長度。

¡     IPv6頭的目的IPv6地址改為SRv6 TE Policy的SID列表中的第一個SID,原始IPv6報文頭的源IPv6地址不變。

¡     SRH包含SRv6 TE Policy的SID列表中除第一個SID外所有SID信息。

引流到SRv6 TE Policy時,缺省情況下,如果頭節點的SRv6 SID是End.X SID,則不會將該SID封裝到SRH中。為了通過報文中的SRH獲取完整的路徑信息,即獲取到SRv6轉發路徑上所有SRv6節點的信息,在封裝SRH時可以添加本地的End.X SID。

2. 配置限製和指導

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

普通封裝模式與插入封裝模式互斥:配置普通封裝模式後,係統會自動刪除已配置的插入封裝模式;配置插入封裝模式後,係統會自動刪除已配置的普通封裝模式。

配置Insert方式或Insert.Red方式後,如果設備收到IPv4報文,則設備將按照Encaps方式封裝報文。

在SRv6-TE視圖下,同時配置了普通封裝的簡化模式和普通封裝模式時SRH中包含本地End.X SID,普通封裝模式時SRH中包含本地End.X SID生效。

在SRv6-TE視圖下,同時配置了插入封裝的簡化模式和插入封裝模式時SRH中包含本地End.X SID,插入封裝模式時SRH中包含本地End.X SID生效。

在SRv6 TE Policy視圖下,同時配置了普通封裝的簡化模式和普通封裝模式時SRH中包含本地End.X SID,普通封裝模式時SRH中包含本地End.X SID生效。

在SRv6 TE Policy視圖下,同時配置了插入封裝的簡化模式和插入封裝模式時SRH中包含本地End.X SID,插入封裝模式時SRH中包含本地End.X SID生效。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6-TE視圖。

traffic-engineering

(4)     全局配置SRv6 TE Policy的封裝模式。請選擇其中一項進行配置。

¡     全局配置SRv6 TE Policy的封裝模式為普通封裝的簡化模式。

srv6-policy encapsulation-mode encaps reduced

¡     全局配置SRv6 TE Policy的封裝模式為插入封裝模式或插入封裝的簡化模式。

srv6-policy encapsulation-mode insert

srv6-policy encapsulation-mode insert reduced

缺省情況下,SRv6 TE Policy的封裝模式為Encaps模式。

(5)     全局配置通過SRv6 TE Policy轉發報文時SRH中包含本地End.X SID。請選擇其中一項進行配置。

¡     全局配置通過SRv6 TE Policy轉發報文采用普通封裝模式時SRH中包含本地End.X SID。

srv6-policy encapsulation-mode encaps include local-end.x

¡     全局配置通過SRv6 TE Policy轉發報文采用插入封裝模式時SRH中包含本地End.X SID。

srv6-policy encapsulation-mode insert include local-end.x

缺省情況下,通過SRv6 TE Policy轉發報文時封裝的SRH中不包含本地End.X SID。

(6)     進入SRv6 TE Policy視圖。

policy policy-name

(7)     配置SRv6 TE Policy的封裝模式。請選擇其中一項進行配置。

¡     配置SRv6 TE Policy的封裝模式為普通封裝的簡化模式。

encapsulation-mode encaps reduced [ disable ]

¡     配置SRv6 TE Policy的封裝模式為插入封裝模式或插入封裝的簡化模式。

encapsulation-mode insert

encapsulation-mode insert reduced [ disable ]

缺省情況下,未配置SRv6 TE Policy的封裝模式,以SRv6-TE視圖下的配置為準。

(8)     配置通過SRv6 TE Policy轉發報文時SRH中是否包含本地End.X SID。請選擇其中一項進行配置。

¡     配置通過SRv6 TE Policy轉發報文采用普通封裝模式時SRH中是否包含本地End.X SID。

encapsulation-mode encaps include local-end.x [ disable ]

¡     配置通過SRv6 TE Policy轉發報文采用插入封裝模式時SRH中是否包含本地End.X SID。

encapsulation-mode insert include local-end.x [ disable ]

缺省情況下,未配置通過SRv6 TE Policy轉發報文時SRH中是否包含本地End.X SID,以SRv6-TE視圖下的配置為準。

 

2.10  開啟SRv6 TE Policy的SBFD功能

1. 功能簡介

通過SBFD檢測SRv6 TE Policy時,需要為SBFD報文封裝SRv6 TE Policy的SID列表,封裝模式包括:

·     Encaps方式:普通封裝模式。在原始報文的基礎上封裝新的IPv6頭和SRH,且SRv6 TE Policy的SID列表中的所有SID均封裝在SRH中。

¡     新IPv6頭的目的IPv6地址為SRv6 TE Policy的SID列表中的第一個IPv6地址,源IPv6地址為encapsulation source-address命令指定的IPv6地址。

¡     SRH包含SRv6 TE Policy的SID列表中所有SID信息。

·     Insert方式:插入封裝模式。在原始IPv6報文頭後插入SRH,且SRv6 TE Policy的SID列表中的所有SID均封裝在SRH中。

¡     IPv6頭的目的IPv6地址改為SRv6 TE Policy的SID列表中的第一個IPv6地址,源IPv6地址為encapsulation source-address命令指定的IPv6地址。

¡     SRH包含SRv6 TE Policy的SID列表中所有SID信息。

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視圖的配置。

指定的遠端標識符必須與Reflector端sbfd local-discriminator命令指定的標識符一致,否則Reflector端不會發送應答報文給Initiator端。

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

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置使用SBFD對SRv6轉發路徑進行故障檢測時,SBFD報文的封裝模式為Encap模式。

bfd srv6-encapsulation-mode encap

缺省情況下,使用SBFD對SRv6轉發路徑進行故障檢測時,SBFD報文的封裝模式為Insert模式。

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

sbfd source-ipv6 ipv6-address

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

本命令的詳細介紹,請參見“可靠性命令參考”中的“SBFD”。

(4)     進入SRv6視圖。

segment-routing ipv6

(5)     進入SRv6-TE視圖。

traffic-engineering

(6)     全局開啟SRv6 TE Policy的SBFD功能並配置相關參數。

srv6-policy sbfd remote remote-id [ template template-name ] [ backup-template backup-template-name ]

缺省情況下,SRv6 TE Policy的SBFD功能處於關閉狀態。

(7)     進入SRv6 TE Policy視圖。

policy policy-name

(8)     配置SRv6 TE Policy的SBFD功能。

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

缺省情況下,未配置SRv6 TE Policy的SBFD功能,以SRv6-TE視圖下的配置為準。

2.11  開啟SRv6 TE Policy的echo報文方式的BFD檢測功能

1. 配置限製和指導

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

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

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置使用BFD對SRv6轉發路徑進行故障檢測時,BFD報文的封裝模式為Encap模式。

bfd srv6-encapsulation-mode encap

缺省情況下,使用BFD對SRv6轉發路徑進行故障檢測時,BFD報文的封裝模式為Insert模式。

(3)     進入SRv6視圖。

segment-routing ipv6

(4)     進入SRv6-TE視圖。

traffic-engineering

(5)     全局開啟SRv6 TE Policy的echo報文方式的BFD檢測功能並配置相關參數。

srv6-policy bfd echo source-ipv6 ipv6-address [ template template-name ] [ backup-template backup-template-name ]

缺省情況下,SRv6 TE Policy的echo報文方式的BFD檢測功能處於關閉狀態。

(6)     進入SRv6 TE Policy視圖。

policy policy-name

(7)     配置SRv6 TE Policy的echo報文方式的BFD檢測功能。

bfd echo { disable | enable [ source-ipv6 ipv6-address ] [ template template-name ] [ backup-template backup-template-name ] [ oam-sid sid ] }

缺省情況下,未配置SRv6 TE Policy的echo報文方式的BFD檢測功能,以SRv6-TE視圖下的配置為準。

2.12  開啟SRv6 TE Policy的熱備份功能

1. 配置限製和指導

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

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6-TE視圖。

traffic-engineering

(4)     全局開啟SRv6 TE Policy的熱備份功能。

srv6-policy backup hot-standby enable

缺省情況下,SRv6 TE Policy的熱備份功能處於關閉狀態。

(5)     進入SRv6 TE Policy視圖。

policy policy-name

(6)     配置SRv6 TE Policy的熱備份功能。

backup hot-standby { disable | enable }

缺省情況下,未配置SRv6 TE Policy的熱備份功能,以SRv6-TE視圖下的配置為準。

2.13  配置SRv6 TE Policy的慢切慢刪功能

1. 功能簡介

為了防止SID列表切換導致流量轉發失敗,在SRv6 TE Policy的SID列表切換過程中,流量先保持按照老的SID列表轉發,切換延遲時間超時後再按照新的SID列表轉發流量,並在刪除延遲時間超時後將老的SID列表刪除。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6-TE視圖。

traffic-engineering

(4)     配置SRv6 TE Policy中轉發路徑的切換延遲時間和刪除延遲時間。

srv6-policy switch-delay switch-delay-time delete-delay delete-delay-time

缺省情況下,SRv6 TE Policy中轉發路徑的切換延遲時間為5000毫秒,刪除延遲時間為20000毫秒。

2.14  配置SRv6 TE Policy中間節點保護功能

1. 功能簡介

開啟SRv6 TE FRR功能後,當SRv6 TE Policy的中間節點發生故障時,故障節點的上遊節點可以代替故障節點完成報文轉發,使報文繞過故障節點,實現中間節點故障的保護。這個上遊節點稱之為代理轉發(Proxy Forwarding)節點。

2. 配置限製和指導

組網環境複雜時,中間節點並不固定,所以,為了提供整網可靠性,建議在所有節點上開啟SRv6 TE FRR功能。建議在源節點上同時開啟備份路徑功能。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     開啟SRv6 TE FRR功能。

sr-te frr enable

缺省情況下,SRv6 TE FRR功能處於關閉。

(4)     進入SRv6 TE視圖。

traffic-engineering

(5)     進入SRv6 TE Policy視圖。

policy policy-name

(6)     開啟SRv6 TE Policy的備份路徑功能。

bypass enable

缺省情況下,SRv6 TE Policy的備份路徑功能處於關閉狀態。

僅源節點需要配置本功能。

 

2.15  配置SRv6 TE Policy尾節點保護功能

2.15.1  配置限製和指導

在SRv6 TE Policy尾節點保護組網環境中,報文經過的所有節點均需支持SRv6功能。

2.15.2  配置End.M SID

1. 配置限製和指導

請在對尾節點進行保護的節點上配置End.M SID。

本節所有命令的詳細介紹,請參見“Segment Routing命令參考”中的“SRv6”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     配置Locator段,並進入SRv6 Locator視圖。

locator locator-name [ ipv6-prefix ipv6-address prefix-length [ args args-length | static static-length ] * ]

(4)     配置End.M SID,指定被保護的Locator段。

opcode opcode end-m mirror-locator ipv6-address prefix-length

2.15.3  開啟尾節點保護功能

1. 功能簡介

在某個SRv6節點上開啟尾節點保護功能後,該節點可以根據收到的IS-ISv6路由或OSPFv3路由中攜帶的End.M SID,計算到達尾節點的備份路徑信息,即Mirror FRR路徑信息。當尾節點故障後,中間節點可以根據End.M SID,將流量轉發到對尾節點進行保護的節點處理,避免流量丟失。

切換到Mirror FRR路徑後,流量沿著Mirror FRR路徑轉發,當中間節點完成路由收斂後,會刪除Mirror FRR路徑。如果此時頭節點未完成路徑切換,仍將流量轉發給中間節點,由於中間節點上不存在Mirror FRR路徑,流量會被丟棄。

為了避免上述情況,可以在中間節點上配置Mirror FRR的延遲刪除時間,延遲刪除Mirror FRR路由,使流量沿著Mirror FRR路徑轉發,避免丟包。

2. 開啟IS-IS尾節點保護功能

(1)     進入係統視圖。

system-view

(2)     進入IS-IS視圖。

isis [ process-id ] [ vpn-instance vpn-instance-name ]

(3)     進入IS-IS IPv6地址族視圖。

address-family ipv6 [ unicast ]

(4)     開啟IS-IS尾節點保護功能。

fast-reroute mirror enable

缺省情況下,IS-IS尾節點保護功能處於關閉狀態。

(5)     (可選)配置Mirror FRR的延遲刪除時間。

fast-reroute mirror delete-delay delete-delay-time

缺省情況下,Mirror FRR延遲刪除時間為60秒。

3. 開啟OSPFv3尾節點保護功能

(1)     進入係統視圖。

system-view

(2)     進入OSPFv3視圖。

ospfv3 [ process-id | vpn-instance vpn-instance-name ] *

(3)     開啟OSPFv3尾節點保護功能。

fast-reroute mirror enable

缺省情況下,OSPFv3尾節點保護功能處於關閉狀態。

(4)     (可選)配置Mirror FRR的延遲刪除時間。

fast-reroute mirror delete-delay delete-delay-time

缺省情況下,Mirror FRR延遲刪除時間為60秒。

2.15.4  配置遠端SRv6 SID與VPN實例/交叉連接/VSI映射表的延遲刪除時間

1. 功能簡介

在尾節點保護場景中,當尾節點故障時,保護節點與尾節點之間鄰居中斷,會導致保護節點從尾節點收到的BGP路由刪除,進而導致遠端SRv6 SID與VPN實例/交叉連接/VSI映射表被刪除,造成丟包。為了避免上述情況,可以在對尾節點進行保護的節點上延遲刪除遠端SRv6 SID與VPN實例/交叉連接/VSI映射表,在頭節點感知到尾節點故障計算出新的轉發路徑前,保證流量通過保護節點轉發,避免丟包。

2. 配置限製和指導

請在對尾節點進行保護的節點上配置本功能。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     配置遠端SRv6 SID與VPN實例/交叉連接/VSI映射表的延遲刪除時間。

mirror remote-sid delete-delay delete-delay-time

缺省情況下,遠端SRv6 SID與VPN實例/交叉連接/VSI映射表的延遲刪除時間為60秒。

2.16  配置SRv6 TE Policy對TTL的處理模式

1. 功能簡介

SRv6 TE Policy對TTL的處理有兩種模式:

·     Uniform模式:入節點為IP報文添加新的IPv6頭時,將原IP報文中的TTL值複製到新IPv6頭的IPv6 Hop Limit字段。使用SRv6 TE Policy轉發報文時,對新IPv6頭的Hop Limit值逐跳減一。設備解封裝報文時,將新IPv6頭的Hop Limit值複製回IP報文。使用這種方式時,公網中的節點對用戶網絡的報文可見。報文沿著SRv6 TE Policy傳輸的過程中,TTL逐跳遞減,Tracert的結果將反映報文實際經過的路徑。

·     Pipe模式:入節點為IP報文添加新的IPv6頭時,不會將原IP報文中的TTL值複製到新IPv6頭的IPv6 Hop Limit字段,新IPv6頭的Hop Limit取值為255。使用SRv6 TE Policy轉發報文時,對新IPv6頭的Hop Limit值逐跳減一。設備解封裝報文時,不修改IPv6 Hop Limit的值。使用這種方式時,公網中的節點對用戶網絡的報文不可見。Tracert的結果不包括公網中的每一跳,從而隱藏公網的結構。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     配置SRv6 TE Policy對TTL的處理模式。

ttl-mode { pipe | uniform }

缺省情況下,SRv6 TE Policy對TTL的處理模式為Pipe模式。

2.17  配置SRv6 TE Policy CBTS

1. 配置準備

配置SRv6 TE Policy CBTS前需要先通過remark service-class命令配置QoS流行為,標記流量的隧道轉發類,具體請參見“ACL和QoS命令參考”中的“QoS策略”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6-TE視圖。

traffic-engineering

(4)     進入SRv6 TE Policy視圖。

policy policy-name

(5)     配置SRv6 TE Policy的轉發類。

service-class service-class-value

缺省情況下,未配置SRv6 TE Policy的轉發類,該SRv6 TE Policy的轉發類值為255,轉發優先級最低。

2.18  配置SRv6 TE Policy限速功能

1. 功能簡介

配置本功能後,通過SRv6 TE Policy轉發的報文速率超過限速值時,超過速率限製的報文會被丟棄。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6-TE視圖。

traffic-engineering

(4)     進入SRv6 TE Policy視圖。

policy policy-name

(5)     配置SRv6 TE Policy限速功能。

rate-limit kbps

缺省情況下,不對SRv6 TE Policy的流量速率進行限製。

2.19  開啟SRv6 TE Policy在Policy失效時丟棄流量的功能

1. 功能簡介

如果希望限定流量僅通過SRv6 TE Policy隧道轉發,可以開啟本功能。

缺省情況下,轉發報文的SRv6 TE Policy的所有候選路徑都失效時,設備會通過傳統IPv6轉發方式轉發報文,即根據目的IPv6地址查找IPv6路由表轉發報文。

當配置本功能後,如果用於轉發報文的SRv6 TE Policy的所有候選路徑都失效,設備會丟棄該報文,不會通過傳統IPv6轉發方式轉發報文。

2. 配置限製和指導

display segment-routing ipv6 te policy命令中Request state字段顯示為Falied(即BSID申請失敗)、Conflicted(BSID衝突)或者Forwarding index字段顯示為0(即SRv6 TE Policy無效)時,drop-upon-invalid enable命令不生效。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6-TE視圖。

traffic-engineering

(4)     進入SRv6 TE Policy視圖。

policy policy-name

(5)     開啟SRv6 TE Policy在Policy失效時丟棄流量的功能。

drop-upon-invalid enable

缺省情況下,Policy失效時丟棄流量的功能處於關閉狀態。

2.20  配置根據報文封裝進行路由優選

1. 功能簡介

圖2-1所示,PE 4作為RR,分別和PE 1、PE 2、PE 3建立IBGP連接。PE 1和PE 3具備SRv6功能,PE 2不具備SRv6功能,PE 1、PE 2和PE 3上均部署MPLS L3VPN功能。PE 1和PE 2上、PE 2和PE 3上的VPN用戶通過MPLS L3VPN互訪,PE 1和PE 3上VPN用戶需要通過EVPN L3VPN over SRv6互訪。PE 1和PE 3之間同時存在MPLS L3VPN和EVPN L3VPN over SRv6,處理PE 1和PE 3之間的業務流量時優選SRv6封裝的路由。

圖2-1 MPLS L3VPN和EVPN L3VPN over SRv6共存環境示意圖

 

配置本功能後,設備會根據本功能的配置優選SRv6封裝或MPLS封裝的路由。關於本功能的配置在BGP選路規則中的詳細生效順序,請參見“三層技術-IP路由配置指導”中的“BGP概述”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP-VPN實例視圖。

ip vpn-instance vpn-instance-name

(4)     配置根據報文封裝進行路由優選。

bestroute encap-type { mpls | srv6 } [ preferred ]

缺省情況下,不根據報文封裝進行路由優選。

2.21  配置SRv6 TE Policy的流量轉發統計功能

1. 功能簡介

配置本功能後,可以統計通過SRv6 TE Policy轉發的流量的信息。

2. 配置限製和指導

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

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     進入SRv6-TE視圖。

traffic-engineering

(4)     全局開啟SRv6 TE Policy的流量轉發統計功能。

srv6-policy forwarding statistics [ service-class ] enable

缺省情況下,SRv6 TE Policy的流量轉發統計功能處於關閉狀態。

(5)     (可選)全局配置SRv6 TE Policy流量轉發統計信息收集的時間間隔。

srv6-policy forwarding statistics interval interval

缺省情況下,SRv6 TE Policy流量轉發統計信息收集的時間間隔為30秒。

(6)     進入SRv6 TE Policy視圖。

policy policy-name

(7)     配置SRv6 TE Policy的流量轉發統計功能。

forwarding statistics { disable | [ service-class ] enable }

缺省情況下,未配置SRv6 TE Policy的流量轉發統計功能,以SRv6-TE視圖下的配置為準。

2.22  SRv6 TE Policy顯示和維護

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

在用戶視圖下執行reset命令可以清除SRv6 TE Policy的統計信息。

表2-1 SRv6 TE Policy顯示和維護

操作

命令

顯示通過Mirror SID保護的遠端SRv6 SID

display bgp [ instance instance-name ] mirror remote-sid [ end-dt4 | end-dt46 | end-dt6 ] [ sid ]

顯示BGP對等體或對等體組的狀態和統計信息

display bgp [ instance instance-name ] peer ipv6 [ sr-policy ] [ ipv6-address prefix-length | { ipv6-address | group-name group-name } log-info | [ ipv6-address ] verbose ]

顯示BGP SRv6 TE Policy路由信息

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ sr-policy-prefix [ advertise-info ] | peer ipv6-address { advertised-routes | received-routes } [ statistics ] | statistics ]

顯示BGP對等體組的信息

display bgp [ instance instance-name ] group ipv6 sr-policy [ group-name group-name ]

顯示BGP打包組的相關信息

display bgp [ instance instance-name ] update-group ipv6 sr-policy [ ipv6-address ]

顯示SRv6 TE Policy的BFD信息

display segment-routing ipv6 te bfd [ down | policy { { color color-value | end-point ipv6 ipv6-address } * | name policy-name } | up ]

顯示SRv6 TE的轉發信息

display segment-routing ipv6 te forwarding [ policy { name policy-name | { color color-value | end-point ipv6 ipv6-address } * } ] [ verbose ]

顯示SRv6 TE Policy信息

display segment-routing ipv6 te policy [ name policy-name | down | up | { color color-value | end-point ipv6 ip-address } * ]

顯示SRv6 TE Policy最近一次down的原因

display segment-routing ipv6 te policy last-down-reason [ binding-sid bsid | color color-value endpoint ipv6 ipv6-address | policy-name policy-name ]

顯示SRv6 TE Policy組最近一次down的原因

display segment-routing ipv6 te policy-group last-down-reason [ group-id | endpoint ipv6-address color color-value ]

顯示SRv6 TE Policy的統計信息

display segment-routing ipv6 te policy statistics

顯示SRv6 TE Policy組的統計信息

display segment-routing ipv6 te policy-group statistics

顯示SRv6 TE Policy的狀態

display segment-routing ipv6 te policy status [ policy-name policy-name ]

顯示SRv6 TE Policy組的信息

display segment-routing ipv6 te policy-group [ odn ] [ group-id | { color color-value | end-point ipv6 ipv6-address } * ] [ verbose ]

顯示SRv6 TE Policy的SBFD信息

display segment-routing ipv6 te sbfd [ down | policy { { color color-value | end-point ipv6 ipv6-address } * | name policy-name } | up ]

顯示SRv6-TE的SID列表信息

display segment-routing ipv6 te segment-list [ name seglist-name | id id-value ]

顯示SRv6 TE Policy模塊的APN ID實例信息

display segment-routing ipv6 te policy-group apn-id-ipv6 instance [ name inatnce-name ]

清除SRv6 TE Policy流量轉發統計信息

reset segment-routing ipv6 te forwarding statistics [ binding-sid binding-sid | color color-value endpoint endpoint-ipv6 | name name-value ]

 

2.23  SRv6 TE Policy典型配置舉例

2.23.1  SRv6 TE Policy基本轉發配置舉例

1. 組網需求

通過在IGP網絡中部署SRv6 TE Policy,實現根據用戶需求製定合理的轉發路徑。如圖2-2所示,用戶需要流量分別經過Device A、Device B、Device C、Device D轉發。通過部署以下功能可以實現該需求:

·     Device A~Device D設備之間運行IS-IS實現三層互通。

·     在Device A上配置SRv6 TE Policy,限定用戶流量的轉發路徑為Device A->Device B->Device C->Device D。

2. 組網圖

圖2-2 SRv6 TE Policy基本轉發配置組網圖

設備

接口

IP地址

設備

接口

IP地址

Device A

Loop1

1::1/128

Device B

Loop1

2::2/128

 

GE1/0/1

1000::1/64

 

GE1/0/1

1000::2/64

 

GE1/0/2

4000::1/64

 

GE1/0/2

2000::2/64

Device C

Loop1

3::3/128

Device D

Loop1

4::4/128

 

GE1/0/1

3000::3/64

 

GE1/0/1

3000::4/64

 

GE1/0/2

2000::3/64

 

GE1/0/2

4000::4/64

 

3. 配置步驟

(1)     請按照圖2-2配置各接口的IPv6地址和前綴長度,具體配置過程略

(2)     配置Device A

# 配置SID列表。

[DeviceA] segment-routing ipv6

[DeviceA-segment-routing-ipv6] encapsulation source-address 1::1

[DeviceA-segment-routing-ipv6] locator a ipv6-prefix 5000:: 64 static 32

[DeviceA-segment-routing-ipv6-locator-a] opcode 1 end

[DeviceA-segment-routing-ipv6-locator-a] quit

[DeviceA-segment-routing-ipv6] traffic-engineering

[DeviceA-srv6-te] srv6-policy locator a

[DeviceA-srv6-te] segment-list s1

[DeviceA-srv6-te-sl-s1] index 10 ipv6 6000::1

[DeviceA-srv6-te-sl-s1] index 20 ipv6 7000::1

[DeviceA-srv6-te-sl-s1] index 30 ipv6 8000::1

[DeviceA-srv6-te-sl-s1] quit

# 創建SRv6 TE Policy,並配置SRv6 TE Policy屬性。

[DeviceA-srv6-te] policy p1

[DeviceA-srv6-te-policy-p1] binding-sid ipv6 5000::2

[DeviceA-srv6-te-policy-p1] color 10 end-point ipv6 4::4

[DeviceA-srv6-te-policy-p1] candidate-paths

[DeviceA-srv6-te-policy-p1-path] preference 10

[DeviceA-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[DeviceA-srv6-te-policy-p1-path-pref-10] quit

[DeviceA-srv6-te-policy-p1-path] quit

[DeviceA-srv6-te-policy-p1] quit

[DeviceA-srv6-te] quit

[DeviceA-segment-routing-ipv6] quit

# 配置IS-IS協議實現網絡層互通,開銷值類型為wide。

<DeviceA> system-view

[DeviceA] isis 1

[DeviceA-isis-1] network-entity 00.0000.0000.0001.00

[DeviceA-isis-1] cost-style wide

[DeviceA-isis-1] address-family ipv6 unicast

[DeviceA-isis-1-ipv6] segment-routing ipv6 locator a

[DeviceA-isis-1-ipv6] quit

[DeviceA-isis-1] quit

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] isis ipv6 enable 1

[DeviceA-GigabitEthernet1/0/1] quit

[DeviceA] interface gigabitethernet 1/0/2

[DeviceA-GigabitEthernet1/0/2] isis ipv6 enable 1

[DeviceA-GigabitEthernet1/0/2] quit

[DeviceA] interface loopback 1

[DeviceA-LoopBack1] isis ipv6 enable 1

[DeviceA-LoopBack1] quit

(3)     配置Device B

# 配置SRv6 End.SID。

[DeviceB] segment-routing ipv6

[DeviceB-segment-routing-ipv6] locator b ipv6-prefix 6000:: 64 static 32

[DeviceB-segment-routing-ipv6-locator-b] opcode 1 end

[DeviceB-segment-routing-ipv6-locator-b] quit

[DeviceB-segment-routing-ipv6] quit

# 配置IS-IS協議實現網絡層互通,開銷值類型為wide。

<DeviceB> system-view

[DeviceB] isis 1

[DeviceB-isis-1] network-entity 00.0000.0000.0002.00

[DeviceB-isis-1] cost-style wide

[DeviceB-isis-1] address-family ipv6 unicast

[DeviceB-isis-1-ipv6] segment-routing ipv6 locator b

[DeviceB-isis-1-ipv6] quit

[DeviceB-isis-1] quit

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] isis ipv6 enable 1

[DeviceB-GigabitEthernet1/0/1] quit

[DeviceB] interface gigabitethernet 1/0/2

[DeviceB-GigabitEthernet1/0/2] isis ipv6 enable 1

[DeviceB-GigabitEthernet1/0/2] quit

[DeviceB] interface loopback 1

[DeviceB-LoopBack1] isis ipv6 enable 1

[DeviceB-LoopBack1] quit

(4)     配置Device C

# 配置SRv6 End.SID。

[DeviceC] segment-routing ipv6

[DeviceC-segment-routing-ipv6] locator c ipv6-prefix 7000:: 64 static 32

[DeviceC-segment-routing-ipv6-locator-c] opcode 1 end

[DeviceC-segment-routing-ipv6-locator-c] quit

[DeviceC-segment-routing-ipv6] quit

# 配置IS-IS協議實現網絡層互通,開銷值類型為wide。

<DeviceC> system-view

[DeviceC] isis 1

[DeviceC-isis-1] network-entity 00.0000.0000.0003.00

[DeviceC-isis-1] cost-style wide

[DeviceC-isis-1] address-family ipv6 unicast

[DeviceC-isis-1-ipv6] segment-routing ipv6 locator c

[DeviceC-isis-1-ipv6] quit

[DeviceC-isis-1] quit

[DeviceC] interface gigabitethernet 1/0/1

[DeviceC-GigabitEthernet1/0/1] isis ipv6 enable 1

[DeviceC-GigabitEthernet1/0/1] quit

[DeviceC] interface gigabitethernet 1/0/2

[DeviceC-GigabitEthernet1/0/2] isis ipv6 enable 1

[DeviceC-GigabitEthernet1/0/2] quit

[DeviceC] interface loopback 1

[DeviceC-LoopBack1] isis ipv6 enable 1

[DeviceC-LoopBack1] quit

(5)     配置Device D

# 配置SRv6 End.SID。

[DeviceD] segment-routing ipv6

[DeviceD-segment-routing-ipv6] locator d ipv6-prefix 8000:: 64 static 32

[DeviceD-segment-routing-ipv6-locator-d] opcode 1 end

[DeviceD-segment-routing-ipv6-locator-d] quit

[DeviceD-segment-routing-ipv6] quit

# 配置IS-IS協議實現網絡層互通,開銷值類型為wide。

<DeviceD> system-view

[DeviceD] isis 1

[DeviceD-isis-1] network-entity 00.0000.0000.0004.00

[DeviceD-isis-1] cost-style wide

[DeviceD-isis-1] address-family ipv6 unicast

[DeviceD-isis-1-ipv6] segment-routing ipv6 locator d

[DeviceD-isis-1-ipv6] quit

[DeviceD-isis-1] quit

[DeviceD] interface gigabitethernet 1/0/1

[DeviceD-GigabitEthernet1/0/1] isis ipv6 enable 1

[DeviceD-GigabitEthernet1/0/1] quit

[DeviceD] interface gigabitethernet 1/0/2

[DeviceD-GigabitEthernet1/0/2] isis ipv6 enable 1

[DeviceD-GigabitEthernet1/0/2] quit

[DeviceD] interface loopback 1

[DeviceD-LoopBack1] isis ipv6 enable 1

[DeviceD-LoopBack1] quit

4. 驗證配置

# 在Device A上查看SRv6 TE Policy的配置情況,可以看到SRv6 TE Policy處於激活狀態,設備可以通過SRv6 TE Policy轉發流量。

[DeviceA] display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 Endpoint: 4::4

 Name from BGP:

 BSID:

  Mode: Explicit           Type: Type_2              Request state: Succeeded

  Current BSID: 5000::2    Explicit BSID: 5000::2    Dynamic BSID: -

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

# 在Device A上查看SRv6 TE Policy的轉發信息。

[DeviceA] display segment-routing ipv6 te forwarding verbose

Total forwarding entries: 1

 

Policy name/ID: p1/0

 Binding SID: 5000::2

 Policy forwording index: 2150629377

 Main path:

   Seglist ID: 1

     Seglist forwording index: 2149580801

     Weight: 1

     Outgoing forwording index: 2148532225

       Interface: GE1/0/1

       Nexthop: FE80::54CB:70FF:FE86:316

         Path ID: 0

         SID list: {6000::1, 7000::1, 8000::1}

# 在Device A上查看LSP轉發路徑信息,可以看到SRv6 TE Policy對應的轉發路徑信息。

[DeviceA] display segment-routing ipv6 forwarding

Total SRv6 forwarding entries: 3

 

Flags: T - Forwarded through a tunnel

       N - Forwarded through the outgoing interface to the nexthop IP address

       A - Active forwarding information

       B - Backup forwarding information

 

ID            FWD-Type      Flags   Forwarding info

--------------------------------------------------------------------------------

2148532225    SRv6PSIDList  NA      GE1/0/1

                                    FE80::54CB:70FF:FE86:316

                                    {6000::1, 7000::1, 8000::1}

2149580801    SRv6PCPath    TA      2148532225

2150629377    SRv6Policy    TA      2149580801

              p1

2.23.2  SRv6 TE Policy尾節點保護配置舉例

1. 組網需求

圖2-3所示,在PE 1和PE 2之間建立雙向SRv6 TE Policy,承載L3VPN業務。PE 2是SRv6 TE Policy的尾節點,為了增強可靠性,PE 3為PE 2提供保護。

2. 組網圖

圖2-3 SRv6 TE Policy尾節點保護配置組網圖

設備

接口

IP地址

設備

接口

IP地址

CE 1

GE1/0/1

10.1.1.2/24

PE 2

Loop0

3::3/128

PE 1

Loop0

1::1/128

 

GE1/0/1

10.2.1.1/24

 

GE1/0/1

10.1.1.1/24

 

GE1/0/2

2002::1/64

 

GE1/0/2

2001::1/96

 

GE1/0/3

2004::2/96

P

Loop0

2::2/128

PE 3

Loop0

4::4/128

 

GE1/0/1

2001::2/96

 

GE1/0/1

10.3.1.1/24

 

GE1/0/2

2002::2/64

 

GE1/0/2

2003::1/96

 

GE1/0/3

2003::2/96

 

GE1/0/3

2004::1/96

 

 

 

CE 2

GE1/0/1

10.2.1.2/24

 

 

 

 

GE1/0/2

10.3.1.2/24

 

3. 配置準備

圖2-3配置各CE的接口IP地址,配置過程略。

4. 配置步驟

(1)     配置CE 1

# 與PE建立EBGP對等體,引入VPN路由。

<CE1> system-view

[CE1] bgp 65410

[CE1-bgp-default] peer 10.1.1.1 as-number 100

[CE1-bgp-default] address-family ipv4 unicast

[CE1-bgp-default-ipv4] peer 10.1.1.1 enable

[CE1-bgp-default-ipv4] import-route direct

[CE1-bgp-default-ipv4] quit

[CE1-bgp-default] quit

(2)     配置PE 1

# 配置IPv6 IS-IS,實現骨幹網互通。

<PE1> system-view

[PE1] isis 1

[PE1-isis-1] is-level level-1

[PE1-isis-1] cost-style wide

[PE1-isis-1] network-entity 10.1111.1111.1111.00

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

[PE1] interface loopback 0

[PE1-LoopBack0] ipv6 address 1::1 128

[PE1-LoopBack0] isis ipv6 enable 1

[PE1-LoopBack0] quit

[PE1] interface gigabitethernet 1/0/2

[PE1-GigabitEthernet1/0/2] ipv6 address 2001::1 96

[PE1-GigabitEthernet1/0/2] isis ipv6 enable 1

[PE1-GigabitEthernet1/0/2] quit

# 配置VPN實例,將CE接入PE。

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] route-distinguisher 100:1

[PE1-vpn-instance-vpn1] vpn-target 111:1

[PE1-vpn-instance-vpn1] quit

[PE1] interface gigabitethernet 1/0/1

[PE1-GigabitEthernet1/0/1] ip binding vpn-instance vpn1

[PE1-GigabitEthernet1/0/1] ip address 10.1.1.1 24

[PE1-GigabitEthernet1/0/1] quit

# 與CE建立EBGP對等體,引入VPN路由。

[PE1] bgp 100

[PE1-bgp-default] router-id 1.1.1.1

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] peer 10.1.1.2 as-number 65410

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] peer 10.1.1.2 enable

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

# 在PE之間建立MP-IBGP對等體。

[PE1] bgp 100

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 4::4 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 0

[PE1-bgp-default] peer 4::4 connect-interface loopback 0

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 enable

[PE1-bgp-default-vpnv4] peer 4::4 enable

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] quit

# 配置L3VPN over SRv6 TE Policy。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] encapsulation source-address 1::1

[PE1-segment-routing-ipv6] locator aaa ipv6-prefix 1:2::1:0 96 static 8

[PE1-segment-routing-ipv6-locator-aaa] opcode 1 end-dt4 vpn-instance vpn1

[PE1-segment-routing-ipv6-locator-aaa] quit

[PE1-segment-routing-ipv6] quit

[PE1] bgp 100

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 prefix-sid

[PE1-bgp-default-vpnv4] peer 4::4 prefix-sid

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 locator aaa

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

[PE1] isis 1

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] segment-routing ipv6 locator aaa

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

# 配置SRv6 TE Policy。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] srv6-policy locator aaa

[PE1-srv6-te] segment-list s1

[PE1-srv6-te-s1-s1] index 10 ipv6 100:abc:1::1

[PE1-srv6-te-s1-s1] index 20 ipv6 6:5::1:2

[PE1-srv6-te-s1-s1] quit

[PE1-srv6-te] policy p1

[PE1-srv6-te-policy-p1] binding-sid ipv6 1:2::1:2

[PE1-srv6-te-policy-p1] color 10 end-point ipv6 3::3

[PE1-srv6-te-policy-p1] candidate-paths

[PE1-srv6-te-policy-p1-path] preference 10

[PE1-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[PE1-srv6-te-policy-p1-path-pref-10] quit

[PE1-srv6-te-policy-p1-path] quit

[PE1-srv6-te-policy-p1] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

(3)     配置P

# 配置IPv6 IS-IS,實現骨幹網互通。

<P> system-view

[P] isis 1

[P-isis-1] is-level level-1

[P-isis-1] cost-style wide

[P-isis-1] network-entity 10.2222.2222.2222.00

[P-isis-1] address-family ipv6 unicast

[P-isis-1-ipv6] quit

[P-isis-1] quit

[P] interface loopback 0

[P-LoopBack0] ipv6 address 2::2 128

[P-LoopBack0] isis ipv6 enable 1

[P-LoopBack0] quit

[P] interface gigabitethernet 1/0/1

[P-GigabitEthernet1/0/1] ipv6 address 2001::2 96

[P-GigabitEthernet1/0/1] isis ipv6 enable 1

[P-GigabitEthernet1/0/1] quit

[P] interface gigabitethernet 1/0/2

[P-GigabitEthernet1/0/2] ipv6 address 2002::2 96

[P-GigabitEthernet1/0/2] isis ipv6 enable 1

[P-GigabitEthernet1/0/2] quit

[P] interface gigabitethernet 1/0/3

[P-GigabitEthernet1/0/3] ipv6 address 2003::2 96

[P-GigabitEthernet1/0/3] isis ipv6 enable 1

[P-GigabitEthernet1/0/3] quit

# 配置SRv6功能。

[P] segment-routing ipv6

[P-segment-routing-ipv6] locator p ipv6-prefix 100:abc:1::0 96 static 8

[P-segment-routing-ipv6-locator-p] opcode 1 end

[P-segment-routing-ipv6-locator-p] quit

[P-segment-routing-ipv6] quit

[P] isis 1

[P-isis-1] address-family ipv6 unicast

[P-isis-1-ipv6] segment-routing ipv6 locator p

# 配置快速重路由的備份下一跳信息,並開啟尾節點保護功能。

[P-isis-1-ipv6] fast-reroute lfa level-1

[P-isis-1-ipv6] fast-reroute ti-lfa

[P-isis-1-ipv6] fast-reroute mirror enable

[P-isis-1-ipv6] quit

[P-isis-1] quit

(4)     配置PE 2

# 配置IPv6 IS-IS,實現骨幹網互通。

<PE2> system-view

[PE2] isis 1

[PE2-isis-1] is-level level-1

[PE2-isis-1] cost-style wide

[PE2-isis-1] network-entity 10.3333.3333.3333.00

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

[PE2] interface loopback 0

[PE2-LoopBack0] ipv6 address 3::3 128

[PE2-LoopBack0] isis ipv6 enable 1

[PE2-LoopBack0] quit

[PE2] interface gigabitethernet 1/0/2

[PE2-GigabitEthernet1/0/2] ipv6 address 2002::1 96

[PE2-GigabitEthernet1/0/2] isis ipv6 enable 1

[PE2-GigabitEthernet1/0/2] quit

[PE2] interface gigabitethernet 1/0/3

[PE2-GigabitEthernet1/0/3] ipv6 address 2004::2 96

[PE2-GigabitEthernet1/0/3] isis ipv6 enable 1

[PE2-GigabitEthernet1/0/3] quit

# 配置VPN實例,將CE接入PE。

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] route-distinguisher 100:1

[PE2-vpn-instance-vpn1] vpn-target 111:1

[PE2-vpn-instance-vpn1] quit

[PE2] interface gigabitethernet 1/0/1

[PE2-GigabitEthernet1/0/1] ip binding vpn-instance vpn1

[PE2-GigabitEthernet1/0/1] ip address 10.2.1.1 24

[PE2-GigabitEthernet1/0/1] quit

# 與CE建立EBGP對等體,引入VPN路由。

[PE2] bgp 100

[PE2-bgp-default] router-id 2.2.2.2

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] peer 10.2.1.2 as-number 65420

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] peer 10.2.1.2 enable

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

# 在PE之間建立MP-IBGP對等體。

[PE2] bgp 100

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 4::4 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 0

[PE2-bgp-default] peer 4::4 connect-interface loopback 0

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 1::1 enable

[PE2-bgp-default-vpnv4] peer 4::4 enable

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] quit

# 配置L3VPN over SRv6 TE Policy。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] encapsulation source-address 3::3

[PE2-segment-routing-ipv6] locator bbb ipv6-prefix 6:5::1:0 96 static 8

[PE2-segment-routing-ipv6-locator-bbb] opcode 1 end-dt4 vpn-instance vpn1

[PE2-segment-routing-ipv6-locator-bbb] opcode 2 end

[PE2-segment-routing-ipv6-locator-bbb] quit

[PE2-segment-routing-ipv6] quit

[PE2] bgp 100

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 1::1 prefix-sid

[PE2-bgp-default-vpnv4] peer 4::4 prefix-sid

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 locator bbb

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

[PE2] isis 1

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] segment-routing ipv6 locator bbb

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

(5)     配置PE 3

# 配置IPv6 IS-IS,實現骨幹網互通。

<PE3> system-view

[PE3] isis 1

[PE3-isis-1] is-level level-1

[PE3-isis-1] cost-style wide

[PE3-isis-1] network-entity 10.4444.4444.4444.00

[PE3-isis-1] address-family ipv6 unicast

[PE3-isis-1-ipv6] quit

[PE3-isis-1] quit

[PE3] interface loopback 0

[PE3-LoopBack0] ipv6 address 4::4 128

[PE3-LoopBack0] isis ipv6 enable 1

[PE3-LoopBack0] quit

[PE3] interface gigabitethernet 1/0/2

[PE3-GigabitEthernet1/0/2] ipv6 address 2003::1 96

[PE3-GigabitEthernet1/0/2] isis ipv6 enable 1

[PE3-GigabitEthernet1/0/2] quit

[PE3] interface gigabitethernet 1/0/3

[PE3-GigabitEthernet1/0/3] ipv6 address 2004::1 96

[PE3-GigabitEthernet1/0/3] isis ipv6 enable 1

[PE3-GigabitEthernet1/0/3] quit

# 配置VPN實例,將CE接入PE。

[PE3] ip vpn-instance vpn1

[PE3-vpn-instance-vpn1] route-distinguisher 100:1

[PE3-vpn-instance-vpn1] vpn-target 111:1

[PE3-vpn-instance-vpn1] quit

[PE3] interface gigabitethernet 1/0/1

[PE3-GigabitEthernet1/0/1] ip binding vpn-instance vpn1

[PE3-GigabitEthernet1/0/1] ip address 10.3.1.1 24

[PE3-GigabitEthernet1/0/1] quit

# 與CE建立EBGP對等體,引入VPN路由。

[PE3] bgp 100

[PE3-bgp-default] router-id 3.3.3.3

[PE3-bgp-default] ip vpn-instance vpn1

[PE3-bgp-default-vpn1] peer 10.3.1.2 as-number 65420

[PE3-bgp-default-vpn1] address-family ipv4 unicast

[PE3-bgp-default-ipv4-vpn1] peer 10.3.1.2 enable

[PE3-bgp-default-ipv4-vpn1] quit

[PE3-bgp-default-vpn1] quit

# 在PE之間建立MP-IBGP對等體。

[PE3] bgp 100

[PE3-bgp-default] peer 1::1 as-number 100

[PE3-bgp-default] peer 3::3 as-number 100

[PE3-bgp-default] peer 1::1 connect-interface loopback 0

[PE3-bgp-default] peer 3::3 connect-interface loopback 0

[PE3-bgp-default] address-family vpnv4

[PE3-bgp-default-vpnv4] peer 1::1 enable

[PE3-bgp-default-vpnv4] peer 3::3 enable

[PE3-bgp-default-vpnv4] quit

[PE3-bgp-default] quit

# 配置SRv6封裝的IPv6報文頭的源地址。

[PE3] segment-routing ipv6

[PE3-segment-routing-ipv6] encapsulation source-address 4::4

# 配置End.M SID來保護PE 2。

[PE3-segment-routing-ipv6] locator ccc ipv6-prefix 9:7::1:0 96 static 8

[PE3-segment-routing-ipv6-locator-ccc] opcode 1 end-m mirror-locator 6:5::1:0 96

[PE3-segment-routing-ipv6-locator-ccc] quit

[PE3-segment-routing-ipv6] quit

# 配置將私網路由迭代到End.M SID的路由條目上。

[PE3] bgp 100

[PE3-bgp-default] address-family vpnv4

[PE3-bgp-default-vpnv4] peer 1::1 prefix-sid

[PE3-bgp-default-vpnv4] peer 3::3 prefix-sid

[PE3-bgp-default-vpnv4] quit

[PE3-bgp-default] ip vpn-instance vpn1

[PE3-bgp-default-vpn1] address-family ipv4 unicast

[PE3-bgp-default-ipv4-vpn1] segment-routing ipv6 locator ccc

[PE3-bgp-default-ipv4-vpn1] quit

[PE3-bgp-default-vpn1] quit

[PE3-bgp-default] quit

[PE3] isis 1

[PE3-isis-1] address-family ipv6 unicast

[PE3-isis-1-ipv6] segment-routing ipv6 locator ccc

[PE3-isis-1-ipv6] quit

[PE3-isis-1] quit

(6)     配置CE 2

# 與PE建立EBGP對等體,引入VPN路由。

<CE2> system-view

[CE2] bgp 65420

[CE2-bgp-default] peer 10.2.1.1 as-number 100

[CE2-bgp-default] peer 10.3.1.1 as-number 100

[CE2-bgp-default] address-family ipv4 unicast

[CE2-bgp-default-ipv4] peer 10.2.1.1 enable

[CE2-bgp-default-ipv4] peer 10.3.1.1 enable

[CE2-bgp-default-ipv4] import-route direct

[CE2-bgp-default-ipv4] quit

[CE2-bgp-default] quit

5. 驗證配置

# 在PE 1上查看SRv6 TE Policy的配置情況,可以看到SRv6 TE Policy處於激活狀態,設備可以通過SRv6 TE Policy轉發流量。

[PE1] display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 End-point: 3::3

 Name from BGP:

 BSID:

  Mode: Explicit            Type: Type_2              Request state: Succeeded

  Current BSID: 1:2::1:2    Explicit BSID: 1:2::1:2   Dynamic BSID: -

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: Not configured

 Up time: 2020-10-28 09:10:33

 Down time: 2020-10-28 09:09:32

 Hot backup: Not configured

 Statistics: Not configured

  Statistics by service class: Not configured

 Drop-upon-invalid: Disabled

 BFD trigger path-down: Disabled

 SBFD: Not configured

 BFD Echo: Not configured

 Forwarding index: 2150629377

 Service-class: -

 Rate-limit: -

 Service-class: -

 Encapsulation mode: -

 Candidate paths state: Configured

 Candidate paths statistics:

  CLI paths: 1          BGP paths: 0          PCEP paths: 0

 Candidate paths:

  Preference : 10

   CPathName:

   Instance ID: 0          ASN: 0          Node address: 0.0.0.0

   Peer address:  ::

   Optimal: Y              Flags: V/A

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580801

    State: Up                 State(-): -

    Active path MTU: 1428 byte

# 在PE 1設備上查看SRv6 TE Policy的轉發信息。

[PE1] display segment-routing ipv6 te forwarding verbose

Total forwarding entries: 1

 

Policy name/ID: p1/0

 Binding SID: 1:2::1:2

 Forwarding index: 2150629377

 Main path:

   Seglist ID: 1

     Seglist forwarding index: 2149580801

     Weight: 1

     Outgoing forwarding index: 2148532225

       Interface: GE1/0/2

       Nexthop: FE80::988A:B5FF:FED9:316

         Path ID: 0

         SID list: {100:ABC:1::1, 6:5::1:2}

# 在PE 1上查看轉發路徑信息,可以看到SRv6 TE Policy對應的轉發路徑信息。

[PE1] display segment-routing ipv6 forwarding

Total SRv6 forwarding entries: 3

 

Flags: T - Forwarded through a tunnel

       N - Forwarded through the outgoing interface to the nexthop IP address

       A - Active forwarding information

       B - Backup forwarding information

 

ID            FWD-Type      Flags   Forwarding info

              Attri-Val             Attri-Val

--------------------------------------------------------------------------------

2148532225    SRv6PSIDList  NA      GE1/0/2

                                    FE80::988A:B5FF:FED9:316

                                    {100:ABC:1::1, 6:5::1:2}

2149580801    SRv6PCPath    TA      2148532225

2150629377    SRv6Policy    TA      2149580801

              p1

# 在PE 3上查看End.M SID所保護的遠端SRv6 SID信息。

[PE3] display bgp mirror remote-sid

 

Remote SID: 6:5::1:1

Remote SID type: End.DT4

Mirror locator: 6:5::1:0/96

Vpn instance name: vpn1

# 在P上查看IS-IS IPv6路由中End.M SID信息。

[P] display isis route ipv6 6:5::1:0 96 verbose

 

                         Route information for IS-IS(1)

                         ------------------------------

 

                         Level-1 IPv6 forwarding table

                         -----------------------------

 

 IPv6 dest   : 6:5::/96

 Flag        : R/-/-                       Cost        : 10

 Admin tag   : -                           Src count   : 3

 Nexthop     : FE80::988A:BDFF:FEB6:417

 Interface   : GE1/0/2

 Mirror FRR:

  Interface : GE1/0/3

  BkNextHop : FE80::988A:C6FF:FE0D:517

  LsIndex    : 0x80000001

  Backup label stack(top->bottom): {9:7::1:1}

 Nib ID      : 0x24000006

 

      Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set

# 正常情況下,流量經過路徑CE 1-PE 1-P-PE 2-CE 2發布到私網。當PE 2節點故障時,P設備上感知PE 2下一跳不可達,切換為FRR路徑,使SRv6 TE Policy正常轉發路由表項。將設備P與PE 2的接口斷開,可以發現P設備上下一跳接口變為備用接口,PE 1上的SRv6 TE Policy仍然處於激活狀態。

[P] interface gigabitethernet 1/0/2

[P-GigabitEthernet1/0/2] shut

[P-GigabitEthernet1/0/2] quit

[P] display isis route ipv6 6:5::1:0 96 verbose

 

                         Route information for IS-IS(1)

                         ------------------------------

 

                         Level-1 IPv6 forwarding table

                         -----------------------------

 

 IPv6 dest   : 6:5::/96

 Flag        : R/-/-                       Cost        : 20

 Admin tag   : -                           Src count   : 3

 Nexthop     : FE80::988A:C6FF:FE0D:517

 Interface   : GE1/0/3

 Nib ID      : 0x24000007

 

      Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set

[PE1] display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 End-point: 3::3

 Name from BGP:

 BSID:

  Mode: Explicit            Type: Type_2              Request state: Succeeded

  Current BSID: 1:2::1:2    Explicit BSID: 1:2::1:2   Dynamic BSID: -

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: Not configured

 Up time: 2020-10-28 09:10:33

 Down time: 2020-10-28 09:09:32

 Hot backup: Not configured

 Statistics: Not configured

  Statistics by service class: Not configured

 Drop-upon-invalid: Disabled

 BFD trigger path-down: Disabled

 SBFD: Not configured

 BFD Echo: Not configured

 Forwarding index: 2150629377

 Service-class: -

 Rate-limit: -

 Service-class: -

 Encapsulation mode: -

 Candidate paths state: Configured

 Candidate paths statistics:

  CLI paths: 1          BGP paths: 0          PCEP paths: 0

 Candidate paths:

  Preference : 10

   CPathName:

   Instance ID: 0          ASN: 0          Node address: 0.0.0.0

   Peer address:  ::

   Optimal: Y              Flags: V/A

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580801

    State: Up                 State(-): -

    Active path MTU: 1428 bytes

 

 

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

BOB登陆
官網
聯係我們