以太网虚拟专用网络的工作流程(重点3张表与4种路由)

2023-05-16

目录

一、前言

二、EVPN四种类型路由的作用

三、EVPN表项简介:(重点)

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

4.1、EVPN启动阶段:

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

五、ARP过程

六、总结:

1、EVPN解决双活带来的问题

2、EVPN实现负载分担

3、EVPN故障快速收敛


参考文件:华为VPLS与EVPN技术文档;华为NE40手册;学习笔记,互相学习。

基本全文围绕4种类型的路由应用,应用点主要在DF的选举,水平分割和三种表项的形成。

一、前言

EVPN定义了一种新的BGP NLRI(Network Layer Reachable Information)来承载所有的EVPN路由,被称为EVPN NLRI。(以下的Type 1 2 3 4 类路由都在MP-BGP此报文下携带)

  • EVPN NLRI被MP-BGP携带。MP-BGP支持多协议扩展,定义EVPN的AFI(Address Family Identifier)是25,SAFI(Subsequent Address Family Identifier)是70。

二、EVPN四种类型路由的作用

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表项简介:(重点)

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

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

三个表的产生顺序: ①BUM流量转发表(会把BUM流量从各端口封装如图的Lablel广播转发出去)

②ES成员表 (根据对应的ES表封装标签转发出去)

③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流量转发表。

2、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均衡地分担到多归链路上。

3、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表条目。

2、MAC地址通告

    • PE1 EVPN将本地MAC地址条目生成Type2路由,写的PE1设备分配的标签。
    • 远端的PE设备通过MP-BGP学习到EVPN路由,生成MAC表条目。
    • EVPN支持CE多活接入PE。PE2收到PE1发过来的流量,发现ESI相同会感知其实自己和PE1一样也是直连CE1,是个次优路径。会刷新最优的MAC表条目,并生成和通过Type2路由。

、远端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情况下)

PE1到PE3的ARP报文查询BUM流量转发表转发,携带103标签。PE3为DF,转发报文到Port3。

②、PE1到PE4的流量携带标签104。PE4根据标签确认是BUM流量,因PE4为非DF,丢弃报文。(PE4怎么知道是BUM流量,因为之前PE1告诉过所有PE,BUM标签为分别为到PE2封装102,到PE3封装103,到PE4封装104,现在过来的流量携带104的标签,所以是个BUM流量,又因为PE4是个非DF,故直接丢了)

③、PE2到PE2由于PE1和PE2属于相同ES,PE1到PE2的流量同时携带ESI标签202和BUM标签102。PE2接收到报文发现有标签202,则丢弃该报文。

六、总结:

1、EVPN解决双活带来的问题

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

2、EVPN实现负载分担

EVPN实现全路径负载分担。

3、EVPN故障快速收敛

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

