网络知识点之—EVPN

EVPN(Ethernet Virtual Private Network)是下一代全业务承载的VPN解决方案。EVPN统一了各种VPN业务的控制面,利用BGP扩展协议来传递二层或三层的可达性信息,实现了转发面和控制面的分离。

EVPN解决传统L2VPN的无法实现负载分担、网络资源的消耗较高等不足,同时也可以对L3VPN业务进行承载,降低了协议的复杂程度。EVPN还将IP VPN流量均衡和部署灵活的优势引入到了以太网中。种种优势使其广泛应用于大型数据中心二层网络互连场景。

起源与发展

最初的VXLAN方案(RFC7348)中没有定义控制平面,VXLAN隧道需要手工配置,然后通过流量泛洪的方式进行主机地址的学习。这种方式实现上较为简单,但是会导致网络中存在很多泛洪流量、网络扩展困难。

为了解决上述问题,人们在VXLAN中引入了EVPN作为VXLAN的控制平面。

EVPN是一种用于二层网络互联的VPN技术,它颠覆了传统二层VPN通过转发面来学习MAC地址的机制,引入了控制面,利用BGP扩展协议来传递MAC信息,有望取代其他 L2VPN 传输方法,例如基于 BGP 的 L2VPN (RFC6624)、基于 LDP 的 L2VPN (RFC4906) 和 VPLS。

了解 EVPN

EVPN可通过 IP 或 IP/MPLS 骨干网在不同的二层域之间提供虚拟多点桥接连接。与 IP VPN 和VPLS(虚拟专用 LAN 服务 ) 等其他 VPN 技术一样,EVPN 在PE (提供商边缘) 路由器上配置实例,以确保客户之间的逻辑业务分离。

PE 路由器用于连接到CE (客户边缘) 设备,这些设备可以是路由器、交换机或主机。然后,PE 路由器使用MP-BGP (多协议 BGP)交换可达性信息,并在 PE 路由器之间转发封装的流量。由于该架构的元素与其他VPN技术是通用的,因此EVPN可以无缝引入并集成到现有的业务环境中,如下所示:

93229488422f4c2b935d40be675a688d.png

 EVPN 可用作二层 Overlay 解决方案,以便在裸机服务器等终端站需要二层连接时,通过 IP 底层为虚拟网络中的端点提供二层连接。

EVPN 的 MP-BGP 控制平面能够动态地将实时虚拟机从一个数据中心迁移到另一个数据中心,称为VM(虚拟机) 迁移。将 VM 移动到目标服务器或管理程序后,它会发送一个免费 ARP,更新目标数据中心 PE 设备的二层转发表。然后,PE 设备将 MAC 路由更新发送到所有远程 PE 设备,这些设备依次更新它们的转发表。

EVPN 的优势

简化配置:通过MP-BGP实现VTEP自动发现、VXLAN隧道自动建立、VXLAN隧道与VXLAN自动关联,无需用户手工配置,降低网络部署难度。

 

分离控制平面与数据平面:控制平面负责发布路由信息,数据平面负责转发报文,分工明确,易于管理。

支持多归属:当同一个站点通过多台VTEP接入VXLAN网络时,连接该站点的多条路径均可以进行流量转发,以提高网络带宽利用率。

支持对称IRB(Integrated Bridging and Routing,集成的桥接和路由):MP-BGP同时发布二层MAC地址和三层路由信息,VTEP既可以进行二层转发,也可以进行三层路由。

什么是 BGP EVPN

BGP(特别是MP-BGP)从早期开始就是 EVPN 控制平面的选择。BGP EVPN 的基本思想如下所示,以太网网络通过中间 IP 网络连接,标记为 IP 底层。PE路由器实施 BGP EVPN 协议并通过 IP 网络相互对等。

1bba13fda356411f995177c75bf67a4f.png

 EVPN NLRI定义了五种EVPN路由类型来解决不同的用例。其中Type1~Type4是在 RFC7432中定义的,Type5是在后来的草案中定义的。

Type1:Ethernet auto-discovery (AD) route,用来在站点多归属组网中通告ES信息,以便实现水平分割、Aliasing和主备备份等特性。

Type2:MAC/IP advertisement route,用来通告MAC/IP地址信息。

Type3:Inclusive multicast Ethernet tag route,用来通告VTEP及其所属VXLAN,以实现VTEP自动发现、自动建立VXLAN隧道、自动创建VXLAN广播表等。

