论文部分内容阅读
随着计算机网络在近几年的迅猛发展,存在于现有互联网架构中的问题日益显著,例如可扩展性、可控可管性、服务质量保证、绿色节能等方面。为了彻底解决这些问题,学术界提出了对未来网络“从头再来(clean-slate)"的设计思想,希望能够摆脱现有互联网约束,重新设计能够适应未来网络的体系架构。网络虚拟化是构建新一代互联网体系架构的核心技术,它允许多个网络应用能同时共享在一个底层物理网络上,并能够为用户提供多样化的定制服务。在网络虚拟化中,网络实体分为物理网络和虚拟网络。多个不同的虚拟网络根据服务需求,需要不同的网络资源包括充足的网络节点数和足够的网络链路带宽。虚拟网络上的节点和链路能够在物理网络上创建、删除。网络虚拟化已经被应用于数据中心解决扩展性、复杂性、资源利用率等问题。另外,在云计算环境中,为了实现计算资源的共享、分离与聚合以及资源的易管理性,网络虚拟化成为解决这些问题的关键技术。虚拟网络映射问题(VNE)是网络虚拟化在资源分配的核心问题。将不同虚拟网络的资源包括节点资源和链路资源映射到物理网络上。其中,节点资源一般有CPU、内存、地理位置等;链路资源有延迟、带宽等。虚拟网络映射的目标是在满足虚拟网络资源约束的前提下,将虚拟网络嵌入到合适的底层物理网络上。在保证虚拟网络资源请求的情况下,尽可能的降低虚拟网络请求的拒绝率,同时提高底层物理网络的资源收益。虚拟网络映射不仅要解决准入控制、请求排队、资源约束问题,还要解决拓扑多样性等多方面的问题。由于应用场景、优化目标、映射方式和约束条件的不同,虚拟网络映射又分为不同类型的优化问题。本文基于蚁群算法分别对离线虚拟网络映射ACO-VNE和在线虚拟网络映射提出了相应的映射算法VNE-CACO.对于ACO-VNE算法,属于两阶段映射算法,首先进行节点映射,然后进行链路映射。通过判断映射结果的好坏,蚂蚁将信息素分布于节点上。蚂蚁之间通过信息素进行学习,学习前代蚂蚁的映射经验,另外将节点的资源情况作为启发式因子。蚂蚁通过轮盘赌选择节点映射方案,然后再进行链路的映射。直到蚁群算法收敛或者达到设定的运行次数上限即得到映射解。针对在线虚拟网络映射,我们提出了VNE-CACO。VNE-CACO是一种一阶段的协同映射算法。一方面,该算法将物理网络拓扑上的关键路径作为稀有资源尽量保留,来应对后续的虚拟网络请求。另一方面,该算法通过蚂蚁之间对映射解空间的探索所遗留的信息素,然后结合启发式因子信息,不断的向最优解靠拢。算法直到收敛或者达到运行的最大代数停止,获得最终解。本文对两种算法均做了详细的仿真实验,实验结果表明蚁群算法在解决虚拟网络映射问题中具有优秀的表现。