跳到主要内容

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