通过不同层次的计算资源、存储资源和网络通信资源的虚拟化实现资源池化,使云计算能够在基础设施层面实现平台化服务(IaaS),如AmazonEC2、IBMBlueCloud、CiscoUCS等典型的IaaS产品。
使用云计算数据中心服务的用户,需要基于瘦客户端、移动云终端等设备完成接入,访问其虚拟化计算资源,并进一步使用各种云计算服务。
云计算数据中心可以为不同的用户群提供不同的服务,用户群之间、用户群内用户彼此之间已经没有了明确的物理边界,而是基于虚拟化技术实现必要的安全隔离,这种隔离是否具备足够的安全性,用户数据是否具有足够的隐私保护和访问可控性,这些虚拟化安全问题已经成为云计算是否能够取得广泛应用突破的关键。
如何让云中各种类型的用户尽可能安全地使用网络,如何让用户无缝地接入和使用云计算服务,如何通过虚拟化网络技术提高数据中心网络构建灵活性、扩展性的同时,解决好网络安全问题,已经成为采用虚拟化技术构建云计算数据中心所必须要解决的问题。当前主流厂商有基于VLAN安全区化、防火墙虚拟化等网络安全技术对云计算数据中心所采用的虚拟化网络进行保护,但仍然未能解决好用户访问的可信以及数据交互的机密性、可控性等问题。
文中在研究基于虚拟化网络的云计算数据中心典型架构与访问应用模式的基础上,从用户安全接入、通信隔离与机密性保护等方面分析了数据中心虚拟化网络安全需求,提出了虚拟化网络安全技术框架,重点针对基于密码技术强化虚拟化网络安全,保障虚拟机之间的通信保护、信息隔离与安全交换等安全机制进行了分析与设计,提出了一种可供参考的解决方案。
云计算的基础架构主要包含计算(服务器)、网络和存储。对于网络,从云计算整个生态环境上来说,可以分为3个层面,数据中心网络、跨数据中心网络以及泛在的云接入网络。
其中数据中心网络包括连接计算主机、存储和4到7层服务器(如防火墙、负载均衡、应用服务器、IDS/IPS等)的数据中心局域网,以及边缘虚拟网络,即主机虚拟化之后,虚拟机之间的多虚拟网络交换网络,包括分布式虚拟交换机、虚拟桥接和I/O虚拟化等。
跨数据中心网络主要解决数据中心间的网络连接,实现数据中心间的数据备份、数据迁移、多数据中心间的资源优化以及多数据中心混合业务提供等;泛在的云接入网络用于数据中心与终端用户互联,为公众用户或企业用户提供云服务。
在此,主要探讨使用虚拟化网络技术实现的数据中心网络技术架构及其访问应用方式。因为,数据中心大量的虚拟机通过虚拟化网络访问计算资源的安全可控问题,是解决云计算虚拟化网络安全问题的关键。数据中心网络包括核心层交换机、接入层交换机和虚拟交换机。
在使用云计算后,数据中心的网络需要解决数据中心内部的数据同步传送的大流量、备份大流量、虚拟机迁移大流量问题,因此要求核心层网络具备超大规模的数据交换能力以及足够的万兆接入能力。接入层交换机要求能够支持各种灵活的部署方式和新的以太网技术,包括无损以太网技术等。
虚拟交换机是在物理服务器内部通过虚拟机管理器(Hypervisor)层虚拟出相应的交换机和网卡功能并实施管理,提供了服务器内多个虚拟主机虚拟网卡(vNIC)的互联以及为不同的虚拟网卡流量设定不同的VLAN标签功能,使得服务器内部如同存在一台交换机,可以方便地将不同的网卡连接到不同的端口。
Hypervisor为每个VM(虚拟主机)创建一个或者多个vNICs,联接Hypervisor中的虚拟交换机,从而支持VM间的通信。Hypervisor还允许虚拟交换机和物理网络接口的通信,以及和外部网络的高效通信,典型的虚拟交换机如开源的OpenvSwitch。
以目前应用较成熟的Ctrix基于Xen的虚拟化系统为研究对象(与其他VmwareESX、KVM、Hyper-V等有所不同,可参考思路),分析用户联接虚拟化用户终端,并进一步访问数据中心计算资源的典型框架如图2所示。
首先远程用户基于瘦客户端,基于ICA等远程桌面协议(Vmware用PCoIP)访问数据中心服务器上的用户虚拟终端。ICA协议是基于Xen的Ctrix虚拟化系统的专有协议,将显示器、键盘、鼠标操作信息与服务器端管理域交互,可以在Hypervisor上创建、中止相应的虚拟化终端系统,获得与本地化计算机终端操作相同的使用体验。同时,管理域OS上还运行了所有外设的实际驱动程序,通过后端驱动模块与系列客户终端虚拟机OS上运行的前端驱动模块进行交互,实现对各客户终端虚拟机设备驱动的支持。
其次,用户虚拟终端机之间通过虚拟网卡、虚拟化交换机(包括跨物理服务器的分布式虚拟化交换机),实现虚拟终端之间以及用户虚拟终端与虚拟应用服务器之间的高速网络数据交互,实现基于虚拟化的数据集中应用,并访问各种应用服务器,或进行用户虚拟机的迁移等。
其中分布式虚拟交换机采用使底层服务器架构更透明的方法,支持不同物理服务器上虚拟交换机的跨服务器桥接,使一个服务器中的虚拟交换机能够透明地和其他服务器中的虚拟交换机连接,使服务器间(以及它们的虚拟接口)的VM迁移更简单。