CN105577535A - 基于多下一跳和备份路径的混合链路保护方法 - Google Patents

基于多下一跳和备份路径的混合链路保护方法 Download PDF

Info

Publication number
CN105577535A
CN105577535A CN201510954632.6A CN201510954632A CN105577535A CN 105577535 A CN105577535 A CN 105577535A CN 201510954632 A CN201510954632 A CN 201510954632A CN 105577535 A CN105577535 A CN 105577535A
Authority
CN
China
Prior art keywords
node
link
critical link
network
availability
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
Application number
CN201510954632.6A
Other languages
English (en)
Other versions
CN105577535B (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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN201510954632.6A priority Critical patent/CN105577535B/zh
Publication of CN105577535A publication Critical patent/CN105577535A/zh
Application granted granted Critical
Publication of CN105577535B publication Critical patent/CN105577535B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing

Landscapes

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

Abstract

本发明公开了一种基于多下一跳和备份路径的混合链路保护方法,属于互联网技术领域,解决了现有的链路保护方法无法在提高网络可用性的同时又不增加网络额外负担的技术问题。该基于多下一跳和备份路径的混合链路保护方法包括:根据设定规则构造网络中每个结点的以自身为根结点、以其他所有结点为目的结点的下一跳的集合;在所述下一跳的集合中选择出所述结点的所有关键链路;计算所述关键链路对网络可用性的贡献值;根据所述贡献值和网络可用性目标从网络中所有的所述关键链路中选择出需要保护的所述关键链路;构造需要保护的所述关键链路的备份路径。

Description

基于多下一跳和备份路径的混合链路保护方法
技术领域
本发明涉及互联网技术领域,具体的说,涉及一种基于多下一跳和备份路径的混合链路保护方法。
背景技术
如今,互联网在人们的日常生活和商业活动中扮演着越来越重要的角色。随着一些例如电子商务、视频聊天以及一些紧急任务等新型应用的出现,人们对于网络的延迟和可用性提出了更高的要求,同时也给互联网带来了一定的挑战。
当网络出现故障的时候,当前部署的域内路由协议需要一个全局的收敛过程。在路由收敛的过程中,网络可能会出现中断,从而导致通信报文的丢失。国际互联网工程任务组(TheInternetEngineeringTaskForce,IETF)提出了利用IP快速重路由FRR和Not-Via框架来提高网络的可用性,从而解决上述问题。然而相关的研究表明,利用IPFRR框架仅仅保护了网络中50%左右的链路,因此该算法的网络可用性大打折扣,并且IPFRR的实现方式比较复杂,算法的时间复杂度比较高。而Not-Via框架由于其尽可能的保护网络中所有的链路,导致Not-Via框架计算复杂度比较高,会消耗大量的路由器CPU资源,给路由器增加了额外的负担。
因此,亟需一种能够解决在提高网络可用性的同时又不增加额外负担的混合链路保护方法。
发明内容
本发明的目的在于提供一种基于多下一跳和备份路径的混合链路保护方法,以解决现有的链路保护方法无法在提高网络可用性的同时又不增加网络额外负担的技术问题。
本发明提供一种基于多下一跳和备份路径的混合链路保护方法,该方法包括:
根据设定规则构造网络中每个结点的以自身为根结点、以其他所有结点为目的结点的下一跳的集合;
在所述下一跳的集合中选择出所述结点的所有关键链路;
计算所述关键链路对网络可用性的贡献值;
根据所述贡献值和网络可用性目标从网络中所有的所述关键链路中选择出需要保护的所述关键链路;
构造需要保护的所述关键链路的备份路径。
在选择出所述结点的所有关键链路的步骤中包括:
若所述根结点到目的结点有且只有最优下一跳,则所述根结点到目的结点之间的链路为关键链路。
在计算所述关键链路对网络可用性的贡献值的步骤中包括:
所述关键链路对网络可用性的贡献值为网络中经过所述关键链路的所有路径在被保护后的可用性与被保护前的可用性的差值。
在选择出需要保护的所述关键链路的步骤中包括:
基于关键链路的所述贡献值由大到小对网络中所有关键链路进行排序;
从所述排序中根据所述贡献值由大到小逐一选出关键链路,每当选出一个关键链路,根据已经选出的所有关键链路的贡献值计算当前网络可用性;
当所述当前网络可用性大于等于所述网络可用性目标时,停止从所述排序中选出关键链路,此时,已经选出的所有关键链路为需要保护的关键链路。
在构造需要保护的所述关键链路的备份路径的步骤中包括:
构造网络中每个结点的以自身为根结点、以其他所有结点为目的结点且不包括所述关键链路的备份的下一跳的集合;
从所述备份的下一跳的集合中为所述关键链路选择备份路径。
在计算所述关键链路对网络可用性的贡献值的步骤中包括:
所述关键链路对网络可用性的贡献值为网络中经过所述关键链路的与所述关键链路同根的所有路径在被保护后的可用性与被保护前的可用性的差值。
所述设定规则包括:
假设以结点c为根的最短路径树中的两个结点u和v互为邻居关系,定义Dc(v,u)=Cc(v)-Cc(Bc(v))+L(u,v),若Dc(v,u)<Cc(u)成立,则称v对u有贡献,将Bc(v)加入到根结点c到目的结点u的下一跳的集合中,
其中,Cc(v)和Cc(u)分别表示根结点c到结点v和结点u的最小代价,Bc(v)和Bc(u)分别表示根结点c到结点v和结点u的最优下一跳,L(u,v)表示结点u和结点v的直连代价,Cc(Bc(v))和Cc(Bc(u))分别表示结点c到Bc(v)和Bc(u)的最小代价。
本发明提供的链路保护方法是一种基于多下一跳(MNP)和备份路径(BPP)的混合链路保护方法(HLP)。其中,MNP方案定义了一个结点上的偏序关系,从而可以保证计算出的路径是没有环路的。该算法仅仅需要构造一棵以自身为根结点的最短路径树,当该树构造完毕后,运行算法的结点将计算出到所有目的的下一跳集合。进而通过BPP方案保护未被MNP保护的链路,首先,根据MNP的计算结果,计算出网路中所有结点的关键链路,然后根据不同的关键链路对网络可用性的贡献值不相同,选择必要的链路进行保护,从而使网络的可用性达到设计目标。实验结果表明,HLP可以大大的提高网络的可用性,同时不增加额外负担。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚的说明本发明实施例中的技术方案,下面将对实施例描述中所需要的附图做简单的介绍:
图1是本发明实施例提供的链路保护方法的流程示意图;
图2是发明实施例提供的链路保护方法的框架示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
本发明实施例提供了一种基于多下一跳和备份路径的混合链路保护方法,如图1和图2所示,该方法包括步骤101至步骤106,在步骤101中,构造网络中每个结点的以自身为根结点、以其他所有结点为目的结点的下一跳的集合。
本发明实施例提供的链路保护方法是一种基于多下一跳(MultipleNext-hopProtection,MNP)和备份路径(BackupPathProtection,BPP)两种算法的混合链路保护方法,在本发明实施例中,该链路保护方法首先执行MNP算法,接着执行BPP算法。首先在步骤101中根据多下一跳算法获得网络中每个结点的最短路径树(ShortestPathTree,SPT),最短路径树以自身为根结点、以其他所有结点为目的结点。在构造最短路径树的过程中,形成网络中每个结点的下一跳的集合,网络中一个结点到网络中任意一个其他结点可能有多个下一跳,该集合包括一个起始节点到其他所有节点的多个下一跳。
假设当前结点为结点c,运行算法的结点c构造以c为根的SPT,在构造SPT的过程中可以计算出以c为根结点、以其他所有结点为目的结点的下一跳信息,我们称这种算法为多下一跳保护算法(MultipleNext-hopProtection,MNP)。
下面对MNP算法原理进行详细的阐述:为了方便描述该算法,先定义一些标记,这些标记适用于整个发明内容。我们将网络拓扑抽象为一个无向连通图G(V,E),其中V和E分别代表图的顶点和边,L(u,v)是结点u和结点v的直连代价,当结点u和结点v不是邻居时,该值为无穷大,R(v)表示结点v的路由ID(Router-ID),Tc表示以结点c为根的最短路径树SPT。在Tc中,Cc(v)表示结点c到结点v的最小代价,Hc(v)表示结点v的所有孩子结点,Pc(v)表示结点v的父结点,Dc(v)表示结点v以及结点v的所有子孙结点。
该算法的目的是为结点c计算到目的结点的多个下一跳。我们用Nc(v)表示根结点c到结点v的下一跳的集合,Bc(v)表示根结点c到结点v的最优下一跳,并且Bc(v)∈Nc(v)。为了方便表述,后面相关内容或附图也可以使用N(v)和B(v)来分别表示根结点到结点v的下一跳的集合以及根结点到结点v的最优下一跳。
我们定义下述选取下一跳的规则:
假设以结点c为根的最短路径树中的两个结点u和v互为邻居关系,定义Dc(v,u)=Cc(v)-Cc(Bc(v))+L(u,v),如果Dc(v,u)<Cc(u)成立,则称v对u有贡献,将Bc(v)加入到根结点c到结点u的下一跳的集合中,
其中,Cc(v)和Cc(u)分别表示根结点c到结点v和结点u的最小代价,Bc(v)和Bc(u)分别表示根结点c到结点v和结点u的最优下一跳,L(u,v)表示结点u和结点v的直连代价,Cc(Bc(v))和Cc(Bc(u))分别表示结点c到Bc(v)和Bc(u)的最小代价。
需要说明的是,上述规则最重要的一点就是计算出的根结点到所有目的结点的多条路径是无环的。下面我们证明利用规则1计算的路径没有环路。
定理1:对于任意的目的v,如果c的邻居x满足条件Cx(v)<Cc(v),结点c可以将报文发送给它该邻居结点x,则c到目的v的路径将不会出现环路。
证明:因为Cx(v)是结点x到结点v的最短路径,Cc(v)是结点c到结点v的最短路径,因此按照定理1中所述的转发规则从c到目的v进行转发时,转发路径上的节点到v的代价是单调递减的,因此c到目的v的路径将不会出现环路。
定理2:假设Tc中的两个结点u、v并且u和v互为邻居关系,定义Dc(v,u)=Cc(v)-Cc(Bc(v))+L(u,v),如果Dc(v,u)<Cc(u)成立,则可以将Bc(v)加入到Nc(u)中。
证明:因为Dc(v,u)是结点Bc(v)到v再到u的这条实际存在的路径的代价,因此Dc(v,u)≥CBc(v)(u),结合定理2的前提条件Dc(v,u)<Cc(u)可知Cc(u)>CBc(v)(u),所以根据定理1可知,c可以选择结点Bc(v)作为到结点u的下一跳。
本实施例是静态情况下的多路径生成方法,构造SPT是一个迭代的过程,每次都选择一个结点加入到SPT。下面详细说明构造以某一结点为根的SPT的各个步骤。
步骤一,初始化一网络的所有结点的结点信息。初始化的结点信息包括每个结点的代价、父亲结点、子孙结点以及访问标记属性(visited)。为每个结点定义一个访问标记属性,设置初值为未访问false,当该结点加入到SPT后,设置访问标记属性为已访问true。
初步设置根结点,例如结点c的最小代价为0,即Cc(c)=0,将除根结点c以外的任意结点v的最小代价设置为无穷大,即Cc(v)=∞。将所有结点(例如结点v)的父结点设置为空NULL,即Pc(v)=NULL。将所有结点(例如结点v)的访问标记属性(visited)设置为未访问false,即v.visited=false。
步骤二,创建优先级队列Q,将结点c的优先级结构信息加入到优先级队列Q中。优先级队列Q中元素的结构为QStruct(ID,TC,TP),其中ID表示结点的Router-ID,TC为结点的当前最小代价,TP表示结点的当前父结点。将根结点c的QStruct信息加入到Q中,完成该步骤后,Q中目前只有一个元素Q(c,0,NULL)。
步骤三,判断优先级队列Q是否为空,若判断结果为否,则执行步骤四,否则结束操作。
步骤四,根据出队列规则取出优先级队列Q中的队首元素(Cur),设置该元素为当前结点,并且将该元素从队列Q中删除。其中,定义ExtractMin为结点出队列的规则,该规则如下:
(1)选取TC最小的结点;
(2)当有多个结点有相同的TC,选择Router-ID最小的结点。
当一个结点出队列后,该结点的最小代价和父结点就确定了,并且将该结点的访问标记属性(visited)设置为true。
如果当前结点不是根结点c且访问属性为false,则变更当前结点v的visited属性为true(即v.visited=true),并且更新当前结点的最小代价:Cc(v)=tc;子孙结点:Hc(tp)=Hc(tp)∪{v},Hc(Pc(v))=Hc(Pc(v))\{v};父结点:Pc(v)=tp。并且通过以下表达式来计算根结点c到当前结点v的最优下一跳Bc(v):
如果Pc(v)=v,则Bc(v)=v;如果Pc(v)≠v,则Bc(v)=Bc(Pc(v))。
步骤五,访问队首元素Cur的所有邻居Nei。
步骤六,判断当前邻居结点是否被访问过。
如果该邻居结点未被访问过,则更新该邻居结点的结点信息,并将该邻居结点更新后的信息按照优先级结构加入到优先级队列Q中。
需要说明的是,在初次遍历当前结点v的所有邻居结点,由于所有邻居结点的访问标记属性(visited)设置为false,也就是所有邻居结点未被访问,此时需要对所有邻居结点进行信息更新并加入到优先级队列Q中。例如对于邻居结点u来说,计算u的TC:TC=Cc(v)+LC(v,u)和TP:TP=v。将计算的结点u的QStruct(u,TP,TC)加入到Q中。
如果该邻居结点已经被访问过,则根据上述规则1计算根结点c到队首元素Cur的下一跳以及根结点c到该邻居结点Nei的下一跳。
假设队首元素为v,当前邻居结点为u,如果v对u有贡献,则设置哈希表项hc[v,u]=1,并且将Bc(v)加入到Nc(u)中,同样,如果u对v有贡献,则设置哈希表项hc[u,v]=1,并且将Bc(u)加入到Nc(v)中。此外,将一个元素加入到一个下一跳集合时,需同时维护该元素被加入该集合的次数,用引用计数表示。也就是,将引用计数作加1计算。
步骤七,判断当前邻居结点是否是该队首元素的最后一个邻居结点,若是则返回步骤三,否则获取下一个邻居结点并返回步骤六。
当队列Q中的元素为空时,算法执行完毕。此时已经计算出结点c到所有结点的下一跳,将这些下一跳存入到路由表中。
由于步骤101中计算出了根结点到目的结点多个下一跳。根据MNP计算的结果,在所有的根结点到目的结点对之间可能会出现多条路径。网络出现故障的时候,当结点到目的结点的默认下一跳无效时,结点可以利用预先计算好的其它备用下一跳转发数据报,从而有效的减少数据报的丢失。然而,利用MNP并不能保护网络中所有的链路,因此该方案虽然简单,但是对链路的保护能力是有限的。为了进一步提高网络的可用性,提高对网络中链路的保护能力,本发明实施例提出了利用备份路径保护方案(BPP:BackupPathProtection)来保护未被MNP保护的链路。在步骤102中,在下一跳的集合中选择出结点的所有关键链路,即网络中每个路由器单独计算出各自的关键链路。
在网络拓扑结构G(V,E)中,我们定义若所述根结点到目的结点有且只有最优下一跳,则所述根结点到目的结点之间的链路为关键链路。
即定义1.1:当目的地址为d∈V-{v}时,对于网络中的任意一个结点v∈V,如果结点v到达目的d只有最优下一跳,即|Nv(d)|=1,则我们称链路(v;Nv(d))为结点v的一条关键链路。从上述对关键链路的定义1.1,我们可以看出结点的关键链路就是没有被MNP保护的链路,本发明实施例提供的保护方法只需要选择性的保护这些关键链路,而不是保护网络中所有的链路。由于不同的关键链路对网络可用性的贡献值是不相同的,因此按照关键链路贡献值的大小选择性的保护这些关键链路。
在步骤103中,计算关键链路对网络可用性的贡献值。如图2所示,每个结点将自己的关键链路传送给网络中的一个中心结点,由该中心结点通过处理器计算所有这些关键链路对整个网络可用性的贡献值。在本发明实施例中,我们定义关键链路对网络可用性的贡献值为网络中经过关键链路的所有路径在被保护后的可用性与被保护前的可用性的差值。
即定义1.2:给定一个网络拓扑结构G=(V,E)和一条关键链路e,我们将该链路对网络可用性的贡献β(e)定义为:
β ( e ) = Σ ∀ ( s , d ) ∈ e . P A * ( s , d ) - A ( s , d )
其中,A(s,d)表示结点s和结点d的端到端的可用性,而A*(s,d)是当关键链路e被保护后结点s和结点d的端到端的可用性,e.P表示所有经过关键链路e的路径的集合。
可选的,在本发明实施例中,也可以定义关键链路对网络可用性的贡献值为网络中经过关键链路的与关键链路同根的所有路径在被保护后的可用性与被保护前的可用性的差值。在实际算法中,本发明实施例提供的方法没有计算出经过关键链路e的所有路径,而只考虑其中与关键链路e同根的所有路径,也就是说结点c计算其关键路径时,只考虑以自己为起点的所有路径。这样做的最主要的目的是降低算法的复杂度,因为列出所有经过链路e的路径的时间复杂度是现在算法的|V|的倍数。根据定义1.2可知,当只考虑以自己为起点的所有路径时只是忽略掉了链路e对网络可用性的部分贡献值,把贡献值降低了一小部分。因此,如果计算的网络可用性达到设计要求,则实际的网络可用性将会高于这个最低值。
在步骤104中,根据贡献值和网络可用性目标从网络中所有的关键链路中选择出需要保护的关键链路。具体为:基于关键链路的贡献值由大到小对网络中所有关键链路进行排序;从排序中根据贡献值由大到小逐一选出关键链路,每当选出一个关键链路,根据已经选出的所有关键链路的贡献值计算当前网络可用性;当当前网络可用性大于等于网络可用性目标时,停止从排序中选出关键链路,此时,已经选出的所有关键链路为需要保护的关键链路。也就是说在进行选择之前网络中所有的关键链路的集合为K,在K中所有的关键链路以自身的贡献值大小从大到小进行排序,然后,从大到小从K中选出关键链路加入到集合K’中,直到K’中所有的关键链路的贡献使得当前网络的可用性达到目标为止,此时K’中的关键链路就是需要保护的关键链路。
在网络拓扑结构G=(V,E)中,网络的可用性目标为R,当前网络的可用性为A(G),选择必要的链路利用BPP方案保护,从而使得A(G)≥R。这个过程可以形式化的表示为下述表达式:
M i n i m i z e Σ ∀ ( i , j ) ∈ E m i , j
s.t.A(G)≥R
相对于现有技术的链路保护方案,例如Not-Via保护方法,其尽可能的保护网络中所有的链路,因此已有方案的计算复杂度比较高,消耗了大量的路由器CPU资源。相关研究结果表明,网络中链路故障频繁发生,并且大部分的故障持续时间比较短。大约70%为单链路故障,只有30%为结点故障和多链路故障。网络中3%左右的链路故障导致了网络55%的故障,这就为我们设计有效的链路保护方案提供了重要依据。因此,为了降低链路保护的成本,我们提出了高效的链路保护方案BPP。BPP方案与Not-Via的最大区别在于,Not-Via假设网络中所有链路的重要性都是相同的,而BPP方案则将链路区别对待,BPP认为网络中链路的重要性是不同的,特别是对网络可用性的贡献是不同的。
在步骤105中,构造需要保护的关键链路的备份路径。中心结点在根据网络可用性的目标计算出所有需要保护的关键链路后将计算结果分发给每个路由器,即每个结点。
每个结点构造的以自身为根结点、以其他所有结点为目的结点且不包括所述关键链路的备份下一跳的集合,从备份下一跳的集合中为关键链路选择备份路径。对于收到的的任意一条关键链路e,每个结点将在新的网络拓扑G=(V,E’);E’=E-{e}中计算最短路径树和所有下一跳的集合,从备份下一跳的集合中为关键链路选择备份路径,并且将该备份路径加入到路由器的转发表中。
在如下所示的BPP算法基本框架中,网络中的每个结点独立的计算自己的所有关键链路,并且每条关键链路通过路径属性e.P记录所有经过该链路的所有路径(算法框架中第1-5行)。然后,每个结点将自己的关键链路传送给一个中心结点,中心结点将合并所有的关键链路的路径属性。该中心结点根据定义1.2计算所有关键链路对网络可用性的贡献值,并且按照贡献值的大小对关键链路按照降序排列(算法框架中第6-11行)。通过上述的两个步骤,计算出了所有关键链路对网络可用性的贡献值,并且按照贡献值大小对它们进行了排序。接着,算法将简单的按照贡献值从大到小选择关键链路作为最终需要保护的链路,直到网络的可用性达到预设的目标(算法框架中第13-18行)。该中心结点将计算的最终需要保护的关键链路分发给所有的结点,这样网络中所有的结点对需要保护的关键链路达成了一致(算法框架中第19行)。每个结点按照上述的方法为每条需要保护的关键链路计算保护路径。
BPP算法基本框架如下:
本发明提供的链路保护方法是一种基于多下一跳(MNP)和备份路径(BPP)的混合链路保护方法(HLP)。其中,MNP方案定义了一个结点上的偏序关系,从而可以保证计算出的路径是没有环路的。该算法仅仅需要构造一棵以自身为根结点的最短路径树,当该树构造完毕后,运行算法的结点将计算出到所有目的的下一跳集合。进而通过BPP方案保护未被MNP保护的链路,首先,根据MNP的计算结果,计算出网路中所有结点的关键链路,然后根据不同的关键链路对网络可用性的贡献值不相同,选择必要的链路进行保护,从而使网络的可用性达到设计目标。实验结果表明,HLP可以大大的提高网络的可用性,同时不增加额外负担。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (7)

1.一种基于多下一跳和备份路径的混合链路保护方法,其特征在于,包括:
根据设定规则构造网络中每个结点的以自身为根结点、以其他所有结点为目的结点的下一跳的集合;
在所述下一跳的集合中选择出所述结点的所有关键链路;
计算所述关键链路对网络可用性的贡献值;
根据所述贡献值和网络可用性目标从网络中所有的所述关键链路中选择出需要保护的所述关键链路;
构造需要保护的所述关键链路的备份路径。
2.根据权利要求1所述的链路保护方法,其特征在于,在选择出所述结点的所有关键链路的步骤中包括:
若所述根结点到目的结点有且只有最优下一跳,则所述根结点到目的结点之间的链路为关键链路。
3.根据权利要求1或2所述的链路保护方法,其特征在于,在计算所述关键链路对网络可用性的贡献值的步骤中包括:
所述关键链路对网络可用性的贡献值为网络中经过所述关键链路的所有路径在被保护后的可用性与被保护前的可用性的差值。
4.根据权利要求3所述的链路保护方法,其特征在于,在选择出需要保护的所述关键链路的步骤中包括:
基于关键链路的所述贡献值由大到小对网络中所有关键链路进行排序;
从所述排序中根据所述贡献值由大到小逐一选出关键链路,每当选出一个关键链路,根据已经选出的所有关键链路的贡献值计算当前网络可用性;
当所述当前网络可用性大于等于所述网络可用性目标时,停止从所述排序中选出关键链路,此时,已经选出的所有关键链路为需要保护的关键链路。
5.根据权利要求4所述的链路保护方法,其特征在于,在构造需要保护的所述关键链路的备份路径的步骤中包括:
构造网络中每个结点的以自身为根结点、以其他所有结点为目的结点且不包括所述关键链路的备份的下一跳的集合;
从所述备份的下一跳的集合中为所述关键链路选择备份路径。
6.根据权利要求5所述的链路保护方法,其特征在于,在计算所述关键链路对网络可用性的贡献值的步骤中包括:
所述关键链路对网络可用性的贡献值为网络中经过所述关键链路的与所述关键链路同根的所有路径在被保护后的可用性与被保护前的可用性的差值。
7.根据权利要求6所述的链路保护方法,其特征在于,所述设定规则包括:
假设以结点c为根的最短路径树中的两个结点u和v互为邻居关系,定义Dc(v,u)=Cc(v)-Cc(Bc(v))+L(u,v),若Dc(v,u)<Cc(u)成立,则称v对u有贡献,将Bc(v)加入到根结点c到目的结点u的下一跳的集合中,
其中,Cc(v)和Cc(u)分别表示根结点c到结点v和结点u的最小代价,Bc(v)和Bc(u)分别表示根结点c到结点v和结点u的最优下一跳,L(u,v)表示结点u和结点v的直连代价,Cc(Bc(v))和Cc(Bc(u))分别表示结点c到Bc(v)和Bc(u)的最小代价。
CN201510954632.6A 2015-12-17 2015-12-17 基于多下一跳和备份路径的混合链路保护方法 Active CN105577535B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510954632.6A CN105577535B (zh) 2015-12-17 2015-12-17 基于多下一跳和备份路径的混合链路保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510954632.6A CN105577535B (zh) 2015-12-17 2015-12-17 基于多下一跳和备份路径的混合链路保护方法

Publications (2)

Publication Number Publication Date
CN105577535A true CN105577535A (zh) 2016-05-11
CN105577535B CN105577535B (zh) 2018-11-20

Family

ID=55887223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510954632.6A Active CN105577535B (zh) 2015-12-17 2015-12-17 基于多下一跳和备份路径的混合链路保护方法

Country Status (1)

Country Link
CN (1) CN105577535B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112702107A (zh) * 2020-12-21 2021-04-23 北京邮电大学 一种基于介数中心性的卫星网络备份路由计算方法及系统
CN115567438A (zh) * 2022-09-21 2023-01-03 山西大学 一种基于SRv6的域内路由保护方法
CN116319537A (zh) * 2023-03-30 2023-06-23 山西大学 一种基于节点序列的路由可用性计算方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499975A (zh) * 2009-02-27 2009-08-05 中国人民解放军信息工程大学 一种实现分组交换网络业务传输QoS保证的方法及系统
CN101572674A (zh) * 2009-06-12 2009-11-04 杭州华三通信技术有限公司 一种路由计算方法及装置
CN101753462A (zh) * 2010-01-19 2010-06-23 中国人民解放军信息工程大学 多下一跳路由的实现方法及装置
CN103763191A (zh) * 2014-01-23 2014-04-30 清华大学 基于生成树的域内多路径生成方法
CN104012051A (zh) * 2011-11-01 2014-08-27 阿尔卡特朗讯公司 提供全面保护的ip快速重路由机制
US20150016242A1 (en) * 2013-07-12 2015-01-15 Telefonaktiebolaget L M Ericsson (Publ) Method and Apparatus for Optimized LFA Computations by Pruning Neighbor Shortest Path Trees

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499975A (zh) * 2009-02-27 2009-08-05 中国人民解放军信息工程大学 一种实现分组交换网络业务传输QoS保证的方法及系统
CN101572674A (zh) * 2009-06-12 2009-11-04 杭州华三通信技术有限公司 一种路由计算方法及装置
CN101753462A (zh) * 2010-01-19 2010-06-23 中国人民解放军信息工程大学 多下一跳路由的实现方法及装置
CN104012051A (zh) * 2011-11-01 2014-08-27 阿尔卡特朗讯公司 提供全面保护的ip快速重路由机制
US20150016242A1 (en) * 2013-07-12 2015-01-15 Telefonaktiebolaget L M Ericsson (Publ) Method and Apparatus for Optimized LFA Computations by Pruning Neighbor Shortest Path Trees
CN103763191A (zh) * 2014-01-23 2014-04-30 清华大学 基于生成树的域内多路径生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张建辉: "节点势能导向多下一跳路由协议研究与性能评价", 《中国博士学位论文全文数据库信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112702107A (zh) * 2020-12-21 2021-04-23 北京邮电大学 一种基于介数中心性的卫星网络备份路由计算方法及系统
CN115567438A (zh) * 2022-09-21 2023-01-03 山西大学 一种基于SRv6的域内路由保护方法
CN115567438B (zh) * 2022-09-21 2024-03-12 山西大学 一种基于SRv6的域内路由保护方法
CN116319537A (zh) * 2023-03-30 2023-06-23 山西大学 一种基于节点序列的路由可用性计算方法
CN116319537B (zh) * 2023-03-30 2024-04-12 山西大学 一种基于节点序列的路由可用性计算方法

Also Published As

Publication number Publication date
CN105577535B (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
CN106375231B (zh) 一种流量切换方法、设备及系统
Müller et al. Survivor: An enhanced controller placement strategy for improving SDN survivability
US9929938B2 (en) Hierarchal label distribution and route installation in a loop-free routing topology using routing arcs at multiple hierarchal levels for ring topologies
Garcia-Luna-Aceves et al. A path-finding algorithm for loop-free routing
EP2880826B1 (en) Label distribution and route installation in a loop-free routing topology using routing arcs
EP2907277B1 (en) Bicasting using non-congruent paths in a loop-free routing topology having routing arcs
CN100505692C (zh) 高性能路由器bgp路由协议分布并行实现方法
US8619785B2 (en) Pre-computing alternate forwarding state in a routed ethernet mesh network
KR20100112144A (ko) 최단 경로 결정시의 타이브레이킹
US7391730B1 (en) System and method for synchronizing link state databases in a network environment
CN105978741A (zh) 一种网络故障处理方法和处理系统
KR20150030644A (ko) 최단 경로 결정에서의 타이 브레이킹
CN105577535A (zh) 基于多下一跳和备份路径的混合链路保护方法
CN103532861A (zh) 基于生成树的域内动态多路径生成方法
CN101909004A (zh) 基于边缘roadm环结构的多域光网络路由方法
Hadid et al. A stabilizing algorithm for finding two node-disjoint paths in arbitrary networks
Alnajjar et al. Performance analysis of routing protocols in delay/disruption tolerant mobile ad hoc networks
Takatsu et al. Zigzag: Local-information-based self-optimizing routing in virtual grid networks
CN108712345B (zh) 基于逐跳计算的分布式负载均衡方法
US9450835B2 (en) Method for turning off routers in a communications network and router implementing this method
Bonada et al. RSTP-SP: Shortest path extensions to RSTP
CN103763191A (zh) 基于生成树的域内多路径生成方法
Yang et al. Minimum weight controller tree design in SDN
Prasad et al. Study & Analysis of Dynamic Routing Protocols in real time for Optimal Resource Utilization
Singh et al. ALLPATH: ALL PATH ROUTING ALGORITHM IN WIRED NETWORK.

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