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

11-Segment Routing配置指導

目錄

05-EVPN L3VPN over SRv6配置

本章節下載 05-EVPN L3VPN over SRv6配置  (423.48 KB)

05-EVPN L3VPN over SRv6配置


1 EVPN L3VPN over SRv6

1.1  EVPN L3VPN over SRv6簡介

EVPN L3VPN over SRv6是指通過SRv6隧道承載EVPN L3VPN業務,通過IPv6網絡透明傳輸用戶三層數據,實現屬於同一個VPN、位於不同地理位置的用戶互通。EVPN L3VPN的詳細介紹,請參見“EVPN配置指導”中的“EVPN L3VPN”。

1.1.1  EVPN L3VPN over SRv6基本原理

圖1-1所示,通過MP-BGP在IPv6骨幹網上使用EVPN的IP前綴路由發布用戶站點的IPv4/IPv6私網路由,使用PE間的單跳SRv6隧道承載私網報文,在骨幹網上根據IGP計算的最優路徑轉發私網報文,從而實現通過IPv6骨幹網連接屬於同一個VPN、位於不同地理位置的用戶。

圖1-1 EVPN L3VPN over SRv6組網示意圖

 

1.1.2  路由信息發布

IPv4 EVPN L3VPN over SRv6和IPv6 EVPN L3VPN over SRv6的路由發布過程類似,以IPv4 EVPN L3VPN over SRv6為例,如圖1-1所示,CE 1路由發布到CE 2的過程為:

(1)     CE 1使用靜態路由、RIP、OSPF、IS-IS、EBGP或IBGP,將本站點的私網路由發布給PE 1。

(2)     PE 1從CE 1學習到私網路由信息後,將其存放到相應的VPN實例1的路由表中。PE 1為私網路由增加RD和RT屬性,並按VPN實例分配私網標簽End.DT4 SID、End.DT46 SID(即同一VPN實例的所有私網路由分配相同的End.DT4 SID、End.DT46 SID),或按下一跳分配End.DX4 SID(即VPN實例中相同下一跳的私網路由分配相同的End.DX4 SID),形成EVPN的IP前綴路由。PE 1通過MP-BGP把EVPN的IP前綴路由發布給PE 2。

(3)     PE 2收到EVPN的IP前綴路由後,將該路由加入到VPN實例1的路由表中並將EVPN的IP前綴路由轉換成IPv4路由發布給CE 2。

(4)     CE 2收到路由後,學習到路由表中,即CE 2學習到CE 1的路由。

1.1.3  報文轉發

EVPN L3VPN over SRv6支持SRv6 BE、SRv6 TE和SRv6 TE/SRv6 BE混合三種路由迭代方式。采用不同的路由迭代方式時,報文轉發過程有所不同。

1. SRv6 BE方式

又稱為基於SID的轉發方式。該方式根據封裝的SRv6 SID查找IPv6路由表進行轉發。

IPv4 EVPN L3VPN over SRv6和IPv6 EVPN L3VPN over SRv6的報文轉發過程類似,以IPv4 EVPN L3VPN over SRv6為例,完成路由發布後,報文從CE 2到CE 1的轉發過程為:

(1)     CE 2發送IPv4報文給PE 2。

(2)     PE 2從綁定了VPN實例的接口上收到私網報文後,在VPN實例1的路由表中查找匹配IPv4目的地址的路由,找到對應的End.DT4 SID、End.DT46 SID或End.DX4 SID。然後為報文封裝IPv6報文頭,在IPv6報文頭中End.DT4 SID、End.DT46 SID或End.DX4 SID作為其目的地址。

(3)     PE 2根據End.DT4 SID、End.DT46 SID或End.DX4 SID查找IPv6路由表,通過最優IGP路由將報文轉發給P。

(4)     P根據End.DT4 SID、End.DT46 SID或End.DX4 SID查找IPv6路由表,通過最優IGP路由將報文轉發給PE 1。

(5)     根據報文頭攜帶的SID類型,PE1的處理方式不同:

¡     如果報文頭攜帶的是End.DT4 SID或End.DT46 SID,PE 1根據End.DT4 SID或End.DT46 SID查找Local SID表,執行End.DT4 SID或End.DT46 SID對應的轉發動作,即解封裝報文去掉IPv6報文頭,並根據End.DT4 SID或End.DT46 SID匹配VPN實例1,在VPN實例1的路由表中,查表轉發,將報文發送給CE 1。

