MPLS-EVPN笔记详述

目录

EVPN简介:

EVPN路由:

基本四种EVPN路由

扩展:

EVPN工作流程:

1.启动阶段:

2.流量转发:

路由次序整理:

总结:

EVPN基本术语:

EVPN表项:

EVPN支持的多种服务模式:

简介:

1.Port Based:

简介:

配置实现:

2.VLAN Based:

简介:

配置实现:

3.VLAN Bundle:

简介:

配置实现:

VLAN-Aware Bundle:

简介:

MPLS-EVPN配置实施:

1.三层EVPN:

topo:

配置:

测试:

二层双活EVPN:

topo:

配置:

测试:

拓展:

EVPN在数据中心(DC)的应用:

EVPN在SD-WAN的应用:


EVPN简介:

·EVPN颠覆了传统L2VPN转发层面/数据层面学习MAC的方式,引入控制层面学习MAC和IP指导数据转发,实现了转控分离

·EVPN解决了L2VPN的典型问题,实现双活、快速收敛、简化运维等特性

·EVPN的控制平面采用MP-BGP(多协议BGP),数据平面支持多种类型的隧道,例如MPLS、GRE Tunnel、SRv6。

-数据平面:由IP隧道或MPLS标签转发路径组成数据转发路径。只负责数据转发,无需广播泛洪学习MAC地址

EVPN优势:

        ·支持CE双活接轨PE

        ·支持PE成员自动发现

        ·环路避免

        ·广播流量优化

        ·支持ECMP

EVPN路由:

随着RFC7432定义了EVPN的Type1 ~ Type4共4类路由,随着EVPN协议的发展,越来越多的路由被新定义,这里首先介绍EVPN四种类型的路由:

基本四种EVPN路由

(Type3)Inclusive Muticast Route集成组播路由:组播隧道端点自动发现&组播类型自动发现——支持BUM流量转发

(Type4)Ethernet Segment Route以太段路由:ES成员自动发现、DF(Designated Forwarder)选举——多活支持、单活支持

(Type1)Ethernet A-D(Autonomous-Discovery) Route 以太自动发现路由:别名、MAC地址批量撤销、多活指示、通告ESI标签——环路避免、快速收敛、负载分担

(Type2)MAC/IP Advertisement Route MAC/IP通告路由:MAC/IP地址学习通告、MAC/IP绑定、MAC地址移动性——ARP抑制、主机迁移

扩展:

Type5处于草案阶段

Type6 ~ Type11用于组播流量优化,标准还不成熟

EVPN工作流程:

EVPN的工作流程分为两个阶段:

1.启动阶段:

概述:

·EVPN对等体交互EVPN Type3路由(Inclusive Multicast Route,集成组播路由)建立BUM流量转发表

·EVPN对等体交互Type 4路由(Ethernet Segment Route,以太段路由)完成ES发现和DF选举(在ES多归属场景下才会进行DF选举,以防止PE收到两份重复的流量)

·EVPN交互Type 1路由(Ethernet A-D Route,以太自动发现路由),以交互ESI标签,进而实现水平分割、别名等功能

详述:

topo如图

1)BUM流量转发表:


    1.配置PE之间对等体(Peer)关系。以PE1为例,它将发送Type3路由(Inclusive Multicast Route)发现邻居并分配标签
    2.PE2、PE3生成BUM流量转发表
    3.这个过程中所有PE均发送Type 3路由(Inclusive Multicast Route),最终形成稳定的BUM流量转发表

在PE连接CE的接口配置ESI。PE会交换Type4路由(Ethernet Segment Route),传播ESI并进行DF选举

2)DF选举:

    1.当CE多归到多个PE时,只能有1个PE向CE转发BUM流量,选出这个PE的过程被称为DF选举
    2.PE通过特定算法选举出DF。本topo中假设PE1和PE3被选举为DF,则只允许PE1和PE3转发BUM流量给CE

3)分发ESI标签:

    1.水平分割:
        ·PE通过Type1路由(Ethernet A-D  Route)分发ESI标签。ESI label用于水平分割防止同一ES来的流量又绕回该ES
        ·此过程中所有PE均发送type1路由(Ethernet A-D Route),生成完整的ES成员信息表

启动阶段总结:

EVPN的启动阶段生成MAC-VRF、BUM流量转发表和ES成员信息表。此时MAC-VRF表项为空

2.流量转发:

概述:

