VxLAN协议-学习笔记
基于VLAN(https://www.cnblogs.com/yooyoo/p/15878442.html)在NFV虚机架构中容易出现的资源紧张问题,提出了新协议VxLAN
简介:
Virtual extensible Local Area Network
RFC7348
VMware.Cisco.etc
2014年定稿(继1998年VLAN之后的新拓展协议)
一种网络虚拟化技术,借助UDP层构建的一种Overlay(覆盖网络)。
虚拟化隧道通信技术,通过三层网络搭建的虚拟化二层网络。使逻辑网络与物理网络解耦合,实现灵活组网。
通过VxLAN隧道, “二层域”可突破物理上的界限,实现大二层网络中VM间的通信。
L2 over L4(MAC-in-UDP)
NVO3(Network virtualization over layer 3)
相关概念:
VTEP(VxLAN Tunnel Endpoints,VxLAN隧道端点),具有自动学习能力,能处理报文(封包、解包)
VM(Virtual Machine,虚拟机)
VNI(VxLAN Network Identifier,VxLAN隧道识别码)
报文结构:
MAC:Src MAC为源VM所属VTEP的MAC地址;Dst MAC为到达的VTEP的路径上,下一跳设备的MAC地址 。
IP:Src IP为源VM所属VTEP的IP地址;Dst IP为目的VM属于VTEP的IP地址。
0 | 13 | 14 | 33 | 34 | 41 | 42 | 49 | 50 | ... | ... | |||||||||||||||||||||
MAC(14 bytes) | IP(20 bytes) | UDP(8 bytes) | VxLAN(8 bytes) | Original L2 Frame | FCS |
UDP Header
0 | 1 | 2 | 3 | 6 | 5 | 4 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
UDP Src Port(Use Hash Algorithm) | VxLAN Port(4789, 0x12b5) | ||||||||||||||||||||||||||||||
UDP Length | Checksum |
VxLAN Header
0 | 1 | 2 | 3 | 6 | 5 | 4 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Flags | Resv(Reserved Bits, All is 0) | ||||||||||||||||||||||||||||||
VNI(VxLAN Network Idertifier) | Resv(Reserved Bits, All is 0) |
隧道转发流程
原始报文 封装 Logic Tunnel 解封装
VM -----------------------------> VTEP ........................................ Network ......................................................VTEP ------------------------------------> VM
发送 经典路由转发 接收
封装:(1)将原始报文封装成新的UDP报文;(2)使用物理网络中的MAC和IP作外层头
解封装:(1)拆除VxLAN头;(2)根据VNI把原始报文发送到目的虚拟机
解包使用的三元组:Inner MAC Addr,VNI,VTEP IP Addr
协议优点:
1、隐藏了原始报文,表现得明里UDP,暗里为封装得完整帧;
2、解决了VLAN数量不足得问题,支持更大的容量,增加了隔离用户的数量;
3、解决了经典网络应用云计算的难题。
相对于VLAN技术网络连接冗余性大的特点(VLAN使用STP,Spanning Tree Protocol,防止环路,不使用网络中的半阻塞冗余路径),VxLAN可基于三层路由、ECMP路由以及链路聚合协议等手段利用所有可用的路径。
VxLAN协议带来的新问题:
1、额外的“报文和”计算,占用额外的50字节开销,计算量也增大;
2、复杂度、时间成本和人力成本,之前的部署、监控、运维,重新学习成本;
3、VxLAN开销大,相对于VLAN等技术载荷承载效率较低。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!