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

文档序号:9276675阅读:来源:国知局
器收集的路由信息作为该带权有向 图中两点之间可用的路径,由Dijkstra算法,对虚拟网络节点到映射底层物理节点的做如 下计算:
[0044] (1)选取一个N' s集合中一个物理节点113作为虚拟网络映射的一个起点s,迭代 结果位置作为终点n,把带权有向图中顶点集合分成两组U s、仏,用Us表示一组已求出最短 路径的顶点集合,初始时1中只有一个起点s ;用L表示一组未确定最短路径的顶点集合;
[0045] (2)以步骤2中链路的约束条件作为链路映射选择的判决条件:
[0048] 在满足链路约束的情况下,按最短路径长度的递增次序依次把集合I的顶点加入 1中,在加入的过程中,总保持从起点 S到us中各顶点的最短路径长度不大于从起点s到 I中任何顶点的最短路径长度;
[0049] (3)每求得一条最短路径,就将该顶点从集合U,加入到集合U 3中,直到终点t加 入到1中,此时s到t的最短路径就是虚拟网络链路对应的映射;若物理网络中找不到链 路满足要求,返回重新进行节点映射;
[0050] (4)更新节点和链路的信息,即更新有向图的节点和权值,去除已映射的节点和链 路的占用,重复备份步骤,再次映射完成链路的备份。
[0051] 所述的故障恢复方法为:当映射链路发生故障时,立刻启用备份链路,令"映射链 路"="备份链路",减少因链路故障带来的时延,同时Openflow控制器更新底层网络信息, 除去发生故障的链路,再次执行步链路备份操作,完成新的备份;
[0052] 所述的优化方法为:根据Openflow控制器获取的底层网络负载信息变化,每24小 时更新一次,保证系统处于优化状态。
[0053] 本发明具有以下的有益效果:相比较现有技术,本发明通过步骤I :SDN控制器获 取底层网络信息和虚拟网络请求信息;步骤2 :确定映射约束条件;步骤3 :确定优化目标; 步骤4 :计算蚁群算法相应参数,完成节点映射。SDN的控制层实时获取底层支持Openflow 协议的网络设备负载信息,并动态更新;通过对应用层不同应用业务的需求分析,得到建立 虚拟网络的请求的数据,根据蚁群算法计算出满足映射要求的虚拟网络;控制层将虚拟网 络部署到底层网络设备上,满足个性化需求。提高了虚拟网络的容错能力和故障恢复能力, 保障了 Q〇S,提高了网络的鲁棒性。
[0054] 进一步的,由于完成节点映射后利用Dijkstra算法完成链路映射及映射链路的 备份,故障恢复和优化,从而证每个成功映射的虚拟网络高效运行,在故障的时候也都能即 使采用备份链路恢复,又根据虚拟网络相关性,减小了负相关性的虚拟网络备份链路对链 路资源的占用,提高了链路的利用效率;通过调整概率门限值S,能够调整一条链路上备 份链路的数量。
【附图说明】
[0055] 图1是本发明的流程图。
【具体实施方式】
[0056] 下面结合附图,对本发明作进一步详细说明。
[0057] 参见图1,本发明包括以下步骤:
[0058] 步骤I :SDN控制器获取底层网络信息和虚拟网络请求信息;
[0059] 步骤2 :确定映射约束条件;
[0060] 步骤3:确定优化目标;
[0061] 步骤4:计算蚁群算法相应参数,完成节点映射。
[0062] SDN控制器获取底层网络信息的方式为:SDN控制器实时获取底层Openflow网络 信息,包括节点信息Ns、链路信息L s、每条链路带宽资源信息B(Is),控制器获取的网络信息 用一个有权无向图Gs= (Ns,Ls)表示,其中Ns表示底层物理网络节点的集合,L 3底层物理 网络链路的集合;每个物理节点nsG Ns,每条链路IsG Ls。
[0063] 获取虚拟网络请求信息的方式为:根据业务要求得到虚拟网络建立请求的信息, 用无向图表示Gv= (Nv,Lv),Nv表示虚拟网络节点的集合,每个虚拟节AnvG N v,Lv虚拟网 络链路的集合,每条链路Ive L v,需要的带宽资源R(Iv)。
[0064] 确定映射约束条件的方式为:令表示已经完成的虚拟节点到 物理节点的映射,表示已经完成的虚拟链路到物理链路的映射,则节点、 链路约束条件:
[0065]
[0066] &.表示虚拟网络与物理网络节点映射关系,xu=l表示虚拟网络节点成功映射到 物理网络节点上,否则Xij= 0 ;y u表示虚拟网络与物理网络链路映射关系,y u= 1表示虚 拟网络链路成功映射到物理网络的一条或者多个节点组成的链路上,否则= 〇;R(〖i) 表示虚拟链路^需要的带宽,表示该虚拟链路映射到物理链路&所剩余的带宽资 源;引入相关系数P和概率门限值S,它表示不同属性虚拟网络的一个相关程度,p越大, 表示相关程度越高,链路同时发生故障的概率越大;相反P越小,表示相关程度越小,链路 同时发生故障的概率越小;令Lb表示#.上已备份的链路集合,表示物理链路^上为 其他虚拟网络链路备份占用的相关剩余带宽资源;它表示这条链路上与。的相关性大于 门限值S的备份链路占用的带宽资源,表示^上已备份的链路集合,则:
[0069] ⑦中- Sj表示对结果向下取整,当Pij彡S时,结果为〇 ;当p ij彡S时, 结果为-1 表示成功映射到链路g上的虚拟链路占用的带宽资源l' s表示 已成功映射的链路集合,表示链路g上备份占用的带宽资源。
[0070] 确定优化目标中优化目标函数为:
[0072] Pbsf表示映射判断过程中的最优解,O(Pbsf)表示在映射的过程从满足要求的几组 映射链路的集合中,比较每组链路集合中剩余带宽最小的链路,选取最大的那组解作为最 优解。
[0073] 计算蚁群算法相应参数,完成节点映射的步骤包括:将步骤1和步骤2中 Openflow控制器获得的负载信息作为蚁群算法的输入,计算出蚁群算法的启发因子矩阵 n、信息度浓度矩阵T,根据这两个参数得到选择函数矩阵p ;根据选择函数矩阵p产生 200~500个节点位置序列,每个位置序列表示一只蚂蚁,构成蚂蚁种群;判断当前位置序 列是否满足步骤2中约束条件,若满足,则更新底层网络信息G s= (Ns,Ls),迭代次数加1 ; 若不满足,则保持当前位置,迭代次数加1 ;根据信息素更新虚拟节点对物理节点的映射概 率,重复步骤4,进行蚁群算法的迭代,设置迭代次数为1000,得到虚拟网络节点N v映射到 物理网络节点的集合N' s。
[0074] 的启发因子矩阵n为
[0075] H = Ln1 n2n3--- rIi... nn] ⑩
[0076] Ili表示i节点的度,指和该节点相关联的边的条数;
[0077] 所述的信息度浓度矩阵T为
[0081] T u(t)表示配对(i,j)上总信息素浓度,配对(i,j)表示虚拟网络节点i映射到 底层物理网络节点j上,P表示信息素的衰减速率,A表示信息素的增量;O(P bsf)表示本 次循环为止的最优解所对应的目标函数值,9表示最优解对信息素的影响因子;
[0082] 得到选择函数矩阵p的方法为:
[0085] 式中a和0分别表示信息素浓度和启发因子的权重,Tabuk为第k只蚂蚁的禁忌 列表,即不能映射的物理节点集合。
[0086] 完成节点映射后利用Di jkstra算法完成链路映射及映射链路的备份,故障恢复 和优化。
[0087] 利用Di jkstra算法完成链路映射及映射链路的备份的方法为:根据蚁群算法的 迭代结果得到的映射节点集合N' JPOpenflow控制器收集的路由信息,将虚拟网络请 求拓扑抽象为一个带权有向图,用Openflow控制器收集的路由信息作为该带权有向图中 两点之间可用的路径,由Dijkstra算法,对虚拟网络节点到映射底层物理节点的做如下计 算:
[0088] (1)选取一个N' s集合中一个物理节点113作为虚拟网络映射的一个起点s,迭代 结果位置作为终点n,把带权有向图中顶点集合分成两组U s、仏,用Us表示一组已求出最短 路径的顶点集合,初始时1中只有一个起点s ;用L表示一组未确定最短路径的顶点集合;
[0089] (2)以步骤2中链路的约束条件作为链路映射选择的判决条件:
[0092] 在满足链路约束的情
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1