经典拓扑图:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以太网虚拟专用网络的工作流程(重点3张表与4种路由) 的相关文章

  • java.sql.SQLException: #HY000

    勾选自动递增 将 type类型改成int xff0c binyint是boolean xff0c 类型是1 xff0c 2 xff0c 3 xff0c 4 xff0c 不是true false 就好了
  • jqgrid表格高度宽度设置

    jqgrid表格高度宽度设置 问题说明 gt 页面上使用上面搜索框 xff0c 下面是jqgrid表格形式 xff0c 总是出现 xff0c grid表格加载宽度 高度问题 本文通过主要解决表格高度宽度变化适应的问题 grid宽度 1 修改
  • 梯度下降法及matlab实现

    个人博客文章链接 xff1a http www huqj top article id 61 162 梯度下降法 xff08 gradient descent xff09 xff0c 是机器学习中最常用的参数调优算法 xff0c 所谓梯度下
  • 命令执行判断($?:命令回传值、&&、||)

    1 概述 当在linux中输入命令时 xff0c 命令可能成功也可能失败 xff0c 此时可以通过命令回传值来判断 xff08 符号 xff1a xff09 xff0c 命令回传值可以和 amp amp 与 一起使用 2 符号 amp am
  • LXC/KVM虚拟化基本概念

    1 LXC 其名称来自Linux软件容器 xff08 Linux Containers xff09 的缩写 一种操作系统层虚拟化 xff08 Operating system level virtualization xff09 技术 xf
  • 解决VNC连接安了Ubuntu MATE系统的树莓派3b时出现灰屏的问题

    1 xff09 首先安装vncserver服务 xff08 这一步有没有用我也不知道 xff0c 一般人都是装的tightvncserver 当然 xff0c 我也装了 xff09 sudo apt get install vnc4serv
  • Ubuntu18.04安装CUDA10、CUDNN

    上篇记录了Ubuntu下安装INVIDIA显卡驱动的方法 xff0c 尽管可以选择CUDA自带的驱动 xff0c 但为了避免不必要的问题 xff0c 尽量单独安装 如果没有单独安装驱动 xff0c 建议多找几篇博客 xff0c 对比来看 x
  • IDEA mavne项目转gradle项目

    文章目录 前言一 配置gradle二 将mavne项目转换为gradle1 找到项目根目录2 执行命令转换3 重启项目 配置IDEA 的 gradle4 转换后的样子 总结 前言 不知道小伙伴有没有遇到过这个问题 就是由于项目是用maven
  • 2016,再见 2017,还请多多指教

    先来一个象征意义上的序 今天是2017 01 01 新年的第一天 昨天适合总结 今天适合制作新年计划 昨天没做总结 于是今天总结和新年计划一起来吧 充满回忆的2016 昨天在驾校练车练了一天 倒库终于能倒进去了 回到住处已经下午5点 买了路
  • 3. 云计算的落地实践(下)

    本章讲解知识点 云计算如何落地实践 ISO镜像文件 创建虚拟机入门 创建数据节点 配置 VMWare创建虚拟机三种网络模式 1 云计算的落地实践 上一章我们讲了云计算的业界实践 即 搭建IaaS后 用于创建虚拟机 在虚拟机上部署PaaS 用
  • deepin15.8配置深度显卡驱动

    以deepin15 8为例 xff0c 电脑为联想的y7000 刚开始以网上下载 run文件的方式进行安装显卡驱动 xff0c 后来在下载cmake等一下工具的时候 xff0c 总会提示与显卡驱动某个模块版本冲突 xff0c 所以索性放弃了
  • 关于调用第三方接口时传递参数是File类型的解决方式

    最近在做一个项目 xff0c 需要频繁的调用第三方的接口 xff0c 本以为都是基本的数据类型 xff0c 没想到需要传一个文件类型的参数 xff0c 我想着调用接口的时候直接用文件流把文件写到connection不就行了 xff0c 这就
  • C#中?、?.、? ?、? ?=的用法和说明

    一 可空类型修饰符 xff1f 引用类型能用空引用来表示一个不存在的值 xff0c 但是值类型不能 例如 xff1a string str 61 null int i 61 null 编译报错 为了使值类型也能使用可空类型 xff0c 就可
  • TortorliseGit(小乌龟)创建删除(远程和本地)分支

    以下两篇文章分别为删除和创建 1 使用TortorliseGit 小乌龟 删除本地分支 xff0c 远程分支 2 使用TortoiseGit操作分支的创建与合并
  • UML类图的几种关系浅析

    类图中的主要关系有如下几种 关联关系 聚合关系 组合关系依赖关系泛化关系细化关系 注 xff1a 以下图片均来自网络 xff0c 侵删 1 关联关系 关联关系是类与类之间的连接 xff0c 表示一类对象与另一类对象之间有联系 xff0c 通
  • 关于c#创建界面的几种方式

    c 创建界面有很多种方式 xff0c 下面列举5中创建界面的方式 1 windows窗体 xff0c 这种窗体设计界面是最简单的一种 这种可以直接从工具箱拿出组件进行使用 xff0c 能够很好的设计界面 2 用户控件类 3 组件类 4 窗口
  • .ova文件转换成.ovf和.vmdk格式

    一 准备工具 xff1a 下载软件 xff1a OVFTool x64 下载地址 xff1a https pan baidu com s 1YDtHh0 OnK0Lm5C4KoF4 w 二 安装后 xff0c 去安装路径下 xff0c 按住
  • 【Word】如何在数学公式同一行末尾填写编号

    使用word插入公式框后 xff0c 在公式框中打完公式的末尾处 xff08 依旧在框内 xff09 加上 xff08 编号 xff09 xff0c 然后回车即可 xff01 xff01 超神器 xff01 再也不用手动空格啦 输入公式序号
  • 使用Xmanager软件远程调用图形化(可视化)安装Oracle数据库

    安装Oracle xff0c 使用调用图形化界面进行安装 xff0c 此次不能使用VNC远程到服务器本地进行图形化安装 xff0c 只能远程调用图形化进行本地安装 xff0c 方法如下 xff1a 一 Linux系统安装所需要的依赖组 xf
  • js中怎么删除对象的某个key值?js 遍历数组,有用!!

    参考 xff1a https blog csdn net denghaolinzy article details 87913561 formThead cate false id true out trade no true produc

