此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍使用边界网关协议(BGP) L2VPN AFI 25和SAFI 70实现第2/3层控制平面可达性的以太网VPN (EVPN)路由类型。
Cisco建议您具备MultIProtocol标签交换(MPLS)和L2VPN的基础知识。
本文档中的信息基于设备:汇聚服务路由器9000 (ASR9K)。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
下表简要概述了本文档中使用的术语。
EVPN实例(EVI) |
EVI识别EVPN网络中的VPN。每个EVI分配有唯一的RD和RT。以太网标记分配给EVI |
以太网段标识符(ESI) |
以太网段(ES)由10字节ESI唯一标识 |
表 1.关键EVPN术语
下表列出了L2和L3服务中通告的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
注意:此配置将EVI和连接电路(AC)关联到桥接域(BD),BD的意义与虚拟专用局域网服务(VPLS)相同,这使我们能够了解远程MAC和BD内BUM流量的泛洪。
接入接口:
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向PE3通告相关EVPN路由来实现,从而确保有效的流量分配。
用于通告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
此路由的每个ESI的两个重要功能是:
图 2.大量MAC撤消
根据图2.,CE (C1)设备的MAC地址可达性信息通过MPLS云上的BGP控制平面从本地PE(L1和L2)通告给远程PE(L3和L4)。当接入接口断开时,必须撤销相关的网络层可达性信息(NLRI)。在大规模网络中,提取与ESI关联的所有MAC/IP路由所用的时间可能导致数据流严重中断。为了确保更快的收敛,当PE上的接入接口(例如L1)断开时,会从L1向其对等PE(L2、L3和L4)发送每ESI路由撤消。然后,这些对等体使用活动的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.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是添加到Route-Type 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'此IP和MAC地址称为任播集成路由和桥接(IRB) IP和MAC地址,在任播分布式IRB设置中,PE1和PE2上的IP和MAC地址必须相同。分布式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发现主机时,MAC和IP路由类型2会使用桥接域/EVI和IP VRF标签及其各自的路由目标进行通告。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是复制节点):
label 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进行对等。当主机路由(由Route-Type 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单播用于生成第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上配置的导入路由目标以导入此路由
在思科IOS XR路由器上,了解EVPN路由类型和正确配置EVPN功能对于实现最佳网络性能至关重要。这使服务提供商能够构建可扩展、灵活且恢复力强的第2层和第3层服务,确保分布式数据中心、云服务和最终用户之间的高效通信。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
06-Nov-2024 |
初始版本 |