¡     如果報文頭攜帶的是End.DX4 SID,PE 1執行End.DX4 SID對應的轉發動作,即解封裝報文去掉IPv6報文頭,並按照End.DX4 SID綁定的下一跳和出接口將報文發送給CE 1。

2. SRv6 TE方式

又稱為基於SRv6 TE Policy的轉發方式。該方式根據報文屬性查找匹配的SRv6 TE Policy,為報文添加攜帶SRv6 SID和SRv6 TE Policy SID列表的SRH頭後,通過SRv6 TE Policy轉發該報文。

可以通過如下方式將報文引入到SRv6 TE Policy進行轉發(即SRv6 TE Policy引流):

·     基於Color引流:查找是否存在Color和Endpoint地址與EVPN路由的Color擴展團體屬性和下一跳地址完全相同的SRv6 TE Policy。若存在,則將該EVPN路由迭代到SRv6 TE Policy。當設備收到匹配該EVPN路由的報文時,會通過SRv6 TE Policy轉發該報文。

·     基於隧道策略引流:根據路由下一跳地址在隧道策略中查找匹配的SRv6 TE Policy。通過首選隧道策略或負載分擔隧道策略,可以實現用指定SRv6 TE Policy的路徑作為公網隧道來轉發私網報文。

隧道策略的詳細介紹,請參見“MPLS配置指導”中的“隧道策略”;SRv6 TE Policy的詳細介紹,請參見“Segment Routing配置指導”中的“SRv6 TE Policy”。

3. SRv6 TE/SRv6 BE混合方式

該方式優先通過SRv6 TE方式選擇轉發路徑;如果SRv6 TE方式未找到可用的SRv6 TE Policy,則通過SRv6 BE方式選擇轉發路徑。

1.2  EVPN L3VPN over SRv6快速重路由

EVPN L3VPN over SRv6快速重路由功能用來在CE雙歸屬(即一個CE同時連接兩個PE)的組網環境下,通過為流量轉發的主路徑指定一條備份路徑,並通過靜態BFD檢測主路徑的狀態,實現當主路徑出現故障時,將流量迅速切換到備份路徑,大大縮短了故障恢複時間。在使用備份路徑轉發報文的同時,會重新進行路由優選,優選完畢後,使用新的最優路由來轉發報文。

目前,EVPN L3VPN over SRv6快速重路由的路徑備份方式為EVPN路由備份EVPN路由。

圖1-2 EVPN路由備份EVPN路由示意圖

 

圖1-2所示,在入節點PE 1上指定VPN 1的FRR備份下一跳為PE 3,則PE 1接收到PE 2和PE 3發布的到達CE 2的EVPN路由後,PE 1會記錄這兩條EVPN路由,並將PE 2發布的EVPN路由當作主路徑,PE 3發布的EVPN路由當作備份路徑。

在PE 1上配置靜態BFD檢測,通過BFD檢測PE 1到PE 2之間公網隧道的狀態。當公網隧道正常工作時,CE 1和CE 2通過主路徑CE 1—PE 1—PE 2—CE 2通信。當PE 1檢測到該公網隧道出現故障時,PE 1將通過備份路徑CE 1—PE 1—PE 3—CE 2轉發CE 1訪問CE 2的流量。

在這種備份方式中,PE 1負責主路徑檢測和流量切換。

有關靜態BFD功能的詳細介紹,請參見“可靠性配置指導”中“BFD”。

1.3  EVPN L3VPN over SRv6配置任務簡介

EVPN L3VPN over SRv6配置任務如下:

(1)     配置VPN實例並綁定PE連接CE的接口

在PE設備上執行本配置,配置方法請參見“MPLS配置指導”中的“MPLS L3VPN”。

(2)     配置PE-CE間的路由交換

在PE-CE間配置IPv4路由協議(包括靜態路由、RIP、OSPF、IS-IS、EBGP或IBGP)或IPv6路由協議(包括IPv6靜態路由、RIPng、OSPFv3、IPv6 IS-IS、EBGP或IBGP)

CE使用IPv4路由協議/IPv6路由協議,將本站點的VPN路由發布給PE。在PE上需要為路由協議關聯指定VPN實例,在CE上配置普通路由協議即可。關於各個路由協議的具體配置,請參見“三層技術-IP路由配置指導”。

(3)     配置PE-PE間的路由交換

a.     配置SRv6 SID

本功能用來靜態配置End.DT4 SID、End.DT6 SID、End.DT46 SID、End.DX4 SID或End.DX6 SID。

