一种基于Openflow网络高容错性虚拟网络映射算法

文档序号:9276675阅读:542来源:国知局
一种基于Openflow网络高容错性虚拟网络映射算法
【技术领域】
[0001] 本发明涉及一种网络映射算法,具体涉及一种基于Openflow网络高容错性虚拟 网络映射算法。
【背景技术】
[0002] 网络虚拟化是下一代互联网体系架构的核心组成部分,它通过对底层基础设施进 行抽象并提供统一的可编程接口,将多个彼此隔离且具有不同拓扑的虚拟网络同时映射到 公用的基础设施上,为用户提供差异化服务。网络虚拟化使在不影响现有网络的前提下部 署新的网络架构、协议以及应用成为可能,从而有效支持网络技术的创新。基于Openflow 协议的SDN (Software Defined Networks)是网络虚拟化技术的应用。在SDN网络中控制平 面与数据平面相互分离,支持用户定义自己的虚拟网络,定义自己的网络规则和控制策略, 网络服务提供者能够为用户提供端到端的可控的网络服务,甚至能够在硬件设备上直接添 加新的应用。这都使得SDN网络非常适合于研宄网络虚拟化技术。这种可编程的网络平台 不仅能解开网络软件与特定硬件之间的挂钩,还能将网络软件的智能性和硬件的高速性充 分结合在一起,使得网络变得更加智能与灵活。
[0003] 实现网络虚拟化需要克服的最大问题是如何在满足各种资源限制条件下,将不同 拓扑的异构虚拟网络并行、高效地映射到底层基础设施中。现有虚拟网络映射算法存在的 问题:
[0004] 1、资源利用率较低
[0005] 现有虚拟网络映射算法有贪婪式的映射算法,抢占底层资源,会造成局部链路负 载过大,很多闲置链路未得到充分利用,造成资源的浪费,同时使得后面到达的虚拟网络请 求无法满足。还有些改良的算法如面向负载均衡的虚拟网络映射算法、基于流量约束的虚 拟网络映射算法等,这些映射算法对网络的某一方面进行了改善,但是都存在资源利用率 不高的问题。
[0006] 2、网络容错性能不佳
[0007] 当已映射的虚拟网络发生故障时,如何保证应用的需求不会终止,保障网络的可 用性,这就对网络的容错性能提出了很高要求。据资料显示,骨干网中单链路故障占全部故 障的70%,是最容易发生的问题。因此解决网络容错的问题主要取决于单链路故障的恢复 机制。解决链路故障常用方法有:
[0008] (1)对发生故障网络重新映射
[0009] 这种方法付出的代价是会带来很大的时延,一旦链路发生故障用户就要等待系统 完成新的映射。在一些对时延要求比较高的应用或者业务上会给用户带来很差的体验,如 视频业务。
[0010] (2)预留资源,为每条链路做备份路径
[0011] 当映射网络中链路发生故障,立刻启用备份链路,这样会使故障恢复的时延大大 减小。但是同时付出的代价是资源利用率低,特别是每条链路的带宽资源是有限的,一条链 路可能同时会作为多个业务的备份链路,但这些业务并非同时发生故障,即当为这些业务 预留的资源达到链路的最大值后,该链路将无法再为其他业务做备份链路,这就导致该链 路作为备份链路的利用率不高。

【发明内容】

