一种基于虚拟网络连接特性的虚拟网络映射方法

文档序号:9202570阅读:467来源:国知局
一种基于虚拟网络连接特性的虚拟网络映射方法
【技术领域】
[0001] 本发明设及网络技术领域,具体设及一种基于虚拟网络连接特性的虚拟网络映射 方法。
【背景技术】
[0002] 随着云计算的发展,物理网络基础设施逐渐集中地由少数设备提供商 (In化astruc化reProvider,In巧供应,而业务开发商只需要向InP发出虚拟网络请求,定 制个性化的虚拟拓扑网络,随着业务的变化业务开发商也能够灵活地调整虚拟网络结构, 该样不仅省去物理网络基础设施的自备问题,同时有助于提高业务开发效率。InP实时地接 收各个业务开发商多样化的虚拟网络请求并把它们映射到同一公共物理网络上,为了提高 资源利用率获得更高的收益,必须合理地分配底层物理网络资源,同时也需要考虑网络虚 拟资源负载均衡问题,W避免少数节点或链路负载过热而降低虚拟网络映射成功率。
[0003] 网络虚拟化技术是对网络的一种抽象技术,W解决现有网络僵化问题,提供灵活 可变的虚拟拓扑网络。由于虚拟网络拓扑的多样化,而且映射时不仅要考虑虚拟节点W及 链路的资源请求问题,同时还需要综合考虑各种映射效益问题,如最大化资源利用率、尽量 均衡使用公共物理网络资源W提供更好的服务体验;同时,虚拟网络可能还包含其他限制, 如节点的地理位置、链路时延等等,因此,将多个不同的虚拟网络映射到同一公共物理网络 是一个NP-hard问题。
[0004] 虚拟网络映射问题主要包括虚拟节点映射和虚拟链路映射,一般而言,每一个虚 拟节点被映射到一个不同的物理节点,而每一条虚拟链路映射到一条物理路径,该路径至 少包含一条物理链路。目前虚拟网络映射的解决方法根据节点映射和链路映射是否分阶 段进行,分为一步映射和二步映射。二步映射一般先进行虚拟节点映射,再进行链路映射。 由于二步映射中节点映射和链路分阶段进行,会造成节点映射基本没有考虑虚拟节点之间 的连接特性,因此会导致较大的映射成本,最终导致较低的资源利用率。在链路映射阶段, 如果虚拟链路可分流,那么一般将链路映射问题看作多物网络流问题(Multi-commodity FlowProblem,MCF);如果不可分时,贝ij采用K最短路径算法寻找一条可行映射路径。一步 映射一般有二个解决方向。一个方向是虚拟网络映射进行混合整数规划(MixedInteger Program,MI巧建模,然后得到最优解。由于解法太过复杂,因此该解决方向不可取。如 《Virtualnetworkembeddingwithcoordinatednodeandlinkmapping》(INFOCOM 2009,I邸E.IE邸,2009:783-791) -文将有位置限制的虚拟节点扩展到原物理网络某个区 域,然后进行MIP建模,最后采用松弛技术将原MIP问题简化为一个指数时间可解决的线性 规划问题(LinearProgram,LP)。另外一个方向是对网络进行简化,然后采用捜索回溯的 方法来寻找可行的映射方案。如《Virtualnetworkembeddingt虹0U曲topolog}f-aware noderanking))(ACMSIGCOMMComputerCommunicationReview, 2011, 41 (2) : 38-47) 一文 采用类似网页排名算法对网络节点进行排序,然后将原虚拟网络简化成一个W排名最大节 点为根的宽度优先捜索树,最后采用宽度优先捜索算法寻找可映射节点。此算法只是考虑 了部分虚拟网络连接特性而且引入固定的捜索宽度限制。
[0005] W往虚拟网络映射算法的节点映射要么没有考虑对链路映射的影响,要么平等地 看待所有虚拟链路。也就是说映射简单地采用跳数化op)来度量对链路映射的影响,基本 都认为中间隐藏节点对物理节点的资源消耗为0。而现实情况是中间隐藏节点也会消耗 物理节点一定的CPU资源;此外,对于优先级一样的不同虚拟请求,不同的是请求到达的时 间,那么一些较优资源都会被到达时间较早的虚拟请求"霸占"。目前基本没有一种有针对 性的重映射策略,要么定期重映射包含负载过重节点或链路的虚拟请求,如《Rethinking virtualnetworkembedding:substratesupportforpathsplittingandmigration》 (ACMSIGCOMMComputerCommunicationReview, 2008, 38 (2) : 17-29);要么简单地根据优 先级进行迁移,女曰《Topology-awarenessandreoptimizationmechanismforvirtual networkembedding》(SpringerBerlinHeidelberg, 2010)。
[0006] 《Optimalmappingofvirtualnetworkswithhiddenhops》 (TelecommunicationSystems, 2012, 51 (4) :273-282) 一文在虚拟网络映射考虑中间隐藏 化iddenhops)对物理节点CPU资源请求,但是该文并没有解决节点映射,只是假设所有节 点已经映射完成,然后为每条虚拟链路W贪婪的方式选择一条最短可映射路径,W此来尽 量减少中间隐藏节点。《Topolog}f-awarePartialVirtualClusterMappingAlgorithm onSharedDistributedInfrastructures》(ParallelandDistributedSystems,IEEE Transactionson, 2014, 25(10) :2721-2730) -文认为不同的虚拟节点或链路具有不同重 要性,提出一种部分虚拟集群映射(VirtualClusterMapping,VCM)算法,但是该通过设定 阔值的方式来确定节点和链路的重要与否,而且算法只是映射被认为"重要"的链路,不适 合虚拟网络全映射情景。

