1. Introduction (简介)
服务器虚拟化对物理网络基础设施提出了更高的要求。一台物理服务器现在拥有多个虚拟机 (Virtual Machine, VM), 每个虚拟机都有自己的媒体访问控制 (Media Access Control, MAC) 地址。由于数十万个虚拟机的潜在连接和通信, 这要求交换以太网网络中的 MAC 地址表更大。
当数据中心的虚拟机根据其虚拟局域网 (Virtual LAN, VLAN) 进行分组时, 可能需要数千个 VLAN 来根据虚拟机可能所属的特定组对流量进行分区。当前 4094 个 VLAN 的限制在这种情况下是不够的。
数据中心通常需要托管多个租户 (Tenant), 每个租户都有自己的隔离网络域。由于使用专用基础设施来实现这一点并不经济, 网络管理员选择在共享网络上实现隔离。在这种场景中, 一个常见的问题是每个租户可能独立分配 MAC 地址和 VLAN ID, 从而导致物理网络上这些地址的潜在重复。
对于使用第 2 层物理基础设施的虚拟化环境, 一个重要的要求是让第 2 层网络在整个数据中心甚至数据中心之间扩展, 以实现计算、网络和存储资源的高效分配。在这样的网络中, 使用传统方法 (如生成树协议 (Spanning Tree Protocol, STP)) 来实现无环拓扑可能会导致大量链路被禁用。
最后一个场景是网络运营商更喜欢使用 IP 来互连物理基础设施 (例如, 通过等价多路径 (Equal-Cost Multipath, ECMP) 实现多路径可扩展性, 从而避免链路被禁用)。即使在这样的环境中, 也需要为虚拟机间通信保留第 2 层模型。
上述场景导致了对覆盖网络 (Overlay Network) 的需求。此覆盖网络用于以封装格式通过逻辑"隧道"传输来自各个虚拟机的 MAC 流量。
本文档详细介绍了一个称为"虚拟可扩展局域网 (Virtual eXtensible Local Area Network, VXLAN)" 的框架, 该框架提供了这样的封装方案来解决上述各种要求。本备忘录为互联网社区记录了已部署的 VXLAN 协议。
1.1. Acronyms and Definitions (缩略语和定义)
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 网络标识符, VXLAN Network Identifier) 或 VXLAN 段 ID (VXLAN Segment ID)
VTEP (VXLAN 隧道端点, VXLAN Tunnel End Point) - 发起和/或终止 VXLAN 隧道的实体
VXLAN (虚拟可扩展局域网, Virtual eXtensible Local Area Network)
VXLAN Segment (VXLAN 段) - 虚拟机通过其进行通信的 VXLAN 第 2 层覆盖网络
VXLAN Gateway (VXLAN 网关) - 在 VXLAN 之间转发流量的实体