VXLAN标准初探:扩展VLAN 支持远距离VM迁移

2019-02-26    来源:多智时代

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

思科与VMware在本月提出的虚拟可扩展VLAN(Virtual Extensible VLAN,VXLAN)标准将创建一个逻辑网络(或扩展VLAN),支持地理分散的数据中心之间实现远距离虚拟机(VM)迁移。VXLAN最终会实现多租户云网络所需要的远距离分割支持。

思科与VMware已经合作将VXLAN标准整合到产品中,但是这个由思科、VMware、Arista网络、Broadcom公司、Citrix系统和红帽等公司共同制定的VXLAN草案仍然有待互联网工程工作小组(IETF)标准化。

VLAN很早就被用来分隔数据流,但是IEEE 802.1Q VLAN规范仅支持4,094个VLAN标识符。一个顶级机架交换机可能会连接40多台服务器。每一台服务器可能运行多个VM,每一个VM都会与多个VLAN通信。而数据中心可能包含许多个机架交换机,所以VLAN总数可能会超过4,094。此外,由一个应用程序组成的VM可能位于地理位置不同的数据中心。这些VM必须通过2层网络连接,所以VLAN标识符必须在地理上保证唯一性。

这个RFC草案所描述的VXLAN标准使用一个名为VXLAN网络标识符(VNI)的24位标识符,将与应用程序关联的VLAN分组到一个片段中。每一个管理域能够定义多达1600万个VNI,而每一个VNI可能最多包含4,094个VLAN。客户数据会保证分离,因为只有运行在同一个VNI的VM可以进行通信。

对VM可见的2层网络是通过3层网络的UDP数据报文进行传输的。这使数据中心可以在不同的IP子网中运行。VM只能访问2层网络,所以应用程序中的VM可以从一个数据中心迁移到另一个数据中心,而不需要对重新分配VM或者其他应用程序的VM可见。

VM软件不需要修改就能够在一个VXLAN环境中运行。通过一个虚拟通道终端(VTEP),就可以将VNI分配给服务器上所运行的VM。VTEP位于服务器的虚拟机管理程序上,负责生成指定VNI及进行3层网络通信的头信息。

为了与片段中其他的VM进行通信,VM会创建与非VXLAN和非虚拟环境相同的数据包。数据包由标准MAC帧及以太网头信息、源与目标MAC地址和以太网类型构成。如果VM使用多个VLAN,则会加入一个VLAN标记。

然后,支持VM的VTEP将数据包封闭在一个8位VXLAN头信息中。这个头信息包含一位VXLAN标记,而24位VNI以及另外39位则保留为将来使用。返回的数据包会封装在一个UDP数据包中。目标IP地址是一个VTEP地址,数据包可以到达这个地址。源IP是发送端VTEP的地址。

最后,数据包被封装在一个外在以太网数据包中,它带有目标服务器或转发数据包的路由器的目标MAC。

当VM与其他VM进行通信时,它运行的环境与非VXLAN环境类似。如果目标子网位于同一个子网,它会为目标生成一个ARP请求广播。如果它们位于不同的子网,它会向第一跳路由器发出一个ARP。VTEP在VXLAN和UDP头信息封装了ARP请求,然后将广播数据包发到通信VM所在的VXLAN片段的关联IP多路广播分组。

支持目标VM的VTEP会去掉UDP和VXLAN头信息。将这个ARP请求发送到VM,然后由它响应这个请求。当响应到达源VTEP和VM时,VTEP和VM都会获得需要进行通信的IP和MAC地址。后续的通信会在VTEP之间进行传输,而不需要使用多路广播。

在其他一些情况下,VM需要进行VXLAN环境以外的通信。VXLAN网关会取下VXLAN和UDP的头信息,将这个数据包转发到VM所发数据包的目标MAC上。无论是源VM或是目标设备都需要在修改之后才可参与这个交互。而VXLAN网站可以在软件、交换机或路由器上实现。

在不久的将来,云计算一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏云计算,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

标签: 大数据 服务器 互联网 通信 网络 云计算

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:谷歌为什么应该收购Dropbox

下一篇:团购猫腻多监管需加强:0元疯抢实为套资料