·CE侧流量触发PE通过Type2路由(MAC/IP Advertisement Route)通告MAC/IP地址,该路由携带分配的标签信息,后续根据该标签执行单播流量转发

详述:

    ·EVPN流量转发阶段由CE侧用户流量发起开始
    ·用户CE1和CE2不感知PE设备的EVPN协议交互

topo:

    1)本地MAC地址学习:

        ·CE1访问CE2,首先发送ARP请求。PE1接收报文,生成本地MAC表条目

    2)MAC地址通告:

        1.PE1 EVPN将本地MAC地址条目生成Type2路由(MAC/IP Advertisement Route),携带PE1分配的标签301
        2.远端的PE设备通过MP-BGP学习到的EVPN路由,生成MAC表条目
        3.EVPN支持CE多活接入PE。PE2感知直连CE1,刷新最优的MAC表条目,并生成和通告Type2路由(MAC/IP Advertisement Route)    

    3)远端MAC地址学习:

         1.因PE1和PE2分配不同的MPLS标签,PE3有两条路径到达CE1

    4)ARP广播转发:

    ·CE1发送的ARP请求达到PE1。PE1通过转发面学习到CE1的MAC地址,然后通过Type2路由(MAC/IP Advertisement Route,MAC/IP 通告路由)发送给所有邻居

     ·控制平面行为完成后,PE1将执行转发平面行为,即转发ARP广播请求。最后因PE3为DF,PE3转发ARP广播报文到CE2
        1.PE1 to PE3:
            PE1到PE3的ARP报文查询BUM流量转发表转发,携带103标签。PE3为DF,转发报文到e1/0/1
        2.PE1 to PE2:
            ·由于PE1和PE2属于相同的ES,PE1到PE2的流量携带ESI标签202和BUM标签102。PE2接收到报文发现有标签202,则丢弃该报文
        3.PE3 to PE2

            ·PE3到PE2的流量携带BUM标签302,PE2根据标签确认是BUM流量,因PE2为非DF,丢弃报文

    5)ARP单播应答:

        1)CE2单播回复ARP应答。PE3首先本地学习CE2的MAC地址,然后触发EVPN控制面行为,即发送Type2路由(MAC/IP Advertisement Route)。PE3查询MAC地址转发单播报文到PE1,最后PE1转发ARP报文到CE1
        2)本地学习MAC地址:
        ·CE2回复单播ARP应答。PE3通过转发面学习到CE2的MAC地址,生成本地MAC-VRF表项
        3)MAC地址通告:
            1.PE3生成并通告Type2路由(MAC/IP Advertisement Route)。其他PE接收PE3发出的Type2路由(MAC/IP Advertisement Route),刷新本地MAC表项
        4)数据平面转发:
            ·PE3通过负载分担算法找出下一跳(如PE1)发送报文,携带MAC-VRF标签301,PE1接收报文后向e1/0/0/转发

路由次序整理:

根据工作流程整理,EVPN对等体依次交互的路由是3-4-1-2

总结:

1)EVPN解决双活带来问题:
    ·Type1路由(Ethernet A-D Route)携带的ESI解决CE侧环路问题。
    ·Type4路由(Ethernet Segement Route)实现DF选举,解决广播流量向CE发送多份的问题
2)EVPN实现负载分担:
    ·EVPN实现全路径负载分担

3)EVPN故障快速收敛
    ·PE检测到CE链路故障,首先删除自己本地MAC表项,然后通过Type1路由(Ethernet A-D Route)通告给所有PE撤销该ES相关的所有MAC地址

EVPN基本术语:

1.ES(Ethernet Segment):代表用户站点(设备或网络)连接到PE的一组以太链路,使用ESI(Ethernet Segment Identifier)来表示

2.EVI(EVPN Insatnce):代表一个EVPN实例,用以标识一个EVPN客户。

3.MAC-VRF:是PE上属于EVI的MAC地址

4.RD(Route-Distinguisher):是EVPN的唯一标识,用以区分EVI——与MPLS VPN中VRF的RD值等同

5.RT(Route Target)用于控制EVPN路由的引入——与MPLS VPN中VRF的RT值等同

6.ESI Label(Ethernet Segmet Identifier Label):是EVPN Type1路由所携带的扩展团体属性。多归场景下用于实现快速收敛和水平分割

7.BUM(Broadcast、Unknow Unicast、Multicast):是由EVPN的Type3路由携带,用于转发BUM流量

EVPN表项:

