本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案介紹使用邊界閘道通訊協定(BGP) L2VPN AFI 25和SAFI 70的乙太網路VPN (EVPN)路由型別,以提供第2/3層控制平面可達性。
思科建議您瞭解多協定標籤交換(MPLS)和L2VPN的基本知識。
本文檔中的資訊基於裝置:聚合服務路由器9000 (ASR9K)。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
下表簡短概述本文中使用的術語。
EVPN例項(EVI) |
EVI辨識EVPN網路中的VPN。每個EVI都分配有唯一的RD和RT。乙太網標籤被分配給EVI |
乙太網路區段辨識碼(ESI) |
乙太網段(ES)由10位元組ESI唯一標識 |
表 1.主要EVPN術語
此表列出了在第2層和第3層服務中通告的EVPN路由的彙總。
路由型別 |
說明 |
使用量 |
1 |
乙太網路自動探索路由 |
· MAC整批撤回 · 水準分割 · 別名(負載平衡) |
2 |
MAC通告路由 |
· 通告MAC地址 · 為地址解析協定(ARP)廣播抑制提供MAC/IP地址繫結 |
3 |
內含組播路由 |
· 用於傳輸廣播未知單播和多播(BUM)流量的組播隧道 |
4 |
乙太網段路由 |
· 多宿主乙太網網段的自動發現 · 指定轉寄站(DF)選擇 |
5 |
IP字首通告路由 |
· 通告用於子網間轉發的IP字首 |
表2.EVPN路由型別
使用網路拓撲圖突出顯示EVPN路由的重要性和功能。
圖1.EVPN網路拓撲
所有提供商邊緣(PE)上的單或多宿主EVPN網路都需要此配置。
BGP:
router bgp 100
bgp router-id 10.10.33.33
address-family l2vpn evpn
注意:此地址系列配置啟用EVPN路由的傳播。
EVPN :
evpn
ethernet-segment
!
evi 1
註:此EVI編號對客戶而言是唯一的。參與此EVPN例項的所有PE都必須具有相同的編號。
L2VPN:
l2vpn
bridge group EVPN
bridge-domain EVPN
interface < TenGigE0/0/0/45.10 /BE20.10>
!
evi 1
注意:此組態會在橋接網域(BD)上關聯EVI和附件電路(AC),BD的意義和虛擬私人LAN服務(VPLS)中相同,可讓我們瞭解遠端MAC和BD內BUM流量的泛洪。
Access interface:
interface < TenGigE0/0/0/45.10 /BE20.10> l2transport
encapsulation dot1q 10
rewrite ingress tag pop 1 symmetric
在多宿主場景中,當客戶端(CE)裝置透過鏈路聚合控制協定(LACP)捆綁連線到多個PE時,從CE的角度來看,它實際上只連線到一個PE。可以使用此配置模擬此情況 在PE1和PE2上。
lacp system MAC aaaa.aaaa.aaaa
注意:在共用相同ESI的所有PE捆綁包上(在本例中為PE1和PE2)系統MAC 'aaaa.aaaa.aaaa'必須相同。
evpn
interface Bundle-Ether20
ethernet-segment
identifier type 0 00.21.21.21.21.21.21.21.21
該配置為CE1建立(所有活動)冗餘,允許PE1和PE2主動向CE1轉發流量。當遠端PE3需要向CE1傳送流量時,它可以選擇透過PE1或PE2路由流量。這種冗餘透過PE1和PE2將相關EVPN路由通告給PE3來實現,從而確保有效的流量分配。
它用於通告ESI、乙太網標籤ID和EVI資訊。
乙太網自動發現路由有兩種型別:
- 每個ESI和每個EVI:
RP/0/RSP0/CPU0:ASR9910-3-PE1#show bgp l2vpn evpn rd 10.10.11.11:1 route-type 1
Route Distinguisher: 10.10.11.11:1 (default for vrf EVPN)
*> [1][0000.2121.2121.2121.2121][0]/120
0.0.0.0 0 i
* i 10.10.22.22 100 0 i
*>i[1][0000.2121.2121.2121.2121][4294967295]/120
10.10.22.22 100 0 i
此路由非常關鍵,因為它會通知PE3和其他遠端EVPN對等體PE1和PE2共用相同的ESI配置。
RP/0/RSP0/CPU0:PE2-9001-2#show bgp l2vpn evpn rd 10.10.22.22:0 [1][10.10.22.22:1][0000.2121.2121.2121.2121][4294967295]/184 detail
Sat Aug 5 09:00:46.410 UTC
BGP routing table entry for [1][10.10.22.22:1][0000.2121.2121.2121.2121][4294967295]/184, Route Distinguisher: 10.10.22.22:0
<snIP>
Local Label: 0 (no rewrite);
<snIP>
Local
0.0.0.0 from 0.0.0.0 (10.10.22.22), if-handle 0x00000000
Origin IGP, localpref 100, valid, redistributed, best, group-best, import-candidate, rib-install
Received Path ID 0, Local Path ID 1, version 61
Extended community: EVPN ESI Label:0x00:24014 RT:100:1
注意: [4294967295] -它是每個ESI的路由
10.10.22.22:0 - RD由生成此路由的PE IP地址設定
EVPN ESI標籤:24014 -也稱為水準分割標籤
0x00 -全活動設定
0x01 -單活動
RT:100:1-自動標籤的路由目標值表示此ESI屬於EVI 1
此路由Per ESI的兩個重要功能是:
圖2.整批MAC撤回
根據圖2.,CE (C1)裝置MAC地址可達性資訊透過MPLS雲上的BGP控制平面從本地PE (L1和L2)通告給遠端PE (L3和L4)。當接入介面關閉時,必須撤消相關的網路層可達性資訊(NLRI)。在大規模網路中,提取與ESI關聯的所有MAC/IP路由所花費的時間可能導致資料流嚴重中斷。為了確保更快的收斂,當PE上的接入介面(例如,L1)斷開時,每個ESI的路由撤銷將從L1傳送到其對等PE(L2、L3和L4)。然後,這些對等體將ESI的下一跳地址更新為具有活動ESI介面的L2地址,確保與該ESI關聯的所有MAC地址快速收斂。
在同一ESI中,水準分割機制有助於阻止BUM流量透過其他PE回圈到源CE。
圖3.水準分割機制
在此範例中:
此路由的意義在於通告別名標籤,該標籤由其他PE使用,以便負載均衡擁有ESI的多個PE之間的流量。
RP/0/RSP0/CPU0:PE2-9001-2#show bgp l2vpn evpn rd 10.10.22.22:1 [1][0000.2121.2121.2121.2121][0]/120 detail
BGP routing table entry for [1][0000.2121.2121.2121.2121][0]/120, Route Distinguisher: 10.10.22.22:1
<snIP>
Local Label: 24012 (no rewrite);
<snIP>
Local
0.0.0.0 from 0.0.0.0 (10.10.22.22), if-handle 0x00000000
Origin IGP, localpref 100, valid, redistributed, best, group-best, import-candidate, rib-install
Received Path ID 0, Local Path ID 1, version 8
Extended community: RT:100:1
Dependency List:
EVPN
註:0000.2121.2121.2121.2121-此ESI的每個EVI路由
本地標籤:24012 -必須使用此標籤透過PE2將單播流量傳送到CE1
RT:100:1 -這表示此路由必須導入到EVI 1
此路由的重要性在於它能夠將本地學習的MAC/IP地址與單播標籤一起通告給其他PE。此路由型別2被導入到對等PE的EVI 1,因為AS 100中跨所有PE的EVI 1的導入路由目標為100:1。
evpn
ethernet-segment
!
evi 1
advertise-MAC
必須配置advertise-MAC命令,才能將該AC介面本地獲知的MAC地址作為路由型別2進行通告。
RP/0/RSP0/CPU0:PE3-9006-1#show bgp l2vpn evpn rd 10.10.33.33:1 [2][0][48][c8f9.f98c.0bbf][0]/104
BGP routing table entry for [2][0][48][c8f9.f98c.0bbf][0]/104, Route Distinguisher: 10.10.33.33:1
<snIP>
Local label:24012(no rewrite);
Path #1: Received by speaker 0
Flags: 0x202000000504000b+0x00, import: 0x000, EVPN: 0x1
Advertised to update-groups (with more than one peer):
0.2
Local
0.0.0.0 from 0.0.0.0 (10.10.33.33), if-handle 0x00000000
Origin IGP, localpref 100, valid, redistributed, best, group-best, import-candidate, rib-install
Received Path ID 0, Local Path ID 1, version 399
Extended community: SoO:10.10..33.33:1 0x060e:0000.0000.000a RT:100:1
EVPN ESI: 0000.0000.0000.0000.0000 >> the ESI value is set to 0 when there is no ESI configured on the access interface
註:EVPN:0x1 >> EVI號碼
EVPN ESI: 0000.0000.0000.0000 >>當訪問介面上未配置ESI時,ESI值設定為0。
當路由型別2由非ESI配置的訪問介面和ESI配置的訪問介面通告時,兩者之間的區別在於,此ESI值作為擴展團體包含在路由型別2中。這有助於對配置有相同ESI的所有PE之間的流量進行負載均衡。
RP/0/RSP0/CPU0:PE2-9001-2#show bgp l2vpn evpn
<snIP>
*> [2][0][48][1833.9d3d.193f][0]/104
0.0.0.0 0 i
* i 10.10.11.11 100 0 i
RP/0/RSP0/CPU0:PE3-9006-1#show bgp l2vpn evpn rd 10.10.33.33:1 [2][0][48][183
BGP routing table entry for [2][0][48][1833.9d3d.193f][0]/104, Route Distinguisher: 10.10.33.33:1
Paths: (2 available, best #2)
Local
10.10.11.11 (metric 20) from 10.10.11.11 (10.10.11.11)
Received Label 24012
Origin IGP, localpref 100, valid, internal, import-candidate, imported, rib-install
Received Path ID 0, Local Path ID 0, version 0
Extended community: SoO:10.10.11.11:1 0x060e:0000.0000.000a RT:100:1
EVPN ESI: 0000.2121.2121.2121.2121>>> this MAC route is tag with the ESI
Source AFI: L2VPN EVPN, Source VRF: default, Source Route Distinguisher: 10.10.11.11:1
Path #2: Received by speaker 0
Not advertised to any peer
Local
10.10.22.22 (metric 10) from 10.10.22.22 (10.10.22.22)
Received Label 24012
Origin IGP, localpref 100, valid, internal, best, group-best, import-candidate, imported, rib-install
Received Path ID 0, Local Path ID 1, version 797
Extended community: SoO:10.10.22.22:1 0x060e:0000.0000.000a RT:100:1
EVPN ESI: 0000.2121.2121.2121.2121>> this MAC route is tag with the ESI
Source AFI: L2VPN EVPN, Source VRF: default, Source Route Distinguisher: 10.10.22.22:1
注意: EVPN ESI: 0000.2121.2121.2121.2121>>>此MAC路由使用ESI標籤。
vrf TEST
rd 10.10.33.33:3000
address-family IPv4 unicast
import route-target
100:100
200:200
!
export route-target
100:100
注意:100:100是增加到「路由型別2」的路由目標。
interface BVI3000
host-routing
vrf TEST
IPv4 address 192.168.10.1 255.255.255.0
MAC-address aaaa.aaaa.aaaa
注意:host-routing命令將VPNv4導出路由目標增加到MAC-IP路由型別2。
'192.168.10.1, aaaa.aaaa'在任播分散式IRB設定中,此IP地址和MAC地址稱為任播整合路由和橋接(IRB) IP地址和MAC地址,兩者在PE1和PE2上必須相同。分散式IRB是此複製中使用的設計。
router bgp 100
bgp router-id 10.10.33.33
!
address-family vpnv4 unicast
!
address-family l2vpn evpn
vrf TEST
rd 10.10.33.33:3000
address-family IPv4 unicast
redistribute connected
注意:虛擬路由和轉發(VRF)下的redistribute connected命令會為EVPN路由生成L3VPN標籤。
l2vpn
bridge group vESI-TEST
bridge-domain vESI-TEST
interface Bundle-Ether30.3000
!
routed interface BVI3000
!
evi 3000
RP/0/RSP0/CPU0:PE2#show bgp l2vpn evpn
<snIP>
Route Distinguisher: 10.10.33.33:3000
*>i[2][0][48][d46a.35eb.400c][32][192.168.20.3]/136
10.10.33.33 100 0 i
RP/0/RSP0/CPU0:PE2#show bgp l2vpn evpn rd 10.10.22.22:3000 [2][0][48][d46a.35eb.400c][32][192.168.20.3]/136 detail
Tue Nov 28 08:59:36.085 UTC
BGP routing table entry for [2][0][48][d46a.35eb.400c][32][192.168.20.3]/136, Route Distinguisher: 10.10.22.22:3000
<snIP>
Flags: 0x2000020005060005+0x00, import: 0x080, EVPN: 0x3
Not advertised to any peer
Local
10.10.33.33 (metric 3) from 10.10.33.33 (10.10.33.33), if-handle 0x00000000
Received Label 24005, Second Label 24006
Origin IGP, localpref 100, valid, internal, best, group-best, import-candidate, imported, rib-install
Received Path ID 0, Local Path ID 1, version 19279
Extended community: SoO:10.10.33.33:3000 0x060e:0000.0000.0fa0 RT:100:100
EVPN ESI: 0000.0000.0000.0000.0000
Source AFI: L2VPN EVPN, Source VRF: default, Source Route Distinguisher: 10.10.33.33:3000
注意: [48][d46a.35eb.400c][32][192.168.20.3]>>通告連線到PE2的主機的MAC和IP地址。
收到的標籤24005 - Bridge-Domain/EVI標籤
第二個標籤24006- IP VRF標籤
當透過ARP發現主機時,會使用網橋域/EVI和IP VRF標籤及其各自的路由目標通告MAC和IP路由型別2。VRF路由目標和IP VPN標籤與路由型別2相關聯,以便實現類似於傳統L3VPN的枝葉-枝葉IP路由。對於枝葉-枝葉之間的第2層轉發,使用與路由型別2關聯的網橋域/EVI路由目標和標籤。
當面向CE的介面打開並且路由器收到來自CE的第一個資料包時,MAC地址學習和通告使用平台元件工作流:
網橋域MAC表> L2FIB > EVPN > BGP
RP/0/RSP1/CPU0:ASR-9904-5-PE2#show l2vpn forwarding bridge-domain EVPN:EVPN MAC-address location 0/1/CPU0
Fri Jul 31 17:12:53.515 UTC
To Resynchronize MAC table from the Network Processors, use the command...
l2vpn resynchronize forwarding MAC-address-table location <r/s/i>
MAC Address Type Learned from/Filtered on LC learned Resync Age/Last Change Mapped to
----------- ----- ------------------------ ---------- ---------------------- ---------
C8f9.f98c.0bbf dynamic Te0/0/0/45.10 N/A 31 Jul 17:03:54 N/A
RP/0/RSP1/CPU0:ASR9906-1-PE1#show l2route evpn MAC all detail
Topo ID MAC Address Producer Next Hop(s) Seq No Flags Slot
------- ----------- --------- --------------- ------- ------ ----
0 003c.1018.f5fe LOCAL TenGigE0/0/0/4.100, N/A 0 BLRcv 0/0/CPU0
RP/0/RSP1/CPU0:ASR-9904-5-PE2#show evpn evi vpn-id 1 MAC
Fri Sep 20 08:21:44.128 UTC
VPN-ID Encap MAC address IP address Nexthop Label SID
------ ------ ----------- ---------- -------- ----- ---
1 MPLS 1833.9d3d.193f :: 10.10.11.11 24012
1 MPLS 1833.9d3d.193f :: 10.10.22.22 24012
1 MPLS c8f9.f98c.0bbf :: tengig0/0/0/45.10 24012
RP/0/RSP0/CPU0:PE2-9001-2#show bgp l2vpn evpn
<snIP>
*> [2][0][48][1833.9d3d.193f][0]/104
0.0.0.0 0 i
* i 10.10.11.11 100 0 i
當PE收到EVI 1的路由型別2時,它將透過以下元件傳播:
透過EVPN網路傳輸BUM流量時需要此路由。 此路由用於告訴其他PE (PE1)如果必須將BUM流量傳送到EVI 1的PE3,應使用哪個標籤。
RP/0/RSP0/CPU0:PE3-9006-1#show bgp l2vpn evpn rd 10.10.33.33:1 [3][0][32][10.10.33.33]/80 private
BGP routing table entry for [3][0][32][10.10.33.33]/80, Route Distinguisher: 10.10.33.33:1
Paths: (1 available, best #1)
Advertised to update-groups (with more than one peer):
0.2
Path #1: Received by speaker 0
Flags: 0x202000000504000b+0x00, import: 0x000, EVPN: 0x0
Advertised to update-groups (with more than one peer):
0.2
Local
0.0.0.0 from 0.0.0.0 (10.10.33.33), if-handle 0x00000000
Origin IGP, localpref 100, valid, redistributed, best, group-best, import-candidate
Received Path ID 0, Local Path ID 1, version 2
Extended community: RT:100:1
PMSI: flags 0x00, type 6, label 24013, ID 0x0a0a2121
Dependency List:
EVPN
注意:第6類-入口複製-當PE收到來自CE的BUM資料流時,它會將其複製到所有參與該EVI的PE(此處的PE是複製節點):
標籤24013 -這是PE3通告的本地BUM標籤
RT:100:1-EVI 1的路由目標
路由型別4基於ES導入路由目標和DF選擇啟用多宿主PE檢測。此路由僅由配置有相同ESI值的PE導入,ES導入控制這些值:0021.2121.2121。此自動生成的路由目標對於相應的ESI識別符號是唯一的。
圖1中PE2和PE1在訪問介面上配置了ESI,因此會生成此路由。EVPN網路拓撲。
RP/0/RSP0/CPU0:PE1-9001-1#show bgp l2vpn evpn
<snIP>
Route Distinguisher: 10.10.11.11:0 (default for vrf ES:GLOBAL)
*> [4][0000.2121.2121.2121.2121][32][10.10.11.11]/128
0.0.0.0 0 I
*>i[4][0000.2121.2121.2121.2121][32][10.10.22.22]/128
10.10.22.22 100 0 I
RP/0/RSP0/CPU0:PE2-9001-2#show bgp l2vpn evpn rd 10.10.11.11:0 [4][0000.2121.2121.2121.2121][32][10.10.11.11]/128 detail
Sat Aug 5 08:26:04.628 UTC
BGP routing table entry for [4][0000.2121.2121.2121.2121][32][10.10.11.11]/128, Route Distinguisher: 10.10.11.11:0
Local
10.10.11.11 (metric 10) from 10.10.11.11 (10.10.11.11), if-handle 0x00000000
Origin IGP, localpref 100, valid, internal, best, group-best, import-candidate, not-in-vrf
Received Path ID 0, Local Path ID 1, version 10
Extended community: EVPN ES Import:0021.2121.2121 DF Election:0:0x0008:0
註:0000.2121.2121.2121.2121]- ESI識別符號
10.10.11.11 -由PE1通告
0021.2121.2121 -此ES導入RT擴展社群值對於使用相同ESI識別符號配置的ESI和PE而言是唯一的,用於導入此路由。
圖4.指定的轉發器行為
這裡,DF行為C2多宿主到L3和L4隻有被選為DF的L4負責將BUM流量(由BUM標籤辨識)從核心轉送到C2,非DF裝置丟棄此流量。
此路由型別5的意義在於通告IRB IP地址和子網掩碼以對EVPN PE進行對等。當主機路由(路由型別2通告的32)不需要與對等體共用時,會使用它,因為它們不承載VLAN。但是,為了便於子網間通訊,會通告第5類路由。
router bgp 100
bgp router-id 10.10.5.5
address-family IPv4 unicast
!
address-family vpnv4 unicast
!
address-family l2vpn evpn
neighbor 10.10.22.22
remote-as 100
update-source Loopback1
address-family l2vpn evpn
advertise vpnv4 unicast
注意:配置通告vpnv4 unicast用於生成路由型別5。
RP/0/RSP0/CPU0:PE1-9001-1#show bgp l2vpn evpn rd 10.10.5.5:0 [5][0][24][192.168.200.200.0]/80 detail
Wed Aug 10 19:29:34.439 PDT
BGP routing table entry for [5][0][24][192.168.200.0]/80, Route Distinguisher: 10.10.5.5:0
<snIP>
Local Label: 24006 (with rewrite);
10.10.22.22 from 10.10.22.22 (10.10.22.22), if-handle 0x00000000
Received Label 24012
Origin incomplete, metric 0 localpref 100, valid, external, best, group-best, import-candidate, not-in-vrf
Received Path ID 0, Local Path ID 1, version 846
Extended community: Flags 0x6: RT:1000:1000
EVPN ESI: 0000.0000.0000.0000.0000, Gateway Address : 0.0.0.0
注意: [192.168.200.0] - IRB的IP地址
[24] -子網掩碼
24012 -這是用於將資料包傳送到此IRB的VRF標籤
RT:1000:1000 - VRF上配置的導入路由目標以導入此路由
在Cisco IOS XR路由器上,瞭解EVPN路由型別和正確配置EVPN功能對於實現最佳網路效能至關重要。這使得服務提供商能夠構建可擴展、靈活且具備恢復能力的第2層和第3層服務,從而確保分散式資料中心、雲服務和終端使用者之間的高效通訊。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
06-Nov-2024 |
初始版本 |