论文部分内容阅读
网络虚拟化(Network Virtualization,NV)旨在公共的底层物理网络上构建多个相互隔离的虚拟网络,且每个虚拟网络可以被独立的部署及管理。在传统网络架构下,实现完整的网络虚拟化需要对网络设备进行一定的升级改造,同时需要构建复杂的专用软件。软件定义网络(Software Defined Networking,SDN)作为一种新型的网络架构,其控制与转发分离、集中控制、开放可编程等特性为实现完整的网络虚拟化提供了新的思路。OpenVirteX(OVX)是斯坦福大学On.Lab团队开发的一个基于SDN的网络虚拟化平台,其克服了FlowVisor平台虚拟拓扑与物理拓扑不独立,虚拟网络地址空间不能重叠等缺点,并有效结合了ADvisor、VeRTIGO平台对网络拓扑虚拟化拓展方式的优点,从而可以提供一个完整的虚拟网络。但OVX在应用过程中却发现有两个不足之处:第一,在多个虚拟网络请求的实际网络虚拟化环境中,必然会存在资源分配及分配过程所涉及到的成本问题,而OVX在进行虚拟网络映射时,忽略底部资源的实际使用情况和部署成本,仅仅完成了虚拟网络的呈现;第二,用户是通过手动调用OVX提供的API来创建虚拟网络,其效率低下,人力成本较高。基于以上问题,结合OVX平台的应用背景和需求,本文提出将虚拟网络映射算法Improved-vnmFlib部署在OVX平台上,并给出了具体的设计思路及步骤。此算法给网络添加资源约束,通过对全局映射的考量,可以快速且低成本的完成虚拟网络映射。同时,针对OVX平台,设计了自动创建虚拟网络模块,使平台可以根据虚拟网络请求调用Improved-vnmFlib算法计算映射,并按照映射结果自动化地创建虚拟网络,使得效率大幅度提高,用户操作也更为方便。为了在OVX平台上实现上述解决方案,本文首先设计了实现的总体流程,其中的关键模块有:用户交互模块、添加资源限制模块、虚拟网络映射算法模块和自动创建虚拟网络模块;然后详细分析了这几个关键模块之间的交互关系,接着对各个模块进行编程实现;最后,本文搭建了一个完整的仿真环境,对开发后的平台进行测试,测试结果表明:新平台能够结合映射成本解决虚拟网络映射过程中的资源分配问题,并且能够按照映射结果自动化地创建虚拟网络。