【发明内容】

[0007] 本发明的目的是提供一种基于虚拟网络连接特性的虚拟网络映射方法,W克服现 有技术的全部或部分缺陷。
[0008] 为了实现上述目的,利用本发明的虚拟网络的映射方法将虚拟网络请求映射到物 理网络包括W下步骤:
[0009] (1)根据虚拟网络邻接节点对的亲密度将待映射虚拟网络划分成映射等级递增或 递减的星型子网和链路;
[0010] 似利用物理网络的所有节点的剩余资源聚集度,将所述星型子网和链路按照映 射等级从高到低的顺序映射到物理网络。
[0011] 进一步地,本发明所述虚拟网络为简单图,物理网络为简单连通图。
[0012] 进一步地,本发明所述星型子网的节点的个数大于等于1 ;其中,当所述星型子网 的节点的个数大于1时,所述星型子网为连通图且至多只有一个节点的度值大于1。
[0013] 进一步地,在本发明的一种实施方式中,所述步骤一按W下方法执行:
[0014] 步骤(1);计算虚拟网络所有邻接节点对的亲密度,设置映射等级变量 QirrentLevel的初始值为LevelO,LevelO为任意实数;
[0015] 步骤(2);判断当前虚拟网络是否包含节点;如果不包含节点,则结束对虚拟网络 的划分;否则,执行步骤(3);
[0016] 步骤(3);判断当前虚拟网络是否属于所述星型子网:如果属于,则将当前虚拟网 络的映射等级设置为当前映射等级变量化rrentLevel的值,并结束对虚拟网络的划分;
[0017] 如果当前虚拟网络不属于所述星型子网,则将当前虚拟网络中亲密度最小的邻接 节点对之间的虚拟链路的映射等级设置为当前映射等级变量化rrentLevel的值,进而将 当前映射等级变量化rrentLevel的值更新为"化rrentLevel+Al",其中,A1为可变的定 向非零数;然后,从当前虚拟网络中移除该亲密度最小的邻接节点对之间的虚拟链路;接 着,执行步骤(4);
[0018] 步骤(4)):检测当前虚拟网络中是否存在星型子网;如果检测到星型子网,则从 当前虚拟网络中移除所有检测到的星型子网所包含的虚拟节点和虚拟链路;然后执行步骤 妨姻果未检测到星型子网,则返回执行步骤似;
[0019] 步骤巧);按照星型子网的节点的个数从少到多的顺序,自当前映射等级变量的 值开始,W逐级加A1的方式相应地设置步骤(4)所检测到的星型子网的映射等级;然后返 回执行步骤(2)。
[0020] 进一步地,在本发明的另一种实施方式中,所述步骤一按W下方法执行:
[0021] 步骤(1);计算虚拟网络所有邻接节点对的亲密度,设置映射等级变量 CurrentLevel的初始值为LevelO,LevelO为任意实数;
[002引步骤(2);判断当前虚拟网络是否包含节点;如果不包含节点,则结束对虚拟网络 的划分;否则,执行步骤(3);
[0023] 步骤(3);判断当前虚拟网络是否属于所述星型子网:如果属于,则将当前虚拟网 络的映射等级设置为当前映射等级变量的值,并结束对虚拟网络的划分;
[0024] 如果当前虚拟网络不属于所述星型子网,则将当前虚拟网络中亲密度最小的邻接 节点对之间的虚拟链路的映射等级设置为当前映射等级变量化rrentLevel的值,进而将 当前映射等级变量化rrentLevel的值更新为"化rrentLevel+A1";然后,从当前虚拟网络 中移除该亲密度最小的邻接节点对之间的虚拟链路,并将星型子网的个数n的值重置为0 ; 接着,执行步骤(4);其中,A1为可变的定向非零数;
[00巧]步骤(4);检测当前虚拟网络中是否存在星型子网;如果检测到星型子网,则将星 型子网的个数n更新为检测到的星型子网的总数量,并从当前虚拟网络中移除所有检测到 的星型子网所包含的虚拟节点和虚拟链路;然后执行步骤巧);
[0026] 如果未检测到星型子网,则执行步骤巧);
[0027] 步骤巧);判断当前星型子网的个数n是否大于0;如果当前星型子网的个数n大 于0,则按照星型子网的节点的个数从少到多的顺序,自当前映射等级变量化rrentLevel 的值开始,W逐级加A1的方式相应地设置该n个星型子网的映射等级,进而将当前映射等 级变量的值更新为化rrentLevel+n*A1,并将星型子网的个数n的值重置为0,然后返回执 行步骤(2);
[002引如果当前星型子网的个数n等于0,则返回执行步骤(2)。
[0029] 进一步地,本发明所述虚拟网络邻接节点对的亲密度按W下公式(1)所示的方法 计算:
[0030] (1)
[OOW 其中,K的',吗表示虚拟网络中的邻接节点对<一";之间的亲密度,C,"、c";分 别表示虚拟节点<、n;请求的CPU资源,的?";)表示虚拟链路(皆,<)请求的带宽资 源,Mar(0表示由物理网络设备提供商预先设定的虚拟节点请求的CPU资源的最大值,入 为压缩常数。
[0032] 进一步地,本发明所述压缩常数A的取值为4。
[0033] 进一步地,本发明所述步骤二的方法是按照映射等级从高到低的顺序分别对每个 待映射的星型子网和链路执行W下步骤:
[0034] 如果虚拟网络请求所要映射的是链路,则计算得到可映射的物理路径;
[0035] 如果虚拟网络请求所要映射的是星型子网,则根据星型子网的节点的个数分别采 取W下映射策略:
[0036] 如果星型子网的节点的个数大于1,则在物理网络中选取剩余资源聚集度最大且 满足CPU资源请求和链路资源请求的物理节点,然后将该星型子网的中屯、节点映射到该物 理节点;按照端节点与该星型子网的中屯、节点的亲密度从大到小的顺序确定该星型子网的 各端节点的先后映射顺序,均W该星型子网的中屯、节点所映射的物理节点为起点,采用宽 度优先捜索方法为每一个端节点捜索可映射的物理节点和物理路径,将该星型子网的各端 节点映射到可映射的物理节点,并将各端节点与中屯、节点之间的虚拟链路映射到为该端节 点选取可映射的物理节点的过程中所确定的宽度
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1