Vxlan协议原理及基本配置——网络测试仪实操手册

2023-05-16

一、Vxlan协议原理

1.Vxlan协议相关术语(一)

缩略语

OSI中的概念

NVE

Network Virtualization Edge,网络虚拟边缘节点

VTEP

VXLAN Tunnel Endpoints,VXLAN隧道端点

VNI

VXLAN Network Identifier,VXLAN 网络标识符

VAP

Virtual Access Point,虚拟接入点

2.VXLAN技术背景

(1)虚拟机规模受网络设备表项规格的限制
●对于同网段主机的通信而言,报文通过查询MAC表进行二层转发。服务器虚拟化后,数据中心中VM的数量比原有的物理机发生了数量级的增长,伴随而来的便是虚拟机网卡MAC地址数量的空前增加。此时,处于接入侧的二层设备表示“我要Hold不住了”。

(2)传统网络的隔离能力有限
●VLAN作为当前主流的网络隔离技术,在标准定义中只有12比特,也就是说可用的VLAN数量只有4000个左右。对于公有云或其它大型虚拟化云计算服务这种动辄上万甚至更多租户的场景而言,VLAN的隔离能力显然已经力不从心。

(3)虚拟机迁移范围受限

●虚拟机迁移,顾名思义,就是将虚拟机从一个物理机迁移到另一个物理机,但是要求在迁移过程中业务不能中断。要做到这一点,需要保证虚拟机迁移前后,其IP地址、MAC地址等参数维持不变。这就决定了,虚拟机迁移必须发生在一个二层域中。而传统数据中心网络的二层域,将虚拟机迁移限制在了一个较小的局部范围内。

●通过堆叠、SVF、TRILL等技术构建物理上的大二层网络,可以将虚拟机迁移的范围扩大。但是,构建物理上的大二层,难免需要对原来的网络做大的改动,并且大二层网络的范围依然会受到种种条件的限制。

(4)VXLAN是什么

●VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网),是由IETF定义的NVO3(Network Virtualization over Layer 3)标准技术之一,采用L2 over L4(MAC-in-UDP)的报文封装模式,将二层报文用三层协议进行封装,可实现二层网络在三层范围内进行扩展,同时满足数据中心大二层虚拟迁移和多租户的需求。

(5)VXLAN网络架构

 

●VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端点)
VXLAN网络的边缘设备,是VXLAN隧道的起点和终点,VXLAN报文的相关处理均在这上面进行。总之,它是VXLAN网络中绝对的主角。VTEP既可以是一***立的网络设备(比如华为的CE系列交换机),也可以是虚拟机所在的服务器。
●VNI(VXLAN Network Identifier,VXLAN 网络标识符)
前文提到,以太网数据帧中VLAN只占了12比特的空间,这使得VLAN的隔离能力在数据中心网络中力不从心。而VNI的出现,就是专门解决这个问题的。VNI是一种类似于VLAN ID的用户标示,一个VNI代表了一个租户,属于不同VNI的虚拟机之间不能直接进行二层通信。VXLAN报文封装时,给VNI分配了足够的空间使其可以支持海量租户的隔离。
●VXLAN隧道
“隧道”是一个逻辑上的概念,它并不新鲜,比如大家熟悉的GRE。说白了就是将原始报文“变身”下,加以“包装”,好让它可以在承载网络(比如IP网络)上传输。从主机的角度看,就好像原始报文的起点和终点之间,有一条直通的链路一样。而这个看起来直通的链路,就是“隧道”。顾名思义,“VXLAN隧道”便是用来传输经过VXLAN封装的报文的,它是建立在两个VTEP之间的一条虚拟通道。

●VXLAN报文结构

●VXLAN Header
增加VXLAN头(8字节),其中包含24比特的VNI字段,用来定义VXLAN网络中不同的租户。此外,还包含VXLAN Flags(8比特,取值为00001000)和两个保留字段(分别为24比特和8比特)。
●UDP Header
VXLAN头和原始以太帧一起作为UDP的数据。UDP头中,目的端口号(VXLAN Port)固定为4789,源端口号(UDP Src. Port)是原始以太帧通过哈希算法计算后的值。
●Outer IP Header
封装外层IP头。其中,源IP地址(Outer Src. IP)为源VM所属VTEP的IP地址,目的IP地址(Outer Dst. IP)为目的VM所属VTEP的IP地址。
●Outer MAC Header
封装外层以太头。其中,源MAC地址(Src. MAC Addr.)为源VM所属VTEP的MAC地址,目的MAC地址(Dst. MAC Addr.)为到达目的VTEP的路径上下一跳设备的MAC地址。

