随着网络技术的发展,云计算凭借其系统利用率高、人力/管理成本低以及灵活性/扩展性方面展现的优势,已经成为目前各大行业IT建设的新趋势。而服务器的虚拟化作为云计算的核心技术之一,也得到了越来越多的应用,从而极大的增加了数据中心的计算密度;同时,为了实现业务的灵活变更部署,虚拟机在二层网络中的无限制迁移需求越来越迫切。而传统的经典二、三层网络已无法完全满足这些需求。
比如传统的VLAN(虚拟局域网)技术由于最多只能支持4096个VLAN,已经不能满足云提供商的严格要求,但是VXLAN(虚拟可扩展局域网)技术因为可以通过将第2层扩展到第3层网络来构建大型多租户数据中心而备受青睐,这种技术可以有效克服VLAN带来的扩展局限性。
一、什么是VLAN?
- VLAN 概念:
Virtual Local Area Network意为虚拟局域网,是在交换机实现过程中涉及到的概念,由802.1Q标准所定义。由于交换机是工作在链路层的网络设备,连接在同一台交换机的终端处于同一个三层网中,同时也处于同一个广播域。当交换机接入较多的终端时,任意一台终端发送广播报文时(例如:ARP请求),报文都会传遍整个网络。
- VLAN优点:
对于规模较大的组网场景,广播报文的泛滥对于网络通信将会造成较大的影响。VLAN技术为这一问题提供了解决方案,VLAN将同一网络划分为多个逻辑上的虚拟子网,并规定当收到广播报文时,仅仅在其所在VLAN中进行广播从而防止广播报文泛滥。VLAN技术在链路层的层次中实现了广播域的隔离,一张图看懂VLAN作用:虽然有这些优点,然而它的弊端也很明显:
虚拟化技术的发展促使大数据、云计算技术公司采用单个物理设备虚拟多台虚拟机的方式来进行组网,因此对于支持VLAN的数量要求也在提升,加上VLAN技术最多支持4094个VLAN,因此已经无法满足需求。
公有云提供商的业务要求将实体网络租借给多个不同的用户,这些用户对于网络的要求有所不同,而不同用户租借的网络有很大的可能会出现IP地址、MAC地址的重叠,传统的VLAN仅仅解决了同一链路层网络广播域隔离的问题,而并没有涉及到网络地址重叠的问题,因此需要一种新的技术来保证在多个租户网络中存在地址重叠的情况下依旧能有效通信的技术。虚拟化技术的出现增加了交换机的负担,对于大型的数据中心而言,单台交换机必须支持数十台以上主机的通信连接才足以满足应用需求,而虚拟化技术使得单台主机可以虚拟化出多台虚拟机同时运行,而每台虚拟机都会有其唯一的MAC地址。这样,为了保证集群中所有虚机可以正常通信,交换机必须保存每台虚机的MAC地址,这样就导致了交换机中的MAC表异常庞大,从而影响交换机的转发性能。
基于以上需求,VXLAN技术被提出。
二、什么是VXLAN
- VXLAN概念:
Virtualextensible Local Area Network,虚拟扩展局域网。IETF定义NVO3标准技术之一,采用MAC-in-UDP报文封装模式,通过将二层报文使用三层协议封装实现二层网络在三层范围内扩展,满足数据中心大二层虚拟机迁移和多租户需求;VXLAN技术可以基于三层网络结构来构建二层虚拟网络,通过VLAN技术可以将处于不同网段网络设备整合在同一个逻辑链路层网络中,对于终端用户而言,这些网络设备似乎“真实地”部署在了同一个链路层网络中。也就是说,它可以通过将第2层扩展到第3层网络来构建大型的多租户数据中心,同时将虚拟网络与物理基础设施分离,并实现无与伦比的网络可靠性和可扩展性。因此,您可以使用VXLAN技术创建多达1600万个网络。
- VXLAN术语介绍:
NVE:NetworkVirtualization Edge,网络虚拟边缘,用于建立VxLAN隧道的网络设备;
VTEP:VxLANtunnel End Point,VxLAN隧道端点,指建立VxLAN隧道的NVE设备端点IP,可用于静态VxLAN配置及动态VxLAN配置;
VNI:VirtualNetwork Identifier,虚拟网络ID,一个VNI即一个VxLAN广播域,实现VxLAN广播域隔离,相当于VLAN中的VLAN ID;
BD:BridgeDomain,定义一个VxLAN广播域,可配合配置BDIF,实现跨VxLAN路由,一个BD唯一映射一个VNI;
VxLAN报文格式:
- VXLAN技术的优势和局限性
相比VLAN技术,VXLAN技术具有以下的优势:
24位长度的VNI字段值可以支持更多数量的虚拟网络,解决了VLAN数目上限为4094的局限性的问题。
VXLAN技术通过隧道技术在物理的三层网络中虚拟二层网络,处于VXLAN网络的终端无法察觉到VXLAN的通信过程,这样也就使得逻辑网络拓扑和物理网络拓扑实现了一定程度的解耦,网络拓扑的配置对于物理设备的配置的依赖程度有所降低,配置更灵活更方便。
VLAN技术仅仅解决了二层网络广播域分割的问题,而VXLAN技术还具有多租户支持的特性,通过VXLAN分割,各个租户可以独立组网、通信,地址分配方面和多个租户之间地址冲突的问题也得到了解决。为了保证VXLAN机制通信过程的正确性,rfc7348标准中规定,涉及到VXLAN通信的IP报文一律不允许分片,这就要求物理网络的链路层实现中必须提供足够大的MTU值,保证VXLAN报文的顺利传输,这一点可以理解为当前VXLAN技术的局限性。