BGP EVPN 原理与配置

学习目标:了解VPLS,能利用工作过程解释清楚EVPN的三张表及四种路由。

一.前言

  • VPLS称为虚拟专用局域网业务(Virtual Private LAN Service),是公用网络中提供的一种点到多点的L2VPN业务。
  • VPLS存在无法实现负载分担、网络部署困难等缺点,无法满足L2VPN灵活部署和CE多归属场景下提升链路利用率等需求,EVPN(Ethernet Virtual Private Network,以太网虚拟私有网络)解决了以上问题。
  • EVPN在RFC7432中被定义,它引入控制平面用于控制MAc地址的学习。随着EVPN的不断扩展,EVPN不仅支持L2VPN,同时支持L3VPN。
  • EVPN被广泛用于不同的场景,如广域网、数据中心和园区网。

二.EVPN背景与基本术语

1.VPLS简介

  • VPLS是一种基于以太网的二层VPN技术,它在MPLS网络上提供了类似LAN的业务,允许用户可以从多个地理位置接入网络、相互访问。
  • 实现VPLS,需要以下三个步骤:创建隧道和PW、创建VS1、绑定PW和AC到VS1。

2.VPLS基本工作原理:创建隧道和PW

  • 完整的实现VPLS,首先在PE1和PE2之间建立一个承载隧道,然后创建PW(Pseudo-Wire,伪线),用于承载不同企业客户的业务。

3.VPLS基本工作原理:创建VSI

  • VSl(Virtual switch Instance,虚拟机交换实例)是为每一个VPLS单独划分的一个虚拟交换处理单元。VSI用于存放独立的MAC地址表和执行转发,并负责终结PW。

4.VPLS基本工作原理:绑定PW和AC到VSI

  • AC(Attachment circuit,接入电路)指CE与PE之间的链路。绑定PW和AC到VSI后,VSI就像一个交换机一样工AC作,记录不同接口学习的MAC地址,并生成MAC地址表项:

  • VPLS三种常见的创建PW的方式:
    • 静态手工配置,配置量大。
    • 通过LDP信令创建(Martini)。
    • 通过BGP信令创建(Kompella)。

5.VPLS的报文转发过程

  • VPLS模拟交换机,MAC地址学习依靠数据平面泛洪,没有控制平面参与。
  • 转发行为由查询MAC地址表决定,如果MAC地址表有记录则查表转发,没有记录则泛洪转发。

6.VPLS的问题

(1)单活接入导致流量分担不均

  • VPLS在CE双归接入PE存在环形拓扑的时候,同交换机的破环技术(STP)思路一样,采用阻塞一个端口方式形成无环的转发路径。因此VPLS接入形成了一种主备的模式。
  • 由于CE和PE之间只有一条链路转发数据,且PE与PE之间的链路无法形成多路径,可能造成部分链路拥塞。

(2)故障收敛速度慢

  • PE3在感知到链路故障后会向对端PE发送MAC-Withdraw报文,通知删除PE3相关MAC地址。同时PE4将备份链路升级为Active。对端PE1接收到撤销报文后将清除MAC地址,重新学习MAC地址。故障收敛时间与MAC地址数量强相关。

7.EVPN简介

  • EVPN颠覆了传统L2VPN数据面学习MAC地址的方式,引入控制面学习MAC和IP指导数据转发,实现了转控分离。
  • EVPN解决传统L2VPN的典型问题,实现双活、快速收敛、简化运维等价值。
  • EVPN的控制平面采用MP-BGP,数据平面支持多种类型的隧道,例如MPLS、GRE隧道、SRv6。本文以MPLS作为外层隧道转发技术进行讲解。

8.EVPN基本术语

  • ES(Ethernet Segment)代表用户站点(设备或网络)连接到PE的一组以太链路,使用ESI(Ethernet Segment dentifier)来表示。
  • EVI(EVPN instance)代表一个EVPN实例,用于标识一个EVPN客户。
  • MAC-VRF是PE上属于EVI的MAC地址表。
  • RD(Route Distinguisher)是EVPN的唯一标识,用于区分EVI。
  • RT(Route Target)用于控制EVPN路由的引入。
  • DF(Designated Forwarder)用于在CE多归属场景下只转发一份BUM流量至CE.
  • ESI Label是EVPN Type 1路由所携带的扩展团体属性。在多归场景下,用于实现快速收敛和水平分割。
  • BUM(Broadcast、Unknown unicast、Multicast)Label是由Type 3路由携带,用于转发BUM流量.
  • 单播Label由Type 2路由携带,用于转发单播流量。

