BGP EVPN-Type2、3、5路由

文章目录

    • 概述
    • 1、Type2 路由——MAC/IP 路由
    • 2、Type3 路由——Inclusive Multicast 路由
    • 3、Type5 路由——IP 前缀路由

概述

EVPN(Ethernet Virtual Private Network)是一种用于二层网络互联的 VPN 技术。
EVPN 技术采用类似于 BGP/MPLS IP VPN 的机制,在 BGP 协议的基础上定义了一种新的 NLRI(Network Layer Reachability Information,网络层可达信息)即 EVPN NLRI,EVPN NLRI 定义了几种新的 BGP EVPN 路由类型,用于处在二层网络的不同站点之间的 MAC 地址学习和发布。原有的 VXLAN 实现方案没有控制平面,是通过数据平面的流量泛洪进行 VTEP 发现和主机信息(包括 IP 地址、MAC地址、VNI、网关 VTEP IP 地址)学习的,这种方式导致数据中心网络存在很多泛洪流量。为了解决这一问题,VXLAN 引入了 EVPN 作为控制平面,通过在 VTEP之间交换 BGP EVPN 路由实现 VTEP 的自动发现、主机信息相互通告等特性,从而避免了不必要的数据流量泛洪。
综上所述,EVPN 通过扩展 BGP 协议新定义了几种 BGP EVPN 路由,这些 BGP EVPN路由可以用于传递VTEP 地址和主机信息,因此 EVPN 应用于 VXLAN 网络中,可以使 VTEP 发现和主机信息学习从数据平面转移到控制平面。BGP EVPN 路由在 EVPN NLRI 中定义了如下几种应用于 VXLAN 控制平面的 BGP EVPN路由类型:

1、Type2 路由——MAC/IP 路由

MAC/IP 路由的报文格式
在这里插入图片描述
各字段的解释如下表所示:
各字段的解释
该类型路由在 VXLAN 控制平面中的作用包括:
① 主机 MAC 地址通告:
要实现同子网主机的二层互访,两端 VTEP需要相互学习主机 MAC。作为 BGP EVPN 对等体的 VTEP 之间通过交换 MAC/IP 路由,可以相互通告已经获取到的主机 MAC。其中,MAC Address Length 和 MAC Address 字段为主机 MAC 地址。
② 主机 ARP 通告:
MAC/IP 路由可以同时携带主机 MAC 地址+主机 IP 地址,因此该路由可以用来在
VTEP 之间传递主机 ARP 表项,实现主机 ARP 通告。其中,MAC Address 和 MAC Address Length字段为主机 MAC 地址,IP Address 和 IPAddress Length 字段为主机 IP 地址。此时的 MAC/IP 路由也称为 ARP 类型路由。主机 ARP 通告主要用于以下两种场景:
a.ARP 广播抑制。
当三层网关学习到其子网下的主机 ARP 时,生成主机信息(包含主机 IP 地址、主机 MAC 地址、二层 VNI、网关 VTEP IP 地址),然后通过传递 ARP 类型路由将主机信息同步到二层网关上。这样当二层网关再收到 ARP 请求时,先查找是否存在目的IP 地址对应的主机信息,如果存在,则直接将ARP请求报文中的广播MAC地址替换为目的单播 MAC 地址,实现广播变单播,达到 ARP 广播抑制的目的。
b.分布式网关场景下的虚拟机迁移。
当一台虚拟机从当前网关迁移到另一个网关下之后,新网关学习到该虚拟机的 ARP(一般通过虚拟机发送免费 ARP 实现),并生成主机信息(包含主机 IP 地址、主机 MAC地址、二层 VNI、网关 VTEP IP 地址),然后通过传递 ARP 类型路由将主机信息发送给虚拟机的原网关。原网关收到后,感知到虚拟机的位置发生变化,触发 ARP探测,当探测不到原位置的虚拟机时,撤销原位置虚拟机的 ARP 和主机路由。
③ 主机 IP 路由通告:
在分布式网关场景中,要实现跨子网主机的三层互访,两端 VTEP(作为三层网关)需要互相学习主机 IP 路由。作为 BGP EVPN 对等体的 VTEP 之间通过交换 MAC/IP 路由,可以相互通告已经获取到的主机 IP 路由。其中,IP Address Length 和 IPAddress字段为主机IP路由的目的地址,同时MPLSLabel2 字段必须携带三层 VNI。此时的 MAC/IP 路由也称为 IRB(Integrated Routing and Bridge)类型路由。