随机推荐

  • UDP数据包的延迟及丢包检测(C++)

    摘要 本文记录通过数据报套接字来检测UDP数据包的延迟和丢包的思路和简单的代码实现 思路 UDP协议及用户数据报协议在传输层提供了无连接 不可靠的传输服务 xff0c 端到端的延迟以及丢包率是反应当前网络环境好坏的重要评价标准 Ping检测
  • 二叉树前中后序遍历非递归实现C++

    前几天面试过程中面试官让手写一下二叉树后序遍历的非递归写法 xff0c 当时没有写出来 xff0c 本想着可能是因为面试太紧张的原因 xff0c 才这么简单的题都没写出来 xff0c 后来特地去研究了一下 xff0c 发现二叉树的后序遍历非
  • Arcgis(AE)二次开发问题解决 创建组件”ToolbarControl”失败等

    本文提供 xff08 Arcgis二次开发 xff08 AE xff09 xff09 遇到的以下问题参考解决办法 xff1a 1 必须有许可证才能使用此ActiveX 控件 xff1b 2 命名空间 ESRI ArcGIS 中不存在类型或命
  • C++11右值引用和移动语义

    C 43 43 11中加入了很多新特性 xff0c 其中非常有用的一个就是右值引用和移动语义 xff0c 移动语义主要体现在移动构造函数和移动赋值函数
  • MacOS安装Minikube踩坑记录

    安装minikube macos可以通过两种方式安装minikube xff0c 第一种通过下载二进制文件的方式 xff0c 第二种通过brew直接安装 这里推荐直接通过brew安装 xff0c 更加简单方便 brew install mi
  • 线性回归原理及实现(一):最小二乘法

    线性回归到底要干什么 xff0c 顾名思义很简单 xff0c 即在已有数据集上通过构建一个线性的模型来拟合该数据集特征向量的各个分量之间的关系 xff0c 对于需要预测结果的新数据 xff0c 我们利用已经拟合好的线性模型来预测其结果 关于
  • 史上最简单Opencv相机畸变矫正教学

    最近因为项目需要研究了一下摄像头的畸变矫正 xff0c 我打算通过写这篇博客记录一下相关流程 其实关于摄像头畸变矫正的原理 xff0c 网络上已经有非常多的博客可以参考了 xff0c 我在博客里也就不再赘述了 利用Opencv库中的接口 x
  • 利用逆透视变换获取车载图象的鸟瞰图

    近年来在人工智能潮流下 xff0c 各行各业对无人驾驶技术的发展投来了越来越多的关注 在智能驾驶系统的研究中 xff0c 车道线检测的研究是非常重要的一环 xff1b 鉴于绝大多数城市道路交通环境特性和车道线本身特性 xff0c 当前车道线
  • 相机参数标定(camera calibration)及标定结果如何使用

    文章转自https blog csdn net aoulun article details 78768570一直都想写一写这个主题 xff0c 但是 xff0c 一直都感觉有点虚 xff0c 也没有去整理 在网上搜了一下 xff0c 发现
  • elasticsearch7.6.0启动报错问题

    elasticsearch7 6 0启动报错 xff1a 2020 04 08T03 00 20 624 WARN o e t TcpTransport node 1 exception caught on transport layer
  • VScode使用之SSH免密登录配置

    终端电脑生成秘钥对 打开cmd xff0c 输入ssh keygen t rsa一路回车 xff0c 秘钥对文件目录需要记录一下后面需要使用 将公钥放到目标机上 将之前生成的id rsa pub这个文件 xff0c 放到目标机上 注意 xf
  • 51单片机-LCD1602显示(无字库)

    51单片机 LCD1602显示 xff08 无字库 xff09 LCD1602液晶显示屏显示字符显示汉字的显示 LCD1602液晶显示屏引脚说明LCD1602液晶显示屏11条控制指令LCD1602读写时序图LCD1602的RAM地址映射LC
  • “curl: (7) Failed to connect to xxx port 443: Connection refused”解决办法

    curl 7 Failed to connect to xxx port 443 Connection refused 解决办法 mac系统下解决方案 第一步 xff1a 打开网站https www ipaddress com 搜索xxx
  • 关于for循环声明int i的位置

    猿问 C 测试 数据结构 qq 阿篮 0 2017 10 22 13 06 28 for int i 61 0 i lt 10 i 43 43 int i 61 0 for i lt 10 i 43 43 请问这两个运行速度是第一个快吗 x
  • 阿里云-轻量应用服务器-Ubuntu-mysql安装-mysql外连配置-远程连接mysql

    按照本文的步骤 xff0c 能让你在外面 xff0c 用连接上的阿里云轻应用服务器 傻瓜式步骤演示 1 服务器防火墙设置 1 xff09 点击打开 轻量级应用服务器控制台 安全 防火墙 2 xff09 观察红框内有没有MYSQL设置 如果没
  • 阿里云-轻量应用服务器-防火墙-ufw-gufw

    序言 在服务器上装了VNC和xfce 启动VNC服务后发现每过一段时间VNC就不能连接了 上网查询报错原因 发现是因为密码输入错误次数过多 龟龟 xff0c 网上这么多坏人的吗 为了使VNC一直启动的同时不会被别人乱输入密码导致停止服务 x
  • 以太网二层技术——VPLS详解

    目录 前言 xff1a xff08 由于时间关系 xff0c 本篇仅先写了关于VPLS相关 xff09 一 VPLS简介 xff1a 二 VPLS基本工作原理及步骤 xff1a 三 VPLS的报文转发过程 xff1a 四 VPLS的缺点 x
  • SR技术概述与基本概念(SR-BE&SR-TE)

    目录 一 SR背景 二 SR概述 xff1a SR具有如下特点 xff1a SR优势 xff1a 三 一些名词的基本概念 基本概念 xff1a Segment 基本概念 xff1a Segment ID 简称SID xff0c 用于标识se
  • 网络同步技术

    一 同步技术 时钟同步包括 xff1a 频率同步 和时间同步 频率同步要求 相同的时间间隔 xff0c 时间同步要求 时间的起始点相同 和 相同的时间间隔 二 同步以太网技术 xff08 频率同步 xff09 xff1a SyncE xff
  • 以太网虚拟专用网络的工作流程(重点3张表与4种路由)

    目录 一 前言 二 EVPN四种类型路由的作用 三 EVPN表项简介 xff1a xff08 重点 四 EVPN的工作流程分为两个阶段 xff1a 4 1 EVPN启动阶段 xff1a 4 2 EVPN流量转发 xff1a Type2 控制