网络虚拟化通过将逻辑网络功能和物理网络设备解耦合,使得网络资源可以方便地整合与扩展,简化了网络管理,提升了网络安全性并且更易于实现带宽保证。在云计算环境中,运营商通过网络虚拟化技术将物理网络划分成多个相互隔离的虚拟网络,向租户提供虚拟网络服务,这保证了租户的隐私和安全,同时也便于更加灵活地添加、删除、修改用户的网络,以应对云计算中高动态性的特点。为了实现网络虚拟化,工业界和学术界提出了许多协议标准。到目前为止,还没有一种网络虚拟化技术占据主导,同时,网络虚拟化标准之争愈演愈烈,交换机设备厂商往往仅支持一种特定的技术,如VMware推出的虚拟交换机往往支持由其主推的VxLAN技术,而微软的Hyper-V平台则支持NVGRE技术,很少有网络设备同时支持多种协议。运营商的网络设备是在不同的时间,从不同的设备商,根据具体业务类型的需求购入,这可能导致云环境中不同设备采用的网络虚拟化技术不同。多种网络虚拟化技术在不同数据中心甚至同一数据中心内共存是未来一段时间运营商需要面临的状况。在多种网络虚拟化共存的场景下,整个环境按照网络虚拟化技术被分割成多个独立的部分。使用一种网络虚拟化技术的控制软件、网络设备和主机的集合称为一个区域。由于网络虚拟化协议标准的差异,采用同种网络虚拟化技术的网络设备才具有二层、三层可达性。这样,属于不同区域的主机间无法进行网络通信,形成了网络资源的"孤岛"。这种网络资源间的"孤岛"现象给运营商带来了如下问题:无法充分利用全部网络资源来提供网络服务,云计算环境中,租户需要具有二、三层可达性的虚拟网络,由于网络虚拟化技术间的隔离,运营商只能利用属于一个"孤岛"的网络资源向租户提供网络服务;网络服务技术绑定,难以实现技术的平稳演进,网络虚拟化技术的升级往往涉及硬件、软件设备的更换,升级过程可能会中断虚拟网络服务,带来较大的损失;网络服务的成本上升,运营商早期购买的网络设备通常不支持VXLAN/NVGRE等技术,如果没有合适的解决方案,只能全部替换,造成巨大浪费。针对多种网络虚拟化共存所带来的新问题,本文提出了网络虚拟化互通技术。该技术的核心目的是将虚拟网络和具体的网络虚拟化技术解耦合,使得一个虚拟网络可以同时存在于多个不同虚拟化技术的设备上,同时保证该虚拟网络内部的二层及三层可达性。另外网络虚拟化互通技术如果能和现有的VPN技术相结合,运营商就可以最大程度地整合不同网络虚拟化技术、地区、规模的数据中心,提供最高效的云服务。但是,由于各种网络虚拟化技术的实现细节有很大差异,实现网络虚拟化互通技术面临着一系列挑战。首先是控制平面间所存储信息的不对称性;其次是如何实现多个控制平面信息的同步和统一管理;再者是如何实现跨区域的路由;最后是多种网络虚拟化技术间的数据分组格式转换以及与VPN技术的结合。本文设计了基于SDN(software defined networking,软件定义网络)的互通架构Omni-Bridge,该模型引入了虚拟网络管理模块来实现不同控制平面间的信息同步,并提供了云平台接口和管理者接口,使得运营商可以忽视底层的网络虚拟化技术差异,提供虚拟网络服务。Omni-Bridge利用近年兴起的软件定义网络和可编程交换机,设计了区域网关,以实现不同技术间的互联。同时在设计Omni-Bridge时引入了插件模式,使得虚拟网络管理者可以与不同类型的控制平面以及区域网关通信。基于开源OpenFlow控制器Floodlight实现了OmniBridge中的虚拟网络管理模块的原型,同时实现了与开源云平台OpenStack的集成。使用SCP(secure copy)命令传输文件作为验证虚拟网络内可达性的测试方法,证明了Omni-Bridge可以实现VLAN域和VxLAN域之间的互通、区域网关可以与MPLS-VPN相结合。
暂无评论