ARP 类型路由携带的有效信息有:
主机 MAC 地址+主机 IP 地址+二层 VNI;IRB类型路由携带的有效信息有:主机MAC地址+主机IP 地址+二层VNI+三层VNI。因此,IRB 类型路由包含着 ARP 类型路由,不仅可以用于主机 IP 路由通告,也能用于主机 ARP 通告。

④ND 表项扩散:
MAC/IP 路由可以同时携带主机 MAC 地址+主机 IPv6地址,因此该路由可以用来在VTEP之间传递ND表项,实现 ND 表项扩散。其中,MAC Address 和 MAC Address Length 字段为主机 MAC 地址,IP Address 和 IP Address Length 字段为主机 IPv6 地址。此时的MAC/IP 路由也称为 ND 类型路由。ND 表项扩散主要用于以下场景(详细描述请参见 VXLAN 网络 NS 组播抑制):
⑤ NS 组播抑制:
当VXLAN网关设备收集到本地IPv6主机的信息后,生成 ND 表或 ND 代答表,然后通过 MAC/IP 路由进行扩散,其他 VXLAN 网关(BGP EVPN 对等体)收到该路由后生成本地的 ND 代答表。这样,当 VXLAN网关再收到 NS 报文时先查找本地的 ND 代答表,查找成功就直接进行 ND 代答或组播转单播处理,从而减少或抑制 NS 报文洪泛。
⑥ 防止 ND 欺骗攻击:
ND 欺骗攻击是指攻击者将自己的 MAC 地址与某一主机的 IPv6 地址相关联,从而使发往该 IPv6 地址的任何流量都发送给攻击者。通过 ND 扩散功能,VXLAN 网关之间可以同步同一 IPv6 主机的 ND 代答表。当攻击者上线后,针对同一 IPv6 主机,会重复生成 ND 代答表并扩散到其他 VXLAN 网关。这样通过 ND 代答表冲突检测触发 IPv6 地址冲突告警,进而提醒用户可能存在 ND 欺骗攻击。
⑦ 主机 IPv6 路由通告:
在分布式网关场景中,要实现跨子网 IPv6 主机的三层互访,网关设备需要互相学习主机 IPv6 路由。作为 BGP EVPN 对等体的 VTEP 之间通过交换 MAC/IP路由,可以相互通告已经获取到的主机 IPv6 路由。其中,IP Address Length 和 IP Address 字段为主机 IPv6 路由的目的地址,同时 MPLS Label2 字段必须携带三层 VNI。此时的 MAC/IP 路由也称为IRBv6 类型路由。

ND 类型路由携带的有效信息有:
主机 MAC 地址+主机 IPv6 地址+二层 VNI;IRBv6 类型路由携带的有效信息有:主机 MAC 地址+主机 IPv6 地址+二层 VNI+三层 VNI。因此,IRBv6 类型路由包含着 ND 类型路由,不仅可以用于主机 IPv6 路由通告,也能用于 ND 表项扩散。

2、Type3 路由——Inclusive Multicast 路由

