随着大数据、云计算的快速发展,相应的设备数量和用户规模也在不断扩大,传统的VLAN(虚拟局域网)技术由于最多只能支持4096个VLAN,已经不能满足云提供商的严格要求,反而VXLAN(虚拟可扩展局域网)技术因为可以通过将第2层扩展到第3层网络来构建大型多租户数据中心而备受青睐,这种技术可以有效克服VLAN带来的扩展局限性。本文将对比VLAN和VXLAN以及介绍如何通过VXLAN交换机来构建VXLAN网络。
什么是VLAN?VLAN (Virtual Local Area Network)意为虚拟局域网,是在交换机实现过程中涉及到的概念,由802.1Q标准所定义。由于交换机是工作在链路层的网络设备,连接在同一台交换机的终端处于同一个三层网中,同时也处于同一个广播域。当交换机接入较多的终端时,任意一台终端发送广播报文时(例如:ARP请求),报文都会传遍整个网络。对于规模较大的组网场景,广播报文的泛滥对于网络通信将会造成较大的影响。VLAN技术为这一问题提供了解决方案,VLAN将同一网络划分为多个逻辑上的虚拟子网,并规定当收到广播报文时,仅仅在其所在VLAN中进行广播从而防止广播报文泛滥。VLAN技术在链路层的层次中实现了广播域的隔离。虽然VLAN有这么多的优点,但是随着大数据、云计算及虚拟化技术的普及,它的弊端也逐渐显现出来,具体表现为以下三个方面:
1、虚拟化技术的发展促使大数据、云计算技术公司采用单个物理设备虚拟多台虚拟机的方式来进行组网,因此对于支持VLAN的数量要求也在提升,加上VLAN技术最多支持4094个VLAN,因此已经无法满足需求。
2、公有云提供商的业务要求将实体网络租借给多个不同的用户,这些用户对于网络的要求有所不同,而不同用户租借的网络有很大的可能会出现IP地址、MAC地址的重叠,传统的VLAN仅仅解决了同一链路层网络广播域隔离的问题,而并没有涉及到网络地址重叠的问题,因此需要一种新的技术来保证在多个租户网络中存在地址重叠的情况下依旧能有效通信的技术。
3、虚拟化技术的出现增加了交换机的负担,对于大型的数据中心而言,单台交换机必须支持数十台以上主机的通信连接才足以满足应用需求,而虚拟化技术使得单台主机可以虚拟化出多台虚拟机同时运行,而每台虚拟机都会有其唯一的MAC地址。这样,为了保证集群中所有虚机可以正常通信,交换机必须保存每台虚机的MAC地址,这样就导致了交换机中的MAC表异常庞大,从而影响交换机的转发性能。
基于以上需求,VXLAN技术被提出。
什么是VXLAN?VXLAN(虚拟可扩展局域网)是一种隧道模式的网络覆盖技术,这种技术能够使用户扩跨越不同的网络为虚拟机(VM)创建逻辑网络,也就是说,它可以通过将第2层扩展到第3层网络来构建大型的多租户数据中心,同时将虚拟网络与物理基础设施分离,并实现无与伦比的网络可靠性和可扩展性。因此,您可以使用VXLAN技术创建多达1600万个网络。
如下图所示,VXLAN的通信原理是通过将逻辑网络中的数据帧封装在物理网络中进行传输,封装和解封装的过程由VTEP节点完成。VXLAN将逻辑网络中的数据帧添加在VXLAN头部之后就封装在物理网络中的UDP报文中进行传送。
VTEP:它是VXLAN隧道的端点,主要用于VXLAN报文的封装和解封装,与物理网络相连,分配的地址为物理网络IP地址。
VM:它是虚拟机,VM之间的通信模式有同VNI下的不同VM、不同VNI下的跨网访问和VXLAN和非VXLAN之间的访问这三种。
VNI:它是VXLAN网络标识,类似于VLAN ID,用于区分VXLAN段,一个VNI表示一个租户,而VNI支持多达16M((2^24-1)/1024^2)的租户。
VXLAN技术的优势和局限性相比VLAN技术,VXLAN技术具有以下的优势:
1、24位长度的VNI字段值可以支持更多数量的虚拟网络,解决了VLAN数目上限为4094的局限性的问题。