Type4:Ethernet segment route,用来通告ES及其连接的VTEP信息,以便发现连接同一ES的VTEP冗余组其他成员,以及在冗余组之间选举指定转发器DF等。

Type5:IP prefix route,IP前缀路由,用来以IP前缀的形式通告引入的外部路由。

BGP 在实现 EVPN 扩展需求方面发挥了一些关键作用:

1)从数据平面中删除 MAC 地址学习。在标准以太网网络中,MAC 地址是通过交换机在传输时观察帧(数据包)来学习的。每当交换机遇到未知的目标 MAC 地址时,它就会泛洪帧,即将其复制到所有可能的目标。这种类型的未知单播帧泛洪可能导致流量拥塞,可能包括广播风暴,并且扩展性非常差。

2)减少广播和多播流量负载。与未知的单播泛洪类似,广播和多播流量会在网络上造成沉重的流量负载,并有可能因广播风暴而中断。BGP EVPN 可以通过有选择地转发此类流量来减少这些问题。

3)跨底层 IP 网络实现最佳转发、负载平衡和收敛。

BGP EVPN 如何作为 VXLAN 的控制平面

在采用BGP EVPN部署分布式VXLAN网关的场景下,控制平面负责VXLAN隧道建立和动态MAC地址学习,转发平面负责子网内已知单播报文转发、子网内BUM报文转发和子网间的数据包转发。BGP EVPN提供多种功能,包括主机IP路由通告、主机MAC地址通告、主机ARP通告和ARP广播抑制。如果分布式网关部署在VXLAN网络中,推荐使用BGP EVPN。

以下内容以具有IPv4 Underlay和Overlay网络的VXLAN网络为例,描述BGP EVPN如何作为VXLAN的控制平面工作。

子网内 VXLAN 隧道建立

VXLAN隧道由一对VTEP(VXLAN隧道端点)决定。在子网内通信场景中,当两个VTEP之间的IP地址路由可达时,可在它们之间建立VXLAN隧道,因为它们只需要在同一个二层BD(广播域)中进行通信。当使用EVPN动态建立VXLAN隧道时,两个VTEP建立BGP EVPN对等体关系,并交换Type 3路由,传递VNI和VTEP IP地址信息。然后在它们之间动态建立 VXLAN 隧道。

通过 EVPN 学习 MAC 地址

当EVPN作为VXLAN的控制平面时,可以用EVPN来进行MAC学习,以替代数据平面泛洪方式的MAC学习,减少泛洪流量。使用EVPN来进行MAC学习的过程,是通过在VTEP之间传递Type2路由完成的。

下图举例说明VTEP是如何通过EVPN学习远程主机的MAC地址。

a37accc84a8e4c39bd7893fe38a27e09.png

子网间 VXLAN 隧道建立和路由通告

主机路由通告

EVPN Type 2 路由既可以通告主机 MAC 地址和主机路由,因为 Type 2 路由可以携带具有 32 位掩码的主机 IP 地址。主机路由通告使不同网段上的主机能够在分布式网关场景下相互通信。

VTEP 需要相互通告连接主机的 IP 路由。否则,对端VTEP无法获知连接到本地VTEP的主机的路由信息,并且无法在三层主机之间转发子网间报文的转发。

网段路由通告

通告网段路由的过程与通告主机路由的过程类似,不同的是网段路由通过Type 5路由进行通告,而Type 2路由只能通告32位或128位的主机路由。对于32位或128位主机路由的通告,Type 5路由的作用与Type 2路由类似。

如果网关设备下连接的网段在整个网络中唯一,则可以配置发布网段路由,否则不能配置发布网段路由。

子网内 BUM 报文转发

当接收到一个主机到同一子网内另一个主机的 BUM 数据包时,VTEP 会将数据包发送到连接到同一子网上的主机的所有 VTEP。

子网间报文转发

在下图分布式网关场景中,Leaf1和Leaf2作为三层VXLAN网关,进行VXLAN封装和三层转发。Spine节点仅作为VXLAN报文转发节点,不处理VXLAN报文。

176c7264ddd44c39851a32beea7cffe0.png

 VXLAN BGP EVPN 网络上的 ARP 广播抑制

ARP 广播到单播的转换

设备将广播ARP报文转换为单播ARP报文,然后以单播的方式转发。ARP广播到单播的转换过程如下:三层VXLAN网关根据ARP表项生成ARP广播抑制表项(包含主机IP地址、MAC地址、VNI、VTEP IP地址信息),并将主机信息发送给通过 EVPN 的二层网关。二层网关收到广播ARP Request报文后,用学习到的主机MAC地址替换原来所有Fs的原始广播MAC地址。这样,二层网关就可以将广播报文转换为单播报文进行转发。

