当前位置: 首页 > article >正文

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单播应答:

     

http://www.lryc.cn/news/2398540.html

相关文章:

  • 嵌入式Linux系统中的启动分区架构
  • 无人机甲烷检测技术革新:开启环境与能源安全监测新时代
  • mysql数据库实现分库分表,读写分离中间件sharding-sphere
  • [Python] struct.unpack() 用法详解
  • 普通二叉树 —— 最近公共祖先问题解析(Leetcode 236)
  • Spring AOP:面向切面编程 详解代理模式
  • 零知开源——STM32F407VET6驱动ILI9486 TFT显示屏 实现Flappy Bird游戏教程
  • 数据安全中心是什么?如何做好数据安全管理?
  • Monorepo 详解:现代前端工程的架构革命
  • 16-前端Web实战(Tlias案例-部门管理)
  • 电路学习(二)之电容
  • 从“remote rejected”看git角色区别,Maintainer和Devoloper
  • CTA-861-G-2017中文pdf版
  • JavaScript中的常量值与引用值:从基础到实践
  • 港大NVMIT开源Fast-dLLM:无需重新训练模型,直接提升扩散语言模型的推理效率
  • ESP32-C3 Vscode+ESP-IDF开发环境搭建 保姆级教程
  • SCSS 全面深度解析
  • 解决vscode打开一个单片机工程文件(IAR/keil MDK)因无法找到头文件导致的结构体成员不自动补全问题。
  • Python 在金融中的应用- Part 1
  • 【Node.js 深度解析】npm install 遭遇:npm ERR! code CERT_HAS_EXPIRED 错误的终极解决方案
  • Vue内置组件Teleport和Suspense
  • Java网络编程实战:TCP/UDP Socket通信详解与高并发服务器设计
  • vue+threeJs 绘制3D圆形
  • Silky-CTF: 0x02靶场
  • Kafka 的优势是什么?
  • 基于FPGA + JESD204B协议+高速ADC数据采集系统设计
  • 微服务中引入公共拦截器
  • Ubuntu20.04 LTS 升级Ubuntu22.04LTS 依赖错误 系统崩溃重装 Ubuntu22.04 LTS
  • C++11:unique_ptr的基本用法、使用场景和最佳使用指南
  • 测量3D翼片的距离与角度