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

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

Info

Publication number
CN104993941B
CN104993941B CN201510246600.0A CN201510246600A CN104993941B CN 104993941 B CN104993941 B CN 104993941B CN 201510246600 A CN201510246600 A CN 201510246600A CN 104993941 B CN104993941 B CN 104993941B
Authority
CN
China
Prior art keywords
link
network
represent
mapping
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510246600.0A
Other languages
English (en)
Other versions
CN104993941A (zh
Inventor
赵海峰
王琨
余晓衫
刘炫璋
顾华玺
于文青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201510246600.0A priority Critical patent/CN104993941B/zh
Publication of CN104993941A publication Critical patent/CN104993941A/zh
Application granted granted Critical
Publication of CN104993941B publication Critical patent/CN104993941B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于Openflow网络高容错性虚拟网络映射算法,SDN的控制层实时获取底层支持Openflow协议的网络设备负载信息,并动态更新;通过对应用层不同应用业务的需求分析,得到建立虚拟网络的请求的数据,根据蚁群算法计算出满足映射要求的虚拟网络;控制层将虚拟网络部署到底层网络设备上,满足个性化需求。提高了虚拟网络的容错能力和故障恢复能力,保障了QoS,提高了网络的鲁棒性。

Description

一种基于Openflow网络高容错性虚拟网络映射算法
技术领域
本发明涉及一种网络映射算法,具体涉及一种基于Openflow网络高容错性虚拟网络映射算法。
背景技术
网络虚拟化是下一代互联网体系架构的核心组成部分,它通过对底层基础设施进行抽象并提供统一的可编程接口,将多个彼此隔离且具有不同拓扑的虚拟网络同时映射到公用的基础设施上,为用户提供差异化服务。网络虚拟化使在不影响现有网络的前提下部署新的网络架构、协议以及应用成为可能,从而有效支持网络技术的创新。基于Openflow协议的SDN(Software Defined Networks)是网络虚拟化技术的应用。在SDN网络中控制平面与数据平面相互分离,支持用户定义自己的虚拟网络,定义自己的网络规则和控制策略,网络服务提供者能够为用户提供端到端的可控的网络服务,甚至能够在硬件设备上直接添加新的应用。这都使得SDN网络非常适合于研究网络虚拟化技术。这种可编程的网络平台不仅能解开网络软件与特定硬件之间的挂钩,还能将网络软件的智能性和硬件的高速性充分结合在一起,使得网络变得更加智能与灵活。
实现网络虚拟化需要克服的最大问题是如何在满足各种资源限制条件下,将不同拓扑的异构虚拟网络并行、高效地映射到底层基础设施中。现有虚拟网络映射算法存在的问题:
1、资源利用率较低
现有虚拟网络映射算法有贪婪式的映射算法,抢占底层资源,会造成局部链路负载过大,很多闲置链路未得到充分利用,造成资源的浪费,同时使得后面到达的虚拟网络请求无法满足。还有些改良的算法如面向负载均衡的虚拟网络映射算法、基于流量约束的虚拟网络映射算法等,这些映射算法对网络的某一方面进行了改善,但是都存在资源利用率不高的问题。
2、网络容错性能不佳
当已映射的虚拟网络发生故障时,如何保证应用的需求不会终止,保障网络的可用性,这就对网络的容错性能提出了很高要求。据资料显示,骨干网中单链路故障占全部故障的70%,是最容易发生的问题。因此解决网络容错的问题主要取决于单链路故障的恢复机制。解决链路故障常用方法有:
(1)对发生故障网络重新映射
这种方法付出的代价是会带来很大的时延,一旦链路发生故障用户就要等待系统完成新的映射。在一些对时延要求比较高的应用或者业务上会给用户带来很差的体验,如视频业务。
(2)预留资源,为每条链路做备份路径
当映射网络中链路发生故障,立刻启用备份链路,这样会使故障恢复的时延大大减小。但是同时付出的代价是资源利用率低,特别是每条链路的带宽资源是有限的,一条链路可能同时会作为多个业务的备份链路,但这些业务并非同时发生故障,即当为这些业务预留的资源达到链路的最大值后,该链路将无法再为其他业务做备份链路,这就导致该链路作为备份链路的利用率不高。
发明内容
本发明的目的在于克服上述现有技术中存在的缺点,提供一种基于Openflow网络高容错性虚拟网络映射算法,具有提高网络资源的利用效率,改善虚拟网络的容错性能的优点。
为实现上述目的,本发明采用以下技术方案:包括以下步骤:
步骤1:SDN控制器获取底层网络信息和虚拟网络请求信息;
步骤2:确定映射约束条件;
步骤3:确定优化目标;
步骤4:计算蚁群算法相应参数,完成节点映射。
所述的SDN控制器获取底层网络信息的方式为:SDN控制器实时获取底层Openflow网络信息,包括节点信息、链路信息、每条链路带宽资源信息B(ls),控制器获取的网络信息用一个有权无向图Gs=(Ns,Ls)表示,其中Ns表示底层物理网络节点的集合,Ls底层物理网络链路的集合;每个物理节点ns∈Ns,每条链路ls∈Ls
所述的获取虚拟网络请求信息的方式为:根据业务要求得到虚拟网络建立请求的信息,用无向图表示Gv=(Nv,Lv),Nv表示虚拟网络节点的集合,每个虚拟节点nv∈Nv,Lv虚拟网络链路的集合,每条链路lv∈Lv,需要的带宽资源R(lv)。
所述的确定映射约束条件的方式为:令表示已经完成的虚拟节点到物理节点的映射,表示已经完成的虚拟链路到物理链路的映射,则节点、链路约束条件:
xij表示虚拟网络与物理网络节点映射关系,xij=1表示虚拟网络节点成功映射到物理网络节点上,否则xij=0;yij表示虚拟网络与物理网络链路映射关系,yij=1表示虚拟网络链路成功映射到物理网络的一条或者多个节点组成的链路上,否则yij=0;表示虚拟链路需要的带宽,表示该虚拟链路映射到物理链路所剩余的带宽资源;引入相关系数和概率门限值δ,它表示不同属性虚拟网络的一个相关程度,相关系数越大,表示相关程度越高,链路同时发生故障的概率越大;相反,相关系数越小,表示相关程度越小,链路同时发生故障的概率越小;令Lb表示上已备份的链路集合:
⑦中[ρij-δ]表示对结果向下取整,当ρij≥δ时,结果为0;当ρij≤δ时,结果为-1;表示成功映射到链路上的虚拟链路占用的带宽资源,L's表示已成功映射的链路集合,表示链路上备份占用的带宽资源。
确定优化目标中优化目标函数为:
pbsf表示映射判断过程中的最优解,O(pbsf)表示在映射的过程从满足要求的几组映射链路的集合中,比较每组链路集合中剩余带宽最小的链路,选取最大的那组解作为最优解。
计算蚁群算法相应参数,完成节点映射的步骤包括:将步骤1和步骤2中Openflow控制器获得的负载信息作为蚁群算法的输入,计算出蚁群算法的启发因子矩阵η、信息度浓度矩阵τ,根据这两个参数得到选择函数矩阵p;根据选择函数矩阵p产生200~500个节点位置序列,每个位置序列表示一只蚂蚁,构成蚂蚁种群;判断当前位置序列是否满足步骤2中约束条件,若满足,则更新底层网络信息Gs=(Ns,Ls),迭代次数加1;若不满足,则保持当前位置,迭代次数加1;根据信息素更新虚拟节点对物理节点的映射概率,重复步骤4,进行蚁群算法的迭代,设置迭代次数为1000,得到虚拟网络节点Nv映射到物理网络节点的集合Ns′。
所述的启发因子矩阵η为
η=[η1η2η3...ηi...ηn] ⑩
ηi表示i节点的度,指和该节点相关联的边的条数;
所述的信息度浓度矩阵τ为
τij(t)表示配对(i,j)上总信息素浓度,配对(i,j)表示虚拟网络节点i映射到底层物理网络节点j上,ρ表示信息素的衰减速率,Δ表示信息素的增量;O(pbsf)表示本次循环为止的最优解所对应的目标函数值,θ表示最优解对信息素的影响因子;
得到选择函数矩阵p的方法为:
式中α和β分别表示信息素浓度和启发因子的权重,Tabuk为第k只蚂蚁的禁忌列表,即不能映射的物理节点集合。
所述的完成节点映射后利用Dijkstra算法完成链路映射及映射链路的备份、故障恢复和优化。
所述的利用Dijkstra算法完成链路映射及映射链路的备份的方法为:根据蚁群算法的迭代结果得到的映射节点集合Ns′和Openflow控制器收集的路由信息,将虚拟网络请求拓扑抽象为一个带权有向图,用Openflow控制器收集的路由信息作为该带权有向图中两点之间可用的路径,由Dijkstra算法,对虚拟网络节点到映射底层物理节点的做如下计算:
⑴选取一个Ns′集合中一个物理节点ns作为虚拟网络映射的一个起点s,迭代结果位置作为终点n,把带权有向图中顶点集合分成两组Us、Ur,用Us表示一组已求出最短路径的顶点集合,初始时Us中只有一个起点s;用Ur表示一组未确定最短路径的顶点集合;
⑵以步骤2中链路的约束条件作为链路映射选择的判决条件:
在满足链路约束的情况下,按最短路径长度的递增次序依次把集合Ur的顶点加入Us中,在加入的过程中,总保持从起点s到Us中各顶点的最短路径长度不大于从起点s到Ur中任何顶点的最短路径长度;
⑶每求得一条最短路径,就将该顶点从集合Ur加入到集合Us中,直到终点t加入到Us中,此时s到t的最短路径就是虚拟网络链路对应的映射;若物理网络中找不到链路满足要求,返回重新进行节点映射;
⑷更新节点和链路的信息,即更新有向图的节点和权值,去除已映射的节点和链路的占用,重复备份步骤,再次映射完成链路的备份。
所述的故障恢复方法为:当映射链路发生故障时,立刻启用备份链路,令“映射链路”=“备份链路”,减少因链路故障带来的时延,同时Openflow控制器更新底层网络信息,除去发生故障的链路,再次执行故障恢复操作,完成新的备份;
所述的优化方法为:根据Openflow控制器获取的底层网络负载信息变化,每24小时更新一次,保证系统处于优化状态。
本发明具有以下的有益效果:相比较现有技术,本发明通过步骤1:SDN控制器获取底层网络信息和虚拟网络请求信息;步骤2:确定映射约束条件;步骤3:确定优化目标;步骤4:计算蚁群算法相应参数,完成节点映射。SDN的控制层实时获取底层支持Openflow协议的网络设备负载信息,并动态更新;通过对应用层不同应用业务的需求分析,得到建立虚拟网络的请求的数据,根据蚁群算法计算出满足映射要求的虚拟网络;控制层将虚拟网络部署到底层网络设备上,满足个性化需求。提高了虚拟网络的容错能力和故障恢复能力,保障了QoS,提高了网络的鲁棒性。
进一步的,由于完成节点映射后利用Dijkstra算法完成链路映射及映射链路的备份、故障恢复和优化,从而证每个成功映射的虚拟网络高效运行,在故障的时候也都能即使采用备份链路恢复,又根据虚拟网络相关性,减小了负相关性的虚拟网络备份链路对链路资源的占用,提高了链路的利用效率;通过调整概率门限值δ,能够调整一条链路上备份链路的数量。
附图说明
图1是本发明的流程图。
具体实施方式
下面结合附图,对本发明作进一步详细说明。
参见图1,本发明包括以下步骤:
步骤1:SDN控制器获取底层网络信息和虚拟网络请求信息;
步骤2:确定映射约束条件;
步骤3:确定优化目标;
步骤4:计算蚁群算法相应参数,完成节点映射。
SDN控制器获取底层网络信息的方式为:SDN控制器实时获取底层Openflow网络信息,包括节点信息、链路信息、每条链路带宽资源信息B(ls),控制器获取的网络信息用一个有权无向图Gs=(Ns,Ls)表示,其中Ns表示底层物理网络节点的集合,Ls底层物理网络链路的集合;每个物理节点ns∈Ns,每条链路ls∈Ls
获取虚拟网络请求信息的方式为:根据业务要求得到虚拟网络建立请求的信息,用无向图表示Gv=(Nv,Lv),Nv表示虚拟网络节点的集合,每个虚拟节点nv∈Nv,Lv虚拟网络链路的集合,每条链路lv∈Lv,需要的带宽资源R(lv)。
确定映射约束条件的方式为:令表示已经完成的虚拟节点到物理节点的映射,表示已经完成的虚拟链路到物理链路的映射,则节点、链路约束条件:
xij表示虚拟网络与物理网络节点映射关系,xij=1表示虚拟网络节点成功映射到物理网络节点上,否则xij=0;yij表示虚拟网络与物理网络链路映射关系,yij=1表示虚拟网络链路成功映射到物理网络的一条或者多个节点组成的链路上,否则yij=0;表示虚拟链路需要的带宽,表示该虚拟链路映射到物理链路所剩余的带宽资源;引入相关系数和概率门限值δ,它表示不同属性虚拟网络的一个相关程度,相关系数越大,表示相关程度越高,链路同时发生故障的概率越大;相反,相关系数越小,表示相关程度越小,链路同时发生故障的概率越小;令Lb表示上已备份的链路集合:
⑦中[ρij-δ]表示对结果向下取整,当ρij≥δ时,结果为0;当ρij≤δ时,结果为-1;表示成功映射到链路上的虚拟链路占用的带宽资源,L′s表示已成功映射的链路集合,表示链路上备份占用的带宽资源。
确定优化目标中优化目标函数为:
pbsf表示映射判断过程中的最优解,O(pbsf)表示在映射的过程从满足要求的几组映射链路的集合中,比较每组链路集合中剩余带宽最小的链路,选取最大的那组解作为最优解。
计算蚁群算法相应参数,完成节点映射的步骤包括:将步骤1和步骤2中Openflow控制器获得的负载信息作为蚁群算法的输入,计算出蚁群算法的启发因子矩阵η、信息度浓度矩阵τ,根据这两个参数得到选择函数矩阵p;根据选择函数矩阵p产生200~500个节点位置序列,每个位置序列表示一只蚂蚁,构成蚂蚁种群;判断当前位置序列是否满足步骤2中约束条件,若满足,则更新底层网络信息Gs=(Ns,Ls),迭代次数加1;若不满足,则保持当前位置,迭代次数加1;根据信息素更新虚拟节点对物理节点的映射概率,重复步骤4,进行蚁群算法的迭代,设置迭代次数为1000,得到虚拟网络节点Nv映射到物理网络节点的集合Ns'。
的启发因子矩阵η为
η=[η1 η2 η3...ηi...ηn] ⑩
ηi表示i节点的度,指和该节点相关联的边的条数;
所述的信息度浓度矩阵τ为
τij(t)表示配对(i,j)上总信息素浓度,配对(i,j)表示虚拟网络节点i映射到底层物理网络节点j上,ρ表示信息素的衰减速率,Δ表示信息素的增量;O(pbsf)表示本次循环为止的最优解所对应的目标函数值,θ表示最优解对信息素的影响因子;
得到选择函数矩阵p的方法为:
式中α和β分别表示信息素浓度和启发因子的权重,Tabuk为第k只蚂蚁的禁忌列表,即不能映射的物理节点集合。
完成节点映射后利用Dijkstra算法完成链路映射及映射链路的备份、故障恢复和优化。
利用Dijkstra算法完成链路映射及映射链路的备份的方法为:根据蚁群算法的迭代结果得到的映射节点集合N′s和Openflow控制器收集的路由信息,将虚拟网络请求拓扑抽象为一个带权有向图,用Openflow控制器收集的路由信息作为该带权有向图中两点之间可用的路径,由Dijkstra算法,对虚拟网络节点到映射底层物理节点的做如下计算:
⑴选取一个N's集合中一个物理节点ns作为虚拟网络映射的一个起点s,迭代结果位置作为终点n,把带权有向图中顶点集合分成两组Us、Ur,用Us表示一组已求出最短路径的顶点集合,初始时Us中只有一个起点s;用Ur表示一组未确定最短路径的顶点集合;
⑵以步骤2中链路的约束条件作为链路映射选择的判决条件:
在满足链路约束的情况下,按最短路径长度的递增次序依次把集合Ur的顶点加入Us中,在加入的过程中,总保持从起点s到Us中各顶点的最短路径长度不大于从起点s到Ur中任何顶点的最短路径长度;
⑶每求得一条最短路径,就将该顶点从集合Ur加入到集合Us中,直到终点t加入到Us中,此时s到t的最短路径就是虚拟网络链路对应的映射;若物理网络中找不到链路满足要求,返回重新进行节点映射;
⑷更新节点和链路的信息,即更新有向图的节点和权值,去除已映射的节点和链路的占用,重复备份步骤,再次映射完成链路的备份。
故障恢复方法为:当映射链路发生故障时,立刻启用备份链路,令“映射链路”=“备份链路”,减少因链路故障带来的时延,同时Openflow控制器更新底层网络信息,除去发生故障的链路,再次执行故障恢复操作,完成新的备份;
优化方法为:根据Openflow控制器获取的底层网络负载信息变化,每24小时更新一次,保证系统处于优化状态。
SDN的控制层实时获取底层支持Openflow协议的网络设备负载信息,并动态更新;通过对应用层不同应用业务的需求分析,得到建立虚拟网络的请求的数据,根据蚁群算法计算出满足映射要求的虚拟网络;控制层将虚拟网络部署到底层网络设备上,满足个性化需求。在故障恢复方面为虚拟网络的链路做备份路径,为充分利用链路资源,考虑一条链路同时作为多个虚拟网络的备份路径时,分析不同虚拟网络的相关性,相关性小的虚拟网络认为链路同时发生故障,需要将流量转移到备份路径上的概率较小。在为备份路径做带宽等资源预留时,不考虑相关性小于一定值的业务占用的资源,从而能够为更多应用的虚拟网络建立备份路径。具体步骤如下:步骤1SDN控制器获取底层网络信息和虚拟网络请求信息
1.1SDN控制器获取底层信息
SDN控制器实时获取底层Openflow网络信息,包括节点信息、链路信息、每条链路带宽资源信息B(ls),控制器获取的网络信息用一个有权无向图Gs=(Ns,Ls)表示,其中Ns表示底层物理网络节点的集合,Ls底层物理网络链路的集合。每个物理节点ns∈Ns,每条链路ls∈Ls
1.2处理虚拟网络请求
根据业务要求得到虚拟网络建立请求的信息,用无向图表示Gv=(Nv,Lv),Nv表示虚拟网络节点的集合,每个虚拟节点nv∈Nv,Lv虚拟网络链路的集合,每条链路lv∈Lv,需要的带宽资源R(lv);
步骤2确定映射约束条件
表示已经完成的虚拟节点到物理节点的映射,表示已经完成的虚拟链路到物理链路的映射,则节点、链路约束条件:
xij表示虚拟网络与物理网络节点映射关系,xij=1表示虚拟网络节点成功映射到物理网络节点上,否则xij=0;yij表示虚拟网络与物理网络链路映射关系,yij=1表示虚拟网络链路成功映射到物理网络的一条或者多个节点组成的链路上,否则yij=0;表示虚拟链路需要的带宽,表示该虚拟链路映射到物理链路所剩余的带宽资源;引入相关系数和概率门限值δ,它表示不同属性虚拟网络的一个相关程度,相关系数越大,表示相关程度越高,链路同时发生故障的概率越大;相反,相关系数越小,表示相关程度越小,链路同时发生故障的概率越小;令Lb表示上已备份的链路集合:
⑦中表示对结果向下取整,当ρij≥δ时,结果为0;当ρij≤δ时,结果为-1;表示成功映射到链路上的虚拟链路占用的带宽资源,L′s表示已成功映射的链路集合,表示链路上备份占用的带宽资源。
步骤3确定优化目标
为充分利用每条链路上带宽资源,尽量让映射的网络分布不集中,保证每条链路的剩余带宽资源最大,从而满足其他映射需求。优化目标函数为:
pbsf表示映射判断过程中的最优解,O(pbsf)表示在映射的过程从满足要求的几组映射链路的集合中,比较每组链路集合中剩余带宽最小的链路,选取最大的那组解作为最优解。避免映射链路过于集中,导致拥塞。
步骤4计算蚁群算法相应参数,完成节点映射
将步骤1、2中Openflow控制器获得的负载信息作为蚁群算法的输入,计算出蚁群算法的启发因子矩阵η、信息度浓度矩阵τ,根据这两个参数得到选择函数矩阵p;
4.1启发因子向量η
η=[η1 η2 η3...ηi...ηn] ⑩
ηi表示i节点的度,指和该节点相关联的边的条数。
4.2信息度浓度矩阵τ:
τij(t)表示配对(i,j)上总信息素浓度,配对(i,j)表示虚拟网络节点i映射到底层物理网络节点j上,ρ表示信息素的衰减速率,Δ表示信息素的增量;O(pbsf)表示本次循环为止的最优解所对应的目标函数值,θ表示最优解对信息素的影响因子。
4.3根据启发因子向量η和信息素浓度矩阵τ,计算选择函数矩阵p:
式中α和β分别表示信息素浓度和启发因子的权重,Tabuk为第k只蚂蚁的禁忌列表,即不能映射的物理节点集合。
4.4生成蚂蚁种群,迭代出最优映射的节点集合
根据选择函数矩阵p产生200~500个节点位置序列,每个位置序列表示一只蚂蚁,构成蚂蚁种群;判断当前位置序列是否满足步骤2中约束条件,若满足,则更新底层网络信息Gs=(Ns,Ls),迭代次数加1;若不满足,则保持当前位置,迭代次数加1;根据信息素更新虚拟节点对物理节点的映射概率,重复步骤4,进行蚁群算法的迭代,设置迭代次数为1000,得到虚拟网络节点Nv映射到物理网络节点的集合N's
步骤5利用Dijkstra算法完成链路映射及映射链路的备份
根据蚁群算法的迭代结果得到的映射节点集合N's和OpenFlow控制器收集的路由信息,将虚拟网络请求拓扑抽象为一个带权有向图,用OpenFlow控制器收集的路由信息作为该带权有向图中两点之间可用的路径,由Dijkstra算法,对虚拟网络节点到映射底层物理节点的做如下计算:
⑴选取一个N's集合中一个物理节点ns作为虚拟网络映射的一个起点s,步骤5迭代结果位置作为终点n,把带权有向图中顶点集合分成两组Us、Ur,用Us表示一组已求出最短路径的顶点集合,初始时Us中只有一个起点s;用Ur表示一组未确定最短路径的顶点集合;
⑵以步骤2中链路的约束条件作为链路映射选择的判决条件:
在满足链路约束的情况下,按最短路径长度的递增次序依次把集合Ur的顶点加入Us中,在加入的过程中,总保持从起点s到Us中各顶点的最短路径长度不大于从起点s到Ur中任何顶点的最短路径长度;
⑶每求得一条最短路径,就将该顶点从集合Ur加入到集合Us中,直到终点t加入到Us中,此时s到t的最短路径就是虚拟网络链路对应的映射;若物理网络中找不到链路满足要求,返回步骤5重新进行节点映射;
⑷更新节点和链路的信息,即更新有向图的节点和权值,去除已映射的节点和链路的占用,重复步骤5,再次映射完成链路的备份。
步骤6故障恢复
当映射链路发生故障时,立刻启用备份链路,令“映射链路”=“备份链路”,减少因链路故障带来的时延,同时Openflow控制器更新底层网络信息,除去发生故障的链路,再次执行步骤6的操作,完成新的备份。
步骤7优化
根据Openflow控制器获取的底层网络负载信息变化,每24小时运行一次上述过程,保证系统处于优化状态。
本发明与现行技术相比具有如下优点:
⑴本发明在做备份时,即保证每个成功映射的虚拟网络高效运行,在故障的时候也都能即使采用备份链路恢复,又根据虚拟网络相关性,减小了负相关性的虚拟网络备份链路对链路资源的占用,提高了链路的利用效率;通过调整概率门限值δ,能够调整一条链路上备份链路的数量;
⑵提高了虚拟网络的容错能力和故障恢复能力,保障了QoS,提高了网络的鲁棒性。

Claims (9)

1.一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:包括以下步骤:
步骤1:SDN控制器获取底层网络信息和虚拟网络请求信息;
步骤2:确定映射约束条件;
步骤3:确定优化目标;
确定优化目标中优化目标函数为:
Pbsf表示映射判断过程中的最优解,O(pbsf)表示在映射的过程从满足要求的几组映射链路的集合中,比较每组链路集合中剩余带宽最小的链路,选取最大的那组解作为最优解;表示物理链路上剩余带宽;L's表示物理链路集合,表示集合中其中一个物理链路;
步骤4:计算蚁群算法相应参数,完成节点映射。
2.根据权利要求1所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:所述的SDN控制器获取底层网络信息的方式为:SDN控制器实时获取底层Openflow网络信息,包括节点信息、链路信息、每条链路带宽资源信息B(ls),控制器获取的网络信息用一个有权无向图Gs=(Ns,Ls)表示,其中Ns表示底层物理网络节点的集合,Ls底层物理网络链路的集合;每个物理节点ns∈Ns,每条链路ls∈Ls
3.根据权利要求1所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:所述的获取虚拟网络请求信息的方式为:根据业务要求得到虚拟网络建立请求的信息,用无向图表示Gv=(Nv,Lv),Nv表示虚拟网络节点的集合,每个虚拟节点nv∈Nv,Lv虚拟网络链路的集合,每条链路lv∈Lv,需要的带宽资源R(lv)。
4.根据权利要求1所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:所述的确定映射约束条件的方式为:令表示已经完成的虚拟节点到物理节点的映射,表示已经完成的虚拟链路到物理链路的映射,则节点、链路约束条件:
xij表示虚拟网络与物理网络节点映射关系,xij=1表示虚拟网络节点成功映射到物理网络节点上,否则xij=0;yij表示虚拟网络与物理网络链路映射关系,yij=1表示虚拟网络链路成功映射到物理网络的一条或者多个节点组成的链路上,否则yij=0;表示虚拟链路需要的带宽,表示该虚拟链路映射到物理链路所剩余的带宽资源;引入相关系数和概率门限值δ,它表示不同属性虚拟网络的一个相关程度,相关系数越大,表示相关程度越高,链路同时发生故障的概率越大;相反,相关系数越小,表示相关程度越小,链路同时发生故障的概率越小;令Lv表示上已备份的链路集合:
⑦中表示对结果向下取整,当ρij≥δ时,结果为0;当ρij≤δ时,结果为-1;表示成功映射到链路上的虚拟链路占用的带宽资源,L′s表示已成功映射的链路集合,表示链路上备份占用的带宽资源;
表示已完成虚拟网络到物理网络映射的虚拟网络节点集合,表示该虚拟网络中的节点,其中 表示物理网络节点集合,表示该物理网络中的节点,其中表示已完成的虚拟网络节点到物理网络节点的映射;表示已完成从虚拟网络到物理网络映射的虚拟链路集合,表示集合中的虚拟链路,其中 表示物理链路集合,表示集合中的物理链路,其中ρij表示i链路和j链路相关系数,取值范围为0到1,值越大相关性越大;表示链路备份占用带宽;表示物理链路总带宽。
5.根据权利要求1所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:计算蚁群算法相应参数,完成节点映射的步骤包括:将步骤1和步骤2中Openflow控制器获得的负载信息作为蚁群算法的输入,计算出蚁群算法的启发因子矩阵η、信息度浓度矩阵τ,根据这两个参数得到选择函数矩阵p;根据选择函数矩阵p产生200~500个节点位置序列,每个位置序列表示一只蚂蚁,构成蚂蚁种群;判断当前位置序列是否满足步骤2中约束条件,若满足,则更新底层网络信息Gs=(Ns,Ls),迭代次数加1;若不满足,则保持当前位置,迭代次数加1;根据信息素更新虚拟节点对物理节点的映射概率,重复步骤4,进行蚁群算法的迭代,设置迭代次数为1000,得到虚拟网络节点Nv映射到物理网络节点的集合N′s
6.根据权利要求5所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:所述的启发因子矩阵η为
η=[η1η2η3...ηi...ηn] ⑩
ηi表示i节点的度,指和该节点相关联的边的条数;
所述的信息度浓度矩阵τ为
τij(t)表示配对(i,j)上总信息素浓度,配对(i,j)表示虚拟网络节点i映射到底层物理网络节点j上,ρ表示信息素的衰减速率,Δ表示信息素的增量;O(pbsf)表示本次循环为止的最优解所对应的目标函数值,θ表示最优解对信息素的影响因子;
得到选择函数矩阵p的方法为:
式中α和β分别表示信息素浓度和启发因子的权重,Tabuk为第k只蚂蚁的禁忌列表,即不能映射的物理节点集合;
pbsf表示映射过程中最优解;V表示信息度浓度矩阵τ的列数;τij(t-1)表示上一时刻配对(i,j)上总信息素浓度,配对(i,j)表示虚拟网络节点i映射到底层物理网络节点j上;τij(t)表示配对(i,j)上的信息素浓度,ηij(t)表示配对(i,j)上的启发因子,τsj(t)表示配对(s,j)上的信息素浓度,ηsj(t)表示配对(s,j)上的启发因子,α和β分别表示信息素浓度和启发因子的权重。
7.根据权利要求1所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:所述的完成节点映射后利用Dijkstra算法完成链路映射及映射链路的备份、故障恢复和优化。
8.根据权利要求7所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:所述的利用Dijkstra算法完成链路映射及映射链路的备份的方法为:根据蚁群算法的迭代结果得到的映射节点集合N′s和Openflow控制器收集的路由信息,将虚拟网络请求拓扑抽象为一个带权有向图,用Openflow控制器收集的路由信息作为该带权有向图中两点之间可用的路径,由Dijkstra算法,对虚拟网络节点到映射底层物理节点的做如下计算:
⑴选取一个N′s集合中一个物理节点ns作为虚拟网络映射的一个起点s,迭代结果位置作为终点n,把带权有向图中顶点集合分成两组Us、Ur,用Us表示一组已求出最短路径的顶点集合,初始时Us中只有一个起点s;用Ur表示一组未确定最短路径的顶点集合;
⑵以步骤2中链路的约束条件作为链路映射选择的判决条件:
在满足链路约束的情况下,按最短路径长度的递增次序依次把集合Ur的顶点加入Us中,在加入的过程中,总保持从起点s到Us中各顶点的最短路径长度不大于从起点s到Ur中任何顶点的最短路径长度;
⑶每求得一条最短路径,就将该顶点从集合Ur加入到集合Us中,直到终点t加入到Us中,此时s到t的最短路径就是虚拟网络链路对应的映射;若物理网络中找不到链路满足要求,返回重新进行节点映射;
⑷更新节点和链路的信息,即更新有向图的节点和权值,去除已映射的节点和链路的占用,重复备份步骤,再次映射完成链路的备份;
Ls表示物理链路集合,表示集合中其中一个物理链路;Lv表示虚拟网络链路集合,表示集合中其中一个虚拟网络链路;yij表示虚拟网络与物理网络链路映射关系,yij=1表示虚拟网络链路成功映射到物理网络的一条或者多个节点组成的链路上,否则yij=0;表示虚拟链路需要的带宽;表示物理链路上剩余带宽。
9.根据权利要求7所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:
所述的故障恢复方法为:当映射链路发生故障时,立刻启用备份链路,令“映射链路”=“备份链路”,减少因链路故障带来的时延,同时Openflow控制器更新底层网络信息,除去发生故障的链路,再次执行故障恢复操作,完成新的备份;
所述的优化方法为:根据Openflow控制器获取的底层网络负载信息变化,每24小时更新一次,保证系统处于优化状态。
CN201510246600.0A 2015-05-14 2015-05-14 一种基于Openflow网络高容错性虚拟网络映射算法 Active CN104993941B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510246600.0A CN104993941B (zh) 2015-05-14 2015-05-14 一种基于Openflow网络高容错性虚拟网络映射算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510246600.0A CN104993941B (zh) 2015-05-14 2015-05-14 一种基于Openflow网络高容错性虚拟网络映射算法

Publications (2)

Publication Number Publication Date
CN104993941A CN104993941A (zh) 2015-10-21
CN104993941B true CN104993941B (zh) 2018-07-03

Family

ID=54305697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510246600.0A Active CN104993941B (zh) 2015-05-14 2015-05-14 一种基于Openflow网络高容错性虚拟网络映射算法

Country Status (1)

Country Link
CN (1) CN104993941B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105515844A (zh) * 2015-12-01 2016-04-20 国家电网公司 一种提高软件定义网络可靠性的系统
CN105530199B (zh) * 2015-12-04 2019-05-24 国网冀北电力有限公司信息通信分公司 基于sdn多域光网络虚拟化技术的资源映射方法及装置
CN105791279B (zh) * 2016-02-29 2018-12-18 中国人民解放军信息工程大学 一种拟态化sdn控制器构建方法
CN105978713B (zh) * 2016-05-06 2019-03-08 西安电子科技大学 虚拟网络映射中基于弹性光网络的资源分配方法
CN106059799B (zh) * 2016-05-19 2019-03-26 西安电子科技大学 面向sdn的弹性光网络下的虚拟网络映射方法
CN107592207B (zh) * 2016-07-07 2022-08-23 中兴通讯股份有限公司 一种网管业务数据管理方法和网管业务数据管理装置
CN106487707B (zh) * 2016-09-29 2019-06-18 北京邮电大学 一种电力通信虚拟容错网络映射方法及装置
CN107147530B (zh) * 2017-05-24 2020-01-10 西安交通大学 一种基于资源守恒的虚拟网络重配置方法
CN107196806B (zh) * 2017-06-09 2019-12-24 西安电子科技大学 基于子图辐射的拓扑临近匹配虚拟网络映射方法
CN108092706B (zh) * 2017-08-02 2020-11-03 大连大学 一种映射方法
CN108471358B (zh) * 2018-03-20 2021-02-12 河北工程大学 一种基于最小生成树的虚拟网络保护性映射方法
CN110365514B (zh) * 2019-05-24 2020-10-16 北京邮电大学 基于强化学习的sdn多级虚拟网络映射方法和装置
CN110213149B (zh) * 2019-05-30 2021-02-26 西安邮电大学 一种基于节点熵的虚拟网络映射方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763174A (zh) * 2014-01-08 2014-04-30 浙江工商大学 一种基于功能块的虚拟网络映射方法
CN103929334A (zh) * 2013-01-11 2014-07-16 华为技术有限公司 网络异常通知方法和装置
CN104243196A (zh) * 2013-06-21 2014-12-24 中兴通讯股份有限公司 一种sdn架构下的虚拟网络映射保护方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2740242B8 (en) * 2011-08-04 2019-01-23 Mido Holdings Ltd. System and method for implementing and managing virtual networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103929334A (zh) * 2013-01-11 2014-07-16 华为技术有限公司 网络异常通知方法和装置
CN104243196A (zh) * 2013-06-21 2014-12-24 中兴通讯股份有限公司 一种sdn架构下的虚拟网络映射保护方法及系统
CN103763174A (zh) * 2014-01-08 2014-04-30 浙江工商大学 一种基于功能块的虚拟网络映射方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Virtual Network Embedding with Coordinated Node and Link Mapping;N. M. M. K. Chowdhury et al;《INFOCOM 2009, IEEE》;20090602;全文 *
基于Openflow网络的高可靠性虚拟网络映射算法;蔡进科等;《电子与信息学报》;20140215;第36卷(第2期);第1-5页 *

Also Published As

Publication number Publication date
CN104993941A (zh) 2015-10-21

Similar Documents

Publication Publication Date Title
CN104993941B (zh) 一种基于Openflow网络高容错性虚拟网络映射算法
CN113708972B (zh) 一种服务功能链部署方法、装置、电子设备及存储介质
CN102904794A (zh) 一种虚拟网络映射方法和装置
CN112738820A (zh) 一种服务功能链的动态部署方法、装置及计算机设备
CN112600759B (zh) 基于深度强化学习在Overlay网络下多路径流量调度方法及系统
CN108684046B (zh) 一种基于随机学习的接入网服务功能链部署方法
CN108566659A (zh) 一种基于可靠性的5g网络切片在线映射方法
CN108874525A (zh) 一种面向边缘计算环境的服务请求分配方法
CN107979545B (zh) 一种基于节点属性的虚拟网络映射方法
CN104317646B (zh) 基于OpenFlow框架下云数据中心虚拟机调度方法
CN110995619B (zh) 一种服务质量感知的虚拟网络映射方法和装置
CN107948083A (zh) 一种基于增强学习的sdn数据中心拥塞控制方法
CN111585811B (zh) 一种基于多智能体深度强化学习的虚拟光网络映射方法
CN106817306B (zh) 一种确定目标路由的方法及装置
CN106161270B (zh) 一种网络部署方法
CN109347657B (zh) Sdn模式下支撑科技业务的虚拟数据域构建方法
Huang et al. A topology-cognitive algorithm framework for virtual network embedding problem
CN111885493B (zh) 一种基于改进布谷鸟搜索算法的微云部署方法
Hsu et al. Virtual network mapping algorithm in the cloud infrastructure
CN107483355B (zh) 面向数据中心的在线场景低带宽开销流量调度方案
CN107360235B (zh) 一种基于可靠性分级的任务迁移方法
CN104298539B (zh) 基于网络感知的虚拟机调度与再调度方法
CN107835130A (zh) 一种流量分配方法及装置
CN109257282A (zh) 一种数据传输方法及装置
CN110958192B (zh) 一种基于虚拟交换机的虚拟数据中心资源分配系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant