两种Overlay技术:VXLAN和NVGRE

NVGRE和VXLAN都是网络虚拟化技术,传统的VLAN仅允许在特定时间分配多达4096个网络ID,这对于大型云计算环境而言还不够。因此以上两种主流的Overlay技术旨在扩展VLAN,以解决大型云计算部署中虚拟网络数量不足的问题。

VXLAN


VXLAN规范最初是由Cisco,VMware和Arista Networks创建的,全称 Virtual eXtensible Local Area Network。简单的说VXLAN就是扩充了的 VLAN,其包头有一个24bit的ID段,即意味着1600万个独一无二的虚拟网段从而解决当前大型云计算数据中心虚拟网络不足的问题。VXLAN通过封装、转发2层报文,可以使得多个网络的一台一台物理交换机通过三层直接连接,处于网络中的同一个VLAN。


两种Overlay技术:VXLAN和NVGRE


上图所示为 VXLAN 的工作模型,它创建在原来的 IP 网络(三层)上,只要是三层可达(能够通过 IP 相互通信)的网络就能部署VXLAN。在VXLAN 网络的每个端点都有一个 VTEP 设备,负责 VXLAN 协议报文的解包和封包,也就是在虚拟报文上封装 VTEP 通信的报文头部。


但是,无论是二层还是三层网关,均涉及到查表转发、VXLAN报文的解封装和封装操作。从转发效率和执行性能来看,都只能在物理网络设备上实现,并且传统设备无法支持,必须通过新的硬件形式来实现。以上设备均是物理网络的边缘设备,而有三种边缘设备构成了VXLAN Overlay 网络,对于应用系统来说,只与这三种设备相关,而与底层物理网络无关。

NVGRE


首先NVGRE标准是由Microsoft、Intel、HP和Dell提出的。NVGRE的全称是Network Virtualization using Generic Routing Encapsulation,即使用通用路由协议封装的网络虚拟化。NVGRE通过使用封装策略来创建大量的VLAN子网,这些子网可以扩展到分散的数据中心和2、3层网络。


NVGRE标准的重要特点包括指定24位的租赁网络标识符(TNI),使得NVGRE也可以支持1600万个虚拟网络,以此解决了一些和多租户网络相关的问题。并且通过使用GRE来创建一个独立的虚拟2层网络,限制物理2层网络或扩展超过子网边界。另外,NVGRE网关可以作为一个网络地址转换组件,将应用程序服务器发布到Internet上,尽管这些服务实际上位于软件定义网络的虚拟服务器当中。


NVGRE与VXLAN的区别



NVGRE主要由Microsoft支持,而VXLAN主要由Cisco驱动。与使用标准传输协议(TCP / UDP)的VXLAN不同,NVGRE协议是GRE(通用路由封装)。



数据包格式是NVGRE和VXLAN之间最明显的区别。VXLAN数据包头包括一个24位ID段,代表1600万个唯一的虚拟段。该ID通常是通过UDP端口上的伪随机算法生成的。通过将数据包中的MAC组映射到唯一的UDP端口组,这有助于保持基于5元组的负载平衡,并保持VM之间的数据包顺序。VXLAN封装将数据包大小扩展到50个字节,如下所示。


两种Overlay技术:VXLAN和NVGRE


与VXLAN不同的是,NVGRE没有采用标准传输协议(TCP/UDP),而是借助通用路由封装协议(GRE)。NVGRE使用GRE头部的低24位作为租户网络标识符(TNI),与VXLAN一样也可以支持1600万个虚拟网络。为了提供描述带宽利用率的流级别粒度,传输网络需要使用GRE报头。但是这导致NVGRE与传统的负载平衡不兼容,这是NVGRE的主要缺点,同时还是有很多的防火墙和三层网络设备无法解析 GRE Header,因此它们无法对 GRE 封装包做合适的过滤和负载均衡。


两种Overlay技术:VXLAN和NVGRE


两种协议的格式区别汇总如下:


两种Overlay技术:VXLAN和NVGRE



VXLAN利用传输网络中的组播来模拟第2层网段中广播,未知单播和组播的泛洪行为,这对于MAC地址学习以及整个VXLAN工作过程中的协议(如ARP和Neighbor Discovery)非常重要。对于NVGRE,为了增强负载平衡功能,建议在每个NVGRE主机中使用多个IP地址,以确保可以平衡更多流量。NVGRE支持通过缩减数据包最大传输单元以减小内部虚拟网络数据包大小,不要求传输网络支持传输有效负载超过IEEE 802.3标准所限制的1500字节的以太网帧,即巨型帧jumbo frames。



NVGRE支持分片最大数据包传输单位,以进一步减小内部虚拟网络的数据包规模。不需要传输网络支持大帧。但是,VXLAN需要支持大帧的传输网络来承受数据包规模的扩展。也就是说,VXLAN不支持分片。


结论


综上可以看出:第一,NVGRE和VXLAN都是用三层协议封装二层协议,允许第2层数据包在第3层网络上传输;第二,这两项技术都解决了VLAN规模固定的问题,不再局限于4094个,而是将虚拟网络的规模从4096增加到1600万。


写在最后,随着各种新技术的兴起,一项标准已经无法满足需求,技术巨头们争先恐后的想让自己的标准成为业内统一的标准,文章中的NVGRE和VXLAN就是典型的例子。


两种Overlay技术:VXLAN和NVGRE


本文由“通信百科”原创,欢迎关注,一起成长!

展开阅读全文

页面更新:2024-03-28

标签:封包   子网   包头   报文   租户   标识符   网段   技术   负载   物理   协议   规模   标准   设备   财经   网络

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top