问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

EVPN工作流程详解:三种表项与四种路由的作用

创作时间:
作者:
@小白创作中心

EVPN工作流程详解:三种表项与四种路由的作用

引用
CSDN
1.
https://blog.csdn.net/m0_58419475/article/details/143027785

EVPN(以太网虚拟专用网络)定义了一种新的BGP NLRI(Network Layer Reachable Information)来承载所有的EVPN路由,被称为EVPN NLRI。EVPN NLRI被MP-BGP携带。MP-BGP支持多协议扩展,定义EVPN的AFI(Address Family Identifier)是25,SAFI(Subsequent Address Family Identifier)是70。

RFC7432中定义了EVPN的Type 1~Type 4共4类路由。在双归场景才会用到类型1 和类型4,配合下面的EVPN工作流程进行查看。

路由类型
作用
受益
(Type 1) Ethernet A-D Route (自动发现路由)
别名MAC地址批量撤销多活指示通告ESI标签
环路避免快速收敛负载分担
(Type 2) MAC/IP Advertisement Route
MAC地址学习通告MAC/IP绑定MAC地址移动性
ARP抑制主机迁移
(Type 3 ) Inclusive Multicast Route(集成组播路由)
组播隧道端点自动发现 & 组播类型自动发现
支持BUM流量转发
(Type 4) Ethernet Segment Route (ES Route 以太网段路由)
ES成员自动发现DF选举
多活,单活支持

EVPN四种路由类型的作用和其携带的参数有密不可分的关系:

  • Type 1路由携带ESI标签用于实现水平分割。
  • Type 2路由携带单播标签指导单播流量转发。
  • Type 3路由携带BUM标签指导BUM流量转发,但Type 3路由未携带ESI相关信息。
  • Type 4路由携带ESI用于DF选举,但Type 4路由未携带任何标签信息。

EVPN业务分为单活 和双归单活/双活,在配置的角度上来讲是在PE1侧与PE2侧配置E-Trunk CE1的两个互联接口配置ETH-Trun进行双归单活双活的控制。

EVPN维护三张表用于指导流量转发,分别是MAC-VRF表,BUM流量转发表(集成组播)和ES成员表。

  • MAC-VRF表用于记录已知单播流量的转发。 ————type 2
  • BUM流量转发表用于指导广播、未知单播和组播流量转发。 ————Type 3
  • ES成员表用于记录用户接入PE信息。 ————Type 1 Type 4

三个表的产生顺序:

  1. BUM流量转发表(会把BUM流量从各端口封装如图的Lablel广播转发出去)
  2. ES成员表 (根据对应的ES表封装标签转发出去)
  3. MAC-VRF表(互相学习到了MAC才能生成MAC-VRF转发表,根据MAC-VRF转发表单播转发出去)

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

4.1、EVPN启动阶段:

  1. EVPN对等体交互EVPN Type 3路由建立BUM流量转发表。——(Type 3 管BUM表的)
  • 配置PE之间对等体(Peer)关系。以PE1为例,它将发送Type 3路由发现邻居(广播出去给所有发现的邻居)并分配标签。
  • 这个过程中所有PE均发送Type3路由,最终形成稳定的BUM流量转发表。
  1. EVPN对等体交互Type 4路由完成ES发现和DF选举(在ES多归属场景下)———(Type 4+1 管多归属的)
  • CE接口双活接入PE,在PE上配置CE接口接入与EVPN实例绑定,从该接口进入的报文将进入EVPN。
  • 在PE连接CE的接口配置ESI,PE会交互Type4路由,传播ESI并进行DF选举。

DF选举:

  • 当CE多归到多个PE时,只能有1个PE向CE转发BUM流量,选出这个PE的过程被称为DF选举。(PE通过特定的算法选举出DF)
  • 华为设备上可配置DF选举方式,基于设备接口选举或者基于VLAN选举。缺省情况下设备基于接口来进行DF选举,可能会导致多归链路上流量不均衡。可配置基于VLAN来进行DF选举,让PE到CE的BUM流量基于VLAN均衡地分担到多归链路上。
  1. EVPN对等体交互Type 1路由,交互ESI标签,进而实现水平分割、别名等功能。
  • PE通过 Type1 路由分发ESI标签,ESI Lable 用于水平分割防止同一ES来的流量又绕回该ES。
  • 此过程所有的PE都会放Type 1路由,生成完整的ES成员信息表。(该表用于水平分割)
  • (注意 Type 1路由会传送ESI标签,Type 4的路由只会传送 ES信息)
  • 此时会封装3层标签:(归属在相同PE下的 CE 的两个ESI配置值相同)
  • tunnel标签
  • BUM标签
  • ES标签——(该标签可以防止流量再次绕回)

4.2、EVPN流量转发: Type2————控制单播转发

EVPN流量转发阶段由CE侧用户流量发起开始

  1. 本地mac地址学习
  • CE1访问CE2,首先发送ARP请求,PE1接收报文,生成本地MAC表条目。
  1. MAC地址通告
  • PE1 EVPN将本地MAC地址条目生成Type2路由,写的PE1设备分配的标签。
  • 远端的PE设备通过MP-BGP学习到EVPN路由,生成MAC表条目。
  • EVPN支持CE多活接入PE。PE2收到PE1发过来的流量,发现ESI相同会感知其实自己和PE1一样也是直连CE1,是个次优路径。会刷新最优的MAC表条目,并生成和通过Type2路由。
  1. 远端MAC地址学习
  • 因PE1和PE2分配不同的MPLS标签,PE3和PE4有两条路径到达CE1

五、ARP过程

ARP广播转发

  • CE1发送的ARP请求达到PE1。PE1通过数据面学习到CE1的MAC地址,然后通过Type2路由发送给所有邻居。
  • 控制平面行为完成后,PE1将执行数据平面行为,即转发ARP广播请求(BUM流量)。最后因PE3为DF,PE3转发ARP广播报文到CE2。

ARP广播转发行为罗列:(基于已经选举完DF情况下)

  1. PE1到PE3的ARP报文查询BUM流量转发表转发,携带103标签。PE3为DF,转发报文到Port3。
  2. PE1到PE4的流量携带标签104。PE4根据标签确认是BUM流量,因PE4为非DF,丢弃报文。(PE4怎么知道是BUM流量,因为之前PE1告诉过所有PE,BUM标签为分别为到PE2封装102,到PE3封装103,到PE4封装104,现在过来的流量携带104的标签,所以是个BUM流量,又因为PE4是个非DF,故直接丢了)
  3. PE2到PE2由于PE1和PE2属于相同ES,PE1到PE2的流量同时携带ESI标签202和BUM标签102。PE2接收到报文发现有标签202,则丢弃该报文。

六、总结:

  1. EVPN解决双活带来的问题
  • Type1路由携带的ESI解决CE侧环路问题。
  • Type 4路由实现DF选举,解决广播流量向CE发送多分的问题。
  1. EVPN实现负载分担
  • EVPN实现全路径负载分担。
  1. EVPN故障快速收敛
  • PE3检测到CE2的链路故障,首先删除自己本地MAC表项,然后通过Type1路由通告所有PE撤销该ES相关的所有MAC地址。

经典拓扑图:

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号