3.VXLAN转发原理

(1)控制平面

在 VXLAN的实现中, 当通过组播实现控制平面路径发现时, VTEP设备之间使用无状态 tunnel ,VTEP设备之间不会维持状态化的长连接。 VXLAN需要通过控制平面学习远端设备地址信息, 在本地构建控制平面表项。 控制平面表项由 VNI、Inner Source MAC 、Outer Source IP 三元组组成。

(2)转发平面

控制平面学习地址映射信息后, 转发平面负责实际数据的转发。 VTEP为原始数据帧增加 UDP报头,新的报头到达目的 VTEP后才会被去掉,中间路径的网络设备只会根据外层包头内的目的地址进行数据转发。

(3)VXLAN ARP请求

如上图所示,VM1和VM2属于同一网段,且VNI相同,需要通信

●VM1发送送 ARP请求,请求VM2 的 MAC地址;

●VTEP-A收到VM发送的 ARP请求,此时 VTEP-A还没有VM对应的地址映射表项, VTEP-A将 ARP请求进行 VXLAN封装, VNI 设置为100,outer-src-ip 是 IP-A,outer-dst-ip 是加入的组播组地址,封装完成后转发至 VXLAN组播组(可以选择单播学习,单播到VTEP Peer)

●VTEP-B、VTEP-C收到VTEP-A发送的组播报文,解封装后检查 VNI 与本地 VNI 是否匹配,如匹配将 ARP请求发送至本地网络,同时记录 VNI、inner MAC、outer IP 的对应关系,构建控制平面地址映射表项。如 VNI 不匹配则丢弃数据包。

●VM-2 收到 ARP请求后以单播方式发送 ARP响应;

●VTEP-B收到VM-2 的 ARP响应后进行 VXLAN封装,此时 VTEP-B已经构建控制平面地址映射表项,通过 VXLAN封装后以单播方式发送。Outer-src-ip 是 VTEP-2的 IP 地址,outer-dst-ip 是 VTEP-1的 IP 地址;

●VTEP-1收到封装后的 ARP响应后,解封装比对 VNI,如匹配将 ARP响应发送至终端设备 A,同时记录 VNI、inner MAC、 outer IP 的对应关系,构建控制平面表项;

此时 VTEP-A、VTEP-B均已成功构建控制平面地址映射信息,后续 VXLAN数据使用单播在 VTEP-A和 VTEP-B之间传输。

二、测试用例

(1)测试目的

验证Vxlan ARP学习流程

验证Vxlan流量封装

(2)测试说明

由于交换机不支持Vxlan,所以只能测试仪背靠背来模拟VTEP

测试仪两端配置Vxlan VTEP以及下挂主机后,运行Vxlan。抓包验证ARP和数据报文封装

(3)测试步骤

●按图连接好拓扑

●使用配置向导在P1上配置Vxlan业务

●使用配置向导在P2上配置Vxlan业务

●开启Vxlan业务

●开启抓包,在VM接口上发送ARP请求,并抓包

●创建、发送Vxlan流并抓包查看封装

(4)预期结果

Vxlan业务运行后,两个VTEP下的VM可以学习到对方的ARP

查看抓包,ARP报文做了Vxlan封装

数据流量可以通,抓包可以看到数据流量也做了Vxlan封装

三、测试步骤

1.占用Ports

(1)添加机框

(2)占用Ports

2.配置Vxlan

(1)配置Vxlan

(2)选择端口,配置端口VTEP数

(3)每VTEP的Vxlan Segment数

 

(4)设置VM

(5)设置学习模式

(6)设置Non-Vxlan端口

(7)查看配置

 

3.验证ARP封装

(1)开启抓包

(2)运行Vxlan协议

(3)检查抓包结果


(4)组播封装的ARP请求

4.配置流量

 

5.验证数据流量封装 

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