·EVPN维护三张表项,用于指导流量转发,它是MAC-VRF表BUM流量转发表ES成员表

        ·MAC-VRF表用于记录已知单播流量的转发

        ·BUM流量转发表用于指导广播、未知单播和组播流量转发

        ·ES成员表用于记录成员接入PE信息

EVPN支持的多种服务模式:

简介:

在EVPN网络边缘的PE设备可以部署多个EVPN实例(EVI,EVPN Instance), 每个EVPN实例可以连接一个或者多个用户网络。EVPN支持通过多种服务模式来接入用户网络

1.Port Based:

简介:

连接用户网络的物理接口直接绑定普通EVI,只能承载二层业务

配置实现:

在接口视图下键入
    evpn binding vpn-instance [EVI-name]//在接口视图下绑定EVI
   

2.VLAN Based:

简介:

连接用户网络的物理接口划分不同子接口,每个子接口与EVI绑定。每个用户单独使用一个EVI,可用于承载二层业务或三层业务。

在VLAN Based模式下,连接用户网络的物理接口划分成不同子接口,每个子接口关联不同的VLAN且接入不同的广播域BD(Brdige-Domain)。每个广播域BD会与单独的一个EVI进行绑定

配置实现:

bridge-domian 1//创建广播域1
 evpn binding vpn-instance [evi-name]//在BD视图下绑定EVI
 int g0/0/1.1 mode l2
     encapsulation dot1q vid 10//进入.1子接口,工作模式为二层模式
     bridge-domain 1//封装vlan-id为10

3.VLAN Bundle:

简介:

不同用户间使用VLAN进行划分,不同VLAN与EVI绑定,可用于承载二层业务或三层业务

在VLAN Bundle模式下,一个EVI可以连接多个用户,不同用户间使用VLAN进行划分,而该EVI回绑定到一个广播域BD上。此类型服务模式中,接入同一个EVI的不同用户共同一个MAC-VRF表,因此需要网络中用户的MAC地址唯一。

配置实现:

bridge-domain 1//创建BD域1
 evpn binding vpn-instance [EVI-name]//在BD域中绑定EVI
int g1/0/0.1 mode l2//进入.1子接口,工作模式为二层模式
 encasulation dot1q vid 10//封装vlan-id为10

VLAN-Aware Bundle:

简介:

不同用户间使用VLAN进行划分,不同VLAN通过同一EVI绑定,可用于承载二层业务或三层业务

MPLS-EVPN配置实施:

1.三层EVPN:

topo:

配置:

1.ISP内部预配(IP与IGP):
NE1:
 isis 1
  network-entity 10.0001.0000.0001.00
  is-level level-2
 int ether1/0/1
  ip address 12.0.0.1 24
  isis enable
 int loopback 0
  ip address 1.1.1.1 32
  isis enable

NE2:
 isis 1
  network-entity 10.0001.0000.0002.00
  is-level level-2
 int ether1/0/0
  ip address 12.0.0.2 24
  isis enable
 int ether1/0/1
  ip address 23.0.0.2 24
  isis enable
 int loopback 0
  ip address 2.2.2.2 32
  isis enable

NE3:
 isis 1
  network-entity 10.0001.0000.0003.00
  is-level level-2
 int ether1/0/0
  ip address 23.0.0.3 24
  isis enable
 int loopback 0
  ip address 3.3.3.3 32
  isis enable 

2.配置MPLS LDP:
NE1:
 mpls lsr-id 1.1.1.1
 mpls 
 mpls ldp
 int ether1/0/1
  mpls 
  mpls ldp

NE2:
 mpls lsr-id 2.2.2.2
 mpls 
 mpls ldp
 int ether1/0/0
  mpls 
  mpls ldp
 int ether1/0/1
  mpls 
  mpls ldp

NE3:
 mpls lsr-id 3.3.3.3
 mpls 
 mpls ldp
 int ether1/0/0
  mpls 
  mpls ldp

3.配置BGP会话
NE1:
 bgp 100
  router-id 1.1.1.1
  peer 3.3.3.3 as-number 100
  peer 3.3.3.3 connect-interface loopback 0

NE3:
 bgp 100
  router-id 3.3.3.3
  peer 1.1.1.1 as-number 100
  peer 1.1.1.1 connect-interface loopback 0

4.创建与绑定EVI(EVPN实例)
NE1:
 ip vpn-instnace vpn-a
  ipv4-famliy
   route-distinguisher 1:1
   vpn-target 1:1 evpn
   evpn mpls routing-enable//使能EVPN生成和发布IP前缀路由和IRB路由的功能
 int ether1/0/0
  ip binding vpn-instance vpn-a
  ip address 11.0.0.254 24