b.     配置BGP引用Locator段

通過引用Locator段後,BGP路由才可以通告Locator段內的SRv6 SID。

c.     配置向對等體/對等體組發布SRv6封裝的EVPN路由

隻有配置本功能後,VPN路由才能作為EVPN路由發布到對等體/對等體組。

d.     配置PE-PE間交互BGP EVPN路由

e.     (可選)配置為私網路由按下一跳分配End.DX4 SID/End.DX6 SID

配置本功能後,PE設備可以為BGP私網路由按下一跳分配End.DX4 SID/End.DX6 SID。

f.     (可選)配置BGP EVPN路由

(4)     配置路由迭代方式

(5)     配置EVPN L3VPN over SRv6封裝的IPv6報文頭的源地址

本功能用來指定EVPN L3VPN over SRv6骨幹網中報文封裝的IPv6報文頭的源地址。

(6)     (可選)配置EVPN L3VPN over SRv6快速重路由

(7)     (可選)配置VPN實例關聯的隧道對TTL的處理模式

1.4  配置SRv6 SID

(1)     進入係統視圖。

system-view

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

segment-routing ipv6

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

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

(4)     配置Opcode段。

¡     配置End.DT4 SID。

opcode { opcode | hex hex-opcode } end-dt4 vpn-instance vpn-instance-name evpn

指定的VPN實例必須已經存在。不同VPN實例不能配置相同End.DT4 SID。

¡     配置End.DT6 SID。

opcode { opcode | hex hex-opcode } end-dt6 vpn-instance vpn-instance-name evpn

指定的VPN實例必須已經存在。不同VPN實例不能配置相同End.DT6 SID。

¡     配置End.DT46 SID。

opcode { opcode | hex hex-opcode } end-dt46 vpn-instance vpn-instance-name evpn

指定的VPN實例必須已經存在。不同VPN實例不能配置相同End.DT46 SID。

¡     配置End.DX4 SID。

opcode { opcode | hex hex-opcode } end-dx4 interface interface-type interface-number nexthop nexthop-ipv4-address vpn-instance vpn-instance-name evpn

指定的VPN實例必須已經存在。不同下一跳和出接口不能配置相同End.DX4 SID。

¡     配置End.DX6 SID。

opcode { opcode | hex hex-opcode } end-dx6 interface interface-type interface-number nexthop nexthop-ipv6-address vpn-instance vpn-instance-name evpn

指定的VPN實例必須已經存在。不同下一跳和出接口不能配置相同End.DX6 SID。

1.5  配置BGP引用Locator段

1. 功能簡介

在EVPN L3VPN over SRv6組網場景中,在指定VPN實例的BGP-VPN IPv4/IPv6單播地址族視圖下配置本功能後,PE設備將為指定VPN實例的私網路由在引用的Locator段內申請SRv6 SID。

使用End.DT4 SID/End.DT6 SID/End.DT46 SID/End.DX4 SID/End.DX6 SID時,都需要執行本配置。

2. 配置限製和指導

配置本功能前,必須滿足以下條件:

·     指定的Locator必須存在。

·     End.DT4 SID/End.DT6 SID所在VPN實例與私網的VPN實例必須相同。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

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

ip vpn-instance vpn-instance-name

(4)     進入BGP-VPN IPv4單播地址族視圖或BGP-VPN IPv6單播地址族視圖。

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

address-family ipv4 [ unicast ]

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

address-family ipv6 [ unicast ]

(5)     配置BGP引用Locator段。

segment-routing ipv6 locator locator-name evpn [ auto-sid-disable ]

缺省情況下,未引用Locator。

1.6  配置向對等體/對等體組發布SRv6封裝的EVPN路由

1. 功能簡介

在EVPN L3VPN over SRv6組網環境中需要配置本功能,否則VPN路由無法作為EVPN路由發布到對等體/對等體組。

2. 配置限製和指導

本功能通常配置在EVPN承載的L3VPN網絡的邊緣節點和RR(Route Reflector,路由反射器)設備上。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP EVPN地址族視圖。

address-family l2vpn evpn

(4)     配置向對等體/對等體組發布SRv6封裝的EVPN路由。

peer { group-name | ipv6-address [ prefix-length ] } advertise encap-type srv6

缺省情況下,向對等體/對等體組發布VXLAN封裝的IP前綴路由。

1.7  配置PE-PE間交互BGP EVPN路由

1. 配置限製和指導