二层代理 ARP

使用ARP广播转单播功能实现ARP广播抑制时,需要三层网关。在纯二层网络中,没有三层网关可以学习到主机的ARP表项,这样就没法生成ARP广播抑制表项来抑制ARP广播报文。上述二层场景下的ARP广播抑制可以通过二层代理ARP功能实现。

总 结

传统的BGP-4使用Update报文在对等体之间交换路由信息。一条Update报文可以通告一类具有相同路径属性的可达路由,这些路由放在NLRI(网络层可达信息)字段中。因为BGP-4只能管理IPv4单播路由信息,为了提供对多种网络层协议的支持(例如IPv6、组播),发展出了MP-BGP。

MP-BGP在BGP-4基础上对NLRI作了新扩展。玄机就在于新扩展的NLRI上,扩展之后的NLRI增加了地址族的描述,可以用来区分不同的网络层协议,例如IPv6单播地址族、VPN实例地址族等。

类似的,EVPN也是借用了MP-BGP的机制,在L2VPN地址族下定义了新的子地址族——EVPN地址族,在这个地址族下又新增了一种NLRI,即EVPN NLRI。EVPN NLRI定义了几种BGP EVPN路由类型,这些路由可以携带主机IP、MAC、VNI、VRF等信息。这样,当一个VTEP学习到下挂的主机的IP、MAC地址信息后,就可以通过MP-BGP路由将这些信息发送给其他的VTEP,从而在控制平面实现主机IP、MAC地址的学习,抑制了数据平面的泛洪。

EVPN技术不仅被考虑用于 DC 流量,还可以用于即将到来的 5G 流量和相关应用。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1557522.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【优选算法】--- 分治 快速排序