(1)ES和ESI

  • ES代表用户站点(设备或网络)连接到PE的一组以太链路,使用ESI来表示。
  • ESI总长度为10个字节,且在全网范围内唯一。
  • 同一ES双归的两个PE配置的ESI必须相同。例如PE1和PE2上配置相同的ESI为1(此处数值仅为方便理解)。

(2)ESI的格式

(3)EVI和MAC-VRF

  • EVI代表一个EVPN实例,用于标识一个EVPN客户。
  • MAC-VRF是PE上属于EVI的MAC地址表。

(4)RD和RT

  • RD是EVPN实例的唯一标识,用于区分EVI。
  • RT作用是给路由打标签,用于控制EVPN路由的引入。

三.EVPN工作原理

1.EVPN路由简介与交互流程

(1)EVPN路由

  • EVPN定义了一种新的BGP NLRl(Network Laver Reachable Information)来承载所有的EVPN路由,被称为EVPN NLRI。
  • EVPN NLRI被MP-BGP携带。MP-BGP支持多协议扩展,定义EVPN的AFl(Address Family ldentifier)是25,SAFISubsequent Address Familyldentifier)是70.

关于MP-BGP的相关知识可以点击博主写的《BGP 全网最详解》的MP-BGP章节进行详细了解。

(2)EVPN四种类型路由的作用

  • RFC7432中定义了EVPN的Type 1~Type 4共4类路由。随着EVPN协议的发展,越来越多的路由被新定义。

  • 首先介绍EVPN四种类型的路由。

(3)EVPN工作流程

  • EVPN的工作流程分为两个阶段:
  • 启动阶段:
    • EVPN对等体交互EVPN Type 3路由建立BUM流量转发表。
    • EVPN对等体交互Type 4路由完成ES发现和DF选举(在ES多归属场景下)。
    • EVPN对等体交互Type 1路由,交互ESI标签,进而实现水平分割、别名等功能。
  • 流量转发:CE侧流量触发PE通过Type2路由通告MAC地址,该路由携带分配的标签信息,后续根据该标签执行单播流量转发。

(4)EVPN表项简介

  • EVPN维护三张表用于指导流量转发,他们是MAC-VRF表、BUM流量转发表和ES成员表。
    • MAC-VRF表用于记录已知单播流量的转发。
    • BUM流量转发表用于指导广播、未知单播和组播流量转发。
    • ES成员表用于记录用户接入PE信息。
  • 接下来将介绍这三张表的生成过程和作用。

(5)案例解释三张表及四种路由

a.本地创建EVPN实例
  • 在PE上创建EVPN实例,配置它的RD和RT。PE上本地将激活EVPN,产生MAC-VRF,其内容为空。

b.Type3路由
i.BUM流量转发表
  • 配置PE之间对等体(Peer)关系。以PE1为例,它将发送Type 3路由发现邻居并分配标签。

  • 然后PE2、PE3和PE4生成BUM流量转发表。

  • 然后这个过程中所有PE均发送Type 3类型路由,最终形成稳定的BUM流量转发表。

ii.配置接口绑定EVPN实例
  • CE双活接入PE。在PE上配置CE接入接口与EVPN实例绑定。从该接口进入的报文将进入EVPN实例。

c.Type4路由
i.配置CE接入接口ESI
  • 在PE连接CE的接口配置ESI。PE会交互Type4路由,传播ESI并进行DF选举。

ii.DF选举
  • 当CE多归到多个PE时,只能有1个PE向CE转发BUM流量,选出这个PE的过程被称为DF选举。

  • PE通过特定算法选举出DF。本例中假设PE2和PE3被选举为DF,则只允许PE2和PE3转发BUM流量给CE。

d.Type1路由
i.分发ESI标签:水平分割        
  • PE通过Type 1类路由分发ESI标签。ESILabel用于水平分割防止同一ES来的流量又绕回到该ES。

ii.成员信息表
  • 此过程中所有PE均发送Type 1路由,生成完整的ES成员信息表。

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

f.EVPN流量转发阶段
  • EVPN流量转发阶段由CE侧用户流量发起开始。
  • 用户CE1和CE2不感知PE设备的EVPN协议交互。
  • 本例中CE1访问CE2业务流程如下:

g.Tpye2路由
i.本地MAC地址学习
  • CE1访问CE2,首先发送ARP请求。PE1接收报文,生成本地MAC表条目。

ii.MAC地址通告
  • PE1 EVPN将本地MAC地址条目生成Type 2路由,携带PE1设备分配的标签301。

  • 远端的PE设备通过MP-BGP学习到EVPN路由,生成MAC表条目。

  • EVPN支持CE多活接入PE。PE2感知直连CE1,刷新最优的MAC表条目,并生成和通告Type2路由。