PE之間不能同時建立IPv4和IPv6對等體,否則影響路由優選,無法通過SRv6隧道轉發流量。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     將對端PE配置為IPv6對等體。

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

(4)     指定與IPv6對等體/對等體組創建BGP會話時建立TCP連接使用的源接口。

peer { group-name | ipv6-address [ prefix-length ] } connect-interface interface-type interface-number

缺省情況下,BGP使用到達BGP對等體的最佳路由的出接口作為與對等體/對等體組創建BGP會話時建立TCP連接的源接口。

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

address-family l2vpn evpn

(6)     使能本地路由器與指定IPv6對等體交換EVPN路由信息的能力。

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

缺省情況下,本地路由器不能與對等體交換EVPN路由信息。

1.8  配置為私網路由按下一跳分配End.DX4 SID/End.DX6 SID

1. 功能簡介

在EVPN L3VPN over SRv6組網場景中,如果配置了End.DT4 SID、End.DT6 SID或End.DT46 SID,則PE根據VPN實例為BGP EVPN私網路由分配相同SID。PE對接收到的報文解封裝後,會在SID標識的VPN實例內查找路由表,將報文轉發給CE。如果希望不查路由表,直接快速地將報文轉發給下一跳,則可以基於下一跳地址為BGP路由分配End.DX4/End.DX6 SID。

2. 配置限製和指導

配置本功能前,必須先在BGP-VPN IPv4單播地址族視圖或BGP-VPN IPv6單播地址族引用Locator段。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

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

ip vpn-instance vpn-instance-name

(4)     進入BGP-VPN IPv4單播地址族視圖或BGP-VPN IPv6單播地址族視圖。

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

address-family ipv4 [ unicast ]

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

address-family ipv6 [ unicast ]

(5)     配置根據下一跳分配End.DX4 SID或End.DX6 SID。請選擇其中一項進行配置。

¡     配置BGP EVPN路由為所有下一跳分配End.DX4/End.DX6 SID。

segment-routing ipv6 apply-sid all-nexthop evpn

¡     依次執行以下命令,配置BGP EVPN路由為指定下一跳分配End.DX4/End.DX6 SID。

segment-routing ipv6 apply-sid specify-nexthop evpn

nexthop nexthop-address interface interface-type interface-number

缺省情況下,根據VPN實例為私網路由分配SID。

1.9  配置BGP EVPN路由

1.9.1  配置限製和指導

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

1.9.2  配置BGP EVPN路由反射

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP EVPN地址族視圖。

address-family l2vpn evpn

(4)     配置將本機作為路由反射器,並將對等體或對等體組作為路由反射器的客戶。

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

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

(5)     (可選)允許路由反射器在客戶機之間反射路由。

reflect between-clients

缺省情況下,允許路由反射器在客戶機之間反射路由。

(6)     (可選)配置路由反射器的集群ID。

reflector cluster-id { cluster-id | ip-address }

缺省情況下,每個路由反射器都使用自己的Router ID作為集群ID。

(7)     (可選)創建路由反射器的反射策略。

rr-filter { ext-comm-list-number | ext-comm-list-name }

缺省情況下,路由反射器不會對反射的路由進行過濾。

(8)     (可選)允許路由反射器反射路由時修改路由屬性。

reflect change-path-attribute

缺省情況下,不允許路由反射器反射路由時修改路由屬性。

1.9.3  配置BGP EVPN路由屬性

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP EVPN地址族視圖。

address-family l2vpn evpn

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

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

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

(5)     配置對於從對等體/對等體組接收的路由,允許本地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 ] } advertise-community

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

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

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

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

1.9.4  配置BGP EVPN路由過濾

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP EVPN地址族視圖。

address-family l2vpn evpn

(4)     配置對發布的路由信息進行過濾。

filter-policy { mac-acl-number | name mac-acl-name } export

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

(5)     配置對接收的路由信息進行過濾。

filter-policy { mac-acl-number | name mac-acl-name } import

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

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

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

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

(7)     配置對接收到的EVPN路由進行Route Target過濾。

policy vpn-target

缺省情況下,對接收到的EVPN路由進行Route Target過濾,即隻將Export Route Target屬性與本地Import Route Target屬性匹配的EVPN路由加入到路由表。

1.9.5  配置BGP Add-Path

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(3)     進入BGP EVPN地址族視圖。

address-family l2vpn evpn

(4)     配置Add-Path功能。

peer { group-name | ipv6-address [ prefix-length ] } additional-paths { receive | send } *

缺省情況下,未配置Add-Path功能。