NE3:
 ip vpn-instance vpn-a
  ipv4-family
   route-distinguisher 3:2
   vpn-target 3:2 evpn
   evpn mpls routing-enable
 int ether1/0/1
  ip binding vpn-instance vpn-a
  ip address 32.0.0.254 24

5.配置PE与CE互联与MP-BGP:
NE1(PE1):
 bgp 100
  l2vpn-family evpn
   peer 3.3.3.3 enable
  ipv4-family vpn-instance vpn-a
   peer 11.0.0.1 as-number 200
   advertisement l2vpn evpn

AR1(CE1):
 int g0/0/0
  ip address 11.0.0.1 24
 int loopback 0
  ip address 11.11.11.11 32
 bgp 200
  peer 11.0.0.254 as-number 100
  network 11.11.11.11 32
  network 11.0.0.0 24

NE3(PE2):
 bgp 100
  l2vpn-family evpn
   peer 1.1.1.1 enable
  ipv4-family vpn-instance vpn-a
   peer 32.0.0.2 as-number 200
   advertisement l2vpn evpn

AR2(CE2):
 int g0/0/0
  ip address 32.0.0.2 24
 int loopback 0
  ip address 22.22.22.22 32
 ospf 1 router-id 22.22.22.22
  area 0 
   network 32.0.0.2 0.0.0.0
   network 22.22.22.22 0.0.0.0
 






 







测试:

1)CE2拥有CE1的私网路由,并且能够与之实现三层通信

2)CE1拥有CE2的私网路由,并且能够与之实现三层通信

二层双活EVPN:

topo:

配置:

1.ISP预配(IP与IGP)
 PE1(NE1):
  isis 1
   network-entity 10.0001.0000.0000.0001.00
   is-level level-2
  int ether1/0/1
   ip address 12.0.0.1 24
   isis enable
  int ether1/0/2
   ip address 13.0.0.1 24
   isis enable
  int loopback 0
   ip address 1.1.1.1 32
   isis enable

 PE2(NE2):
  isis 1
   network-entity 10.0001.0000.0000.0002.00
   is-level level-2
  int ether1/0/1
   ip address 12.0.0.2 24
   isis enable
  int ether1/0/2
   ip address 23.0.0.2 24
   isis enable
  int loopback 0
   ip address 2.2.2.2 32
   isis enable

 P1(NE3):
  isis 1
   network-entity 10.0001.0000.0000.0003.00
   is-level level-2
  int ether1/0/0
   ip address 13.0.0.3 24
   isis enable
  int ether1/0/1
   ip address 23.0.0.3 24
   isis enable
  int ether1/0/2
   ip address 34.0.0.3 24
   isis enable
  int loopback 0
   ip address 3.3.3.3 32
   isis enable

 PE3(NE4):
  isis 1
   network-entity 10.0001.0000.0000.0004.00
   is-level level-2
  int ether1/0/0
   ip address 34.0.0.4 24
   isis enable
  int loopback 0
   ip address 4.4.4.4 32
   isis enable

2.配置MPLS LDP(ISP内部)
 PE1(NE1):
  mpls lsr-id 1.1.1.1
  mpls 
  mpls ldp
  int ether1/0/2
   mpls 
   mpls ldp
  int ether1/0/1
   mpls 
   mpls ldp

 PE2(NE2):
  mpls lsr-id 2.2.2.2
  mpls 
  mpls ldp
  int ether1/0/2
   mpls 
   mpls ldp
  int ether1/0/2
   mpls 
   mpls ldp

 P1(NE3):
  mpls lsr-id 3.3.3.3
  mpls 
  mpls ldp
  int ether1/0/0
   mpls 
   mpls ldp
  int ether1/0/1
   mpls 
   mpls ldp
  int ether1/0/2
   mpls 
   mpls ldp

 PE3(NE4):
  mpls lsr-id 4.4.4.4
  mpls 
  mpls ldp
  int ether1/0/0
   mpls 
   mpls ldp
3.配置BD域
 PE1(NE1):
  evpn vpn-instance vpn-a bd-mode
   route-distinguisher 1:1
   vpn-target 1:1
  bridge-domain 1
   evpn binding vpn-instance vpn-a

 PE2(NE2):
  evpn vpn-instance vpn-a bd-mode 
   route-distinguisher 2:1
   vpn-target 1:1
  bridge-domain 1
   evpn binding vpn-instance vpn-a

 PE3(NE4):
  evpn vpn-instance vpn-a bd-mode 
   route-distinguisher 4:2
   vpn-target 1:1
  bridge-domain 1
   evpn binding vpn-instance vpn-a
  

