VXLAN技术

news2025/1/16 8:12:27

VXLAN技术

一、VXLAN简介

1、定义

VXLAN(Virtual eXtensible Local Area Network):采用MAC in UDP(User Datagram Protocol)封装方式,是NVO3(Network Virtualization over Layer 3)中的一种网络虚拟化技术。

2、VXLAN解决传统网络遇到的问题:

(1)、虚拟机规模受网络规格限制:

①、VXLAN将虚拟机发出的数据包封装在UDP中,并使用物理网络的IP、MAC地址作为外层头进行封装,对网络只表现为封装后的参数。
②、除VXLAN网络边缘设备,网络中的其他设备不需要识别虚拟机的MAC地址,减轻了设备的MAC地址学习压力,提升了设备性能。

(2)、网络隔离能力限制:

VXLAN引入了类似VLAN ID的用户标识(VNI),由24 bit组成,支持多达16 M的VXLAN段的网络隔离,对用户进行隔离和标识不再受到限制,可满足海量租户。

(3)、虚拟机迁移范围受网络架构限制:

对具有同一网段IP地址的VM而言,即使其物理位置不在同一个二层网络中,但从逻辑上看,相当于处于同一个二层域。即VXLAN技术在三层网络之上,构建出了一个虚拟的大二层网络。

3、Underlay网络

1、概念:即物理网络,作为构架上层逻辑网络的基层。

4、Overlay网络

1、概念:在物理网络上通过隧道技术搭建出虚拟的二层或三层逻辑网络。Overlay网络通过封装技术、利用Underlay网络提供的三层转发路径,实现租户报文在不同站点间传递。对于租户来说,Underlay网络是透明的,只能感知到Overlay网络。

二、VXLAN术语

1、NVE(Network Virtualization Edge):网络虚拟边缘节点NVE,实现网络虚拟化功能的网络实体。
2、VTEP(VXLAN Tunnel Endpoints):VTEP是VXLAN隧道端点,封装在NVE中,用于VXLAN报文的封装和解封装。

①、VXLAN报文中源IP地址为本节点的VTEP地址,VXLAN报文中目的IP地址为对端节点的VTEP地址,一对VTEP地址就对应着一个VXLAN隧道。

3、VNI(VXLAN Network Identifier):VXLAN网络标识VNI类似VLAN ID,用于区分VXLAN段,不同VXLAN段的虚拟机不能直接二层相互通信。

①、个VNI表示一个租户,即使多个终端用户属于同一个VNI,也表示一个租户。VNI由24比特组成,支持多达16M的租户。
②、在分布式网关部署场景下,VNI分为二层VNI和三层VNI。
a、二层VNI是普通的VNI,以1:1方式映射到广播域BD,实现VXLAN报文同子网的转发。
b、三层VNI和VPN实例进行关联,用于VXLAN报文跨子网的转发。

4、BD(Bridge Domain):BD是VXLAN网络中转发数据报文的二层广播域。
5、VBDIF(Virtual Bridge Domain Interface)接口:基于BD创建的三层逻辑接口。通过VBDIF接口配置IP地址可实现不同网段的VXLAN间,及VXLAN和非VXLAN的通信,也可实现二层网络接入三层网络。
6、VAP(Virtual Access Point):虚拟接入点VAP,即VXLAN业务接入点,可以是二层子接口或VLAN

①、当接入节点是二层子接口时,通过在二层子接口上配置流封装类型实现不同的接口接入不同的数据报文,将二层子接口关联广播域BD后,可实现数据报文通过BD转发。
②、当业务接入点是VLAN时,需要将VLAN绑定到广播域BD,也可以实现数据报文通过BD转发。

7、VXLAN网关(Gateway):和VLAN类似,不同VNI之间的VXLAN,及VXLAN和非VXLAN之间不能直接相互通信。为了使VXLAN之间,以及VXLAN和非VXLAN之间能够进行通信,即VXLAN网关。

VXLAN网关分为二层网关和三层网关:
①、二层网关:用于解决租户接入VXLAN虚拟网络的问题,也可用于同一VXLAN虚拟网络的子网通信。
②、三层网关:用于VXLAN虚拟网络的跨子网通信以及外部网络的访问。

三、VXLAN部署方式

1、VXLAN部署方式

部署方式分为:控制器部署方式和单机部署方式