Vxlan协议原理及基本配置——网络测试仪实操手册 的相关文章

  • linux 挂起后无法唤醒屏幕

    span class token comment 安装 span span class token function sudo span span class token function apt get span span class t
  • AtCoder ABC 239题解(A ~ E)

    AtCoder ABC 239 A Horizon 语法 43 数学 s q r t a
  • postgresql insert into插入记录时使用select子查询

    span class token keyword INSERT span span class token keyword INTO span ls pos history span class token punctuation span
  • 怎么跟 HR 谈薪资?

    1 做功课 xff1a 提前了解应聘公司的行业薪酬水平 xff0c 公司岗位薪资范围 2 突专业 xff1a 面试电话接通的那一刻 xff0c 就要通过专业能力来为薪酬谈判做铺垫了 3 超预期 xff1a 面试中要总超出岗位需求展示你的全部
  • 量化策略研究员的成长策略

    量化策略研究员需要必备技能 xff1a 1 扎实的数学建模及严谨的逻辑推导能力 xff0c 充分掌握概率 统计等方法 xff1b 2 熟悉机器学习 深度学习 人工智能 xff0c Matlab Python C 43 43 xff1b 3
  • Mac安装MySQL

    目录 一 安装 二 环境变量 2 1 MySQL服务的启停和状态的查看 三 启动 四 初始化设置 4 1 退出sql界面 五 配置 5 1 检测修改结果 一 安装 第一步 xff1a 打开网址 xff0c https www mysql c
  • Win10下安装Ubuntu20.04双系统

    Ubuntu和Linux的区别 搞清楚Linux和Ubuntu的关系 xff1a 1 严格来说 xff0c Linux并不是操作系统 xff0c 而是一个操作系统的内核 xff0c 严谨一些可以说 xff1a linux 一般指 GNU 套
  • 面试的时候,如何自我介绍?

    就是自我介绍的时候 xff0c 应该先说些什么 xff1f 中间怎么说 xff1f 最后怎么结尾 xff1f 主要说那些内容比较好 xff1f 而且在纸质的个人简历之中也有 自我介绍 xff0c 那么两个 自我介绍 的内容是一样的吗 xff
  • 结果论的学习

    结果论 xff0c 是指主张一个行为的对错完全取决于此一行为所造成的结果 xff0c 所谓对的行为就是行为者在面临各种可能的行为选择时 xff0c 采行其中能达成最佳结果的行为 中文名 结果论 外文名 Consequentialethics
  • 如何修改oracle数据库字符集

    1 以管理员身份进入数据库 sqlplus nolog conn sys as sysdba password xxxxxxxx 2 修改字符集 SHUTDOWN IMMEDIATE STARTUP MOUNT ALTER SYSTEM E
  • 详解Redisson分布式限流的实现原理

    我们目前在工作中遇到一个性能问题 xff0c 我们有个定时任务需要处理大量的数据 xff0c 为了提升吞吐量 xff0c 所以部署了很多台机器 xff0c 但这个任务在运行前需要从别的服务那拉取大量的数据 xff0c 随着数据量的增大 xf
  • 聊一聊过度设计!

    文章目录 什么是过度设计 xff1f 过度设计的坏处如何避免过度设计充分理解问题本身保持简单小步快跑征求其他人的意见 总结 新手程序员在做设计时 xff0c 因为缺乏经验 xff0c 很容易写出欠设计的代码 xff0c 但有一些经验的程序员
  • 中国移动业务支撑系统简介(BOSS、BASS、BOMC、4A及VGOP)

    业务支撑系统 xff08 Business Support Systems xff0c 简称BSS xff09 主要应用于通信行业 xff0c 通过该系统对用户执行相应业务操作 它采用省中心 全国中心两级系统架构 xff0c 两级系统相辅相
  • 推荐系统遇上深度学习(一一一)-双重样本感知的DIFM模型

    上一篇中 xff0c 我们介绍了样本感知的FM模型 xff0c 也就是IFM模型 而本文将介绍其改进版本 xff0c 称为Dual Input aware Factorization Machine xff08 DIFM xff09 xff
  • Java高并发之CyclicBarrier简介

    Java 中的 CyclicBarrier 是一种同步工具 xff0c 它可以让多个线程在一个屏障处等待 xff0c 直到所有线程都到达该屏障处后 xff0c 才能继续执行 CyclicBarrier 可以用于协调多个线程的执行 xff0c
  • Linux xargs命令介绍

    Linux 中的 xargs 命令是一个非常有用的命令行工具 xff0c 可以将一些参数集合传递给其他命令作为参数 xff0c 并利用指定的命令进行处理 它可以帮助我们批量处理文件 xff0c 执行一些需要多个参数的命令 xff0c 并且支
  • 深入理解Spring的事件通知机制

    Spring作为一个优秀的企业级应用开发框架 xff0c 不仅提供了众多的功能模块和工具 xff0c 还提供了一种灵活高效的事件通知机制 xff0c 用于处理组件之间的松耦合通讯 本文将详细介绍Spring的事件通知机制的原理 使用方法以及
  • 人工智能未来是否会取代人类程序员?

    这个话题在近期来引起了很大讨论 xff0c 尤其是当GPT4发布后 xff0c 其展现出来的能力让很多岗位的从业者战战兢兢 xff0c 比如像程序员 xff0c 甚至有大佬跳出说三年 AI一定会取代程序员 人工智能和机器人是否会大规模取代人
  • 为什么说过早优化是万恶之源?

    Donald Knuth xff08 高德纳 xff09 是一位计算机科学界的著名学者和计算机程序设计的先驱之一 他被誉为计算机科学的 圣经 计算机程序设计艺术 的作者 xff0c 提出了著名的 大O符号 来描述算法的时间复杂度和空间复杂度
  • Linux parallel 命令使用手册

    文章目录 引言安装和配置GNU Parallel安装配置 GNU Parallel的基本用法GNU Parallel的高级用法1 在多个计算机上并行执行作业2 从文件中读取命令行参数3 生成详细的日志和报告 GNU Parallel的优缺点