4.配置CE双活与单活
 PE1(NE1):
  evpn source-address 1.1.1.1//配置EVPN源地址,用于在EVPN网络中标识PE设备
  lacp e-trunk system-id 0000-0000-0001
  e-trunk 1
   peer-address 2.2.2.2 source-address 1.1.1.1
  int eth-trunk 1
   mode lacp-static
   e-trunk 1
   esi 0000.1111.2222.3333.4444
  int eth-trunk 1.1 mode
   encapsulation dot1q vid 10//按照802.1q标准封装,vid为10
   rewrite pop single//剥离单层vlan tag
   bridge-domain 1//绑定BD域1
  int eth-trunk 1
   trunkport e 1/0/0
  evpn source-address 2.2.2.2//配置EVPN源地址,用于在EVPN网络中标识PE设备

 PE2(NE2):
  lacp e-trunk system-id 0000-0000-0001
  e-trunk 1
   peer-address 1.1.1.1 source-address 2.2.2.2
  int eth-trunk 1
   mode lacp-static
   e-trunk 1
   esi 0000.1111.2222.3333.4444
  int eth-trunk 1.1 mode
   encapsulation dot1q vid 10//按照802.1q标准封装,vid为10
   rewrite pop single//剥离单层vlan tag
   bridge-domain 1//绑定BD域1
  int eth-trunk 1
   trunkport e 1/0/0

 CE1(SW1):
  int eth-trunk 1
   mode lacp-static
   port link-type trunk
   port trunk allow-pass vlan all
   trunkport g 0/0/1 to 0/0/2

 PE3(PE3):
  evpn source-address 4.4.4.4
  int eth-trunk 1
   mode lacp-static
  int eth-trunk 1.1 mode l2
   encapsulation dot1q vid 10
   rewrite pop single
   bridge-domain 1
  int eth-trunk 1
   trunkport e 1/0/1

 CE2(SW2):
  int eth-trunk 1
   mode lacp-static
   port link-type trunk
   port trunk allow-pass vlan all
   trunkport g0/0/1
5.配置MP-BGP
 PE1(NE1):
  bgp 100
   peer 4.4.4.4 as-number 100
   peer 4.4.4.4 connect-interface loopback 0
  l2vpn-family evpn
   port vpn-target
   peer 4.4.4.4 enable
 
 PE2(NE2):
  bgp 100
   peer 4.4.4.4 as-number 100
   peer 4.4.4.4 connect-interface loopback 0
  l2vpn-family evpn
   port vpn-target
   peer 4.4.4.4 enable

 PE3(NE3):
  bgp 100
   peer 1.1.1.1 as-number 100
   peer 1.1.1.1 connect-interface loopback 0
   peer 2.2.2.2 as-number 100
   peer 2.2.2.2 connect-interface loopback 0
  l2vpn-family evpn
   port vpn-target
   peer 1.1.1.1 enable
   peer 2.2.2.2 enable
  
6.CE上配置vlanif10
 CE1(SW1):
  vlan10
  int vlan 10
   ip address 192.168.10.1 24
 
 CE2(SW2):
  vlan10
  int vlan 10 
   ip address 192.168.10.2 24
 
 
  


  




 

测试:

1.看双活效果:

2.测试CE1和CE2的二层通信:

1)先查看arp表

可以看出,三层交换机是通过ARP表指导转发的

2)CE1 ping CE2

可以看到,CE1和CE2能够跨越EVPN网络实现二层通信。

拓展:

EVPN在数据中心(DC)的应用:

·在云数据中心采用EVPN的NVO(Network Virutalization Overlay)解决方案

·推荐数据平面使用VXLAN封装,控制平面使用EVPN,构建灵活的Overlay网络

——数据中心的业务均在VXLAN Overlay承载

——Spine-Leaf组成的Underlay网络负责高速转发

EVPN在SD-WAN的应用:

·SD-WAN是新一代企业分支互联解决方案,支持智能动态选路、ZTP(零配置开局)和可视化等特性

·SD-WAN解决方案,在RR与CPE之间部署EVPN用于在控制平面传递SD-WAN的Overlay VPN路由,转发平面采用IPsec VPN构建安全的转发通道

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数通Dinner

伟大之人,请投我宝贵的一票

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值