2、控制器部署方式

控制器方式是指通过iMaster NCE-Fabric控制器来动态建立VXLAN隧道,控制器通过NETCONF协议控制设备VXLAN隧道的建立。

案例列举:基于控制器+VXLAN解决方案网络架构

在这里插入图片描述

云平台:实现对网络资源、计算资源和存储资源的按需调度,提供业务管理、运维界面。Neutron为云平台的组件,用于提供网络服务
网络控制器:完成网络配置。iMaster NCE-Fabric控制器通过RESTful接口,接收来自云平台网络模型配置信息,并转化为相应的配置命令,并通过NETCONF协议与网络设备对接建立的通道,将命令下发到基础网络层的网络设备
基础网络:物理网络和虚拟网络统一规划

3、单机部署方式

传统网络部署方式,按照网络规划登录到每台设备上进行配置。云计算数据中心中,此方式无法协同云平台实现网络的自动化部署。

四、VXLAN报文格式

在这里插入图片描述

在这里插入图片描述

1、VXLAN 头部:

①、VXLAN Flags:8比特,取值为00001000。
②、VNI:VXLAN网络标识,24比特,用于区分VXLAN段。
③、保留字段Reserved:24比特和8比特,必须设置为0。

2、UDP头部(Outer UDP header):

①、DestPort:目的UDP端口号是4789。
②、Source Port:源端口号是通过哈希算法计算后的值。

3、外层IP头部(Outer IP header):

①、IP SA:源IP地址是VXLAN隧道本端VTEP的IP地址。
②、IP DA:目的IP地址是VXLAN隧道远端VTEP的IP地址。

4、外层以太网帧头部(Outer Ethernet header):

①、MAC DA:在发送报文的虚拟机所属VTEP上根据目的VTEP地址查找路由表,路由表中下一跳IP地址对应的MAC地址。
②、MAC SA:发送报文的虚拟机所属VTEP的MAC地址。
③、802.1Q Tag:可选字段,该字段为报文中携带的VLAN Tag。
④、Ethernet Type:以太报文类型。

五、VXLAN网关划分

1、VXLAN网关

(1)、二层网关:用于解决租户接入VXLAN虚拟网络的问题,也可用于同一VXLAN虚拟网络的子网通信。
(2)、三层网关:用于VXLAN虚拟网络的跨子网通信以及外部网络的访问。VXLAN三层网关又可以分为集中式网关和分布式网关

2、VXLAN三层网关部署方式

(1)、集中式网关部署

①、概念:集中式网关是指将三层网关集中部署在一台设备上,所有跨子网的流量都经过三层网关进行转发,实现流量的集中管理。

在这里插入图片描述

②、部署集中式网关的优点

对跨子网流量进行集中管理,网关的部署和管理比较简单。

③、部署集中式网关的缺点

a、转发路径不是最优:同一二层网关下跨子网的数据中心三层流量都需要经过集中三层网关转发。
b、ARP表项规格瓶颈:由于采用集中三层网关,通过三层网关转发的终端租户的ARP表项都需要在三层网关上生成,而三层网关上的ARP表项规格有限,这不利于数据中心网络的扩展。

(2)、分布式网关部署

①、VXLAN分布式网关是指:在典型的“Spine-Leaf”组网结构下,将Leaf节点作为VXLAN隧道端点VTEP,每个Leaf节点都可作为VXLAN三层网关,Spine节点不感知VXLAN隧道,只作为VXLAN报文的转发节点。
在这里插入图片描述

当Server1和Server2设备相互访问时:

Server1和Server2服务器不在同一个网段,但是都连接到一个Leaf节点。Server1和Server2通信时,流量只需要在Leaf1节点进行转发,不再需要经过Spine节点。

②、Spine节点:关注于高速IP转发,强调的是设备的高速转发能力。
③、Leaf节点:

a、作为VXLAN网络中的二层网关设备,与物理服务器或VM对接,用于解决终端租户接入VXLAN虚拟网络的问题。
b、作为VXLAN网络中的三层网关设备,进行VXLAN报文封装/解封装,实现跨子网的终端租户通信,以及外部网络的访问。

④、分布式网关的特点