[0012] 本发明的目的在于克服上述现有技术中存在的缺点,提供一种基于Openflow网 络高容错性虚拟网络映射算法,具有提高网络资源的利用效率,改善虚拟网络的容错性能 的优点。
[0013] 为实现上述目的,本发明采用以下技术方案:包括以下步骤:
[0014] 步骤I :SDN控制器获取底层网络信息和虚拟网络请求信息;
[0015] 步骤2:确定映射约束条件;
[0016] 步骤3:确定优化目标;
[0017] 步骤4:计算蚁群算法相应参数,完成节点映射。
[0018] 所述的SDN控制器获取底层网络信息的方式为:SDN控制器实时获取底层 Openflow网络信息,包括节点信息N s、链路信息Ls、每条链路带宽资源信息B (Is),控制器获 取的网络信息用一个有权无向图Gs= (NS,LS)表示,其中Ns表示底层物理网络节点的集合, L s底层物理网络链路的集合;每个物理节点n SG Ns,每条链路IsG Ls。
[0019] 所述的获取虚拟网络请求信息的方式为:根据业务要求得到虚拟网络建立请求的 信息,用无向图表*GV= (NV,LV),NV表示虚拟网络节点的集合,每个虚拟节点nvG NV,LJ^ 拟网络链路的集合,每条链路lve Lv,需要的带宽资源R(Iv)。
[0020] 所述的确定映射约束条件的方式为:令4 表示已经完成的虚拟 节点到物理节点的映射,4 表示已经完成的虚拟链路到物理链路的映射, 则节点、链路约束条件:
[0021]
[0022] &.表示虚拟网络与物理网络节点映射关系,xu=l表示虚拟网络节点成功映射到 物理网络节点上,否则Xij= 0 ;y ij表示虚拟网络与物理网络链路映射关系,y ij= 1表示虚 拟网络链路成功映射到物理网络的一条或者多个节点组成的链路上,否则3^ = 表示虚拟链路g需要的带宽,表示该虚拟链路映射到物理链路^,所剩余的带宽资 源;引入相关系数P和概率门限值S,它表示不同属性虚拟网络的一个相关程度,P越大, 表示相关程度越高,链路同时发生故障的概率越大;相反P越小,表示相关程度越小,链路 同时发生故障的概率越小;令Lb表示4上已备份的链路集合,表示物理链路4上为 其他虚拟网络链路备份占用的相关剩余带宽资源;它表示这条链路上与的相关性大于门 限值S的备份链路占用的带宽资源,表示U上已备份的链路集合,则:
[0025] ⑦中_ 5|表示对结果向下取整,当p u彡S时,结果为〇 ;当p u彡S时, 结果为-1; S(G)表示成功映射到链路i:的虚拟链路占用的带宽资源L' 3表示 已成功映射的链路集合,表示链路0上备份占用的带宽资源。
[0026] 5、根据权利要求1所述的一种基于Openf low网络高容错性虚拟网络映射算法,其 特征在于:确定优化目标中优化目标函数为:
[0027] 0(pbs^) =max{min[Sr(^,)]},Iis GLrs⑨
[0028] Pbsf表示映射判断过程中的最优解,O(Pbsf)表示在映射的过程从满足要求的几组 映射链路的集合中,比较每组链路集合中剩余带宽最小的链路,选取最大的那组解作为最 优解。
[0029] 计算蚁群算法相应参数,完成节点映射的步骤包括:将步骤1和步骤2中 Openflow控制器获得的负载信息作为蚁群算法的输入,计算出蚁群算法的启发因子矩阵 n、信息度浓度矩阵T,根据这两个参数得到选择函数矩阵p ;根据选择函数矩阵p产生 200~500个节点位置序列,每个位置序列表示一只蚂蚁,构成蚂蚁种群;判断当前位置序 列是否满足步骤2中约束条件,若满足,则更新底层网络信息G s= (Ns,Ls),迭代次数加1 ; 若不满足,则保持当前位置,迭代次数加1 ;根据信息素更新虚拟节点对物理节点的映射概 率,重复步骤4,进行蚁群算法的迭代,设置迭代次数为1000,得到虚拟网络节点N v映射到 物理网络节点的集合N's。
[0030] 所述的启发因子矩阵n为
[0031] H = Ln1 n2n3--- rIi... nn] ⑩
[0032]ni表示i节点的度,指和该节点相关联的边的条数;
[0033]所述的信息度浓度矩阵T为
[0037] T u(t)表示配对(i,j)上总信息素浓度,配对(i,j)表示虚拟网络节点i映射到 底层物理网络节点j上,P表示信息素的衰减速率,A表示信息素的增量;〇( Pbsf)表示本 次循环为止的最优解所对应的目标函数值,9表示最优解对信息素的影响因子;
[0038] 得到选择函数矩阵p的方法为:
[0041] 式中a和0分别表示信息素浓度和启发因子的权重,Tabuk为第k只蚂蚁的禁忌 列表,即不能映射的物理节点集合。
[0042] 所述的完成节点映射后利用Di jkstra算法完成链路映射及映射链路的备份,故 障恢复和优化。
[0043] 所述的利用Di jkstra算法完成链路映射及映射链路的备份的方法为:根据蚁群 算法的迭代结果得到的映射节点集合N' 3和Openflow控制器收集的路由信息,将虚拟网 络请求拓扑抽象为一个带权有向图,用Openflow控制
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1