(5)     配置向指定對等體/對等體組發送的Add-Path優選路由的最大條數。

peer { group-name | ipv6-address [ prefix-length ] } advertise additional-paths best number

缺省情況下,向指定對等體/對等體組發送的Add-Path優選路由的最大條數為1。

(6)     (可選)配置路由延遲優選時間。

route-select delay delay-value

缺省情況下,延遲時間為0秒,即路由優選不延遲。

1.10  配置路由迭代方式

1. 功能簡介

EVPN L3VPN over SRv6網絡中,設備為用戶流量封裝SRv6 SID後,可以根據如下路由迭代方式為封裝後的報文查找轉發路徑:

·     SRv6 BE方式:又稱為基於SID的轉發方式。該方式根據封裝的End.DT4 SID/End.DT6 SID/End.DT46 SID查找IPv6路由表進行轉發。

·     SRv6 TE方式:又稱為基於SRv6 TE Policy的轉發方式。該方式根據報文屬性查找匹配的SRv6 TE Policy,為報文添加攜帶End.DT4 SID/End.DT6 SID/End.DT46 SID和SRv6 TE Policy SID列表的SRH頭後,通過SRv6 TE Policy轉發該報文。有關基於SRv6 TE Policy的轉發方式的詳細介紹,請參見“Segment Routing配置指導”中的“SRv6 TE Policy”。

·     SRv6 TE/SRv6 BE混合方式:優先通過SRv6 TE方式選擇轉發路徑;如果SRv6 TE方式未找到可用的SRv6 TE Policy,則通過SRv6 BE方式選擇轉發路徑。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

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

ip vpn-instance vpn-instance-name

(4)     進入BGP-VPN IPv4單播地址族視圖或BGP-VPN IPv6單播地址族視圖。

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

address-family ipv4 [ unicast ]

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

address-family ipv6 [ unicast ]

(5)     配置路由迭代方式

segment-routing ipv6 { best-effort | traffic-engineering | traffic-engineering best-effort } evpn

缺省情況下,根據路由的下一跳地址查找IPv6路由表進行轉發。

1.11  配置EVPN L3VPN over SRv6封裝的IPv6報文頭的源地址

1. 配置限製和指導

在EVPN L3VPN over SRv6組網環境中,必須指定封裝的IPv6報文頭的源地址。否則,無法通過EVPN L3VPN over SRv6轉發數據流量。

配置源地址時,不能為環回地址、鏈路本地地址、組播地址和未指定地址。指定的源地址必須為本機地址,且已經由路由協議發布,建議指定本設備的Loopback接口地址。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SRv6視圖。

segment-routing ipv6

(3)     配置EVPN L3VPN over SRv6封裝的IPv6報文頭的源地址。

encapsulation source-address ipv6-address [ ip-ttl ttl-value ]

缺省情況下,未指定EVPN L3VPN over SRv6封裝的IPv6報文頭的源地址。

1.12  配置EVPN L3VPN over SRv6快速重路由

1.12.1  功能簡介

EVPN L3VPN over SRv6快速重路由功能可以通過開啟指定地址族的快速重路由功能實現。采用這種方式時,設備會為當前VPN實例的所有BGP路由自動計算備份下一跳,即隻要從不同BGP對等體學習到了到達同一目的網絡的路由,且這些路由不等價,就會生成主備兩條路由。

1.12.2  配置限製和指導

在某些組網情況下,執行pic命令開啟該地址族的快速重路由功能,為所有BGP路由生成備份下一跳後,可能會導致路由環路,請謹慎使用本命令。

1.12.3  配置步驟

(1)     進入係統視圖。

system-view

(2)     配置靜態BFD檢測。

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

(3)     退回係統視圖。

quit

(4)     進入BGP實例視圖。

bgp as-number [ instance instance-name ]

(5)     配置通過Echo方式的BFD會話檢測主路由的下一跳是否可達。

primary-path-detect bfd echo

缺省情況下,通過ARP檢測主路由的下一跳是否可達。

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

(6)     進入BGP EVPN地址族視圖。

address-family l2vpn evpn

(7)     開啟當前地址族的快速重路由功能。

pic

缺省情況下,快速重路由功能處於關閉狀態。

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

1.13  配置VPN實例關聯的隧道對TTL的處理模式

1. 功能簡介

VPN實例關聯的隧道對報文TTL有如下兩種處理方式:

