1. 引言
服务器虚拟化对物理网络基础设施提出了更高要求. 现在, 一台物理服务器上可以运行多个虚拟机 (Virtual Machine, VM), 每个虚拟机都有自己的媒体访问控制 (Media Access Control, MAC) 地址. 由于可能有数十万台 VM 接入并彼此通信, 交换式以太网网络需要更大的 MAC 地址表.
当数据中心中的 VM 按其虚拟局域网 (Virtual LAN, VLAN) 分组时, 可能需要数千个 VLAN, 以便按照 VM 所属的具体组对流量进行分区. 当前 4094 个 VLAN 的限制在这种场景下并不够用.
数据中心通常需要托管多个租户, 每个租户都有自己的隔离网络域. 由于使用专用基础设施来实现这一点并不经济, 网络管理员通常选择在共享网络上实现隔离. 在这类场景中, 一个常见问题是每个租户可能独立分配 MAC 地址和 VLAN ID, 从而导致这些标识在物理网络上潜在重复.
对于使用二层物理基础设施的虚拟化环境, 一个重要要求是让二层网络能够扩展到整个数据中心, 甚至跨数据中心扩展, 以便高效分配计算、网络和存储资源. 在这类网络中, 如果使用生成树协议 (Spanning Tree Protocol, STP) 等传统方法来形成无环拓扑, 可能会导致大量链路被禁用.
最后一种场景是网络运营者倾向于使用 IP 来互连物理基础设施, 例如通过等价多路径 (Equal-Cost Multipath, ECMP) 实现多路径可扩展性, 从而避免链路被禁用. 即便在这类环境中, VM 之间通信仍需要保留二层模型.
上述场景共同引出了对覆盖网络 (overlay network) 的需求. 该覆盖网络用于通过逻辑 "隧道" 以封装格式承载来自各个 VM 的 MAC 流量.
本文档详细说明了一种称为 "虚拟可扩展局域网 (Virtual eXtensible Local Area Network, VXLAN)" 的框架, 它提供这种封装方案, 用于满足上述各种要求. 本备忘录记录已部署的 VXLAN 协议, 以供互联网社区参考.
1.1. 缩略语和定义
ACL - Access Control List
ECMP - Equal-Cost Multipath
IGMP - Internet Group Management Protocol
IHL - Internet Header Length
MTU - Maximum Transmission Unit
PIM - Protocol Independent Multicast
SPB - Shortest Path Bridging
STP - Spanning Tree Protocol
ToR - Top of Rack
TRILL - Transparent Interconnection of Lots of Links
VLAN - Virtual Local Area Network
VM - Virtual Machine
VNI - VXLAN Network Identifier (or VXLAN Segment ID)
VTEP - VXLAN Tunnel End Point. An entity that originates and/or terminates VXLAN tunnels
VXLAN - Virtual eXtensible Local Area Network
VXLAN Segment - VXLAN Layer 2 overlay network over which VMs communicate
VXLAN Gateway - an entity that forwards traffic between VXLANs