iii.远端MAC地址学习
  • 因PE1和PE2分配不同的MPLS标签,PE3和PE4有两条路径到达CE1。

iiii.MAC-VRF表项
  • CE2回复单播ARP应答。PE3通过数据面学习到CE2的MAC地址,生成本地MAC-VRF表项。

  • PE3生成并通告Type 2路由。其他PE接收PE3发出的Type 2路由,刷新本地MAC表项。

(6)总结:EVPN解决双活带来的问题

  • Type 1路由携带的ESI解决CE侧环路问题。Type 4路由实现DF选举,解决广播流量向CE发送多份的问题。

(7)总结:EVPN实现负载分担

(8)总结:EVPN故障快速收敛

  • PE3检测到CE2链路故障,首先删除自己本地MAC表项,然后通过Type 1路由通告所有PE撤销该ES相关的所有MAC地址。

2.EVPN接入原理

(1)EVPN接入概述

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

(2)Port Based模式

  • Port Base模式是一种整个接口接入业务的方式,即连接用户网络的物理接口直接绑定普通EVPN实例,且该接口不创建子接口。此种服务模式只能用于承载二层业务。

(3)VLAN Based模式

  • 在VLAN Based模式下,连接用户网络的物理接口划分成不同子接口,每个子接口关联不同的VLAN目加入不同的广播域BD(Bridge Domain)。每个广播域BD会与单独的一个EVPN实例进行绑定。此种服务模式可以用于承载二层业务或三层业务。本例有User1和User2,分别使用不同的子接口接入。

(4)VLAN Bundle模式

  • 在VLAN Bundle模式下,一个EVPN实例可以连接多个用户,不同用户间使用VLAN进行划分,而该EVPN实例会绑定到一个广播域BD上。此类型服务模式中,接入同一个EVPN实例的不同用户共用同一个MAC转发表,因此需要网络中用户的MAC地址唯一。此种服务模式可以用于承载二层业务或三层业务。

(5)VLAN-Aware Bundle模式

  • 在VLAN-Aware Bundle模式下,一个EVPN实例可以连接多个用户,不同用户间使用VLAN进行划分绑定不同的BD。此类型服务模式中,接入同一个EVPN实例的不同用户分别使用独立的与BD对应的MAC转发表(以BD-tag标识)。

四.跨域EVPN

1.跨域EVPN简介

  • 一般的EVPN的体系结构都是在一个自治系统(Autonomous System,AS)内运行,任何EVPN的路由信息都是只能在一个AS内按需扩散,没有提供AS内的VPN信息向其他AS扩散的功能。在一些复杂场景下,可能存在企业拥有多个AS,这就需要扩展现有EVPN体系框架,提供一种跨域(Inter-As)的EVPN。
  • 跨域的EVPN借鉴跨域MPLS VPN的方式,也有三种:
    • OptionA
    • OptionB
    • OptionC

想了解有关MPLS VPN的跨域知识请阅读博主写的《MPLS L3VPN跨域 详解》。

2.OptionA

  • 跨域的EVPN-0ptionA中PE和ASBR之间建立EVPN邻居关系,ASBR之间不需要运行EVPN。
  • ASBR之间采用创建多个子接口并绑定VPN的方式实现IP路由传递。
  • OptionA的域内流量有两层标签,域间流量无标签。

3.OptionB

  • 跨域的EVPN-OptionB中PE和ASBR之间建立EVPN邻居关系,ASBR之间也建立EVPN邻居关系。
  • ASBR在收到MAC/IP路由后,修改下一跳为自己,并重新分配标签发给跨域的ASBR。
  • OptionB的域内流量有两层标签,域间流量有一层EVPN标签

4.OptionC

  • 跨域的EVPN-Optionc中site1和Site2的PE间建立端到端的BGP LSP。
  • PE1和PE2建立EVPN邻居关系。ASBR不感知MAC/IP路由。
  • OptionC的域内流量有三层标签,域间流量有两层标签(EVPN和BGP标签)。

五.EVPN的典型应用场景

1.在广域网的应用

2.在数据中心的应用

  • 在云数据中心采用EVPN的NVO(Network Virtualization Overlay)解决方案(RFC8365)。
  • 推荐数据平面使用VXLAN封装,控制平面使用EVPN,构建灵活的数据中心Overlay网络。

3.在园区网的应用

  • 园区虚拟化园区网络解决方案与云数据中心相同,采用EVPN的NVO解决方案(RFC8365)
  • 在不同的底层组网上使用VXLAN封装与控制平面EVPN结合,构建灵活的园区overlay网络。

4.在SD-WAN的应用

六.EVPN的基本配置

与“EVPN”相关的实验博主会更新在“数据中心”专栏里面,请持续关注。

1.EVPN相关配置命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值