CN104993941A - 一种基于Openflow网络高容错性虚拟网络映射算法 - Google Patents
一种基于Openflow网络高容错性虚拟网络映射算法 Download PDFInfo
- Publication number
- CN104993941A CN104993941A CN201510246600.0A CN201510246600A CN104993941A CN 104993941 A CN104993941 A CN 104993941A CN 201510246600 A CN201510246600 A CN 201510246600A CN 104993941 A CN104993941 A CN 104993941A
- Authority
- CN
- China
- Prior art keywords
- link
- network
- represent
- node
- virtual network
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols 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协议的SDN(Software DefinedNetworks)是网络虚拟化技术的应用。在SDN网络中控制平面与数据平面相互分离,支持用户定义自己的虚拟网络,定义自己的网络规则和控制策略,网络服务提供者能够为用户提供端到端的可控的网络服务,甚至能够在硬件设备上直接添加新的应用。这都使得SDN网络非常适合于研究网络虚拟化技术。这种可编程的网络平台不仅能解开网络软件与特定硬件之间的挂钩,还能将网络软件的智能性和硬件的高速性充分结合在一起,使得网络变得更加智能与灵活。
实现网络虚拟化需要克服的最大问题是如何在满足各种资源限制条件下,将不同拓扑的异构虚拟网络并行、高效地映射到底层基础设施中。现有虚拟网络映射算法存在的问题:
1、资源利用率较低
现有虚拟网络映射算法有贪婪式的映射算法,抢占底层资源,会造成局部链路负载过大,很多闲置链路未得到充分利用,造成资源的浪费,同时使得后面到达的虚拟网络请求无法满足。还有些改良的算法如面向负载均衡的虚拟网络映射算法、基于流量约束的虚拟网络映射算法等,这些映射算法对网络的某一方面进行了改善,但是都存在资源利用率不高的问题。
2、网络容错性能不佳
当已映射的虚拟网络发生故障时,如何保证应用的需求不会终止,保障网络的可用性,这就对网络的容错性能提出了很高要求。据资料显示,骨干网中单链路故障占全部故障的70%,是最容易发生的问题。因此解决网络容错的问题主要取决于单链路故障的恢复机制。解决链路故障常用方法有:
(1)对发生故障网络重新映射
这种方法付出的代价是会带来很大的时延,一旦链路发生故障用户就要等待系统完成新的映射。在一些对时延要求比较高的应用或者业务上会给用户带来很差的体验,如视频业务。
(2)预留资源,为每条链路做备份路径
当映射网络中链路发生故障,立刻启用备份链路,这样会使故障恢复的时延大大减小。但是同时付出的代价是资源利用率低,特别是每条链路的带宽资源是有限的,一条链路可能同时会作为多个业务的备份链路,但这些业务并非同时发生故障,即当为这些业务预留的资源达到链路的最大值后,该链路将无法再为其他业务做备份链路,这就导致该链路作为备份链路的利用率不高。
发明内容
本发明的目的在于克服上述现有技术中存在的缺点,提供一种基于Openflow网络高容错性虚拟网络映射算法,具有提高网络资源的利用效率,改善虚拟网络的容错性能的优点。
为实现上述目的,本发明采用以下技术方案:包括以下步骤:
步骤1:SDN控制器获取底层网络信息和虚拟网络请求信息;
步骤2:确定映射约束条件;
步骤3:确定优化目标;
步骤4:计算蚁群算法相应参数,完成节点映射。
所述的SDN控制器获取底层网络信息的方式为:SDN控制器实时获取底层Openflow网络信息,包括节点信息Ns、链路信息Ls、每条链路带宽资源信息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表示虚拟网络链路成功映射到物理网络的一条或者多个节点组成的链路上,否则表示虚拟链路需要的带宽,表示该虚拟链路映射到物理链路所剩余的带宽资源;引入相关系数ρ和概率门限值δ,它表示不同属性虚拟网络的一个相关程度,ρ越大,表示相关程度越高,链路同时发生故障的概率越大;相反ρ越小,表示相关程度越小,链路同时发生故障的概率越小;令Lb表示上已备份的链路集合,表示物理链路上为其他虚拟网络链路备份占用的相关剩余带宽资源;它表示这条链路上与的相关性大于门限值δ的备份链路占用的带宽资源,表示上已备份的链路集合,则:
⑦
⑦中表示对结果向下取整,当ρij≥δ时,结果为0;当ρij≤δ时,结果为-1;表示成功映射到链路上的虚拟链路占用的带宽资源L′s表示已成功映射的链路集合,表示链路上备份占用的带宽资源。
5、根据权利要求1所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:确定优化目标中优化目标函数为:
pbsf表示映射判断过程中的最优解,O(pbsf)表示在映射的过程从满足要求的几组映射链路的集合中,比较每组链路集合中剩余带宽最小的链路,选取最大的那组解作为最优解。
计算蚁群算法相应参数,完成节点映射的步骤包括:将步骤1和步骤2中Openflow控制器获得的负载信息作为蚁群算法的输入,计算出蚁群算法的启发因子矩阵η、信息度浓度矩阵τ,根据这两个参数得到选择函数矩阵p;根据选择函数矩阵p产生200~500个节点位置序列,每个位置序列表示一只蚂蚁,构成蚂蚁种群;判断当前位置序列是否满足步骤2中约束条件,若满足,则更新底层网络信息Gs=(Ns,Ls),迭代次数加1;若不满足,则保持当前位置,迭代次数加1;根据信息素更新虚拟节点对物理节点的映射概率,重复步骤4,进行蚁群算法的迭代,设置迭代次数为1000,得到虚拟网络节点Nv映射到物理网络节点的集合N′s。
所述的启发因子矩阵η为
η=[η1 η2 η3 ... ηi ... ηn] ⑩
ηi表示i节点的度,指和该节点相关联的边的条数;
所述的信息度浓度矩阵τ为
τij(t)=ρ×τij(t-1)+Δ
τij(t)表示配对(i,j)上总信息素浓度,配对(i,j)表示虚拟网络节点i映射到底层物理网络节点j上,ρ表示信息素的衰减速率,Δ表示信息素的增量;O(pbsf)表示本次循环为止的最优解所对应的目标函数值,θ表示最优解对信息素的影响因子;
得到选择函数矩阵p的方法为:
式中α和β分别表示信息素浓度和启发因子的权重,Tabuk为第k只蚂蚁的禁忌列表,即不能映射的物理节点集合。
所述的完成节点映射后利用Dijkstra算法完成链路映射及映射链路的备份,故障恢复和优化。
所述的利用Dijkstra算法完成链路映射及映射链路的备份的方法为:根据蚁群算法的迭代结果得到的映射节点集合N′s和Openflow控制器收集的路由信息,将虚拟网络请求拓扑抽象为一个带权有向图,用Openflow控制器收集的路由信息作为该带权有向图中两点之间可用的路径,由Dijkstra算法,对虚拟网络节点到映射底层物理节点的做如下计算:
(1)选取一个N′s集合中一个物理节点ns作为虚拟网络映射的一个起点s,迭代结果位置作为终点n,把带权有向图中顶点集合分成两组Us、Ur,用Us表示一组已求出最短路径的顶点集合,初始时Us中只有一个起点s;用Ur表示一组未确定最短路径的顶点集合;
(2)以步骤2中链路的约束条件作为链路映射选择的判决条件:
在满足链路约束的情况下,按最短路径长度的递增次序依次把集合Ur的顶点加入Us中,在加入的过程中,总保持从起点s到Us中各顶点的最短路径长度不大于从起点s到Ur中任何顶点的最短路径长度;
(3)每求得一条最短路径,就将该顶点从集合Ur加入到集合Us中,直到终点t加入到Us中,此时s到t的最短路径就是虚拟网络链路对应的映射;若物理网络中找不到链路满足要求,返回重新进行节点映射;
(4)更新节点和链路的信息,即更新有向图的节点和权值,去除已映射的节点和链路的占用,重复备份步骤,再次映射完成链路的备份。
所述的故障恢复方法为:当映射链路发生故障时,立刻启用备份链路,令“映射链路”=“备份链路”,减少因链路故障带来的时延,同时Openflow控制器更新底层网络信息,除去发生故障的链路,再次执行步链路备份操作,完成新的备份;
所述的优化方法为:根据Openflow控制器获取的底层网络负载信息变化,每24小时更新一次,保证系统处于优化状态。
本发明具有以下的有益效果:相比较现有技术,本发明通过步骤1:SDN控制器获取底层网络信息和虚拟网络请求信息;步骤2:确定映射约束条件;步骤3:确定优化目标;步骤4:计算蚁群算法相应参数,完成节点映射。SDN的控制层实时获取底层支持Openflow协议的网络设备负载信息,并动态更新;通过对应用层不同应用业务的需求分析,得到建立虚拟网络的请求的数据,根据蚁群算法计算出满足映射要求的虚拟网络;控制层将虚拟网络部署到底层网络设备上,满足个性化需求。提高了虚拟网络的容错能力和故障恢复能力,保障了QoS,提高了网络的鲁棒性。
进一步的,由于完成节点映射后利用Dijkstra算法完成链路映射及映射链路的备份,故障恢复和优化,从而证每个成功映射的虚拟网络高效运行,在故障的时候也都能即使采用备份链路恢复,又根据虚拟网络相关性,减小了负相关性的虚拟网络备份链路对链路资源的占用,提高了链路的利用效率;通过调整概率门限值δ,能够调整一条链路上备份链路的数量。
附图说明
图1是本发明的流程图。
具体实施方式
下面结合附图,对本发明作进一步详细说明。
参见图1,本发明包括以下步骤:
步骤1:SDN控制器获取底层网络信息和虚拟网络请求信息;
步骤2:确定映射约束条件;
步骤3:确定优化目标;
步骤4:计算蚁群算法相应参数,完成节点映射。
SDN控制器获取底层网络信息的方式为:SDN控制器实时获取底层Openflow网络信息,包括节点信息Ns、链路信息Ls、每条链路带宽资源信息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表示虚拟网络链路成功映射到物理网络的一条或者多个节点组成的链路上,否则表示虚拟链路需要的带宽,表示该虚拟链路映射到物理链路所剩余的带宽资源;引入相关系数ρ和概率门限值δ,它表示不同属性虚拟网络的一个相关程度,ρ越大,表示相关程度越高,链路同时发生故障的概率越大;相反ρ越小,表示相关程度越小,链路同时发生故障的概率越小;令Lb表示上已备份的链路集合,表示物理链路上为其他虚拟网络链路备份占用的相关剩余带宽资源;它表示这条链路上与的相关性大于门限值δ的备份链路占用的带宽资源,表示上已备份的链路集合,则:
⑦
⑦中表示对结果向下取整,当ρ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映射到物理网络节点的集合N′s。
的启发因子矩阵η为
η=[η1 η2 η3 ... ηi ... ηn] ⑩
ηi表示i节点的度,指和该节点相关联的边的条数;
所述的信息度浓度矩阵τ为
τij(t)=ρ×τij(t-1)+Δ
τij(t)表示配对(i,j)上总信息素浓度,配对(i,j)表示虚拟网络节点i映射到底层物理网络节点j上,ρ表示信息素的衰减速率,Δ表示信息素的增量;O(pbsf)表示本次循环为止的最优解所对应的目标函数值,θ表示最优解对信息素的影响因子;
得到选择函数矩阵p的方法为:
式中α和β分别表示信息素浓度和启发因子的权重,Tabuk为第k只蚂蚁的禁忌列表,即不能映射的物理节点集合。
完成节点映射后利用Dijkstra算法完成链路映射及映射链路的备份,故障恢复和优化。
利用Dijkstra算法完成链路映射及映射链路的备份的方法为:根据蚁群算法的迭代结果得到的映射节点集合N′s和Openflow控制器收集的路由信息,将虚拟网络请求拓扑抽象为一个带权有向图,用Openflow控制器收集的路由信息作为该带权有向图中两点之间可用的路径,由Dijkstra算法,对虚拟网络节点到映射底层物理节点的做如下计算:
(1)选取一个N′s集合中一个物理节点ns作为虚拟网络映射的一个起点s,迭代结果位置作为终点n,把带权有向图中顶点集合分成两组Us、Ur,用Us表示一组已求出最短路径的顶点集合,初始时Us中只有一个起点s;用Ur表示一组未确定最短路径的顶点集合;
(2)以步骤2中链路的约束条件作为链路映射选择的判决条件:
在满足链路约束的情况下,按最短路径长度的递增次序依次把集合Ur的顶点加入Us中,在加入的过程中,总保持从起点s到Us中各顶点的最短路径长度不大于从起点s到Ur中任何顶点的最短路径长度;
(3)每求得一条最短路径,就将该顶点从集合Ur加入到集合Us中,直到终点t加入到Us中,此时s到t的最短路径就是虚拟网络链路对应的映射;若物理网络中找不到链路满足要求,返回重新进行节点映射;
(4)更新节点和链路的信息,即更新有向图的节点和权值,去除已映射的节点和链路的占用,重复备份步骤,再次映射完成链路的备份。
故障恢复方法为:当映射链路发生故障时,立刻启用备份链路,令“映射链路”=“备份链路”,减少因链路故障带来的时延,同时Openflow控制器更新底层网络信息,除去发生故障的链路,再次执行步链路备份操作,完成新的备份;
优化方法为:根据Openflow控制器获取的底层网络负载信息变化,每24小时更新一次,保证系统处于优化状态。
SDN的控制层实时获取底层支持Openflow协议的网络设备负载信息,并动态更新;通过对应用层不同应用业务的需求分析,得到建立虚拟网络的请求的数据,根据蚁群算法计算出满足映射要求的虚拟网络;控制层将虚拟网络部署到底层网络设备上,满足个性化需求。在故障恢复方面为虚拟网络的链路做备份路径,为充分利用链路资源,考虑一条链路同时作为多个虚拟网络的备份路径时,分析不同虚拟网络的相关性,相关性小的虚拟网络认为链路同时发生故障,需要将流量转移到备份路径上的概率较小。在为备份路径做带宽等资源预留时,不考虑相关性小于一定值的业务占用的资源,从而能够为更多应用的虚拟网络建立备份路径。具体步骤如下:
步骤1 SDN控制器获取底层网络信息和虚拟网络请求信息
1.1 SDN控制器获取底层信息
SDN控制器实时获取底层Openflow网络信息,包括节点信息Ns、链路信息Ls、每条链路带宽资源信息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表示虚拟网络链路成功映射到物理网络的一条或者多个节点组成的链路上,否则表示虚拟链路需要的带宽,表示该虚拟链路映射到物理链路所剩余的带宽资源;引入相关系数ρ和概率门限值δ,它表示不同属性虚拟网络的一个相关程度,ρ越大,表示相关程度越高,链路同时发生故障的概率越大;相反ρ越小,表示相关程度越小,链路同时发生故障的概率越小;令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)=ρ×τij(t-1)+Δ
τ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算法,对虚拟网络节点到映射底层物理节点的做如下计算:
(1)选取一个N′s集合中一个物理节点ns作为虚拟网络映射的一个起点s,步骤5迭代结果位置作为终点n,把带权有向图中顶点集合分成两组Us、Ur,用Us表示一组已求出最短路径的顶点集合,初始时Us中只有一个起点s;用Ur表示一组未确定最短路径的顶点集合;
(2)以步骤2中链路的约束条件作为链路映射选择的判决条件:
在满足链路约束的情况下,按最短路径长度的递增次序依次把集合Ur的顶点加入Us中,在加入的过程中,总保持从起点s到Us中各顶点的最短路径长度不大于从起点s到Ur中任何顶点的最短路径长度;
(3)每求得一条最短路径,就将该顶点从集合Ur加入到集合Us中,直到终点t加入到Us中,此时s到t的最短路径就是虚拟网络链路对应的映射;若物理网络中找不到链路满足要求,返回步骤5重新进行节点映射;
(4)更新节点和链路的信息,即更新有向图的节点和权值,去除已映射的节点和链路的占用,重复步骤5,再次映射完成链路的备份。
步骤6 故障恢复
当映射链路发生故障时,立刻启用备份链路,令“映射链路”=“备份链路”,减少因链路故障带来的时延,同时Openflow控制器更新底层网络信息,除去发生故障的链路,再次执行步骤6的操作,完成新的备份。
步骤7 优化
根据Openflow控制器获取的底层网络负载信息变化,每24小时运行一次上述过程,保证系统处于优化状态。
本发明与现行技术相比具有如下优点:
(1)本发明在做备份时,即保证每个成功映射的虚拟网络高效运行,在故障的时候也都能即使采用备份链路恢复,又根据虚拟网络相关性,减小了负相关性的虚拟网络备份链路对链路资源的占用,提高了链路的利用效率;通过调整概率门限值δ,能够调整一条链路上备份链路的数量;
(2)提高了虚拟网络的容错能力和故障恢复能力,保障了QoS,提高了网络的鲁棒性。
Claims (10)
1.一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:包括以下步骤:
步骤1:SDN控制器获取底层网络信息和虚拟网络请求信息;
步骤2:确定映射约束条件;
步骤3:确定优化目标;
步骤4:计算蚁群算法相应参数,完成节点映射。
2.根据权利要求1所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:所述的SDN控制器获取底层网络信息的方式为:SDN控制器实时获取底层Openflow网络信息,包括节点信息Ns、链路信息Ls、每条链路带宽资源信息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;表示虚拟链路需要的带宽,表示该虚拟链路映射到物理链路所剩余的带宽资源;引入相关系数ρ和概率门限值δ,它表示不同属性虚拟网络的一个相关程度,ρ越大,表示相关程度越高,链路同时发生故障的概率越大;相反ρ越小,表示相关程度越小,链路同时发生故障的概率越小;令Lb表示上已备份的链路集合,表示物理链路上为其他虚拟网络链路备份占用的相关剩余带宽资源;它表示这条链路上与的相关性大于门限值δ的备份链路占用的带宽资源,
表示上已备份的链路集合,则:
⑦
⑦中表示对结果向下取整,当ρij≥δ时,结果为0;当ρij≤δ时,结果为-1;表示成功映射到链路上的虚拟链路占用的带宽资源L′s表示已成功映射的链路集合,表示链路上备份占用的带宽资源。
5.根据权利要求1所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:确定优化目标中优化目标函数为:
pbsf表示映射判断过程中的最优解,P(pbsf)表示在映射的过程从满足要求的几组映射链路的集合中,比较每组链路集合中剩余带宽最小的链路,选取最大的那组解作为最优解。
6.根据权利要求1所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:计算蚁群算法相应参数,完成节点映射的步骤包括:将步骤1和步骤2中Openflow控制器获得的负载信息作为蚁群算法的输入,计算出蚁群算法的启发因子矩阵η、信息度浓度矩阵τ,根据这两个参数得到选择函数矩阵p;根据选择函数矩阵p产生200~500个节点位置序列,每个位置序列表示一只蚂蚁,构成蚂蚁种群;判断当前位置序列是否满足步骤2中约束条件,若满足,则更新底层网络信息Gs=(Ns,Ls),迭代次数加1;若不满足,则保持当前位置,迭代次数加1;根据信息素更新虚拟节点对物理节点的映射概率,重复步骤4,进行蚁群算法的迭代,设置迭代次数为1000,得到虚拟网络节点Nv映射到物理网络节点的集合N′s。
7.根据权利要求6所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:所述的启发因子矩阵η为
η=[η1 η2 η3 ... ηi ... ηn] ⑩
ηi表示i节点的度,指和该节点相关联的边的条数;
所述的信息度浓度矩阵τ为
τij(t)=ρ×τij(t-1)+Δ
τij(t)表示配对(i,j)上总信息素浓度,配对(i,j)表示虚拟网络节点i映射到底层物理网络节点j上,ρ表示信息素的衰减速率,Δ表示信息素的增量;O(pbsf)表示本次循环为止的最优解所对应的目标函数值,θ表示最优解对信息素的影响因子;
得到选择函数矩阵p的方法为:
式中α和β分别表示信息素浓度和启发因子的权重,Tabuk为第k只蚂蚁的禁忌列表,即不能映射的物理节点集合。
8.根据权利要求1所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:所述的完成节点映射后利用Dijkstra算法完成链路映射及映射链路的备份,故障恢复和优化。
9.根据权利要求8所述的一种基于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的最短路径就是虚拟网络链路对应的映射;若物理网络中找不到链路满足要求,返回重新进行节点映射;
⑷更新节点和链路的信息,即更新有向图的节点和权值,去除已映射的节点和链路的占用,重复备份步骤,再次映射完成链路的备份。
10.根据权利要求8所述的一种基于Openflow网络高容错性虚拟网络映射算法,其特征在于:
所述的故障恢复方法为:当映射链路发生故障时,立刻启用备份链路,令“映射链路”=“备份链路”,减少因链路故障带来的时延,同时Openflow控制器更新底层网络信息,除去发生故障的链路,再次执行步链路备份操作,完成新的备份;
所述的优化方法为:根据Openflow控制器获取的底层网络负载信息变化,每24小时更新一次,保证系统处于优化状态。
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 true CN104993941A (zh) | 2015-10-21 |
CN104993941B 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) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515844A (zh) * | 2015-12-01 | 2016-04-20 | 国家电网公司 | 一种提高软件定义网络可靠性的系统 |
CN105530199A (zh) * | 2015-12-04 | 2016-04-27 | 国网冀北电力有限公司信息通信分公司 | 基于sdn多域光网络虚拟化技术的资源映射方法及装置 |
CN105791279A (zh) * | 2016-02-29 | 2016-07-20 | 中国人民解放军信息工程大学 | 一种拟态化sdn控制器构建方法 |
CN105978713A (zh) * | 2016-05-06 | 2016-09-28 | 西安电子科技大学 | 虚拟网络映射中基于弹性光网络的资源分配方法 |
CN106059799A (zh) * | 2016-05-19 | 2016-10-26 | 西安电子科技大学 | 面向sdn的弹性光网络下的虚拟网络映射方法 |
CN106487707A (zh) * | 2016-09-29 | 2017-03-08 | 北京邮电大学 | 一种电力通信虚拟容错网络映射方法及装置 |
CN107147530A (zh) * | 2017-05-24 | 2017-09-08 | 西安交通大学 | 一种基于资源守恒的虚拟网络重配置方法 |
CN107196806A (zh) * | 2017-06-09 | 2017-09-22 | 西安电子科技大学 | 基于子图辐射的拓扑临近匹配虚拟网络映射方法 |
CN107276664A (zh) * | 2017-08-02 | 2017-10-20 | 大连大学 | 基于门限式负载的混合虚网映射方法 |
WO2018006791A1 (zh) * | 2016-07-07 | 2018-01-11 | 中兴通讯股份有限公司 | 一种网管业务数据管理方法和网管业务数据管理装置 |
CN108471358A (zh) * | 2018-03-20 | 2018-08-31 | 河北工程大学 | 一种基于最小生成树的虚拟网络保护性映射方法 |
CN110213149A (zh) * | 2019-05-30 | 2019-09-06 | 西安邮电大学 | 一种基于节点熵的虚拟网络映射算法 |
CN110365514A (zh) * | 2019-05-24 | 2019-10-22 | 北京邮电大学 | 基于强化学习的sdn多级虚拟网络映射方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763174A (zh) * | 2014-01-08 | 2014-04-30 | 浙江工商大学 | 一种基于功能块的虚拟网络映射方法 |
US20140195666A1 (en) * | 2011-08-04 | 2014-07-10 | Midokura Sarl | System and method for implementing and managing virtual networks |
CN103929334A (zh) * | 2013-01-11 | 2014-07-16 | 华为技术有限公司 | 网络异常通知方法和装置 |
CN104243196A (zh) * | 2013-06-21 | 2014-12-24 | 中兴通讯股份有限公司 | 一种sdn架构下的虚拟网络映射保护方法及系统 |
-
2015
- 2015-05-14 CN CN201510246600.0A patent/CN104993941B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140195666A1 (en) * | 2011-08-04 | 2014-07-10 | Midokura Sarl | System and method for implementing and managing virtual networks |
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)
Title |
---|
N. M. M. K. CHOWDHURY ET AL: "Virtual Network Embedding with Coordinated Node and Link Mapping", 《INFOCOM 2009, IEEE》 * |
蔡进科等: "基于Openflow网络的高可靠性虚拟网络映射算法", 《电子与信息学报》 * |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515844A (zh) * | 2015-12-01 | 2016-04-20 | 国家电网公司 | 一种提高软件定义网络可靠性的系统 |
CN105530199A (zh) * | 2015-12-04 | 2016-04-27 | 国网冀北电力有限公司信息通信分公司 | 基于sdn多域光网络虚拟化技术的资源映射方法及装置 |
CN105530199B (zh) * | 2015-12-04 | 2019-05-24 | 国网冀北电力有限公司信息通信分公司 | 基于sdn多域光网络虚拟化技术的资源映射方法及装置 |
CN105791279B (zh) * | 2016-02-29 | 2018-12-18 | 中国人民解放军信息工程大学 | 一种拟态化sdn控制器构建方法 |
CN105791279A (zh) * | 2016-02-29 | 2016-07-20 | 中国人民解放军信息工程大学 | 一种拟态化sdn控制器构建方法 |
CN105978713A (zh) * | 2016-05-06 | 2016-09-28 | 西安电子科技大学 | 虚拟网络映射中基于弹性光网络的资源分配方法 |
CN105978713B (zh) * | 2016-05-06 | 2019-03-08 | 西安电子科技大学 | 虚拟网络映射中基于弹性光网络的资源分配方法 |
CN106059799A (zh) * | 2016-05-19 | 2016-10-26 | 西安电子科技大学 | 面向sdn的弹性光网络下的虚拟网络映射方法 |
WO2018006791A1 (zh) * | 2016-07-07 | 2018-01-11 | 中兴通讯股份有限公司 | 一种网管业务数据管理方法和网管业务数据管理装置 |
CN106487707A (zh) * | 2016-09-29 | 2017-03-08 | 北京邮电大学 | 一种电力通信虚拟容错网络映射方法及装置 |
CN106487707B (zh) * | 2016-09-29 | 2019-06-18 | 北京邮电大学 | 一种电力通信虚拟容错网络映射方法及装置 |
CN107147530A (zh) * | 2017-05-24 | 2017-09-08 | 西安交通大学 | 一种基于资源守恒的虚拟网络重配置方法 |
CN107147530B (zh) * | 2017-05-24 | 2020-01-10 | 西安交通大学 | 一种基于资源守恒的虚拟网络重配置方法 |
CN107196806A (zh) * | 2017-06-09 | 2017-09-22 | 西安电子科技大学 | 基于子图辐射的拓扑临近匹配虚拟网络映射方法 |
CN107196806B (zh) * | 2017-06-09 | 2019-12-24 | 西安电子科技大学 | 基于子图辐射的拓扑临近匹配虚拟网络映射方法 |
CN108092706B (zh) * | 2017-08-02 | 2020-11-03 | 大连大学 | 一种映射方法 |
CN108092706A (zh) * | 2017-08-02 | 2018-05-29 | 大连大学 | 一种映射方法 |
CN107276664A (zh) * | 2017-08-02 | 2017-10-20 | 大连大学 | 基于门限式负载的混合虚网映射方法 |
CN107276664B (zh) * | 2017-08-02 | 2019-07-02 | 大连大学 | 基于门限式负载的混合虚网映射方法 |
CN108471358B (zh) * | 2018-03-20 | 2021-02-12 | 河北工程大学 | 一种基于最小生成树的虚拟网络保护性映射方法 |
CN108471358A (zh) * | 2018-03-20 | 2018-08-31 | 河北工程大学 | 一种基于最小生成树的虚拟网络保护性映射方法 |
CN110365514A (zh) * | 2019-05-24 | 2019-10-22 | 北京邮电大学 | 基于强化学习的sdn多级虚拟网络映射方法和装置 |
CN110365514B (zh) * | 2019-05-24 | 2020-10-16 | 北京邮电大学 | 基于强化学习的sdn多级虚拟网络映射方法和装置 |
CN110213149A (zh) * | 2019-05-30 | 2019-09-06 | 西安邮电大学 | 一种基于节点熵的虚拟网络映射算法 |
CN110213149B (zh) * | 2019-05-30 | 2021-02-26 | 西安邮电大学 | 一种基于节点熵的虚拟网络映射方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104993941B (zh) | 2018-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104993941A (zh) | 一种基于Openflow网络高容错性虚拟网络映射算法 | |
CN109684083B (zh) | 一种面向边缘-云异构下的多级事务调度分配策略 | |
Hong et al. | Achieving high utilization with software-driven WAN | |
CN108566659B (zh) | 一种基于可靠性的5g网络切片在线映射方法 | |
CN108965014B (zh) | QoS感知的服务链备份方法及系统 | |
CN103281245B (zh) | 确定业务路由路径的方法及装置 | |
CN112738820A (zh) | 一种服务功能链的动态部署方法、装置及计算机设备 | |
CN103812949B (zh) | 一种面向实时云平台的任务调度与资源分配方法及系统 | |
CN104994033A (zh) | 一种资源动态管理的SDN网络QoS保障方法 | |
CN105610715B (zh) | 一种基于sdn的云数据中心多虚拟机迁移调度计划方法 | |
CN103346922A (zh) | 基于sdn的确定网络状态的控制器及其确定方法 | |
CN112600759B (zh) | 基于深度强化学习在Overlay网络下多路径流量调度方法及系统 | |
CN106817306B (zh) | 一种确定目标路由的方法及装置 | |
CN112217725B (zh) | 一种基于边缘计算的延迟优化方法 | |
CN105721192A (zh) | 实现容量规划的方法和装置 | |
CN109286528A (zh) | 一种基于时延的sdn网络多控制器部署方法 | |
CN104317646A (zh) | 基于OpenFlow框架下云数据中心虚拟机调度方法 | |
CN107360235B (zh) | 一种基于可靠性分级的任务迁移方法 | |
CN106060145A (zh) | 一种分布式多云数据中心中基于收益的请求访问控制方法 | |
CN107018018A (zh) | 一种基于sdn的服务器增量在线升级方法及系统 | |
CN107835130A (zh) | 一种流量分配方法及装置 | |
CN105847146A (zh) | 一种提高层次分布式sdn控制平面路由效率的机制 | |
CN106230737B (zh) | 一种状态感知的软件定义组网方法 | |
CN110336709A (zh) | 一种基于排队网络的MPTCP Incast性能评价模型 | |
CN104298539A (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 |