VXLAN学习笔记

        声明:该博客内容大部分参考参考链接整理

什么是VXLAN?

        VXLAN(Virtual Extensible LAN)即虚拟扩展局域网,是大二层网络中广泛使用的网络虚拟化技术。在源网络设备与目的网络设备之间建立一条逻辑VXLAN隧道,采用MAC in UDP的封装方式,即,将虚拟机发出的原始以太报文完整的封装在UDP报文中,然后在外层使用物理网络的IP报文头和以太报文头封装,这样,封装后的报文就像普通IP报文一样,可以通过路由网络转发,这就像给二层网络的虚拟机插上了路由的翅膀,使虚拟机彻底摆脱了二、三层网络的结构限制。

VXLAN与VLAN的区别

        VLAN作为传统的网络隔离技术,在标准定义中VLAN的数量只有4000个左右,无法满足大二层网络的租户间隔离需求。另外,VLAN的二层范围一般较小且固定,无法支持虚拟机大范围的动态迁移。

        VXLAN完美地弥补了VLAN的上述不足,一方面通过VXLAN中的24比特VNI字段,提供多达16M租户的标识能力,远大于VLAN的4000;另一方面,VXLAN本质上在两台交换机之间构建了一条穿越基础IP网络的虚拟隧道,将IP基础网络虚拟成一个巨型“二层交换机”,即大二层网络,满足虚拟机大范围动态迁移的需求。

        虽然从名字上看,VXLAN是VLAN的一种扩展协议,但VXLAN构建虚拟隧道的本领已经与VLAN迥然不同了。

VXLAN报文格式

        VXLAN是MAC in UDP的网络虚拟化技术,所以其报文封装是在原始以太报文之前添加了一个UDP封装及VXLAN头封装。具体报文格式如图所示:

        字段含义说明:

VXLAN是如何工作的?

什么是VTEP?

        VTEP(VxLAN Tunnel EndPoint) VxLAN 隧道端点,是VxLAN网络的边缘设备,是VxLAN隧道的起点和终点,源服务器发出的原始数据帧,在VTEP上被封装成VXLAN格式的报文,并在IP网络中传递到另外一个VTEP上,并经过解封转还原出原始的数据帧,最后转发给目的服务器。

什么是VNI?

        VNI(VxLAN Network Identifier,VXLAN 网络标识),一种类似VLAN ID的用户标识,一个VNI代表一个用户,不同VNI之间的虚拟机不能直接二层通信。

VxLAN报文是如何交互的?

        基本的二三层转发中,二层转发依赖的是MAC表,三层转发依赖的是FIB表。在VXLAN中,其实也是同样的道理。下面以VXLAN隧道的建立)为例,分别介绍同子网内、跨子网间是如何进行通信的,帮助您理解VXLAN中的概念。

集中式VXLAN中同子网互通流程

        如下图所示,VM_A、VM_B和VM_C属于同网段。此时,VM_A想与VM_C进行通信,首次进行通信,报文进行如下处理:

        1)VM_A上没有VM_C的MAC地址,所以会发送ARP广播报文请求VM_C的MAC地址。
        2)VTEP_1收到ARP请求后,先进行VXLAN封装,然后将VXLAN报文复制多份分别发送给所有的对端VTEP。
        3)报文到达VTEP_2和VTEP_3后,VTEP对报文进行解封装,得到VM_A发送的原始报文。VTEP_2和VTEP_3在对应的二层域内广播。
        4)当VM_C收到该请求报文后,发现目的IP与本机IP相同,因此VM_C将进行ARP应答。而其他VM收到该请求报文会丢弃。


        经过上述过程,VM_A和VM_C均已学习到了对方的MAC地址。之后,VM_A和VM_C将采用单播方式进行通信。

​集中式VXLAN中跨子网互通流程

        跨子网报文转发需要通过三层网关实现。如下图所示,VM_A、VM_B属于不同网段。VM_A与VM_B进行通信的报文处理过程如下:
        1)VM_A先将数据报文发送给VTEP_1。
        2)VTEP_1收到后进行VXLAN封装,然后将VXLAN报文发送给对端VTEP_3。
        3)VTEP_3收到VXLAN报文后进行解封装,发现目的MAC是三层网关接口BDIF的MAC地址MAC_10,而目的IP地址为IP_B(10.1.20.1),因此需要进行三层转发。
        4)VTEP_3根据路由表查找到IP_B的下一跳,发现出接口为BDIF 20,VTEP_3将报文重新进行VXLAN封装,然后将VXLAN报文发送给对端VTEP_2。
        5)报文到达VTEP_2后,VTEP_2对报文进行解封装,并将其发送给VM_B