分治 快速排序 一、颜色分类 / 对快排的复习1、题目解析2、算法原理3、代码 二、排序数组(快排的方法)1、题目解析2、算法原理3、代码 三、数组中的第K个最大元素1、题目解析2、算法原理3、代码 四、库存管理 III(原:剑指 Offer .…

如何使用pymysql和psycopg2连接MySQL和PostgreSQL数据库

在现代软件开发中,数据库是存储和管理数据的核心组件。Python作为一种流行的编程语言,提供了多种方式来连接和操作数据库。在这篇文章中,我们将探讨如何使用pymysql和psycopg2这两个库来连接MySQL和PostgreSQL数据库。我们将从基础概念开始&a…

Khronos:动态环境下时空度量语义SLAM的统一方法

Khronos: A Unified Approach for Spatio-Temporal Metric-Semantic SLAM in Dynamic Environments 原文 项目 引言: 人类居住环境通常是高度动态的,人、机器人和其他实体不断移动、互动和改变场景。对于机器人在这种情况下的操作,仅仅建立一…

想要加密电脑?盘点2024年企业常用的10款电脑文件加密软件

在企业数据安全的时代背景下,文件加密已经成为保护企业核心信息、应对网络安全威胁的关键举措。无论是保护机密的商业数据,还是遵守数据隐私合规性要求,企业对文件加密软件的需求日益增长。本文将盘点2024年企业常用的10款电脑文件加密软件&a…

安卓如何实现双击触摸唤醒点亮屏幕功能-源码分析linage os高通平台

背景: 前面文章已经有讲解过双击亮屏在一些方案调研情况,刚好linage os手机本身也有这个功能,刚好也有整体开源源码,所以今天带大家来对双击亮屏的源码部分进行剖析,本篇文章会一直分析到hal操作驱动节点。 设置作为…

重学SpringBoot3-集成Redis(二)之注解驱动

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-集成Redis(二)之注解驱动 1. 为什么选择 Redis 作为缓存?2. 如何在 Spring Boot 中启用 Redis 缓存?2.1 …

华为OD七日集训第1期 - 按算法分类,由易到难,循序渐进,玩转OD(Python/JS/C/C++)

目录 一、适合人群二、本期训练时间三、如何参加四、7日集训五、精心挑选21道高频100分经典题目,作为入门。第1天、逻辑分析第2天、数组第3天、双指针第4天、滑动窗口第5天、贪心算法第6天、二分查找第7天、分治递归 六、集训总结 大家好,我是哪吒。 最…

Qt程序打包(解决找到dll问题)

1、运行Qt程序找不到dll 在Qt Creator外,运行Qt编译的exe程序,常常出现找不到xxx.dll而无法运行的问题。 解决的办法之一是找到Qt安装目录下bin文件夹中的dll文件,将该路径添加到系统环境变量path中去。 第二种办法就是对Qt程序进行打包&…

来了,使用YOLOv11目标检测教程

来了,使用YOLOv11目标检测教程 概述 YOLO11 在 2024 年 9 月 27 日的 YOLO Vision 2024 活动中宣布:https://www.youtube.com/watch?vrfI5vOo3-_A。 YOLO11 是 Ultralytics YOLO 系列的最新版本,结合了尖端的准确性、速度和效率&#xff…

【LeetCode】动态规划—72. 编辑距离(附完整Python/C++代码)

动态规划—72. 编辑距离 前言题目描述基本思路1. 问题定义2. 理解问题和递推关系3. 解决方法3.1 动态规划方法3.2 空间优化的动态规划 4. 进一步优化5. 小总结 代码实现PythonPython3代码实现Python 代码解释 CC代码实现C 代码解释 总结: 前言 编辑距离问题是字符串处理中的经…

threejs-模型贴图颜色与图片存在色差 问题解决方案

我使用的是obj模型,然后加载的话使用的是texturelLoader加载器,效果是这样的 使用的场景是:能够将图片贴到衣服上,并且能够移动旋转等操作贴图,但是这存在很明显的色差问题,具体的解决方案是: 我…

.Net Core 接口或网站发布到IIS

将.Net Core 接口或网站发布到IIS上,需要遵循一系列步骤来确保正确配置和部署。下面将以.NET Core 3.1的api接口发布示范: 一、环境准备 安装.NET Core 3.1 SDK和运行时: 在服务器上安装.NET Core 3.1 SDK(如果需要在服务器上编译…

LeetCode 48 Rotate Image 解题思路和python代码

题目: You are given an n x n 2D matrix representing an image, rotate the image by 90 degrees (clockwise). You have to rotate the image in-place, which means you have to modify the input 2D matrix directly. DO NOT allocate another 2D matrix and …

桥水基金、贝莱德、摩根士丹利选择极狐GitLab 的五大理由!

疯狂上涨的 A股、港股 节前一周,上证指数累计上涨超 12%,创下2008年11月以来最大单周涨幅;深证成指累计上涨超17%,创下1996年4月最大单周涨幅;创业板指上涨超22%,创下史上最大单周涨幅。 过去两周&#x…

1688代采系统-反向海淘系统详细介绍

Onebound凡邦1688代采系统-反向海淘系统是一种专为海外买家及跨境电商提供一站式采购解决方案的平台。其核心功能和服务旨在解决跨境采购中的语言、货币等常见问题,并优化采购流程,提高采购效率。以下是对该系统的详细介绍。 一、核心功能 商品采集与展…

基于Java(Jsp+Sevlet)+MySql 实现的(Web)成绩管理系统

1 概述 1.1 开发背景 随着学生数量的日渐增多,学生教务系统的数据量也不断增加,这无疑大大增加了教务系统的负担。如果能把负责学生成绩管理的模块独立出来形成一个独立的系统,便可以有效降低教务系统的数据量,不仅可以方便管理…

2003-2023年上市公司政府补助明细数据

2003-2023年上市公司政府补助明细数据 1、时间:2003-2023年 2、来源:通过整理和筛选于企业财务报表附注“营业外收入”下的“政府补助明细”得到 3、指标:年份、股票代码、股票简称、行业名称、省份、城市、区县、上市状态、政府补助金额、…

企业架构系列(16)ArchiMate第14节:实施和迁移视角

在企业架构中,为了有效地规划和管理架构的变更与实施,通常会使用不同的视角来描述架构的不同方面。本篇涉及到三个主要视角:项目视角、迁移视角以及实施与迁移视角。 一、实施和迁移视角概览 1.项目视角 元素与关系:关注项目本身…

基于ResNet50模型的船型识别与分类系统研究

关于深度实战社区 我们是一个深度学习领域的独立工作室。团队成员有:中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等,曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万粉丝,拥有2篇国家级人工智能发明专利。 社区特色…

获取时隔半个钟的三天

摘要&#xff1a; 今天遇到需求是配送时间&#xff0c;时隔半个钟的排线&#xff01;所以需要拼接时间&#xff01;例如2024-10-08 14&#xff1a;30&#xff0c;2024-10-08 15&#xff1a;00&#xff0c;2024-10-08 15&#xff1a;30 <el-form-item label"配送时间&a…