该类型路由是由前缀和 PMSI 属性组成,报文格式如下图所示:
Inclusive Multicast 路由的报文格式
在这里插入图片描述
各字段的解释如下表所示:
在这里插入图片描述
该类型路由在 VXLAN 控制平面中主要用于 VTEP 的自动发现和 VXLAN 隧道的动态建立。
作为 BGP EVPN 对等体的 VTEP,通过 Inclusive Multicast 路由互相传递二层 VNI 和 VTEP IP 地址信息。其中,Originating Router’s IP Address字段为本端 VTEP IP 地址,MPLS Label 字段为二层 VNI。如果对端 VTEP IP 地址是三层路由可达的,则建立一条到对端的 VXLAN 隧道。同时,如果对端 VNI 与本端相同,则创建一个头端复制表,用于后续 BUM 报文转发。

3、Type5 路由——IP 前缀路由

IP 前缀路由的报文格式在这里插入图片描述
各字段的解释如下表所示:
在这里插入图片描述
该类型路由的 IP Prefix Length 和 IP Prefix 字段既可以携带主机 IP 地址,也可以携带网段地址:
①当携带主机 IP 地址时,该类型路由在 VXLAN 控制平面中的作用与 IRB 类型路由是一样的,主要用于分布式网关场景中的主机 IP 路由通告。
② 当携带网段地址时,通过传递该类型路由,可以实现 VXLAN 网络中的主机访问外部网络

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode:2095. 删除链表的中间节点 + 链表】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

安装crossover游戏提示容量不足怎么办 如何把游戏放到外置硬盘里 Mac电脑清理磁盘空间不足

CrossOver作为一款允许用户在非原生操作系统上运行游戏和应用程序的软件,为不同平台的用户提供了极大的便利。然而,随着游戏文件大小的不断增加,内置硬盘的容量往往无法满足安装需求。幸运的是,通过一些简单的步骤,我们…

表---商场 nine