参考连接

什么是VXLAN?

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Linux下安装和使用MySQL 看这篇文章就够了 mysql在ubuntu22下安装使用教程

第一步,在Linux上装MySQL数据库 首先,确保Ubuntu保持网络通畅 两种设置方式 方法一、设置-》网络-》连接方式-》网络地址转换(NAT) ​ 方法二、设置-》网络-》连接方式-》桥接 选择正确的网卡 右下角这里有个网络图标 也可以进行设置 2、更新软件源…

JDK8和JDK11在Ubuntu18上切换(解决nvvp启动报错)

本文主要介绍JDK8和JDK11在Ubuntu18上切换,以供读者能够理解该技术的定义、原理、应用。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:计算机杂记 🎀CSDN主页 发狂的小花 🌄人…

【Docker篇】数据卷相关操作

文章目录 🎈前言🍔数据卷🛸操作命令⭐创建一个数据卷,并查看数据卷在宿主机的目录位置 🌹挂载数据卷 🎈前言 在前面文章的nginx案例中,修改nginx的html页面时,需要进入nginx内部。并…

Vue 3 + TypeScript 项目中全局挂载并使用工具函数

一、proxy方式 1.封装日期选择工具函数: 在untils文件夹下新建index.ts,并导出工具函数 /*** 获取不同类型日期* param:类型 dateVal: 是否指定*/ export function getSystemDate(param: any, dateVal: any) {let systemDate dateVal ? new Date(da…

BlenderGIS 快捷键E 报错问题 Report: Error

最新版的Blender4.0 对于 BlenderGIS2.28版本的插件不兼容,BlenderGIS2.28兼容Blender3.6.9及之前的版本,应该是BlenderGIS插件很久没更新了导致的。

手撕算法-对称二叉树

力扣101. 对称二叉树 链接 https://leetcode.cn/problems/symmetric-tree/description/ 题目描述 给你一个二叉树的根节点 root , 检查它是否轴对称。示例1:此树是对称的。示例2:此树也是对称的示例3:此树不对称 思路 一颗…

模板进阶:非类型模板参数,特化

一、非类型模板参数 非类型模板参数&#xff0c;就是用一个常量作为 类/函数 的模板参数&#xff0c;在 类/函数 中可以被当成常量使用。 template<class T, size_t N>// N 为一个非类型模板参数 class Stack { public:Stack(){_a new T[N];} protected:T* _a; };int m…

AI成就画质冠军!海信电视U8N Pro的“硬参数”和“软实力”

不得不说&#xff0c;这几年AI落地大有摧枯拉朽之势&#xff0c;也离普通人的生活越来越近了。 如果说&#xff0c;曾经1997年“深蓝”计算机赢下国际象棋世界冠军&#xff0c;还没那么让人印象深刻&#xff0c;2016年Alpha Go战胜围棋世界冠军&#xff0c;即使广泛关注&#…

[做题]双指针

第一天刷题。一个平实的开始&#xff0c;希望能坚持下来&#xff0c;不求波涛汹涌&#xff0c;大浪淘沙&#xff0c;但求静水流深&#xff0c;川流不息。 先学习双指针。题目方向分为两个&#xff1a;链表和数组。 在处理数组和链表相关问题时&#xff0c;双指针技巧是经常用到…

SQLiteC/C++接口详细介绍之sqlite3类(十三)

返回目录&#xff1a;SQLite—免费开源数据库系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;十二&#xff09; 下一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;十四&#xff09;&#xff08;未发表&#xff09; 40.sqlite3…

[SaaS] 淘宝设AI

“淘宝设计AI” 让国际大牌造世界双11超级品牌 超级发布https://mp.weixin.qq.com/s/xFVDARQHxlweKAYG91DtYw下面是一个完整的品牌营销海报设计流程&#xff0c;AIGC起到了巨大作用&#xff0c;但是仍然很难去一步解决这个问题&#xff0c;还是逐步修改的一个过程。 Midjouner…

26.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-实现生成日志文件的功能

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果 内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;25.利用全新的通…