叠加(Overlay) 在SDN讨论中经常会出现的另一个术语就是叠加网络。简而言之,叠加是用来创建虚拟的网络容器,这些容器之间在逻辑上彼此隔离,但可共享相同的底层物理网络。该类方案的主要思想可被归纳为解耦、独立、控制三个方面。
解耦是指将网络的控制从网络物理硬件中脱离出来,交给虚拟化的网络层处理。这个虚拟化的网络层加载在物理网络之上,屏蔽掉底层的物理差异,在虚拟的空间重建整个网络。因此,物理网络资源将被泛化成网络能力池,正如服务器虚拟化技术把服务器资源转化为计算能力池一样,它使得网络资源的调用更加灵活,满足用户对网络资源的按需交付需求。
独立是指该类方案承载于IP网络之上,因此只要IP可达,那么相应的虚拟化网络就可以被部署,而无需对原有物理网络架构(例如原有的网络硬件、原有的服务器虚拟化解决方案、原有的网络管理系统、原有的IP地址等等)做出任何改变。该类方案可以便捷地在现网上部署和实施,这是它最大的优势。
控制是指叠加的逻辑网络将以软件可编程的方式被统一控制。通过应用该方案,网络资源可以和计算资源、存储资源一起被统一调度和按需交付。以虚拟交换机为代表的虚拟化网络设备可以被整合在服务器虚拟化管理程序(Hypervisor)中统一部署,也可以以软件方式部署在网关中实现与外部物理网络的整合。各种虚拟化网络设备协同工作,在资源管理平台的统一控制下,通过在节点间按需搭建虚拟网络,实现网络资源的虚拟化。
基于叠加网络的方案并不是新近才被提出的,VLAN(虚拟局域网)就是典型的代表。但是,随着云计算等新兴业务对网络要求的提升,传统的技术已经难以满足要求,例如业务只局限于同一二层网络、VLAN数量有限影响多租户业务规模等等。在当前的基于叠加网络的SDN实现领域,隧道(tunneling)技术被广泛应用,它可以基于现行的IP网络进行叠加部署,消除传统二层网络的限制。很多新兴的协议都采用了隧道的原理进行网络通信,例如VXLAN、NVGRE等,它们均利用叠加在三层网络之上的虚拟网络传递二层数据包,实现了可以跨越三层物理网络进行通信的二层逻辑网络,突破了传统二层网络中存在的物理位置受限、VLAN数量有限等障碍,同时还使得网络支持服务的可移动性,大幅度降低管理的成本和运营的风险。
该类方案主要由虚拟化技术厂商主导,例如VMware在其虚拟化平台中实现了VXLAN技术、微软在其虚拟化平台中实现了NVGRE技术,而其中最典型的代表是Nicira公司提出的NVP(Network Virtualization Platform,网络虚拟化平台)方案。NVP支持在现有的网络基础设施上利用隧道技术屏蔽底层物理网络的实现细节,实现了网络虚拟化,并利用逻辑上集中的软件进行统一管控,实现网络资源的按需调度。该类解决方案与虚拟化管理的整合较便捷,但是在实际实施和应用中,其效果会受到底层网络质量的影响。同时,基于网络叠加的技术会增加网络架构的复杂度,并降低数据的处理性能。