目录
VXLAN
什么是VXLAN
VXLAN(Virtual Extensible LAN)可扩展虚拟局域网。是一种隧道技术,能在三层网络的基础上建立二层以太网网络隧道,从而实现跨地域的二层互连,并能够为不同的租户提供业务隔离
VLAN的作用是从逻辑上隔离局域网中的设备,VXLAN是将两个局域网打通
VXLAN的优势
- 支持大量的租户:使用24位标识符,最多可支持2^24(16777216)个VXLAN,解决了传统二层网络VLAN资源不足的问题
- 虚机迁移需要保证IP、MAC不变:若虚机迁移的两台硬件服务器是在不同的三层网络下,虚拟机从一个子网到另一个子网,IP地址就会变化,可能会造成业务中断。采用MAC in UDP的封装方式,将以太文封装在IP报文上,通过路由在网络中传输,无需关注虚拟机的IP地址,可以保证在传输过程中数据包的MAC地址不变
- 易于维护:基于IP网络组建大二层网络,可以充分利用现有的IP网络技术;只有IP核心网络的边缘设备需要进行VXLAN处理,网络中间设备只需根据IP头转发报文
二层网络为什么能保证IP不变?
在二层网络中,数据包的转发是基于设备的MAC地址进行的三层网络如何导致IP变化?
如虚机移动到不同子网时,可能需要分配新的IP来适应新的子网范围;虚机迁移到新网络时,可能会与新网络中的设备发生IP冲突等为什么用udp协议?
UDP协议是一种简单、无连接的传输协议,通常在网络设备(如路由器、交换机、防火墙)上有更好的支持,且传输速度快
VXLAN报文结构
- 外层以太头
- 14字节,若包含VLAN tag则为18字节
- 源MAC为源VM所属VTEP的MAC地址
- 目的MAC为到达目标VTEP路径上下一跳设备的MAC地址
- 外层IP头
- 可以是ipv4(20字节)也可以是ipv6(40字节)
- 源IP为源VTEP的IP地址,目标IP为目标VTEP的IP地址
- 外层UDP头(8字节)
- 目的端口号缺省为4789,表示内层封装报文为VXLAN报文。源端口为本地随机获取
- 可用于VTEP之间的多路负载分担的计算
- 基于UDP来实现VXLAN隧道,VXLAN头部对于网络而言是一个服务,可以避免NAT、防火墙的影响,做到穿越NAT
- 迁移虚机是做内存迁移,所以传输的数据小,时间够快,做到轻量级
- VXLAN头(8字节)
- 标记位8bit,其中I位为1时&