a、同一个Leaf节点既可以做VXLAN二层网关,也可以做VXLAN三层网关,部署灵活。
b、Leaf节点只需要学习自身连接服务器的ARP表项,而不必像集中三层网关一样,需要学习所有服务器的ARP表项,解决了集中式三层网关带来的ARP表项瓶颈问题,网络规模扩展能力强。

六、VXLAN配置

1、配置

(1)、创建广播域BD

[Huawei] bridge-domain *bd-id* //系统视图下创建广播域BD,进入BD视图。ID取值范围为1~16777215。

(2)、创建VNI

[Huawei-bd100] vxlan vni *vni-id*  
//BD视图下创建VXLAN网络标识VNI并关联广播域BD。ID取值范围为1~16777215。

(3)、创建NVE接口

[Huawei] interface nve *nve-number* 
//创建NVE接口,并进入NVE接口视图。一般情况下NVE接口编号有且仅为1。

(4)、配置源VTEP的IP地址

[Huawei-Nve1] source *ip-address* 
//配置源端VTEP的IP地址。推荐使用Loopback接口的地址。

(5)、配置头端复制列表

[Huawei-Nve1] vni *vni-id* head-end peer-list *ip-address* 
//NVE视图下配置VNI指定多个远端VTEP的IP地址建立头端复制列表。本端NVE将根据此列表复制并转发报文。

(6)、配置业务接入(子接口接入方式)

[Huawei-GE1/0/1.1] encapsulation { dot1q [ vid low-vid [ to high-vid ] ] | default | untag | qinq [ vid id ]}
//二层子接口视图下配置流封装类型,实现不同二层子接口接入不同的数据报文。

(7)、配置业务接入点(VLAN接入方式)

[Huawei-bd100] l2 binding vlan vlan-id
//BD视图下配置。全局VLAN绑定到广播域BD前,请确保全局VLAN已经创建和相关接口已加入该VLAN。

(8)、配置三层网关

[Huawei] interface vbdif bd-id
//系统视图下创建VBDIF接口,并进入VBDIF接口视图后续配置网关IP地址。

2、同子网互访配置案例

两台交换机配置VXLAN隧道,实现相同网段三台PC之间的互访。

在这里插入图片描述

(1)、SW1 配置如下:

[SW1] bridge-domain 100
[SW1-bd100] vxlan vni 10000
[SW1-bd100] quit

[SW1] interface Nve 1
[SW1-Nve1] source 1.1.1.1
[SW1-Nve1] vni 10000 head-end peer-list 2.2.2.2
[SW1-Nve1] quit

[SW1] interface GigabitEthernet 1/0/1.1 mode l2
[SW1-GigabitEthernet1/0/1.1] encapsulation untag
[SW1-GigabitEthernet1/0/1.1] bridge-domain 100
[SW1] interface GigabitEthernet 1/0/2.1 mode l2
[SW1-GigabitEthernet1/0/2.1] encapsulation untag
[SW1-GigabitEthernet1/0/2.1] bridge-domain 100

(2)、SW2 配置如下:

[SW2] bridge-domain 100
[SW2-bd100] vxlan vni 10000
[SW2-bd100] quit

[SW2] interface Nve 1
[SW2-Nve1] source 2.2.2.2
[SW2-Nve1] vni 10000 head-end peer-list 1.1.1.1
[SW2-Nve1] quit

[SW2] bridge-domain 100
[SW2-bd100] l2 binding vlan 1

SW1和SW2的接入方式:SW1为二层子接口接入方式,而SW2为绑定VLAN的接入方式

3、不同子网互访 (集中式网关) 配置案例

在这里插入图片描述

三台交换机配置VXLAN隧道,实现跨网段两台PC之间的互访。VXLAN网关集中在SW3。

(1)、SW1 配置如下:

[SW1] bridge-domain 100
[SW1-bd100] vxlan vni 10000

[SW1] interface Nve 1
[SW1-Nve1] source 1.1.1.1
[SW1-Nve1] vni 10000 head-end peer-list 3.3.3.3

[SW1] interface GigabitEthernet 1/0/1.1 mode l2
[SW1-GigabitEthernet1/0/1.1] encapsulation untag
[SW1-GigabitEthernet1/0/1.1] bridge-domain 100

(2)、SW2 配置如下:

[SW2] bridge-domain 200
[SW2-bd100] vxlan vni 20000