CREATE TABLE gao25 (id int(11) NOT NULL AUTO_INCREMENT COMMENT 自增ID,shopId int(11) NOT NULL COMMENT 店铺ID,goodsId int(11) NOT NULL COMMENT 商品ID,attrId int(11) NOT NULL COMMENT 属性名称,attrVal text NOT NULL COMMENT 属性值,createTime datetime NOT NULL …

HTTP、模块化

HTTP协议 包括请求行、请求头、请求体 http常见请求方法: url统一资源请求符,其本身也是一个字符串 响应体的内容格式是非常灵活的,常见的响应体格式有: 1.HTML 2.CSS 3. JavaScript 4.图片 5.视频 6.JSON 响应状态码: IP本身是一个数字…

【每日算法】理论:深度学习基础 刷题:KMP算法思想

上期文章 【每日算法】理论:常见网络架构 刷题:力扣字符串回顾 文章目录 上期文章一、上期问题二、本期理论问题1、注意力机制2、BatchNorm 和 LayerNorm 的区别3、Bert 的参数量是怎么决定的。4、为什么现在的大语言模型都采用Decoder only架构&#x…

11 c++版本的贪吃蛇

前言 呵呵 这大概是 大学里面的 c 贪吃蛇了吧 有一些 面向对象的理解, 但是不多 最近 因为想要 在单片机上面移植一下 贪吃蛇, 所以 重新拿出了一下 这份代码 然后 将它更新为 c 版本, 还是 用了一些时间 这里 具体的实现 就不赘述, 仅仅是 发一下代码 以及 具体的使用…

NXP恩智浦 S32G电源管理芯片 VR5510 安全概念 Safety Concept (万字长文详解,配21张彩图)

NXP恩智浦 S32G电源管理芯片 VR5510 安全概念 Safety Concept (万字长文详解,配21张彩图) 1. 简介 本应用笔记描述了与S32G处理器和VR5510 PMIC相关的安全概念。该文档涵盖了S32G和VR5510的安全功能以及它们如何相互作用,以确保对ASIL D安全完整性级别…

Leetcode-轮转数字

189. 轮转数组 - 力扣(LeetCode)https://leetcode.cn/problems/rotate-array/ 目录 189. 轮转数组 - 力扣(LeetCode)https://leetcode.cn/problems/rotate-array/ 题目 解题 第一种方法 第二种方法 题目 给定一个整数数组 …

【深度学习(1)】研0和研1如何上手深度学习及定方向

深度学习(1) 基础部分书籍鱼书 (理论部分) 视频课程我是土堆(代码部分) 提升部分李沐的动手学深度学习李沐老师的书 定方向网站: paperwithcode谷歌学术找论文 基础部分 书籍 鱼书 (理论部分) 适合入门,…

Java项目:基于SSM框架实现的汽车推荐系统分前后台(源码+数据库)

一、项目简介 本项目是一套基于SSM框架实现的汽车推荐系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、功能齐全…

Servlet和Tomcat运作过程

记录一下前后端请求交互过程(不涉及Spring框架): 编写一个UserServlet 在web.xml文件中编写映射路径 编写前端

linux系统-FTP服务配置

目录 一、FTP简介 1.什么是FTP??? 2.FTP的两种模式 二、安装配置FTP服务 1.关闭防火墙和核心防护 2.安装VSFTPD 3.修改配置文件 4.黑白名单设置 一、FTP简介 1.什么是FTP?&…

jvm中的引用类型

Java中的引用类型 1.强引用 一个对象A被局部变量、静态变量引用了就产生了强引用。因为局部变量、静态变量都是被GC Root对象关联上的,所以被引用的对象A,就在GC Root的引用链上了。只要这一层关系存在,对象A就不会被垃圾回收器回收。所以只要…

Linux---自定义协议

应用层协议 一、协议定制---以网络计算器为例 网络计算机功能---进行-*/^&|的运算并返回结果 请求和响应的结构体如下 // Protocol.hpp #pragma once #include <iostream> #include <memory> class Request { public:Request(){}Request(int data_x, int da…

无人机探测技术,无人机侦测频谱仪技术实现详解

频谱仪&#xff0c;又称为频谱分析仪&#xff0c;是一种用于测量电信号频谱特性的仪器。其基本原理是通过将时域信号转换为频域信号&#xff0c;进而分析信号的频率成分、功率分布、谐波失真等参数。频谱仪利用快速傅里叶变换&#xff08;FFT&#xff09;算法&#xff0c;将采集…

13 c++版本的五子棋

前言 呵呵 这大概是 大学里面的 c 五子棋了吧 有一些 面向对象的理解, 但是不多 这里 具体的实现 就不赘述, 仅仅是 发一下代码 以及 具体的使用 然后 貌似 放在 win10 上面执行 还有一些问题, 渲染的, 应该很好调整 五子棋 #include<Windows.h> #include<io…

安规电容定义和应用

安规电容 定义 失效后&#xff0c;不会导致电击&#xff0c;不危及人身安全的电容器&#xff0c;称之为安规电容 分类 分为X电容和Y电容 X电容–跨接在电力线&#xff08;L-N&#xff09;之间的电容&#xff0c;一般选用金属薄膜电容&#xff0c;X电容有多种颜色&#xff…

VUE3----Swiper滑动切换图片

Swiper滑动切换图片 可以切换焦点图&#xff0c;兼容小程序 <template><view class"cc-swiper-container" v-if"imageList.length > 0"><swiper class"swiper":class"swiperClassName" :circular"circular&q…

Docker常用命令(镜像、容器)

一、镜像 1.1 存出镜像 1.2 载入镜像 1.3 上传镜像 二、容器 2.1 容器创建 2.2 查看容器的运行状态 ​2.3 启动容器 2.4 创建并启动容器 2.5 在后台持续运行 docker run 创建的容器 2.6 终止容器运行 2.7 容器的进入 ​2.8把宿主机的文件传入到容器内部 2.9 从容器…

C语言 | Leetcode C语言题解之第51题N皇后

题目&#xff1a; 题解&#xff1a; int solutionsSize;char** generateBoard(int* queens, int n) {char** board (char**)malloc(sizeof(char*) * n);for (int i 0; i < n; i) {board[i] (char*)malloc(sizeof(char) * (n 1));for (int j 0; j < n; j) board[i][…