随机推荐

  • 使用ffmpeg缩小视频体积的几种方式

    随着视频制作的普及 xff0c 视频文件的体积也越来越大 xff0c 给存储和传输带来了很大的困扰 为了解决这个问题 xff0c 我们可以使用FFmpeg这个强大的工具来缩小视频的体积 本文将介绍三种常用的方法 xff1a 调整视频的分辨率
  • 从CPU的视角看 多线程代码为什么那么难写!

    当我们提到多线程 并发的时候 xff0c 我们就会回想起各种诡异的bug xff0c 比如各种线程安全问题甚至是应用崩溃 xff0c 而且这些诡异的bug还很难复现 我们不禁发出了灵魂拷问 为什么代码测试环境运行好好的 xff0c 一上线就
  • ThreadPoolExecutor——高效处理并发任务的必备良器

    ThreadPoolExecutor 如何使用线程池状态线程池执行任务的过程阻塞队列拒绝策略线程池的监控和调优最佳实践总结 ThreadPoolExecutor是Java concurrent中用于管理线程池的类 xff0c 它是Execu
  • 使用ffmpeg拼接两张图片

    最近在工作中遇到了一个需求 xff0c 就是需要将两张图片拼接在一起 xff0c 作为一个封面图 如果只是临时拼接一张 xff0c 我们可以只用photoshop之类的图片编辑工具 xff0c 将两张图片拼接在一起 而我们的需要是需要实现自
  • 【python】解决[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1076)

    搜了两种方法都没解决这个问题 先介绍下两种方法 1 在代码首部增加如下代码 span class token keyword import span requests span class token punctuation span pa
  • 100G/40G/25G/10G网络测试解决方案

    一 100G概述 随着CDN等视频直播业务和P2P业务的快速发展 xff0c 带宽的要求越来越高 当前5G业务势头正盛 xff0c 其基于400G的主干网络通信业务也在积极部署之中 但当前在很多的业务场景中 xff0c 100G系统的部署仍
  • 交换机测试解决方案

    一 交换机测试概述 自 Kalpana 公司在 1990 年推出第一台以太网交换机以来 xff0c 交换机在30多年的时间内快速的发展 xff0c 成为当今应用最为广泛的网络设备 xff0c 成为整个互联网的基石 以太网交换机以其 高性能
  • IP网络性能测试工具——Renix Perf

    一 Renix Perf 基于软件的网络及应用服务性能测试工具 双臂测试 单臂测试 通过测试端点产生网络流量对网络性能进行测量 TCP UDP PING 语音 视频 HTTP FTP MAIL 组播 测试端点软件可以免费安装部署 二 部署方
  • 网络测试技术——802.1X_MD5认证(下篇)

    上篇我们讲到802 1X MD5的简介 认证过程 测试组网以及测试环境准备 xff0c 本期我们将为大家带来测试的详细步骤 xff1a 六 测试仪配置 1 占用端口 端口功能 xff08 1 xff09 端口1用来模拟DOT1X和发送流量
  • 网络测试技术——802.1X TLS认证(上篇)

    一 TLS认证简介 1 TLS认证 xff08 1 xff09 认证过程 最安全认证技术 实施最复杂 xff08 2 xff09 TLS双向证书认证 服务器对客户端进行认证 客户端对服务器进行认证 2 TLS认证过程 3 交换机认证模式 x
  • SRv6测试技术简介

    什么是SRv6 xff1f SRv6技术就是采用现有的IPv6转发技术 xff0c 通过扩展IPv6报文的头域 xff0c 实现类似标签转发的处理 SRv6将一些IPv6地址定义成实例化的SID xff08 Segment ID xff09
  • RENIX 软件RAW流发送——网络测试仪实操

    本文主要介绍了RENIX软件如何进行RAW流发送操作 文章通过预约端口 添加RAW流 修改负载 发送流量 查看流统计 数据包捕获六个步骤详细介绍了操作过程 步骤一 xff1a 预约端口 1 先安装RENIX软件 xff0c 正确安装情况下桌
  • RENIX软件OSPF和BFD、ISIS和BFD联动测试——网络测试仪实操

    本文介绍了RENIX软件BFD测试相关操作 xff0c 全文分为五大部分 第一部分为BFD概述 xff1b 第二部分为搭建OSPF和BFD联动测试环境 xff1b 第三部分为OSPF和BFD联动测试配置 xff1b 第四部分为搭建ISIS和
  • 信而泰 X-Snapper测试系统,助力家庭路由器IPv6支持度测试

    随着互联网的蓬勃发展 xff0c 宝贵而有限的IPv4地址资源一直在被分配使用 2019年11月25日 xff0c 负责英国 欧洲 中东和部分中亚地区互联网资源分配的欧洲网络协调中心 xff08 RIPE NCC xff09 宣布 xff0
  • 如何使用测试仪进行400G交换机性能测试

    一 400G以太网概述 400G以太网或400 Gigabit Ethernet 400GbE 由 IEEE P802 3bs Task Force 于 2017 年开发 xff0c 它使用与100 Gigabit Ethernet 大致相
  • 【python3】简易双因子Radius认证服务器,带UI界面

    需要将dictionary rfc2865放在运行的同级目录下 coding utf 8 from tkinter import from tkinter ttk import from tkinter import scrolledtex
  • 信而泰测试方案,助力客户打造网络安全防护“金钟罩”

    一 网络安全行业面临的挑战 据 Cybercrime Magazine 在最近一份报告中称 xff0c 仅2021年 xff0c 黑客攻击和各种网络犯罪就给全球经济造成了超过6万亿美元的损失 xff0c 预计到2025年 xff0c 此类犯
  • BGP BFD测试案例

    一 BFD原理 1 1 BFD技术简介 一种全网统一 检测迅速 监控网络中链路或者IP路由的双向转发连通状况 xff0c 并未上层应用提供服务的技术 1 2 BFD会话建立方式和监测机制 BFD的标识符 xff1a xff08 1 xff0
  • 数据中心典型测试场景浅析

    数据中心概述 数据中心泛指拥有众多服务器的大型机房 xff0c 通过利用通信运营商已有的互联网通信线路 带宽资源 xff0c 建立标准化的数据中心机房环境 xff0c 具有运行速度快 存储量大 安全性高等特点 数据中心东西向流量的占比更大
  • Vxlan协议原理及基本配置——网络测试仪实操手册

    一 Vxlan协议原理 1 Vxlan协议相关术语 一 缩略语 OSI中的概念 NVE Network Virtualization Edge 网络虚拟边缘节点 VTEP VXLAN Tunnel Endpoints xff0c VXLAN