·     Pipe模式:當IP(或IPv6)報文進入該VPN實例的隧道時,Ingress設備會為原始報文添加外層報文頭部,使用缺省值255(或在SRv6視圖下通過執行encapsulation source-address ip-ttl命令指定的TTL值)作為外層IP報文的TTL(或IPv6報文的Hop Limit);離開該VPN實例的隧道時,Egress設備不修改原始IP報文的TTL(或IPv6報文的Hop Limit)。使用這種方式時,公網中的節點對用戶網絡的報文不可見。公網Tracert的結果不包括每一跳信息,從而隱藏公網的結構。

·     Uniform模式:當IP(或IPv6)報文進入該VPN實例的隧道時,Ingress設備會為原始報文添加外層報文頭部,將原始報文的TTL(或Hop Limit)值複製到外層IP報文的TTL(或IPv6報文的Hop Limit)域;離開該VPN實例的隧道時,Egress設備再將外層IP報文的TTL(或IPv6報文的Hop Limit)複製到原始IP報文的TTL(或IPv6報文的Hop Limit)域。使用這種方式時,公網中的節點對用戶網絡的報文可見。報文沿著隧道傳輸的過程中,TTL逐跳遞減,Tracert的結果將反映報文實際經過的路徑。

2. 配置限製和指導

目前僅支持配置VPN實例關聯的SRv6隧道對TTL的處理模式。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入VPN實例視圖。

ip vpn-instance vpn-instance-name [ index vpn-index ]

(3)     配置VPN實例關聯的隧道對TTL的處理模式。

ttl-mode { pipe | uniform }

缺省情況下,VPN實例關聯的隧道對TTL的處理模式是Pipe模式。

本命令的詳細介紹,請參見“MPLS配置指導”中的“MPLS L3VPN”。

1.14  EVPN L3VPN over SRv6顯示和維護

1.14.1  顯示和維護EVPN L3VPN over SRv6的運行狀態及配置

本節所有命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP基礎”。

可在任意視圖下執行以下命令,顯示BGP EVPN路由信息。

display bgp [ instance instance-name ] l2vpn evpn [ peer ipv4-address { advertised-routes | received-routes } [ statistics ] | route-distinguisher route-distinguisher [ route-type ip-prefix ] [ evpn-route route-length [ advertise-info ] ] | route-type { auto-discovery | es | imet | ip-prefix | mac-ip } | statistics ]

1.14.2  複位BGP會話

1. 功能簡介

當BGP配置變化後,可以通過軟複位或複位BGP會話使新的配置生效。軟複位BGP會話是指在不斷開BGP鄰居關係的情況下,更新BGP路由信息;複位BGP會話是指斷開並重新建立BGP鄰居關係的情況下,更新BGP路由信息。軟複位需要BGP對等體具備路由刷新能力(支持ROUTE-REFRESH消息)。

2. 配置步驟

本節所有命令的詳細介紹,請參見“三層技術-IP路由命令參考”中的“BGP基礎”。

請在用戶視圖下執行以下命令:

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

refresh bgp [ instance instance-name ] ipv6-address [ prefix-length ] { export | import } l2vpn evpn

·     複位EVPN地址族下的BGP會話。

reset bgp [ instance instance-name ] ipv6-address [ prefix-length ] l2vpn evpn

1.15  EVPN L3VPN over SRv6典型配置舉例

1.15.1  IPv4 EVPN L3VPN over SRv6 BE典型配置舉例

1. 組網需求

圖1-3所示,核心網為IPv6網絡,私網為IPv4網絡,在IPv6網絡中PE設備之間部署EVPN L3VPN over SRv6 BE,通過SRv6隧道傳遞EVPN數據。

·     CE 1和CE 2均屬於VPN 1。

·     CE與PE之間配置EBGP交換VPN路由信息。

·     同一自治係統內的PE設備之間運行IS-IS實現IPv6網絡互通,配置MP-IBGP交換EVPN路由信息。

2. 組網圖

圖1-3 IPv4 EVPN L3VPN over SRv6配置組網圖

設備

接口

IP地址

設備

接口

IP地址

CE 1

GE0/0/1

10.1.1.2/24

PE 2

Loop0

3::3/128

PE 1

Loop0

1::1/128

 

GE0/0/1

10.2.1.1/24

 

GE0/0/1

10.1.1.1/24

 

GE0/0/2

2002::1/96

 

GE0/0/2

2001::1/96

CE 2

GE0/0/1

10.2.1.2/24

P

Loop0

2::2/128

 

 

 

 

GE0/0/1

2001::2/96

 

 

 

 

