CN109495300A - 一种可靠的sdn虚拟网络映射算法 - Google Patents
一种可靠的sdn虚拟网络映射算法 Download PDFInfo
- Publication number
- CN109495300A CN109495300A CN201811321470.2A CN201811321470A CN109495300A CN 109495300 A CN109495300 A CN 109495300A CN 201811321470 A CN201811321470 A CN 201811321470A CN 109495300 A CN109495300 A CN 109495300A
- Authority
- CN
- China
- Prior art keywords
- link
- node
- physical
- backup
- virtual
- 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/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种可靠的SDN虚拟网络映射算法,引入了具有容错能力的虚拟网络映射模型,并通过混合整数线性规划方式求解。针对虚拟网络映射完后节点和链路失效问题,提出了联合主动保护和被动恢复的策略。在主动保护方面为虚拟网络请求中重要性高的虚拟节点和虚拟链路预留备份资源。针对节点和链路重要性高的拓扑如果发生故障,则故障恢复成功率较低,因此需要提前预留备份子网络保护可能发生故障的子网络,针对对节点和链路重要性较低的拓扑如果发生故障,则故障恢复容易成功,因此可以不用预留备份资源,只采用重映射方式进行故障恢复。本方法中重要性度量准则是基于虚拟网络中节点可行域资源占比和链路可恢复性。
Description
技术领域
本发明属于网络技术领域,涉及SDN(Software Defined Network,软件定义网络)网络中虚拟网络映射问题,特别涉及一种可靠的SDN虚拟网络映射算法,是一种SDN物理网络节点链路故障恢复的机制。
背景技术
1、SDN背景
随着网络规模的不断扩大,封闭的网络设备内置了过多的复杂协议,增加了运营商定制优化网络的难度,科研人员无法在真实环境中规模部署新协议。同时,互联网流量的快速增长,用户对流量的需求不断扩大,各种新型服务不断出现,增加了网络运维成本。为了解决TCP/IP网络体系结构的问题,业界提出了很多未来网络的架构,于是软件定义网络的概念被提了出来。SDN实现了网络控制平面与转发平面的分离,网络控制转发分离架构提出由专有设备来部署高层策略,网络设备在高层策略的指导下进行数据转发,减少了网络设备承载的诸多复杂功能,提高了网络新技术和新协议实现和部署的灵活性和可操作性。
2、SDN中可靠的虚拟网络映射常见方法
在SDN网络环境里,基础设施提供商(Infrastructure Providers,InPs)负责搭建和维护底层物理网络架构,并将物理网络资源租赁给服务提供商(Service Providers,SPs)使用,从而获得收益,SPs按需向InPs租赁资源用以构建定制化的vSDN网络,为客户提供定制化的端到端的网络服务。因此如何为SPs所定制化的虚拟SDN网络分配合适的物理网络资源即虚拟网络映射(Vitual Network Embedding,VNE)问题,对于提高物理网络资源利用率,增加InPs收益,减少虚拟网络请求阻碍率和拒绝率是VNE所关注的焦点。
到目前为止,主要存在两种解决可靠的虚拟网络映射的方法,主动保护机制和被动恢复机制,前一种方案中是在虚拟网络映射之前,对虚拟网络中的所有节点和链路设置备份节点和链路,将添加了备份节点和备份链路的扩展虚拟网络,采用映射算法进行映射。该方案在映射时不仅需要提供该虚拟网络的所有节点和链路的资源需求,还要提供所有备份节点和备份链路的资源需求,若备份资源不满足虚拟网络请求就会被拒绝。由于重新备份节点和链路对资源需求较大,因此这种方法请求接受率很低。后一种方法,是在虚拟网络映射完成后,当网络出现故障,需要动态的利用剩余的资源进行故障恢复,对于节点故障用节点的迁移的方式,对于链路故障用链路的重映射方式。这种方法由于在虚拟网络映射完成之后后,此时物理网络剩余的资源不足,因此对于虚拟网络中资源需求量大的节点和链路,可能无法完成备份节点和备份链路的映射,故障恢复率较低,恢复浮动率大。
发明内容
为了克服上述现有技术的缺点,针对大规模SDN网络中虚拟网络映射的问题,本发明的目的在于提供一种可靠的SDN虚拟网络映射算法,该方法通过引入虚拟网络的主动保护和被动恢复的方式,联合考虑映射冗余和可靠性两个方面,最大限的提高了虚拟网络映射接受率,并提供了可靠的可映射的物理网络。
为了实现上述目的,本发明采用的技术方案是:
一种可靠的SDN虚拟网络映射算法,联合主动保护机制和被动恢复机制,以提供可靠的SDN虚拟网络映射,其中可靠的SDN虚拟网络映射算法中所述主动保护机制是当虚拟请求到来时,通过对虚拟网络切分子图,对虚拟网络每个节点和每条链路衡量故障恢复的可行性,设置主动保护的备份资源,对于有备份资源的虚拟节点和虚拟链路,当发生故障时,备份子网络直接代替故障子网络,其中可靠的SDN虚拟网络映射算法中所述被动保护机制是对于没有备份资源的虚拟节点和虚拟链路,当发生故障时,通过节点的重映射和链路的重路由完成故障的恢复。
在主动保护阶段。分为节点的主动保护和链路的主动保护,节点的主动保护和映射过程同时进行,即对虚拟网络拓展,变为扩展虚拟网络图,然后进行映射。链路的主动保护是在映射完成后再设置备份物理链路的。
对于虚拟节点,衡量节点故障恢复可行性,根据虚拟节点可行域资源占比,对虚拟节点可行域资源占比大于阈值的虚拟节点,设置备份物理节点;
对于虚拟链路,衡量链路故障恢复可行性,对不满足链路故障恢复可行性条件的虚拟链路,设置备份物理链路。
1.设置节点备份资源的方法,具体包括以下步骤:
1.1)计算虚拟网络中每个虚拟节点nv的资源需求量NR(nv),包括虚拟节点nv的CPU计算需求CPU(nv)、Openflow流表需求F(nv)和虚拟网络中与虚拟节点nv直接相连的虚拟链路lv的带宽需求量BW(lv);同时计算该虚拟节点可行映射域每个物理节点剩余资源NR(ns),即物理节点重要性;
其中,nv表示虚拟节点,nv∈NV,NV表示虚拟节点的集合,ns表示物理节点,ns∈Loc(nv),λ用于衡量两种资源的重要性占比,Loc(nv)表示虚拟节点nv的可行映射域;ls表示物理链路,nbr(nv)表示虚拟节点nv直接相连的虚拟链路集合,F(nv)表示虚拟节点nv需要的流表资源;
CPU(ns)表示物理节点ns剩余的CPU计算需求,F(ns)表示物理节点ns剩余的流表资源,nbr(ns)表示与物理节点ns直接相连的物理链路集合,BW(ls)表示物理链路ls剩余的带宽资源;
1.2)计算虚拟网络中每个虚拟节点在可行域内的资源占比γ(nv):
其中N表示Loc(nv)中物理节点的数量;
1.3)引入判断是否需要预留备份物理节点的条件,取λ=0.5,当γ(nv)≥threshold时,需要提前预留备份物理节点和相关物理链路;当时,不用预留备份资源,用被动恢复机制保障节点可靠性;其中threshold是根据具体虚拟网络用户需求设置的可靠性阈值。
1.4)对于需要预留备份资源的虚拟节点,对原虚拟网络增加扩展备份节点和相关链路,构成一个扩展的虚拟拓扑,同一个虚拟网络对有相同Loc(nv)的两个虚拟节点,设置同一个备份节点,同时对该虚拟节点设置备份标记B(nv)=1,对与该虚拟节点相连的相关链路设置备份标记B(lv)=1;
1.5)扩展拓扑虚拟节点映射通过MILP方法求解,获得映射结果,如果求解失败则拒绝该虚拟网络,求解成功则节点的主动保护的阶段完成。
2.设置链路备份资源的方法,具体包括以下步骤:
2.1)虚拟网络扩展拓扑映射成功后,对原虚拟网络中的每条虚拟链路根据B(lv)值判断该链路是否已经预留备份资源,如果B(lv)=1,则预留节点时已经预留备份链路,此时不再考虑该虚拟链路,如果B(lv)=0,则利用Dijkstra算法计算k条可替换原物理路径的路径ls,1,ls,2,...,ls,k;
2.2)定义物理路径的剩余带宽资源BW(ls),用物理路径各跳中剩余带宽最小值表示;
其中ls表示物理路径,m表示该路径中的链路数量,表示该路径中的第i条链路;
2.3)对于该虚拟链路,由上述公式,计算k条可替换路径的剩余带宽资源BW(ls,1),...,BW(ls,k);
2.4)引入该虚拟链路故障恢复可行性条件,若满足:
k>K且BW(lv)≥BW(ls,1)...BW(ls,k)
则该虚拟链路故障恢复是可行的,不用预留备份物理链路,发生所映射的物理链路故障时直接交由被动恢复机制处理,如果不能满足上述条件则需要预留备份链路;其中K根据具体虚拟网络可靠性需求设置具体的值。
2.5)对于不能满足链路故障恢复可行性条件的,选择k条链路中BW(ls,j)最大的链路,若满足BW(lv)≥BW(ls,j)则备份成功,并设置B(lv)=2,若不存在k条路径,或者剩余带宽都不能满足虚拟链路的带宽需求,则备份失败,拒绝该虚拟网络;
2.6)当链路发生故障时,根据B(lv)的值判断链路备份方式以及链路故障的恢复方式;当B(lv)=1时,链路主动保护是通过节点的备份实现的,通过节点迁移到备份节点,以及相关链路的迁移,完成链路的恢复;当B(lv)=2时,链路已经预留了备份链路,直接链路重映射到备份链路即可完成恢复;当B(lv)=0时,此时对于该链路没有预留资源,只能通过链路的被动恢复机制进行恢复。
3.选择恢复物理节点的方法,具体包括以下步骤:
3.1)当虚拟节点对应的物理节点发生故障,且备份标志B(nv)=0,此时没有预留备份节点,主动恢复机制无法完成恢复,计算故障时刻可行域内物理节点剩余资源NR(ns):
其中:
CPU(ns)表示此时物理节点ns剩余的CPU计算需求,F(ns)表示此时物理节点ns剩余的流表资源,nbr(ns)表示与物理节点ns直接相连的物理链路集合,BW(ls)表示物理链路ls此时剩余的带宽资源;Loc(nv)表示虚拟节点nv的可行映射域。选择剩余资源最大的物理节点;
3.2)对于可行域内剩余资源最大的物理节点,判断是否满足满足虚拟节点的CPU计算需求和Openflow流表需求,若满足则转到4.3),若不满足虚拟节点的资源需求,引入回溯机制,选择可行域内物理节点剩余资源次大的节点,依次选择直到找到满足需求的物理节点;
3.3)对于满足虚拟节点需求的物理节点,重新映射故障虚拟节点相关链路,对每条相关链路,通过Dijistra算法选择物理网络中的最短路径,若每条路径剩余带宽满足相应虚拟链路的带宽需求,则节点故障恢复成功,该物理节点即为迁移的节点,同时通过上述Dijistra算法计算的物理路径,即为相关链路重映射路径,节点故障恢复成功;
3.4)对于最短物理路径剩余带宽资源,无法满足故障节点相关链路需求的情况,通过回溯机制,选择可行域内下一个物理节点,转到4.2)。
被动恢复机制下,对于节点的被动恢复,选择可行域内合适的物理节点,同时重映射相关链路,引入回溯机制,保证故障节点相关链路能成功映射;对于链路的被动恢复,主要考虑新路径剩余带宽资源,考虑到负载均衡,选择可替换路径中剩余带宽资源最大的链路,若此物理路径满足虚拟链路的带宽需求,则链路故障恢复成功,否则,恢复失败。
4.选择恢复物理路径的方法,具体包括以下步骤:
4.1)若虚拟链路对应的物理链路发生故障,且B(lv)=0,则没有预留备份链路;由于在主动保护阶段已经计算了k条替换路径,计算此时这k条路径剩余带宽资源BW(ls,1),...,BW(ls,k),考虑到负载均衡,选择k条路径剩余带宽资源最大的路径;
4.2)对于故障虚拟链路lv若满足:max{BW(ls,1),...,BW(ls,k)}≥BW(lv),则选择最大剩余带宽资源的物理路径最为重映射的路径,故障恢复成功,若故障虚拟链路lv满足max{BW(ls,1),...,BW(ls,k)}<BW(lv),则链路故障恢复失败。
与现有技术相比,本发明引入具有容错能力的Openflow虚拟网络映射模型,并通过混合整数线性规划方式求解。针对虚拟网络映射完后节点和链路失效问题,提出了联合主动保护和被动恢复的策略。通过引入虚拟网络请求中节点和链路重要性度量准则,决定虚拟网络的子网拓扑的故障恢复机制,对节点和链路重要性高的拓扑提前预留备份子网络代替故障子网络,对节点和链路重要性较低的拓扑采用重映射方式进行故障恢复。本方法中重要性度量准则是基于虚拟网络中节点可行域资源占比和链路可恢复性,同时兼顾到映射成本和可靠性方面,降低了因可靠性带来的虚网的资源消耗,并提高了故障恢复率。
附图说明
图1是拓展虚拟网络映射图。
图2是节点故障被动恢复流程图。
图3是链路故障主动保护流程图。
图4是链路故障被动恢复流程图。
具体实施方式
下面结合附图和实施例详细说明本发明的实施方式。
本发明中一种基于SDN网络的可靠性虚拟网络映射算法,采用联合主动保护和故障恢复的方式,建立可靠的虚拟网络映射模型,即在虚拟网络中引入节点和链路的资源需求度量准则,对节点资源需求超过阈值的虚拟节点,采用提前预留备份节点和相关链路的方式,扩展原来的虚拟网络拓扑。对于节点资源需求小于阈值的节点采用被动恢复的方式。
对于虚拟链路,主要考虑链路的带宽,当某条虚拟链路带宽需求超过k条物理路径的剩余带宽或k较小时,针对该虚拟链路采用提前预留备份链路的方式,对于链路带宽需求小于k条物理路径的剩余带宽且k较大,采用被动恢复的方式链路重映射。
主动保护的机制为了减少冗余,对于节点的备份可以采用节点资源的共享方式,即在同一个节点可映射域内Loc(nv)的虚拟节点可以公用一个备份节点,对节点扩展好的虚拟网络请求采用整数线性规划的方式求解。链路的主动保护选取k条物理路径剩余带宽资源最大的路径。
在没有预留备份资源情况下,当出现故障时,采用被动恢复的机制。被动恢复时对于节点故障,选择可行域内节点剩余资源最大的物理节点作为恢复的节点,引入回溯机制。链路故障情况,重新映射该条虚拟链路,选择k条物理路径剩余带宽资源最大的路径。
本发明的具体实现方式可通过如下实施例进行说明。
一个虚拟网络可以用带权无向图表示:其中NV表示虚拟节点的集合。LV表示虚拟链路的集合。表示虚拟节点的属性集合,包括可映射的位置属性、CPU计算需求、Openflow流表容量需求。表示虚拟链路的带宽需求BW。物理网络也可以用带权无向图表示:其中NS表示物理节点的集合。LS表示物理链路的集合。表示物理节点的属性集合,包括CPU计算能力、Openflow流表容量。表示物理链路的属性集合,包括链路的带宽容量。
一、节点度量
由于虚拟网络中节点会有计算资源需求和、Openflow流表容量需求,定义虚拟网络节点资源需求量定义为
CPU(nv)表示虚拟节点的CPU计算需求,F(nv)表示虚拟节点的流表需求,nbr(nv)表示虚拟节点nv直接相连的虚拟链路集合,BW(lv)表示虚拟链路lv的带宽需求量,λ用于衡量两种资源的重要性占比。
同样的物理节点剩余资源度量方式可以表示为:
CPU(ns)表示此时物理节点的剩余的CPU计算需求,F(ns)表示物理节点此时剩余的流表资源,nbr(ns)表示与物理节点ns直接相连的物理链路集合,BW(ls)表示物理链路ls剩余的带宽资源,λ用于衡量两种资源的占比。
由于考虑到虚拟节点映射时有位置需求,对于每个虚拟节点映射时只能映射到一个区域内的部分物理节点,记为Loc(nv)。虚拟节点映射时,只能在可选择的物理节点选择,如果虚拟节点资源需求量较高,在节点映射成功后,如果该物理节点发生故障,后期被动恢复成功率较低,因此只能采用预留备份节点的方式保障可靠性。如果虚拟节点资源需求相对物理节点需求较低,则即使物理节点失效,后期被动恢复机制也可以完成故障的恢复,因此为了减少映射的冗余,可以不必提前预留备份节点。
二、节点失效的可靠性问题
2.1)如上所述,引入虚拟节点的可性域内资源占比系数的概念,定义如下:
其中NR(nv)表示虚拟节点资源需求量,NR(ns)表示物理节点重要性,N表示Loc(nv)中物理节点的数量。
考虑到节点引入判断是否需要预留备份节点的条件,取λ=0.5,当时需要提前预留备份节点和相关链路。当时,虚拟节点在可映射区域所占用资源较低,可以不用预留备份资源,用故障恢复机制保障可靠性。
2.2)在设置备份节点时,如图1所示,(a)表示此时到来的虚拟网络请求,(b)表示对虚拟网络(a)添加备份节点的扩展图,(c)是在虚拟网络请求到来时物理网络所剩的节点和链路资源。对于节点附近的数字,前者表示CPU计算能力和需求量,后者表示流表容量和流表需求。其中虚拟节点的可行域分别为:
Loc(a)={A,B,C,D},Loc(b)={E,F},Loc(c)={H,I,J,K}
经计算在VNR中虚拟节点a的满足则需要对节点a采用备份的方式,对节点a添加备份节点b(a)同时为虚拟节点a添加备份标记B(a)=1(默认为0),并将VNR1中与a相关的虚拟链路lab和lac添加备份链路,备份链路为lb(a)b和lb(a)c,并为对应的虚拟链路添加备份标记B(lab)=1,B(lac)=1。同时对备份节点b(a)设置与虚拟节点a相同的计算需求和Openflow流表需求,备份链路lb(a)b和lb(a)c设置和原虚拟链路lab和lac相同的带宽资源。
2.3)对于扩展后的虚拟网络中的节点,获取可映射的物理节点集合,在VNE映射之前为每个虚拟节点在物理网路中引入元节点(Meta-node),元节点与对应所有可映射的物理节点之间引入元链路(Meta-link)。如图1所示,图中虚线框节点表示原虚拟节点的元节点,虚线链路表示元链路,对于此拓展图,将映射中节点映射和链路映射联合考虑,采用一阶段映射算法,构建MILP模型,并添加约束条件额备份链路和原链路不能有公共链路,求解得到映射结果。如果能成功映射,则节点的主动保护也成功映射完成。
2.4)在映射结束后,当物理节点失效时。找到受影响的虚拟网络对应的虚拟节点,通过查询该虚拟节点的标记,根据不同的标记值,故障恢复采用不同的恢复方案,对于有提前预留备份节点的故障,直接进行节点的迁移和相关链路的迁移,对于没有预留备份资源情况,采用被动恢复的方式。
如图1所示,通过MILP计算得到映射结果为:
节点映射:a→C,b→F,c→I,b(a)→B
链路映射:lab→<C,F>,lac→<C,F,I>,lbc→<F,I>
lb(a)b→<B,E,F>,lb(a)c→<B,E,H,I>
当物理节点C失效时,查询到某个受影响的虚网VNRi,对应虚拟节点a节点故障,且备份标记B(a)=1,则直接将节点迁移到备份节点映射的位置B,取出相关链路的备份链路映射结果,重新下发流表。
2.5)对于该物理节点上不同的虚拟网络标记情况,不同的虚拟网络互不相关,因此该节点在不同虚拟网络中在故障恢复时支持节点分离,此时一个故障节点可以重映射成至多N个节点,N表示该物理节点上承载的虚拟网络数量。对于不同的虚拟网络都采用上述恢复方式,值得指出的时该物理节点故障可能再另一个虚拟网络表示为链路的故障形式,因为在另一个虚拟网络中该物理节点对应的是链路点而不是映射点。
至此节点的主动保护阶段完成。
2.5)如果是映射点故障且没有预留备份节点,则查找该节点可行映射集合,为尽量保证负载均衡,选取剩余节点资源NR(ns)最大的可行映射物理节点,同时重映射相关链路,相关链路采用Dijkstra算法进行映射,引入回溯机制。
所述步骤2.5)具体步骤包括如下:
2.5.1)在该虚拟网络节点属性集合中找到该节点的位置约束Loc(nv),舍弃故障节点,计算Loc(nv)中此时每个物理节点的NR(ns)。
2.5.2)选取NR(ns)最大的物理节点,若流表和计算资源不满足该虚拟节点需求,则选择NR(ns)次大的物理节点,依次选择直到满足的物理节点,如果Loc(nv)集合内所有节点都不满足,则恢复失败。
2.5.3)若物理节点满足流表和节点需求则,重映射故障虚拟节点相关链路,采用Dijkstra算法选一条最短路径,判断该路径剩余带宽资源是否可以满足相应虚拟链路带宽需求,如果能满足所有相关链路的需求,则选取该物理节点作为迁移节点,选择该链路最为重映射的链路,节点故障恢复成功。
2.2.4)如果相关链路映射失败,则回溯到可行域中选择后续节点中NR(nS)最大的物理节点,判断是否满足虚拟节点的计算资源和流表资源需求,若满足则转到2.2.3处理。
2.2.5)如果Loc(nv)中所有物理节点全部选择都无法满足该虚拟节点需求和相关链路映射需求,则节点故障恢复失败
至此节点的故障恢复阶段完成,流程图见图2。
三、链路失效的可靠性问题
在骨干网中单链路故障的占全部故障的70%,是最容易发生和常见的问题,对于单链路故障由于故障链路可能只是虚拟网络的一部分,或者是数个虚拟网络中虚拟链路的一部分,如果对所有链路采用全备份的方式,当映射时备份链路会占用很多带宽资源,导致真正工作负载的链路有很多冗余,映射成功率很低。如果不进行链路的备份,当物理网络出现故障时,全部由被动故障恢复机制处理,会导致链路故障恢复成功率低下。因此本文综合考虑映射成功率和故障恢复成功率,提出度量虚拟网络链路可恢复性的准则。
3.1)链路的可靠性是在已经映射完原扩展虚拟网络的基础上考虑的,映射完虚拟网络后,虚拟节点和链路已经映射到底层对应的物理节点和链路,虚拟链路主动保护是在此基础上考虑是否需要预留带宽资源。
3.2)链路的资源主要考虑带宽资源,对虚拟链路BW(lv)代表lv∈LV的带宽需求。对于物理网络主要考虑物理路径ls∈LS中各个链路的剩余带宽资源定义物理路径的剩余带宽为:
其中集合是物理路径ls中各跳物理链路的集合。
3.3)根据虚拟链路带宽需求和物理路径的剩余带宽资源可以判断是否预留备份链路,考虑到物理网络中相同的源节点和目标节点中间存在多条物理路径ls,1,ls,2,...,ls,k,而这些路径都可以作为原路径的替换路径。若虚拟链路带宽需求大于这多条路径剩余带宽,则发生故障恢复容易可以不用提前预留备份路径。如果找不到多条替代路径,或替代路径剩余带宽资源不满足虚拟链路的带宽需求,则发生故障恢复比较困难,则需要预留备份路径。
所述步骤3.3)具体步骤包括如下:
3.3.1)对于每一条虚拟链路lv∈LV判断该链路两端的虚拟节点是否预留备份节点,如果标志位B(lv)=1,则两个虚拟节点中至少有一个节点预留了备份节点,则不需要给该虚拟链路预留备份链路,发生链路失效时,直接迁移节点,同样可以满足链路的故障恢复。如果两个虚拟节点都没有提前备份,则转到3.3.2。
3.3.2)对于每个虚拟链路lv∈LV对应的物理路径ls∈LS,对应该物理网络中的两个物理节点(as,bs)去寻找K条物理路径ls,1,ls,2,...,ls,k,并保存该链路的K条路径。寻找原则是这K条物理链路没有公共链路,且和原映射的物理链路ls∈LS也没有公共链路。考虑到选路径的时间复杂度,采用时间复杂度最小的Dijkstra算法,即找到一条路径后,在原虚拟网络中主动避免该路径,再用最短路径算法寻找另一条路径。计算K条物理路径的剩余带宽资源BW(ls,1),...,BW(ls,k)。
3.3.3)定义是否需要给虚拟链路添加备份链路的条件。满足K>3且BW(lv)≥BW(ls,1)...BW(ls,k)则不用备份,当发生故障则利用故障恢复机制进行故障恢复;如果不能满足上述条件,则需要预留备份资源,考虑到负载均衡,预留的备份链路从能满足BW(lv)≥BW(ls,1),...,BW(ls,k)的物理路径ls,1,ls,2,...,ls,k中选剩余带宽最大的物理路径,作为对该虚拟网络中虚拟链路的备份链路,并添加备份标记B(lv)=2。若不存在这样的物理路径,则拒绝该虚拟网络请求。
至此链路的主动保护阶段完成,见流程图3。
3.4)虚拟链路的故障恢复阶段,根据B(lv)的值可以将故障恢复的方式分为三种,分别为:B(lv)=0时,该链路没有预留备份资源。B(lv)=1时,该虚拟链路对应的虚拟节点有备份节点。B(lv)=2时,该虚拟链路已提前预留备份链路。对不同的链路情况,分别有不同的恢复方法。
所述步骤3.4)具体步骤包括如下:
3.4.1)若B(lv)=1,则虚拟链路对应的节点有备份节点,可以将已映射的物理节点迁移到备份节点,同时对应的链路在设置备份节点时已经映射成功,则此时链路故障即恢复成功。
3.4.2)对于虚拟链路满足B(lv)=2情况,则主动保护阶段已经预留备份链路,直接将该虚拟路径重新选择到备份路径,更新物理网络资源和节点标志。
3.4.3)如果B(lv)=0,则该虚拟链路没有相关的备份节点,也没有预留备份链路,则当链路故障发生时,只能用物理网络此时的剩余资源,同样在判断是否需要备份时已经获取K条物理路径,重新计算此时这K条物理路径剩余带宽资源,选取剩余带宽资源最大的物理路径max{BW(ls,1),...,BW(ls,k)},
如果这K条链路剩余链路满足max{BW(ls,1),...,BW(ls,k)}≥BW(lv),则链路故障成功,此时max{BW(ls,1),...,BW(ls,k)}对应的ls,i即为恢复路径。
如果max{BW(ls,1),...,BW(ls,k)}<BW(lv),则链路故障恢复失败。
至此链路的故障恢复阶段完成,见流程图4。
Claims (6)
1.一种可靠的SDN虚拟网络映射算法,其特征在于,联合主动保护机制和被动恢复机制,以提供可靠的SDN虚拟网络映射,其中可靠的SDN虚拟网络映射算法中所述主动保护机制是当虚拟请求到来时,通过对虚拟网络切分子图,对虚拟网络每个节点和每条链路衡量故障恢复的可行性,设置主动保护的备份资源,对于有备份资源的虚拟节点和虚拟链路,当发生故障时,备份子网络直接代替故障子网络,其中可靠的SDN虚拟网络映射算法中所述被动保护机制是对于没有备份资源的虚拟节点和虚拟链路,当发生故障时,通过节点的重映射和链路的重路由完成故障的恢复。
2.根据权利要求1所述可靠的SDN虚拟网络映射算法,其特征在于,所述设置主动保护的备份资源的原则是:
对于虚拟节点,衡量节点故障恢复可行性,根据虚拟节点可行域资源占比,对虚拟节点可行域资源占比大于阈值的虚拟节点,设置备份物理节点;
对于虚拟链路,衡量链路故障恢复可行性,对不满足链路故障恢复可行性条件的虚拟链路,设置备份物理链路。
3.根据权利要求2所述可靠的SDN虚拟网络映射算法,其特征在于,主动保护设置节点备份资源的方法,具体包括以下步骤:
3.1)计算虚拟网络中每个虚拟节点nv的资源需求量NR(nv),包括虚拟节点nv的CPU计算需求CPU(nv)、Openflow流表需求F(nv)和虚拟网络中与虚拟节点nv直接相连的虚拟链路lv的带宽需求量BW(lv);同时计算该虚拟节点可行映射域每个物理节点剩余资源NR(ns),即物理节点重要性;
其中,nv表示虚拟节点,nv∈NV,NV表示虚拟节点的集合,ns表示物理节点,ns∈Loc(nv),λ用于衡量两种资源的重要性占比,Loc(nv)表示虚拟节点nv的可行映射域;ls表示物理链路,nbr(nv)表示虚拟节点nv直接相连的虚拟链路集合,F(nv)表示虚拟节点nv需要的流表资源;
CPU(ns)表示物理节点ns剩余的CPU计算需求,F(ns)表示物理节点ns剩余的流表资源,nbr(ns)表示与物理节点ns直接相连的物理链路集合,BW(ls)表示物理链路ls剩余的带宽资源;
3.2)计算虚拟网络中每个虚拟节点在可行域内的资源占比γ(nv):
其中N表示Loc(nv)中物理节点的数量;
3.3)引入判断是否需要预留备份物理节点的条件,取λ=0.5,当时,需要提前预留备份物理节点和相关物理链路;当时,不用预留备份资源,用被动恢复机制保障节点可靠性;
3.4)对于需要预留备份资源的虚拟节点,对原虚拟网络增加扩展备份节点和相关链路,构成一个扩展的虚拟拓扑,同一个虚拟网络对有相同Loc(nv)的两个虚拟节点,设置同一个备份节点,同时对该虚拟节点设置备份标记B(nv)=1,对与该虚拟节点相连的相关链路设置备份标记B(lv)=1;
3.5)扩展拓扑虚拟节点映射通过MILP方法求解,获得映射结果,如果求解失败则拒绝该虚拟网络,求解成功则节点的主动保护的阶段完成。
4.根据权利要求2或3所述可靠的SDN虚拟网络映射算法,其特征在于,主动保护设置链路备份资源的方法,具体包括以下步骤:
4.1)虚拟网络扩展拓扑映射成功后,对原虚拟网络中的每条虚拟链路根据B(lv)值判断该链路是否已经预留备份资源,如果B(lv)=1,则预留节点时已经预留备份链路,此时不再考虑该虚拟链路,如果B(lv)=0,则利用Dijkstra算法计算k条可替换原物理路径的路径ls,1,ls,2,...,ls,k;
4.2)定义物理路径的剩余带宽资源BW(ls),用物理路径各跳中剩余带宽最小值表示;
其中ls表示物理路径,m表示该路径中的链路数量,表示该路径中的第i条链路;
4.3)对于该虚拟链路,由上述公式,计算k条可替换路径的剩余带宽资源BW(ls,1),...,BW(ls,k);
4.4)引入该虚拟链路故障恢复可行性条件,若满足:
k≥3且BW(lv)≥BW(ls,1)...BW(ls,k)
则该虚拟链路故障恢复是可行的,不用预留备份物理链路,发生所映射的物理链路故障时直接交由被动恢复机制处理,如果不能满足上述条件则需要预留备份链路;
4.5)对于不能满足链路故障恢复可行性条件的,选择k条链路中BW(ls,j)最大的链路,若满足BW(lv)≥BW(ls,j)则备份成功,并设置B(lv)=2,若不存在k条路径,或者剩余带宽都不能满足虚拟链路的带宽需求,则备份失败,拒绝该虚拟网络;
4.6)当链路发生故障时,根据B(lv)的值判断链路备份方式以及链路故障的恢复方式;当B(lv)=1时,链路主动保护是通过节点的备份实现的,通过节点迁移到备份节点,以及相关链路的迁移,完成链路的恢复;当B(lv)=2时,链路已经预留了备份链路,直接链路重映射到备份链路即可完成恢复;当B(lv)=0时,此时对于该链路没有预留资源,只能通过链路的被动恢复机制进行恢复。
5.根据权利要求1所述可靠的SDN虚拟网络映射算法,其特征在于,被动恢复选择可用物理节点的方法,具体包括以下步骤:
5.1)当虚拟节点对应的物理节点发生故障,且备份标志B(nv)=0,此时没有预留备份节点,主动恢复机制无法完成恢复,计算故障时刻可行域内物理节点剩余资源NR(ns):
其中:
CPU(ns)表示此时物理节点ns剩余的CPU计算需求,F(ns)表示此时物理节点ns剩余的流表资源,nbr(ns)表示与物理节点ns直接相连的物理链路集合,BW(ls)表示物理链路ls此时剩余的带宽资源;Loc(nv)表示虚拟节点nv的可行映射域。选择剩余资源最大的物理节点;
5.2)对于可行域内剩余资源最大的物理节点,判断是否满足满足虚拟节点的CPU计算需求和Openflow流表需求,若满足则转到4.3),若不满足虚拟节点的资源需求,引入回溯机制,选择可行域内物理节点剩余资源次大的节点,依次选择直到找到满足需求的物理节点;
5.3)对于满足虚拟节点需求的物理节点,重新映射故障虚拟节点相关链路,对每条相关链路,通过Dijistra算法选择物理网络中的最短路径,若每条路径剩余带宽满足相应虚拟链路的带宽需求,则节点故障恢复成功,该物理节点即为迁移的节点,同时通过上述Dijistra算法计算的物理路径,即为相关链路重映射路径,节点故障恢复成功;
5.4)对于最短物理路径剩余带宽资源,无法满足故障节点相关链路需求的情况,通过回溯机制,选择可行域内下一个物理节点,转到4.2)。
6.根据权利要求1所述可靠的SDN虚拟网络映射算法,其特征在于,被动恢复选择可用物理路径的方法,具体包括以下步骤:
6.1)若虚拟链路对应的物理链路发生故障,且B(lv)=0,则没有预留备份链路;由于在主动保护阶段已经计算了k条替换路径,计算此时这k条路径剩余带宽资源BW(ls,1),...,BW(ls,k),考虑到负载均衡,选择k条路径剩余带宽资源最大的路径;
6.2)对于故障虚拟链路lv若满足:max{BW(ls,1),...,BW(ls,k)}≥BW(lv),则选择最大剩余带宽资源的物理路径最为重映射的路径,故障恢复成功,若故障虚拟链路lv满足max{BW(ls,1),...,BW(ls,k)}<BW(lv),则链路故障恢复失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811321470.2A CN109495300B (zh) | 2018-11-07 | 2018-11-07 | 一种可靠的sdn虚拟网络映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811321470.2A CN109495300B (zh) | 2018-11-07 | 2018-11-07 | 一种可靠的sdn虚拟网络映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109495300A true CN109495300A (zh) | 2019-03-19 |
CN109495300B CN109495300B (zh) | 2020-05-26 |
Family
ID=65695323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811321470.2A Active CN109495300B (zh) | 2018-11-07 | 2018-11-07 | 一种可靠的sdn虚拟网络映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109495300B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213149A (zh) * | 2019-05-30 | 2019-09-06 | 西安邮电大学 | 一种基于节点熵的虚拟网络映射算法 |
CN110311862A (zh) * | 2019-06-14 | 2019-10-08 | 北京邮电大学 | 一种服务链映射方法及装置 |
CN111263387A (zh) * | 2020-02-28 | 2020-06-09 | 佛山科学技术学院 | 一种无线传感器网络异常处置方法及系统 |
CN111526057A (zh) * | 2020-04-30 | 2020-08-11 | 西安邮电大学 | 一种基于业务类型的网络切片可靠性映射算法 |
CN111756655A (zh) * | 2020-06-05 | 2020-10-09 | 深圳供电局有限公司 | 一种基于资源预留的虚拟网资源迁移方法 |
CN112422687A (zh) * | 2020-11-19 | 2021-02-26 | 青岛海尔科技有限公司 | 路由决策方法和装置、存储介质 |
CN112887202A (zh) * | 2021-02-02 | 2021-06-01 | 浙江工商大学 | 一种基于子拓扑网络的sdn链路故障网络收敛方法 |
CN113114517A (zh) * | 2021-05-26 | 2021-07-13 | 广东电网有限责任公司电力调度控制中心 | 网络切片下基于节点特征的网络资源动态备份方法及系统 |
CN114142993A (zh) * | 2021-08-31 | 2022-03-04 | 北京邮电大学 | 密钥分发网络的故障恢复方法、装置、电子设备及介质 |
CN114268362A (zh) * | 2021-12-22 | 2022-04-01 | 军事科学院系统工程研究院网络信息研究所 | 基于有序聚类和动态库的卫星通信虚拟网络快捷映射方法 |
CN114598665A (zh) * | 2022-01-19 | 2022-06-07 | 锐捷网络股份有限公司 | 资源调度方法、装置和计算机可读存储介质及电子设备 |
CN114697221A (zh) * | 2022-03-22 | 2022-07-01 | 西安交通大学 | 空天地一体化网络中基于快照树模型的可靠性映射算法 |
CN114697222A (zh) * | 2022-03-22 | 2022-07-01 | 西安交通大学 | 一种基于空天地融合网络的可生存性虚拟网络映射算法 |
CN116386276A (zh) * | 2023-06-06 | 2023-07-04 | 江西七叶莲科技有限公司 | 一种机构与居家多模安全监护系统与方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070133502A1 (en) * | 2005-12-08 | 2007-06-14 | Nortel Networks Limited | Method and apparatus for increasing the scalability of ethernet OAM |
CN103812748A (zh) * | 2014-01-20 | 2014-05-21 | 北京邮电大学 | 一种可生存虚拟网络的映射方法 |
CN105871606A (zh) * | 2016-03-29 | 2016-08-17 | 南京邮电大学 | 一种基于分治策略的增强虚拟网络生存性的映射方法 |
CN108471358A (zh) * | 2018-03-20 | 2018-08-31 | 河北工程大学 | 一种基于最小生成树的虚拟网络保护性映射方法 |
CN108667657A (zh) * | 2018-04-28 | 2018-10-16 | 西安交通大学 | 一种面向sdn的基于局部特征信息的虚拟网络映射方法 |
-
2018
- 2018-11-07 CN CN201811321470.2A patent/CN109495300B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070133502A1 (en) * | 2005-12-08 | 2007-06-14 | Nortel Networks Limited | Method and apparatus for increasing the scalability of ethernet OAM |
CN103812748A (zh) * | 2014-01-20 | 2014-05-21 | 北京邮电大学 | 一种可生存虚拟网络的映射方法 |
CN105871606A (zh) * | 2016-03-29 | 2016-08-17 | 南京邮电大学 | 一种基于分治策略的增强虚拟网络生存性的映射方法 |
CN108471358A (zh) * | 2018-03-20 | 2018-08-31 | 河北工程大学 | 一种基于最小生成树的虚拟网络保护性映射方法 |
CN108667657A (zh) * | 2018-04-28 | 2018-10-16 | 西安交通大学 | 一种面向sdn的基于局部特征信息的虚拟网络映射方法 |
Non-Patent Citations (1)
Title |
---|
赵季红: "《软件定义承载网中应用粒子群优化的虚拟网络映射算法》", 《中国通信学会信息通信网络技术委员会2 0 1 5 年年会论文集》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213149B (zh) * | 2019-05-30 | 2021-02-26 | 西安邮电大学 | 一种基于节点熵的虚拟网络映射方法 |
CN110213149A (zh) * | 2019-05-30 | 2019-09-06 | 西安邮电大学 | 一种基于节点熵的虚拟网络映射算法 |
CN110311862A (zh) * | 2019-06-14 | 2019-10-08 | 北京邮电大学 | 一种服务链映射方法及装置 |
CN110311862B (zh) * | 2019-06-14 | 2020-09-25 | 北京邮电大学 | 一种服务链映射方法及装置 |
CN111263387A (zh) * | 2020-02-28 | 2020-06-09 | 佛山科学技术学院 | 一种无线传感器网络异常处置方法及系统 |
CN111526057A (zh) * | 2020-04-30 | 2020-08-11 | 西安邮电大学 | 一种基于业务类型的网络切片可靠性映射算法 |
CN111526057B (zh) * | 2020-04-30 | 2022-10-25 | 西安邮电大学 | 一种基于业务类型的网络切片可靠性映射方法 |
CN111756655A (zh) * | 2020-06-05 | 2020-10-09 | 深圳供电局有限公司 | 一种基于资源预留的虚拟网资源迁移方法 |
CN111756655B (zh) * | 2020-06-05 | 2023-09-15 | 深圳供电局有限公司 | 一种基于资源预留的虚拟网资源迁移方法 |
CN112422687A (zh) * | 2020-11-19 | 2021-02-26 | 青岛海尔科技有限公司 | 路由决策方法和装置、存储介质 |
CN112887202A (zh) * | 2021-02-02 | 2021-06-01 | 浙江工商大学 | 一种基于子拓扑网络的sdn链路故障网络收敛方法 |
CN113114517A (zh) * | 2021-05-26 | 2021-07-13 | 广东电网有限责任公司电力调度控制中心 | 网络切片下基于节点特征的网络资源动态备份方法及系统 |
CN113114517B (zh) * | 2021-05-26 | 2022-07-01 | 广东电网有限责任公司电力调度控制中心 | 网络切片下基于节点特征的网络资源动态备份方法及系统 |
CN114142993A (zh) * | 2021-08-31 | 2022-03-04 | 北京邮电大学 | 密钥分发网络的故障恢复方法、装置、电子设备及介质 |
CN114268362B (zh) * | 2021-12-22 | 2022-06-24 | 军事科学院系统工程研究院网络信息研究所 | 基于有序聚类和动态库的卫星通信虚拟网络快捷映射方法 |
CN114268362A (zh) * | 2021-12-22 | 2022-04-01 | 军事科学院系统工程研究院网络信息研究所 | 基于有序聚类和动态库的卫星通信虚拟网络快捷映射方法 |
CN114598665A (zh) * | 2022-01-19 | 2022-06-07 | 锐捷网络股份有限公司 | 资源调度方法、装置和计算机可读存储介质及电子设备 |
CN114697221A (zh) * | 2022-03-22 | 2022-07-01 | 西安交通大学 | 空天地一体化网络中基于快照树模型的可靠性映射算法 |
CN114697222A (zh) * | 2022-03-22 | 2022-07-01 | 西安交通大学 | 一种基于空天地融合网络的可生存性虚拟网络映射算法 |
CN116386276A (zh) * | 2023-06-06 | 2023-07-04 | 江西七叶莲科技有限公司 | 一种机构与居家多模安全监护系统与方法 |
CN116386276B (zh) * | 2023-06-06 | 2023-09-05 | 江西七叶莲科技有限公司 | 一种机构与居家多模安全监护系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109495300B (zh) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109495300A (zh) | 一种可靠的sdn虚拟网络映射算法 | |
CN101313528B (zh) | 一种多域路由计算方法和系统 | |
Kotronis et al. | Stitching inter-domain paths over IXPs | |
US8611232B2 (en) | Method of simple and efficient failure resilient load balancing | |
US6831895B1 (en) | Methods and devices for relieving congestion in hop-by-hop routed packet networks | |
CN101645842B (zh) | 通信网络系统、通路计算装置、通信信道确立控制方法 | |
CN105991430A (zh) | 跨多个自治网络系统的数据路由 | |
CN106464589A (zh) | Ip网络中的部分软件定义网络交换机替换 | |
US6914912B1 (en) | Route selection for alternate paths in connection-oriented networks | |
CN114006857B (zh) | 路径规划方法及装置 | |
Hu et al. | FTLink: Efficient and flexible link fault tolerance scheme for data plane in Software-Defined Networking | |
Golani et al. | Fault tolerant traffic engineering in software-defined WAN | |
Kerrouche et al. | AC-QoS-FS: Ant colony based QoS-aware forwarding strategy for routing in Named Data Networking | |
CN107040466A (zh) | 基于物联网分层架构的多域协同数据传输的路径选择方法 | |
Hameed et al. | Performance analysis and evaluation of distance vector and link state routing protocols over a large area networks | |
CN106130895B (zh) | Sdn网络故障的重路由方法及装置 | |
Sembati et al. | A global review of routing mechanisms in the named data network | |
CN115695202A (zh) | 一种网络探测方法、装置、设备及可读存储介质 | |
JP2009531875A (ja) | メッセージ識別方法及びその方法で用いられる中継ノード | |
CN106302150A (zh) | 控制设备及其规划传输路径的方法 | |
Anh et al. | A new localized multiconstraint QoS routing algorithm | |
Xu et al. | Finding Service Paths in an Overlay Media Service Proxy Network а | |
Chemalamarri et al. | Constraint-based rerouting mechanism to address congestion in software defined networks | |
Pu et al. | A reliable sla-based admission controller for mpls networks | |
CN108243104A (zh) | 一种多层lsp控制方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |