VXLAN特点

扩展VLAN地址空间:VXLAN的主要目标之一是扩展VLAN的地址空间。传统的VLAN标识符有限,通常只支持4096个VLAN。在大型云计算环境中,这个数量可能迅速不足。VXLAN通过引入24位的段ID来扩展这个地址空间,将可用的标识符数量增加到1600万个。
虚拟网络隔离:VXLAN允许多个虚拟网络在同一物理基础设施上共存,并提供逻辑上的隔离。每个虚拟网络都有一个唯一的VXLAN网段ID,用于区分不同的逻辑网络和租户。这样,不同的虚拟网络可以独立运行,就像它们在不同的物理网络上一样。
支持多租户环境:VXLAN适用于多租户环境,允许不同的租户在同一基础设施上创建独立的虚拟网络,而不会相互干扰。这对于云服务提供商和大型数据中心特别有用。
第2层和第3层扩展:VXLAN不仅可以扩展第2层(数据链路层),还可以与第3层(网络层)扩展结合使用。这意味着它可以支持更复杂的网络拓扑和路由配置。
行业支持:VXLAN得到了广泛的行业支持,包括Cisco、VMware、Arista Networks等公司。这意味着在各种虚拟化平台和网络设备中都可以找到对VXLAN的支持。
NVGRE 与 VXLAN 对比
NVGRE和VXLAN都是用于网络虚拟化的技术,但它们在支持者、传输协议、数据包格式、传输方式和分片等方面存在一些区别。

- NVGRE主要由Microsoft支持,并使用GRE协议作为传输协议。
- VXLAN主要由Cisco驱动,使用UDP协议作为传输协议。
- VXLAN的数据包包含一个24位的VXLAN网络标识符(VNI),允许支持1600万个唯一的虚拟网络。VNI通常由UDP端口上的伪随机算法生成。
- NVGRE使用GRE头部的低24位作为租户网络标识符(TNI),也支持1600万个虚拟网络。但由于它使用GRE头部,不太适用于传统的负载均衡。
- VXLAN利用组播来模拟二层网络中的广播、未知单播和组播,这对于MAC地址学习、ARP和邻居发现等协议非常重要。
- NVGRE建议每个主机使用多个IP地址,以增强负载均衡能力,而不依赖于洪泛和IP多播。
- NVGRE支持对数据包的最大传输单元进行分片,从而进一步减小了内部虚拟网络的数据包大小。
- VXLAN通常需要传输网络支持大帧,不支持数据包分片。
总结
VXLAN和NVGRE代表了网络虚拟化领域的一次革命性进步。它们不仅提供了更大规模的虚拟网络,还允许跨越不同网络层级的数据包传输,为云计算和大规模数据中心提供了更大的灵活性和可扩展性。