2.2.2 NVGRE 技术
介绍完了 VXLAN, 再来讨论 NVGRE。 NVGRE 是 Network Virtualization using Generic Routing Encapsulation 的缩写,是将以太网报文封装在 GRE 内的一种隧道转发模式,最初由 Microsoft 提出, 并联合了 Intel、 HP、 DELL 等公司,向 IETF 提出。其实与 VXLAN 相比,它 除了将 MAC 封装在 GRE 内(与 VXLAN 将 MAC 封装在 UDP 内不同)外,其他功能几乎完 全相同。 比如, NVGRE 定义了一个类似 VNI 的 TNI(Tenant Network Identifier), 长度同样是 24 比特, 同样可以扩展到 16777216(2 的 24 次方)个网段(NVGRE 里面叫做租户)。
硬说两者有什么区别的话,就是 VXLAN 新的 UDP 头部中包含了对原始二层帧头的哈 希结果,容易实现基于等价多路径的负载均衡,而 GRE 的头部实现负载均衡要困难些— 很多网络设备不支持用 GRE 的 Key 来做负载均衡的哈希计算。
VXLAN 和 NVGRE 技术有惊人的相似之处,或许两者都无法最终成为行业标准,只 能在围绕着 Cisco、 VMware、 Microsoft 的战略联盟(Ecosystem)内