GE0/0/2

2002::2/96

 

 

 

 

3. 配置步驟

(1)     在PE和P設備上配置IPv6 IS-IS,實現骨幹網PE和P的互通

# 配置PE 1。

<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 0/0/2

[PE1-GigabitEthernet0/0/2] ipv6 address 2001::1 96

[PE1-GigabitEthernet0/0/2] isis ipv6 enable

[PE1-GigabitEthernet0/0/2] quit

# 配置P。

<P> system-view

[P] isis

[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

[P-LoopBack0] quit

[P] interface gigabitethernet 0/0/1

[P-GigabitEthernet0/0/1] ipv6 address 2001::2 96

[P-GigabitEthernet0/0/1] isis ipv6 enable

[P-GigabitEthernet0/0/1] quit

[P] interface gigabitethernet 0/0/2

[P-GigabitEthernet0/0/2] ipv6 address 2002::2 96

[P-GigabitEthernet0/0/2] isis ipv6 enable

[P-GigabitEthernet0/0/2] quit

# 配置PE 2。

<PE2> system-view

[PE2] isis

[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

[PE2-LoopBack0] quit

[PE2] interface gigabitethernet 0/0/2

[PE2-GigabitEthernet0/0/2] ipv6 address 2002::1 96

[PE2-GigabitEthernet0/0/2] isis ipv6 enable

[PE2-GigabitEthernet0/0/2] quit

配置完成後,PE 1、P、PE 2之間應能建立IPv6 IS-IS鄰居,執行display isis peer命令可以看到鄰居達到Up狀態。執行display isis route ipv6命令可以看到PE之間學習到對方的Loopback接口的路由。

(2)     在PE設備上配置VPN實例,將CE接入PE

# 配置PE 1。

[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 0/0/1

[PE1-GigabitEthernet0/0/1] ip binding vpn-instance vpn1

[PE1-GigabitEthernet0/0/1] ip address 10.1.1.1 24

[PE1-GigabitEthernet0/0/1] quit

# 配置PE 2。

[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 0/0/1

[PE2-GigabitEthernet0/0/1] ip binding vpn-instance vpn1

[PE2-GigabitEthernet0/0/1] ip address 10.2.1.1 24

[PE2-GigabitEthernet0/0/1] quit

# 按圖1-3配置各CE的接口IP地址,配置過程略。

配置完成後,在PE設備上執行display ip vpn-instance命令可以看到VPN實例的配置情況。各PE能ping通自己接入的CE。

以PE 1和CE 1為例:

[PE1] display ip vpn-instance

  Total VPN-Instances configured : 1

  Total IPv4 VPN-Instances configured : 1

  Total IPv6 VPN-Instances configured : 1

  VPN-Instance Name     RD              Address family      Create time

  vpn1                  100:1           N/A                 2019/08/12 13:59:39

[PE1] ping -vpn-instance vpn1 10.1.1.2

Ping 10.1.1.2 (10.1.1.2): 56 data bytes, press CTRL+C to break

56 bytes from 10.1.1.2: icmp_seq=0 ttl=255 time=2.000 ms

56 bytes from 10.1.1.2: icmp_seq=1 ttl=255 time=0.000 ms

56 bytes from 10.1.1.2: icmp_seq=2 ttl=255 time=1.000 ms

56 bytes from 10.1.1.2: icmp_seq=3 ttl=255 time=0.000 ms

56 bytes from 10.1.1.2: icmp_seq=4 ttl=255 time=0.000 ms

 

--- Ping statistics for 10.1.1.2 in VPN instance vpn1 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 0.000/0.600/2.000/0.800 ms

(3)     在PE與CE之間建立EBGP對等體,引入VPN路由

# 配置CE 1。

<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

# CE 2配置與CE 1設備配置類似,配置過程省略。

# 配置PE 1。

[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 2配置與PE 1設備配置類似,配置過程省略。

配置完成後,在PE設備上執行display bgp peer ipv4 vpn-instance命令,可以看到PE與CE之間的BGP對等體關係已建立,並達到Established狀態。

(4)     在PE之間建立MP-IBGP對等體

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 0

[PE1-bgp-default] address-family l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 enable

[PE1-bgp-default-evpn] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 0

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 enable

[PE2-bgp-default-evpn] quit

[PE2-bgp-default] quit

配置完成後,在PE設備上執行display bgp peer l2vpn evpn命令,可以看到PE之間的BGP對等體關係已建立,並達到Established狀態。

(5)     在PE設備上配置EVPN IPv4 L3VPN over SRv6封裝的IPv6報文頭的源地址

# 配置PE 1。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] encapsulation source-address 11::11

# 配置PE 2。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] encapsulation source-address 33::33

(6)     在PE設備上配置EVPN IPv4 L3VPN over SRv6封裝的IPv6報文頭的目的地址End.DT4 SID

# 配置PE 1。

[PE1-segment-routing-ipv6] locator aaa ipv6-prefix 1:2::1:0 96 static 8

[PE1-segment-routing-ipv6-locator-aaa] quit

[PE1-segment-routing-ipv6] 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

# 配置PE 2。

[PE2-segment-routing-ipv6] locator bbb ipv6-prefix 6:5::1:0 96 static 8

[PE2-segment-routing-ipv6-locator-bbb] quit

[PE2-segment-routing-ipv6] 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

配置完成後,在PE設備上執行display ipv6 routing-table命令,可以看到已經將End.DT4 SID引入路由表中,並生成SRv6路由。

以PE 1為例:

[PE1] display ipv6 routing-table protocol srv6

 

Summary count : 1

 

SRv6 Routing table status : <Active>

Summary count : 1

 

Destination: 1:2::101/128                                Protocol  : SRv6

NextHop    : ::1                                         Preference: 4

Interface  : InLoop0                                     Cost      : 0

 

SRv6 Routing table status : <Inactive>

Summary count : 0

(7)     在PE設備上配置為私網路由添加End.DT4 SID

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 locator aaa evpn

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 locator bbb evpn

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

(8)     在PE設備上配置IPv6對等體之間交換End.DT4 SID,同時允許將私網路由迭代到End.DT4 SID的路由條目上

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] address-family l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 advertise encap-type srv6

[PE1-bgp-default-evpn] quit

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 best-effort evpn

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 advertise encap-type srv6

[PE2-bgp-default-evpn] quit

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 best-effort evpn

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

配置完成後,在PE設備上執行display bgp l2vpn evpn命令查看對端PE發送的路由詳細信息,可以看到對端PE發送的路由攜帶SID屬性數據。

以PE 1為例:

[PE1] display bgp l2vpn evpn [5][0][24][10.2.1.0]/80

 

 BGP local router ID: 1.1.1.1

 Local AS number: 100

 

 

 Route distinguisher: 100:1(vpn1)

 Total number of routes: 1

 Paths:   1 available, 1 best

 

 BGP routing table information of [5][0][24][10.2.1.0]/80:

 From            : 3::3 (3.3.3.3)

 Rely nexthop    : FE80::2A96:34FF:FE9D:216

 Original nexthop: 3::3

 Out interface   : GigabitEthernet0/0/2

 Route age       : 00h14m23s

 OutLabel        : NULL

 Ext-Community   : <RT: 111:1>

 RxPathID        : 0x0

 TxPathID        : 0x0

 PrefixSID       : End.DT4 SID <6:5::101>

 AS-path         : 65420

 Origin          : incomplete

 Attribute value : MED 0, localpref 100, pref-val 0

 State           : valid, internal, best

 IP precedence   : N/A

 QoS local ID    : N/A

 Traffic index   : N/A

 EVPN route type : IP prefix advertisement route

 ESI             : 0000.0000.0000.0000.0000

 Ethernet tag ID : 0

 IP prefix       : 10.2.1.0/24

 Gateway address : 0.0.0.0

 MPLS label      : 16777215

 Tunnel policy   : NULL

 Rely tunnel IDs : N/A

4. 驗證配置

# 在PE設備上執行display ip routing-table vpn-instance命令,可以看到去往對端CE的路由,並且路由下一跳值為路由攜帶的End.DT4 SID。

以PE 1為例:

[PE1] display ip routing-table vpn-instance vpn1

 

Destinations : 11       Routes : 11

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0

10.1.1.0/24        Direct  0   0           10.1.1.1        GE0/0/1

10.1.1.0/32        Direct  0   0           10.1.1.1        GE0/0/1

10.1.1.1/32        Direct  0   0           127.0.0.1       InLoop0

10.1.1.255/32      Direct  0   0           10.1.1.1        GE0/0/1

10.2.1.0/24        BGP     255 0           6:5::1:0        GE0/0/2

127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0

127.0.0.0/32       Direct  0   0           127.0.0.1       InLoop0

127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0

127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0

CE 1和CE 2之間能夠ping通。

 

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

BOB登陆
官網
聯係我們