[SW2] interface Nve 1
[SW2-Nve1] source 2.2.2.2
[SW2-Nve1] vni 20000 head-end peer-list 3.3.3.3

[SW2] interface GigabitEthernet 1/0/1.1 mode l2
[SW2-GigabitEthernet1/0/1.1] encapsulation untag
[SW2-GigabitEthernet1/0/1.1] bridge-domain 200

(3)、SW3 配置如下:

[SW3] bridge-domain 100
[SW3-bd100] vxlan vni 10000

[SW3] bridge-domain 200
[SW3-bd200] vxlan vni 20000

[SW3] interface Nve 1
[SW3-Nve1] source 3.3.3.3
[SW3-Nve1] vni 10000 head-end peer-list 1.1.1.1
[SW3-Nve1] vni 20000 head-end peer-list 2.2.2.2

[SW3] interface Vbdif100
[SW3-Vbdif100] ip address 192.168.1.1 24

[SW3] interface Vbdif200
[SW3-Vbdif200] ip address 192.168.2.1 24

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

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

相关文章

机器学习算法 —— 贝叶斯分类之模拟离散数据集

🌟欢迎来到 我的博客 —— 探索技术的无限可能! 🌟博客的简介(文章目录) 目录 实战(贝叶斯分类)莺尾花数据模拟离散数据集库函数导入数据导入和分析模型训练和预测 总结 实战(贝叶斯…

C语言 | Leetcode C语言题解之第144题二叉树的前序遍历

题目: 题解: int* preorderTraversal(struct TreeNode* root, int* returnSize) {int* res malloc(sizeof(int) * 2000);*returnSize 0;if (root NULL) {return res;}struct TreeNode *p1 root, *p2 NULL;while (p1 ! NULL) {p2 p1->left;if (…

一道Delphi的For循环题目

起因 事情是这样的: 俺在一个Delphi交流QQ群,有点冷场,俺想热一下场子就发了下面这个段子。其实这是之前俺带新人时的一道题目。 第一个回答 第一个网友给的答案是 i:i-1; 俺说这个答案是不对的,因为 Delphi在编译时是不允许…

探索智慧机场运营中心解决方案的价值与应用

随着全球航空业的不断发展,机场运营中心的作用日益凸显。智慧机场运营中心解决方案以其高效的管理和智能化的运营模式,成为优化机场运营、提升服务水平的重要工具。本文将深入探讨智慧机场运营中心解决方案的价值与应用,揭示其在机场管理中的…

软件下载网站源码附手机版和图文教程

PHP游戏应用市场APP软件下载平台网站源码手机版 可自行打包APP,带下载统计,带多套模板,带图文教程,可以做软件库,也可以做推广app下载等等,需要的朋友可以下载 源码下载 软件下载网站源码附手机版和图文…

下拉框数据被遮挡 且 后续数据无法下拉的 解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法3.1 添加空白版2.2 调整z-index2.3 父容器的溢出属性2.4 调整样式属性4. 效果图前言 小程序使用的是Uniapp,原理都差不多,索性标题就不标注Uniapp(小程序) 对于该问题调试了一个晚上,最终解决,对此记录下来 1. 问题所示 执…

怎么取消Intellij IDEA中的项目和Git仓库的关联

这篇文章分享一种最简单的方法,取消已经开启代码控制的项目与git代码仓库的关联。 打开项目的位置,然后点击文件管理器上方的查看选项卡,勾选【隐藏的项目】。 删除.git文件夹 然后可以看到项目的文件夹下显示了一个隐藏的.git文件夹&#x…

MATLAB基础应用精讲-【数模应用】二元Logit分析

目录 算法原理 数学模型 极大似然法 Newton牛顿迭代法 logit回归分析步骤 一、二元logit分析 1.基本说明 2.数据处理 3.SPSSAU上传数据 4.分析前提示 5.SPSSAU分析 6.其它说明 二、多分类logit分析 1.基本说明 2.数据要求与处理 3.SPSSAU上传数据 4.SPSSAU分析…

微信小程序双层/多层 wx:for 循环嵌套,关于内外层的 index 和 item ;data-index 传递两个参数

微信小程序用 wx:for 循环可以快速将后端 js 的数组快速显示到前端&#xff1b; 那假如数组中嵌套数组&#xff1b;就存在内外层两层及以上的多层嵌套循环了。 那么如果两层的嵌套式循环 index 究竟是属于哪一层呢&#xff1f;item 又属于哪一个呢&#xff1f; <view><…

【优选算法】详解target类求和问题(附总结)

目录 1.两数求和 题目&#xff1a; 算法思路&#xff1a; 代码&#xff1a; 2.&#xff01;&#xff01;&#xff01;三数之和 题目 算法思路&#xff1a; 代码&#xff1a; 3.四数字和 题目&#xff1a; 算法思路&#xff1a; 代码&#xff1a; 总结&易错点&…

Java实现物候相机和植被分析导出相对指数成果图

一、基础概念 植被分析是利用地理信息系统&#xff08;GIS&#xff09;、遥感技术、生态学、环境科学等多学科交叉手段&#xff0c;对植被的分布、类型、结构、组成、动态变化、生产力、生态功能进行量化评估的过程。植被分析对于生态保护、生物多样性研究、资源管理、环境监测…

交易中的群体行为特征和决策模型

本文基于人的行为和心理特征&#xff0c;归纳出交易中群体的行为决策模型&#xff0c;并基于这个模型&#xff0c;分析股价波浪运行背后的逻辑&#xff0c;以及投机情绪的周期变化规律&#xff0c;以此指导交易&#xff0c;分析潜在的风险和机会&#xff0c;寻找并等待高性价比…

stm32MP135裸机编程:修改官方GPIO例程在DDR中点亮第一颗LED灯

0 参考资料 轻松使用STM32MP13x - 如MCU般在cortex A核上裸跑应用程序.pdf 正点原子stm32mp135开发板&原理图 STM32Cube_FW_MP13_V1.1.0 STM32CubeIDE v1.151 需要修改那些地方 1.1 修改LED引脚 本例使用开发板的PI3引脚链接的LED作为我们点亮的第一颗LED灯&#xff0c;…

教育的数字化转型——Kompas.ai如何变革学习体验

引言 在现代教育中&#xff0c;数字化转型逐渐成为提升学习效果的重要手段。随着科技的进步&#xff0c;人工智能&#xff08;AI&#xff09;在教育领域的应用越来越广泛。本文将探讨教育数字化转型的发展趋势&#xff0c;并介绍Kompas.ai如何通过AI技术变革学习体验。 教育数…

金融量化分析开源工具:TuShare

TuShare&#xff1a;一站式金融数据解决方案&#xff0c;让量化分析触手可及- 精选真开源&#xff0c;释放新价值。 概览 TuShare&#xff0c;是Github社区上一个专为金融量化分析师和数据爱好者设计的开源工具&#xff0c;提供了从数据采集、清洗加工到数据存储的全流程服务。…

element-plus的el-space标签的使用

el-space标签可以很方便的设置标签间距和分隔符&#xff0c;对齐方式&#xff0c;是否拆行等属性。 <script setup lang"ts"> import { onMounted, ref } from vue;const sizeref(30)</script><template><el-space wrap :size"size"…

Redis实战宝典:基础知识、实战技巧、应用场景及最佳实践全攻略

背景 在Java系统实现过程中&#xff0c;我们不可避免地会借助大量开源功能组件。然而&#xff0c;这些组件往往功能丰富且体系庞大&#xff0c;官方文档常常详尽至数百页。而在实际项目中&#xff0c;我们可能仅需使用其中的一小部分功能&#xff0c;这就造成了一个挑战&#…

c语言编程

1. 2。 int main(int argc, const char *argv[]) { int year,month,day; int result0; printf("请输入&#xff1a;"); scanf("%d/%d/%d",&year,&month,&day); if(month>12||month<1) { printf("error \n"); return 0; } s…

解决Vue项目Network: unavailable的问题

在vscode使用 npm run serve 运行 Vue项目时发现一个问题&#xff0c;项目只能通过Local访问而不能通过Network访问&#xff0c;终端显示如下&#xff1a; 碰到这种情况的解决方法&#xff1a;在环境变量的path中添加“C:\Windows\System32\Wbem” 1.找到“环境变量”&#xf…

算法题目学习汇总

1、二叉树前中后序遍历:https://blog.csdn.net/cm15835106905/article/details/124699173 2、输入一棵二叉搜索树&#xff0c;将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点&#xff0c;只能调整树中结点指针的指向。 public class Solution {private Tr…