一种选择路径的方法

文档序号:7629926阅读:171来源:国知局
专利名称:一种选择路径的方法
技术领域
本发明涉及通信技术中多协议标签交换流量控制,尤其涉及一种选择路径的方法。
背景技术
依照传统互联网络协议中关于链路状态的内部路由网关协议(IGP),通信网络中路由器采用最短路径优先(SPF)算法选择最短的路径作为路由,不考虑路径的带宽因素。在最短路径处于拥塞状态时,即使其他次优路径处于空闲状态,路由器也不会选择空闲的次优路径作为路由,致使通信网络中网络流量的分布极不均衡。
多协议标签交换流量工程(MPLS TE)关注通信网络整体性能的优化,综合考虑路径的带宽因素,在通信网络的各条路径上均衡分布网络流量。运营商利用MPLS TE可以精确控制流量流经的路径,从而可以避开拥塞的节点,解决一部分路径过载,另一部路径空闲的问题,使运营商提供的网络资源得以充分利用,通信网络的整体性能得以优化。
MPLS TE的上述功能是由MPLS TE结构实现的。如图1所示,图1为MPLSTE结构示意图。MPLS TE结构主要包括4个基本组成单元报文转发单元101、信息发布单元102、路径选择单元103和信令单元104。
其中,报文转发单元101用于引导IP包流沿预先确定的路径通过网络。所述预先确定的路径是基于标签确定的,被称作标签交换路径(LSP),即业务流量从起始路由器按一定方向流向目的路由器的路径。由于LSP的是基于标签确定的,并不为通过现有IGP协议选择的到达目的路由器的最短路径所制约,所以可以避免起始路由器选择自身与目的路由器之间的最短路径作为路由。
信息发布单元102用于发布链路状态信息、网络拓扑信息和网络负载信息。MPLS TE在计算约束路径时需要一些有关网络拓扑和网络负载的信息,例如最大链路带宽、最大可预留带宽、当前预留带宽、当前带宽使用和链接属性等,这些信息是通过对现有IGP协议进行扩展来发布的。在对现有IGP协议进行扩展时,一般是在中间系统到中间系统(IS-IS)协议中引入新的类型长度值(TLV),或者在开放最短路径优先(OSPF)协议中引入新的链路状态通告(LSA)。MPLSTE的路由器通过一个特殊的流量工程数据库(TEDB)对网络拓扑信息和网络负载信息进行管理。TEDB用于计算LSP通过物理网络时的约束路径,与用于计算LSP通过物理网络时最短路径的IGP链接状态数据库相互独立。
路径选择单元103用于根据TEDB中的网络拓扑信息和网络负载信息,采用约束最短路径优先(CSPF)算法计算满足约束条件的路径。CSPF是一种改进的最短路径优先算法,在计算通过网络的最短路径时将特定的约束条件也考虑进去,首先在当前网络拓扑结构中删除不满足约束条件的节点和链路,然后再根据SPF算法计算最短路径。这里,特定的约束条件主要包括带宽需求,最大跳转数,和管理策略需求等。
信令单元104用于动态地建立LSP。信令单元动态地建立LSP可以避免逐跳配置的麻烦。普通的不带约束的LSP可以通过标签分发协议(LDP)来建立,而带约束的LSP可以通过约束标签分发协议(CR-LDP)或者资源预留协议流量工程(RSVP TE)来建立。
如图2所示,图2为采用MPLS TE中的CSPF算法选择路径的示意图。假定所有带宽为1G的链路的路由量度值(Metric)都相同,所有带宽为155M的链路的Metric也都相同,且已经建立了路由器R1到R5优先级为0的高优先级LSP1R1→R2→R5,LSP1占用的带宽为155M,还建立了路由器R3到R6优先级为2的低优先级LSP2R3→R2→R6,LSP2占用的带宽也为155M。
当路由器R2与R5之间链路发生故障时,LSP1的头端路由器R1采用MPLSTE中的CSPF算法将LSP1重建为R1→R2→R6→R5。由于路由器R2与R6之间链路的带宽只有155M,因此LSP2中路由器R2与R6之间的链路被新建的LSP1抢占,LSP2的头端路由器R3采用MPLS TE中的CSPF算法将LSP2重建为R3→R4→R5→R6。这样,LSP2中路由器R2与R6之间的链路被抢占,LSP2需要重建,LSP2上的流量也被迫中断,网络因此而变得不稳定。
虽然采用MPLS-TE中的CSPF算法选择路径可以在一定程度上解决网络流量分布不均衡的问题,但是由于MPLS-TE中的CSPF算法忽视了选择路径时是否需要抢占其他LSP中的链路以及抢占其他LSP中链路的数量,被抢占的LSP又可能去抢占其他更低优先级LSP中的链路,所以采用MPLS-TE中的CSPF算法选择路径经常会带来以下问题1、在不需要抢占其他LSP中的链路时发生了抢占,导致整个网络中链路的利用率降低;2、在需要抢占其他LSP中的链路时抢占链路的数量不是最少,被抢占LSP的优先级不是最低,被抢占的LSP再去抢占其他更低优先级LSP中的链路,低优先级LSP频繁被建立与抢占,低优先级LSP的流量也频繁被中断,导致网络动荡和不稳定。

发明内容
有鉴于此,本发明的主要目的在于提供一种选择路径的方法,以提高链路的利用率和网络的稳定性。
为达到上述目的,本发明提供了一种选择路径的方法,包括以下步骤A、起始路由器判断是否存在不需要抢占其他标签交换路径LSP的路径,如果存在,则执行步骤B;否则,执行步骤C;B、在不需要抢占其他LSP的路径中选择一条路径,并结束本流程;C、在需要抢占其他LSP的路径中选择等效抢占LSP数量最少的链路所在的路径。
上述方案中,步骤A中所述判断是否存在不需要抢占其他LSP的路径为起始路由器判断自身与目的路由器之间是否至少存在一条全部链路上可用带宽资源都能够满足新业务流量需要的路径。
上述方案中,步骤B中所述在不需要抢占其他LSP的路径中选择一条路径包括在不需要抢占其他LSP的路径中选择一条链路利用率最低的路径。
上述方案中,所述在不需要抢占其他LSP的路径中选择一条链路利用率最低的路径包括B1、在每条不需要抢占其他LSP的路径中选择一条指标最差的链路;B2、将选择的指标最差的链路构成一个集合,在指标最差链路构成的集合中选择一条指标最优的链路;B3、将选择的指标最优的链路作为链路利用率最低的链路,选择该链路所在的路径。
上述方案中,所述步骤B1包括B11、假设F(link(uv))=(SB+UB(uv))/RB(uv),其中,RB(uv)表示链路link(uv)上的预留总带宽,UB(uv)表示链路link(uv)上的已经被占用的总带宽,SB表示新建LSP所需的带宽;B12、计算每条不需要抢占其他LSP的路径中每条链路的F(link(uv))值,比较每条链路F(link(uv))值的大小,选择F(link(uv))值最大的链路作为指标最差的链路。
上述方案中,步骤B12中所述F(link(uv))值最大的链路同时存在多条,该方法进一步包括计算并比较F(link(uv))值最大链路的(RB-SB-UB)值,选择(RB-SB-UB)值最小的链路作为指标最差的链路。
上述方案中,所述(RB-SB-UB)值最小的链路同时存在多条,该方法进一步包括在所述多条(RB-SB-UB)值最小的链路中,随机选择一条链路作为指标最差的链路。
上述方案中,步骤B2中所述在指标最差链路构成的集合中选择一条指标最优的链路包括计算并比较指标最差链路构成的集合中每条链路F(link(uv))值的大小,选择一条F(link(uv))值最小的链路作为指标最优的链路。
上述方案中,所述F(link(uv))值最小的链路同时存在多条,该方法进一步包括计算并比较F(link(uv))值最小链路的(RB-SB-UB)值,选择(RB-SB-UB)值最大的链路作为指标最优的链路。
上述方案中,所述(RB-SB-UB)值最大的链路同时存在多条,该方法进一步包括在所述多条(RB-SB-UB)值最大链路所属的路径中,分别剔除各自包含的所述(RB-SB-UB)值大的链路,并再次执行步骤B1和B2,直至选择出一条指标最优的链路。
上述方案中,所述在剔除各自包含的所述(RB-SB-UB)值大的链路的过程中,某条路径中的链路被全部剔除,步骤B3中选择的路径为所述链路被全部剔除的路径。
上述方案中,步骤B中所述在不需要抢占其他LSP的路径中选择一条路径包括在不需要抢占其他LSP的路径中选择一条链路数量最少的路径。
上述方案中,所述在不需要抢占其他LSP的路径中选择一条链路数量最少的路径包括B1′、在不需要抢占其他LSP的路径中计算每条路径所包含链路的数量;B2′、比较计算出的每条路径所包含链路的数量,选择链路数量最少的路径。
上述方案中,步骤B2′中所述链路数量最少的路径同时存在多条,该方法进一步包括将链路数量最少的路径构成一个集合,假设P(path(u))=F(link(u1))+F(link(u2))+...F(link(un)),其中F(link(uv))=(SB+UB(uv))/RB(uv),根据公式P(path(u))=F(link(u1))+F(link(u2))+...F(link(un))计算该集合中每条路径的P(path(u))值,选择P(path(u))值最小的路径。
上述方案中,所述P(path(u))值最小的路径同时存在多条,该方法进一步包括在所述多条P(path(u))值最小的路径中随机选择一条路径。
上述方案中,所述步骤C包括C1、对内部路由网关协议IGP进行扩展,在每条需要抢占其他LSP的路径中选择一条指标最差的链路;C2、将选择的指标最差的链路构成一个集合,在指标最差链路构成的集合中选择一条指标最优的链路;
C3、将选择的指标最优的链路作为等效抢占LSP数量最少的链路,选择该链路所在的路径。
上述方案中,所述路径为点到点的单播路径,所述步骤C1包括C11、在IGP的中间系统到中间系统IS-IS协议中引入新的类型长度值TLV,或者在IGP的开放最短路径优先OSPF协议中引入新的链路状态通告LSA,在新引入的TLV或LSA中存放每条链路上LSP的数量、优先级别和带宽级别信息;C12、假设E(link(uv))与LSP(uvrt)之间的关系式,其中E(link(uv))表示某条链路上等效抢占LSP的数量,LSP(uvrt)表示路径u上第v条链路的优先级别为r带宽级别为t的LSP被抢占的数量;将每条链路上LSP的数量、优先级别和带宽级别信息代入所述E(link(uv))与LSP(uvrt)之间的关系式,计算每条链路的E(link(uv))值;C13、在每条需要抢占其他LSP的路径中比较每条链路E(link(uv))值的大小,将E(link(uv))值最大的链路作为该路径中指标最差的链路。
上述方案中,所述路径为点到多点的组播路径,所述步骤C1包括C11′、在IGP的IS-IS协议中引入新的TLV,或者在IGP的OSPF协议中引入新的LSA,在新引入的TLV或LSA中存放每条链路上LSP的数量、优先级别、带宽级别和组播组地址信息;C12′、假设E(link(uv))与LSP(uvrt)之间的关系式,其中E(link(uv))表示某条链路上等效抢占LSP的数量,LSP(uvrt)=LSPs(uvrt)+LSPM1(uvrt)+LSPM2(uvrt)+...+LSPMn(uvrt),LSPs(uvrt)表示路径u上第v条链路的优先级别为r带宽级别为t的单播LSP被抢占的数量,LSPMn(uvrt)表示路径u上第v条链路的优先级别为r带宽级别为t的组播路径n被抢占的数量;将每条链路上LSP的数量、优先级别、带宽级别和组播组地址信息代入所述E(link(uv))与LSP(uvrt)之间的关系式,计算每条链路的E(link(uv))值;C13′、在每条需要抢占其他LSP的路径中比较每条链路E(link(uv))值的大小,将E(link(uv))值最大的链路作为该路径中指标最差的链路。
上述方案中,步骤C13或C13′中所述E(link(uv))值最大的链路同时存在多条,该方法进一步包括计算并比较同时存在的多条E(link(uv))值最大的链路上所有被抢占的LSP数量的总和,选择所有被抢占LSP数量总和最大的链路作为指标最差的链路。
上述方案中,所述被抢占的LSP数量的总和最大的链路同时存在多条,该方法进一步包括在所述多条被抢占的LSP数量的总和最大的链路中随机选择一条链路作为指标最差的链路。
上述方案中,步骤C2中所述在指标最差链路构成的集合中选择一条指标最优的链路包括计算并比较指标最差链路构成的集合中每条链路E(link(uv))值的大小,选择一条E(link(uv))值最小的链路作为指标最优的链路。
上述方案中,所述E(link(uv))值最小的链路同时存在多条,该方法进一步包括计算并比较多条E(link(uv))值最小链路被抢占LSP数量总和的大小,选择一条被抢占LSP数量总和最小的链路作为指标最优的链路。
上述方案中,所述被抢占的LSP数量的总和最小的链路同时存在多条,该方法进一步包括在多条被抢占的LSP数量的总和最小链路所属的路径中,分别剔除各自包含的所述被抢占的LSP数量的总和最小的链路,并再次执行步骤C1和C2,直至选择出一条指标最优的链路。
上述方案中,所述在剔除各自包含的所述被抢占的LSP数量的总和最小的链路的过程中,某条路径中的链路被全部剔除,步骤C3中选择的路径为所述链路被全部剔除的路径。
因此,本发明提供的这种选择路径的方法,通过判断是否存在不需要抢占其他LSP的路径,如果存在,则起始路由器选择不需要抢占其他LSP的路径中的路径;否则,起始路由器在需要抢占其他LSP的路径中选择等效抢占LSP数量最少的链路所在的路径。
利用本发明,在不需要抢占其他LSP中的链路时,起始路由器选择不需要抢占其他LSP的路径中的路径,避免了在不需要抢占其他LSP中的链路时发生抢占。因此,本发明一方面提高了整个网络的稳定性,另一方面也使整个网络的流量分布趋于均衡,大大提高了整个网络中链路的利用率。另外,在不需要抢占其他LSP中的链路时,路由器进一步选择不需要抢占的LSP中链路利用率最低的路径,或者进一步选择不需要抢占其他LSP中链路数量最少的路径,进一步使整个网络的流量分布趋于均衡,并且进一步提高了整个网络中链路的利用率和整个网络的稳定性。
利用本发明,在需要抢占其他LSP中的链路时,对于选择点到点的单播路径,综合考虑了被抢占的LSP优先级别和被抢占LSP中被抢占的链路数量两方面的因素;对于选择点到多点的组播路径,不但综合考虑了被抢占的LSP优先级别和抢占链路上抢占LSP数量两方面的因素,而且还考虑了抢占链路所处组播路径在抢占链路下游所拥有的分支链路的数量,以及抢占链路是否与已建立的属于同一组播路径的链路发生重合两方面的因素。这样一来,使被抢占的LSP不可能再去抢占其他LSP中的链路,解决了低优先级LSP频繁被建立与抢占,低优先级LSP的流量也频繁被中断的问题,所以本发明大大提高了网络的稳定性。


图1为MPLS TE结构示意图;图2为采用MPLS TE中的CSPF算法选择路径的示意图;图3为本发明选择路径总体技术方案的实现流程图;图4为单播情况下选择等效抢占LSP数量最少的链路所在路径的示意图;图5为组播情况下选择等效抢占LSP数量最少的链路所在路径的示意图;图6为本发明选择等效抢占LSP数量最少链路所在路径的方法流程图;图7为本发明在不需要抢占其他LSP的路径中选择链路利用率最低的路径的方法流程图;图8为本发明在不需要抢占其他LSP的路径中选择链路数量最少的路径的方法流程图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例,并参照附图,对本发明进一步详细说明。
本发明的核心内容是通过判断是否存在不需要抢占其他LSP的路径,如果存在,则起始路由器选择不需要抢占其他LSP的路径中的路径;否则,起始路由器在需要抢占其他LSP的路径中选择等效抢占LSP数量最少的链路所在的路径。
如图3所示,图3为本发明选择路径总体技术方案的实现流程图,该方法包括以下步骤步骤301起始路由器判断是否存在不需要抢占其他LSP的路径,如果存在,则执行步骤302;否则,执行步骤303;步骤302选择不需要抢占其他LSP的路径中的路径,并结束本流程;步骤303在需要抢占其他LSP的路径中选择等效抢占LSP数量最少的链路所在的路径。
上述步骤301判断是否存在不需要抢占其他LSP的路径,是起始路由器判断自身与目的路由器之间是否至少存在一条全部链路上可用带宽资源都能够满足新业务流量需要的路径,如果是,则存在不需要抢占其他LSP的路径,起始路由器也不需要抢占其他LSP中的链路;否则,不存在不需要抢占其他LSP的路径,起始路由器需要抢占其他LSP中的链路。
即如果在起始路由器与目的路由器之间至少存在一条路径,该路径中每条链路上可用的带宽资源都能够满足新业务流量的需要,则起始路由器判定在起始路由器与目的路由器之间存在不需要抢占其他LSP的路径。如果在起始路由器与目的路由器之间不存在如下所述的一条路径,该路径中每条链路上可用的带宽资源都能够满足新业务流量的需要,则起始路由器判定在起始路由器与目的路由器之间不存在不需要抢占其他LSP的路径。
在上述步骤302中,为了使网络流量分布趋于均衡,并提高整个网络中链路的利用率,在存在不需要抢占其他LSP的路径时,起始路由器在不需要抢占其他LSP的路径中选择一条路径。另外,作为本发明技术方案的优化,为使网络流量分布更加趋于均衡,并进一步提高整个网络中链路的利用率,在存在不需要抢占其他LSP的路径时,起始路由器在不需要抢占其他LSP的路径中选择一条链路利用率最低的路径,或者选择一条链路数量最少的路径。
由于LSP一般有0、1、...、7等八个优先级别,且优先级从0到7依次递减,优先级别高的LSP中的链路被抢占以后,将会抢占其他优先级别比自身低的LSP中的链路,引起网络的动荡和不稳定。因此,为使起始路由器在抢占其他LSP中的链路后,被抢占的LSP不再去抢占其他的LSP,降低对整个网络稳定性的影响,提高网络的稳定性,起始路由器应优先选择优先级别最低的LSP中的链路来抢占。
由于在不同的LSP中起始路由器需要抢占的链路的数量可能是不同的,每条被抢占链路又可能同时属于多条LSP,起始路由器需要抢占的链路所属LSP的数量越多,抢占LSP的数量也就越多,进而对整个网络稳定性的影响也就越大。因此,为降低对整个网络稳定性的影响,提高网络的稳定性,起始路由器还应该优先选择抢占链路上抢占LSP数量最少的链路所在的路径来抢占。
上述步骤303在需要抢占其他LSP的路径中选择等效抢占LSP数量最少的链路所在的路径时,对于选择点到点的单播路径,需要综合考虑上述被抢占的LSP优先级别和抢占链路上抢占LSP数量两方面的因素。对于选择点到多点的组播路径,不但需要综合考虑上述被抢占的LSP优先级别和抢占链路上抢占LSP数量两方面的因素,而且还需要考虑以下两方面的因素一、抢占链路所处组播路径在抢占链路下游所拥有的分支链路的数量。
如果在某个链路的某个优先级别某个带宽级别上存在有多条LSP,且算法已经计算出只需抢占一部分LSP,则对于组播路径起始路由器应优先选择在抢占链路下游拥有分支链路数量最少的组播路径来抢占;对于单播路径,由于下游拥有分支链路数量为0,所以可以随便抢占一条。
对于组播路径,由于选择抢占链路所处的组播路径后,该组播路径下游分支链路上的业务也将被迫终断,所以,如果抢占链路所处组播路径在抢占链路下游所拥有的分支链路的数量越多,则业务被迫终断的链路也将越多,这样对整个网络稳定性的影响也将越严重。因此,为降低对整个网络稳定性的影响,提高网络的稳定性,起始路由器应优先选择在抢占链路下游拥有分支链路数量最少的组播路径来抢占。
二、抢占链路是否与已建立的属于同一组播路径的链路发生重合。
如果抢占链路与已建立的属于同一组播路径的链路发生重合,则可以直接接收重合链路传输的组播数据,重合链路上抢占LSP数量为0,即在重合链路并没有发生抢占。因此,起始路由器应该优先选择抢占链路与已建立的属于同一组播路径的链路发生重合的组播路径。
链路上等效抢占LSP的数量可以通过E(link(uv))与LSP(uvrt)之间的关系式计算得出,E(link(uv))与LSP(uvrt)之间的关系式如下E(link(uv))=(1/127)(LSP(uv71)/(1+2+...+2^(t-1))+...+LSP(uv7t)*2^(t-1)/(1+2+...+2^(t-1)))+(2/127)(LSP(uv61)/(1+2+...+2^(t-1))+...+LSP(uv6t)*2^(t-1)/(1+2+...+2^(t-1)))+...
+(64/127)(LSP(uv11)/(1+2+...+2^(t-1))+...+LSP(uv1t)*2^(t-1)/(1+2+...+2^(t-1)))其中,E(link(uv))表示某条链路上等效抢占LSP的数量,对于选择点到点的单播路径,LSP(uvrt)表示路径u上第v条链路的优先级别为r带宽级别为t的LSP被抢占的数量;对于选择点到多点的组播路径,LSP(uvrt)=LSPs(uvrt)+LSPM1(uvrt)+LSPM2(uvrt)+...+LSPMn(uvrt),其中,LSPs(uvrt)表示路径u上第v条链路的优先级别为r带宽级别为t的单播LSP被抢占的数量,LSPMn(uvrt)表示路径u上第v条链路的优先级别为r带宽级别为t的组播路径n被抢占的数量。
以下结合单播和组播两种情况,详细说明起始路由器在需要抢占其他LSP的路径中选择等效抢占LSP数量最少的链路所在的路径。
一、对于选择点到点的单播路径,选择抢占链路上等效抢占LSP数量最少的链路所在的路径。
如图4所示,图4为单播情况下选择等效抢占LSP数量最少的链路所在路径的示意图。假设存在有路径1A→B→E→C和路径2A→D→E→C两条路径,以下分别对路径1和路径2进行考察对于路径1而言,假设路径1中链路AB和EC需要从其他LSP中抢占,且链路AB同属于3条LSP,其中1条为优先级别为1带宽级别为3的LSP,另外2条为优先级别为3带宽级别为2的LSP,被抢占的LSP共有1K、2K和4K三种带宽级别,则根据上述单播情况下E(link(uv))与LSP(uvrt)之间的关系式可以计算得出链路AB上等效抢占LSP的数量为E(link(uv))=(64/127)(2^(3-1)/(1+2+4))+(16/127)((2^(2-1)+2^(2-1))/(1+2+4))=0.36。
假设链路EC同时属于2条LSP,其中一条为优先级别为2带宽级别为3的LSP,另外一条为优先级别为3带宽级别为2的LSP,则根据上述单播情况下E(link(uv))与LSP(uvrt)之间的关系式可以计算得出链路EC上等效抢占LSP的数量为E(link(uv))=(32/127)(2^(3-1)/(1+2+4))+(16/127)((2^(2-1))/(1+2+4))=0.18。
比较计算得出的E(link(uv))值,选择E(link(uv))值较大的链路,即在路径1中选择的链路为AB。
对于路径2而言,假设在路径2中链路AD、DE和EC都需要从其他LSP中抢占,根据各链路所属LSP及上述E(link(uv))与LSP(uvrt)之间的关系式分别计算链路AD、DE和EC的E(link(uv))值,然后比较链路AD、DE和EC的E(link(uv))值,选择E(link(uv))值最大的链路。在本实施例中假设在路径2中选择的链路为DE。
对上述路径1和路径2都选择出E(link(uv))值最大,即指标最差的链路以后,再次在选择出的链路中比较各链路的E(link(uv))值,选择E(link(uv))值最小的链路所在的路径。在本实施例中,即在路径1中选择链路AB和在路径2中选择链路DE以后,再次比较链路AB和DE的E(link(uv))值,选择链路EC和DE中E(link(uv))值较小的链路所在的路径。
根据上述方式针对点到点的单播路径选择出的抢占链路上等效抢占LSP数量最少的链路所在的路径,即为综合考虑了被抢占的LSP优先级别和抢占链路上抢占LSP数量两方面因素的路径。
在针对点到点的单播路径选择抢占链路上等效抢占LSP数量最少的链路所在的路径时,利用了链路上LSP的数量、优先级别和带宽级别信息,该信息在现有的IGP协议中并没有公布。因此,为了使路由器在需要抢占其他LSP中的链路时,能够根据链路上LSP的数量、优先级别和带宽级别信息,选择等效抢占LSP数量最少的链路所在的路径,本发明进一步对MPLS TE结构中的信息发布单元的功能进行增强,对现有的IGP协议进行扩展,用于发布链路上LSP的数量、优先级别和带宽级别信息。
在对现有IGP协议进行扩展时,由于IGP协议主要包括IS-IS协议和OSPF协议,所以一般是在IS-IS协议中引入新的TLV,或者在OSPF协议中引入新的LSA,在新引入的TLV或LSA中存放链路上LSP的数量、优先级别和带宽级别信息。
二、对于选择点到多点的组播路径,选择抢占链路上等效抢占LSP数量最少的链路所在的路径。
如图5所示,图5为组播情况下选择等效抢占LSP数量最少的链路所在路径的示意图。假设有6个标记交换路由器(LSR)LSR1、LSR2、LSR3、LSR4、LSR5和LSR6,链路1、链路2和链路5上的带宽为16M,链路3、链路4和链路6的带宽为32M,且已经建立了如下4条优先级别为r带宽级别为t组播路径LSP1LSR1→LSR2→LSR4,组播组地址为D1,占用带宽为16M,如图中“—”所示路径;LSP2LSR1→LSR3→LSR6,组播组地址为D2,占用带宽为16M,如图中“——-”所示路径; 组播组地址为D3,占用带宽为16M,如图中“—--—”所示路径;
LSP4LSR2→LSR5,单播LSP,占用带宽为16M,如图中“---”所示路径。
现在LSR5想要加入组播组地址为D1的组播,所需带宽为16M,LSR1根据TED中保存的信息找到两条都需要抢占链路的候选路径LSP5和LSP6,其中LSP5LSR1→LSR2→LSR5,如图中“——”所示路径;LSP6LSR1→LSR3→LSR5,如图中“—-—”所示路径。以下分别对LSP5和LSP6进行考察对于LSP5而言,LSP5由链路1和链路2构成,由于链路1属于组播组地址D1,是一个已建好的可以共用的链路,所以,在链路1上不发生抢占。由于链路2的带宽为16M,链路2上有一个占用带宽为16M的单播LSP4,所以,需要抢占LSP4中的链路2。因此,在LSP5中链路2为指标最差的链路。
对于LSP6而言,LSP6由链路3和链路4构成,由于链路4的带宽为32M,链路4被路径LSP3占用了16M,剩余的可用带宽为32-16=16M,能够满足LSR5加入组播组地址为D1的组播的带宽需求,所以,在链路4上不发生抢占。由于链路3的带宽为32M,链路3被路径LSP2和LSP3分别占用了16M,剩余的可用带宽为0,所以,需要抢占LSP2或LSP3中的链路3。
在选择抢占LSP2或LSP3时,由于LSP2在链路3的下游有1个分支节点LSR6,LSP3在链路3的下游有2个分支节点LSR5和LSR6,如果抢占LSP2中的链路3,则等效抢占链路的数量为2=1(链路3本身)+1(链路3的下游链路6);如果抢占LSP3中的链路3,则等效抢占链路的数量为3=1(链路3本身)+2(链路3的下游链路5和链路6)。因此,为了尽量减少抢占对组播下游链路造成的影响,选择抢占LSP2中的链路3。当然,此时已确定在LSP6中链路3为指标最差的链路。
对上述LSP5和LSP6都选择出指标最差的链路后,再次在选择出的链路中比较各链路的E(link(uv))值,选择E(link(uv))值最小的链路所在的路径。
对于链路2和链路3,由于链路2需要抢占一个占用带宽为16M的单播LSP,其等效抢占链路的数量为1;而链路3需要抢占一个组播路径LSP2,其等效抢占链路的数量为2,所以,选择等效抢占链路的数量少的链路所在的路径,即选择链路2所在的路径LSP4来抢占。
根据上述方式针对点到多点的组播路径选择出的抢占链路上等效抢占LSP数量最少的链路所在的路径,不但综合考虑了被抢占的LSP优先级别和抢占链路上抢占LSP数量两方面的因素,而且考虑了抢占链路所处组播路径在抢占链路下游所拥有的分支链路的数量,以及抢占链路是否与已建立的属于同一组播路径的链路发生重合两方面的因素。
在上述针对点到多点的组播路径选择抢占链路上等效抢占LSP数量最少的链路所在的路径时,除了增加发布链路上LSP的数量、优先级别和带宽级别信息,还需要增加发布链路上每条LSP对应的组播组地址信息。链路上每条LSP对应的组播组地址信息,也被存放在对现有IGP协议进行扩展时在IS-IS协议中引入新的TLV,或者在OSPF协议中引入新的LSA中。
此时,信息发布组件公布的信息增多,各节点流量工程数据库(TED)为维护这些公布的信息需要耗费更多的内存。为了减少内存的消耗,本发明定义了允许链路上组播LSP的最大个数N,由N来限制信息发布的数量和TED中表项的规模。在选择候选路径时,N作为一个约束条件,当链路上组播LSP的个数大于等于N时,该链路所在的候选路径将直接被剔除。
该另外,定义允许链路上组播LSP的最大个数N还可以自然地分散网络中业务流量,使网络中的业务分散,满足流量工程的特点和需求。
为了能够更加清楚地说明本发明提供的这种选择路径的方法,以下结合具体的实施例并参照附图,分别对在需要抢占时起始路由器选择路径的方法,以及在不需要抢占时起始路由器选择路径的方法进行详细说明。
假设系统允许最多有t个带宽级别,t越大带宽值越高。假设满足约束的所有路径为path(1)、path(2)、...、path(u)、...、path(g),path(u)包括v条链路,分别为link(u1)、link(u2)、...、link(uv),其中1<=u<=g,且t、u、v和g均为自然数。假设RB(uv)表示链路link(uv)上的预留总带宽,UB(uv)表示链路link(uv)上的已经被占用的总带宽,SB表示新建LSP所需的带宽。
如图6所示,图6为本发明选择等效抢占LSP数量最少链路所在路径的方法流程图,该方法包括以下步骤
步骤601根据LSP的优先级别和带宽级别确定需要抢占其他LSP的路径。
对于点到点的单播路径,具体确定需要抢占其他LSP的路径的方法如下假设单播情况下E(link(uv))与LSP(uvrt)之间的关系式为E(link(uv))=(1/127)(LSP(uv71)/(1+2+...+2^(t-1))+...+LSP(uv7t)*2^(t-1)/(1+2+...+2^(t-1)))+(2/127)(LSP(uv61)/(1+2+...+2^(t-1))+...+LSP(uv6t)*2^(t-1)/(1+2+...+2^(t-1)))+...
+(64/127)(LSP(uv11)/(1+2+...+2^(t-1))+...+LSP(uv1t)*2^(t-1)/(1+2+...+2^(t-1)))其中,E(link(uv))表示某条链路上等效抢占LSP的数量,LSP(uvrt)表示路径u上第v条链路的优先级别为r带宽级别为t的LSP被抢占的数量。
1)、首先对所有LSP依照用于带宽资源抢占的优先级,分别对各优先级中的所有LSP按占用带宽的大小排序,形成如下式表示的数量关系Wi=WLSPi1+WLSPi2+WLSPi3+......+WLSPin,WLSPi1>=WLSPi2>=WLSPi3......>=WLSPin,其中,Wi表示优先级i中所有LSP占用的带宽和,WLSPi1、WLSPi2、WLSPi3、......、WLSPin表示优先级i中各LSP占用的带宽,执行抢占LSP的带宽需求为PW=SB-(RB-UB),n为优先级i中含有的总的LSP数量。
2)、找出一个最大的j,使得W7+W6+......Wj>=PW,其中j大于等于k,k为能抢占的最高的优先级别;如果未能找到j,执行步骤7);否则,继续执行步骤3);3)、如果W7+W6+......Wj=PW,则优先级7直至优先级j中所有的LSP都被抢占,并执行步骤7);否则,假设PWj=PW-(W7+W6+......+W(j+1)),得到j的伪代码算法如下sum=0;for(i=7;i>=0;i--){sum=sum+Wi;if(sum>=PW){
j=i;算法完成;}}4)、在优先级j中选择要抢占的LSP。
找出一个最小的m,使得WLSPj1+WLSPj2+.....+WLSPjm>=PWj,如果WLSPj1+WLSPj2+.....+WLSPjm=PWj,则优先级7直至优先级j+1中所有的LSP和优先级j中的LSP WLSPj1、WLSPj2.....WLSPjm被抢占,执行步骤7);否则,在优先级i中,选择m条LSP,使得这m条LSP占用的带宽之和是其他任意m条占用的带宽之和大于PWj值中的最小值,记录该最小值为FWs;如果FWs=PWj,则优先级7直至优先级j+1中所有的LSP和优先级j中的上述m条LSP被抢占,执行步骤7);否则,上述m条LSP被抢占。
假设FW=FWs-PWj,N=j+1,得到m的伪代码算法如下sum=0;for(i=1;i<=n;i++){sum=sum+WLSPji;if(sum>=PWj){m=i;算法完成;}}5)、在优先级N中选择要抢占的LSP。
找出一个最小的q,使得WLSP(j+1)n+WLSP(j+1)(n-1)+.....+WLSP(j+1)q<=FW。如果不能得到q,则优先级j+1中的所有LSP都被抢占,转入4);否则,如果WLSP(j+1)n+WLSP(j+1)(n-1)+.....+WLSP(j+1)q=FW,则优先级7直至j+2中的所有LSP和优先级j+1中占用带宽为WLSP(j+1)1、WLSP(j+1)2、......、WLSP(j+1)(q-1)的LSP被抢占,执行步骤7);否则,在优先级N中,选择q条LSP,使得这q条LSP占用的带宽之和是其他任意q条占用的带宽之和小于FW值的LSP中的带宽和最大,并记录最大值为FWr;在优先级N中除这q条LSP外,其它所有LSP都被抢占。
假设FW=FW-Fwr,得到j的伪代码算法如下if(WLSP(j+1)n>FW){得不到q值,退出;}q=n;sum=WLSP(j+1)n;for(i=n-1;i>=0;i--){sum=sum+WLSP(j+1)i;if(sum>PW){q值已确定,算法完成;}else{q=i;}}6)、N=N+1。若N<=7,执行步骤2);否则,执行步骤7)。
7)、结束。
对于点到点的单播路径,根据上述算法可以确定需要抢占其他LSP的路径。但是,对于点到多点的组播路径应结合以下规则来确定需要抢占其他LSP的路径。具体规则如下
如果在某个链路某个优先级别某个带宽级别的LSP中,只抢占LSP中的部分链路,则这条LSP与其他LSP相比在抢占链路数据流下游所拥有分支链路的数量最少。对于点到点的单播路径,可以认为其抢占链路数据流下游所拥有分支链路的数量为0,所以单播链路就不用考虑这一点。这样做的目的是尽量避免拥有较多分支的组播LSP被抢占,因为它的重新建立无疑会给网络带来更大不稳定性。
步骤602对IGP协议进行扩展。
在对IGP协议进行扩展时,一般是在IS-IS协议中引入新的TLV,或者在OSPF协议中引入新的LSA。
对于点到点的单播路径,在新引入的TLV或LSA中存放链路上LSP的数量、优先级别和带宽级别信息。对于点到多点的组播路径,在新引入的TLV或LSA中不但存放链路上LSP的数量、优先级别和带宽级别信息,而且存放链路上每条LSP对应的组播组地址信息。
步骤603在每条需要抢占其他LSP的路径中选择一条指标最差的链路。
对于点到点的单播路径,将增加的链路上LSP的数量、优先级别和带宽级别信息代入上述单播情况下E(link(uv))与LSP(uvrt)之间的关系式,计算每条路径上每条链路的E(link(uv))值,比较每条链路E(link(uv))值的大小,选择每条路径中E(link(uv))值最大的链路作为指标最差的链路;其中E(link(uv))表示某条链路上等效抢占LSP的数量,LSP(uvrt)表示路径u上第v条链路的优先级别为r带宽级别为t的LSP被抢占的数量。
对于点到多点的组播路径,将增加的链路上LSP的数量、优先级别和带宽级别信息和组播组地址信息代入上述组播情况下E(link(uv))与LSP(uvrt)之间的关系式,计算每条路径上每条链路的E(link(uv))值,比较每条链路E(link(uv))值的大小,选择每条路径中E(link(uv))值最大的链路作为指标最差的链路;其中,LSP(uvrt)=LSPs(uvrt)+LSPM1(uvrt)+LSPM2(uvrt)+...+LSPMn(uvrt),其中,LSPs(uvrt)表示路径u上第v条链路的优先级别为r带宽级别为t的单播LSP被抢占的数量,LSPMn(uvrt)表示路径u上第v条链路的优先级别为r带宽级别为t的组播路径n被抢占的数量。
在比较每条链路E(link(uv))值大小的过程中,如果所述每条路径中E(link(uv))值最大的链路同时存在多条,则计算并比较同时存在的多条E(link(uv))值最大的链路上所有被抢占的LSP数量的总和,选择所有被抢占LSP数量总和最大的链路作为指标最差的链路。
在比较同时存在的多条E(link(uv))值最大的链路上所有被抢占的LSP数量总和的过程中,如果所述被抢占的LSP数量的总和最大的链路同时存在多条,则在所述多条被抢占的LSP数量的总和最大的链路中随机选择一条链路作为指标最差的链路。
步骤604将选择的指标最差的链路构成一个集合,在指标最差链路构成的集合中选择一条指标最优的链路。
在从指标最差链路构成的集合中选择出指标最优的链路的过程中,首先计算并比较指标最差链路构成的集合中每条链路的E(link(uv))值,选择E(link(uv))值最小的链路作为指标最优的链路;在选择E(link(uv))值最小链路的过程中,如果同时存在多条E(link(uv))值最小的链路,则计算并比较同时存在的多条E(link(uv))值最小的链路上所有被抢占的LSP数量的总和,选择所有被抢占LSP数量总和最小的链路作为指标最优的链路;在比较同时存在的多条E(link(uv))值最大的链路上所有被抢占的LSP数量总和的过程中,如果所述被抢占的LSP数量的总和最小的链路同时存在有多条,则在多条被抢占的LSP数量的总和最小链路所属的路径中,分别剔除各自包含的所述被抢占的LSP数量的总和最小的链路,并再次执行步骤603和604,直至选择出一条指标最优的链路;如果所述被抢占的LSP数量的总和最小的链路只有一条,则选择该链路作为指标最优的链路。
步骤605将选择的指标最优的链路作为等效抢占LSP数量最少的链路,选择该链路所在的路径。
另外,在步骤604中,如果在剔除各自包含的所述被抢占的LSP数量的总和最小的链路的过程中,某条路径中的链路被全部剔除,则选择该条路径。
假设所有满足约束的路径有g’条,g’条路径分别为path(1’)、path(2’)、...、path(u’)、...、path(g’),path(u’)包括v’条链路,分别为link(u’1’)、link(u’2’)、...、link(u’v’),其中,1’<=u’<=g’,且u’、v’和g’都为自然数。假设F(link(u’v’))=(SB+UB(u’v’))/RB(u’v’),其中,RB(u’v’)表示链路link(u’v’)上的预留总带宽,UB(u’v’)表示链路link(u’v’)上的已经被占用的总带宽,SB表示新建LSP所需的带宽。
如图7所示,图7为本发明在不需要抢占其他LSP的路径中选择链路利用率最低的路径的方法流程图,该方法包括以下步骤步骤701在每条不需要抢占其他LSP的路径中选择一条指标最差的链路。
在选择每条路径中指标最差的链路的过程中,对于每条路径中的每条链路,根据上述关系式F(link(u’v’))=(SB+UB(u’v’))/RB(u’v’),计算每条路径上每条链路的F(link(u’v’))值,比较每条链路F(link(u’v’))的大小,选择F(link(u’v’))值最大的链路作为指标最差的链路;在比较每条链路F(link(u’v’))值大小的过程中,如果所述每条路径中F(link(u’v’))值最大的链路同时存在多条,则计算并比较F(link(u’v’))值最大链路的(RB-SB-UB)值,选择(RB-SB-UB)值最小的链路作为指标最差的链路;在比较F(link(u’v’))值最大链路(RB-SB-UB)值的过程中,如果所述(RB-SB-UB)值最小的链路同时存在多条,则在所述多条(RB-SB-UB)值最小的链路中随机选择一条链路作为指标最差的链路。
步骤702将选择的指标最差的链路构成一个集合,在指标最差链路构成的集合中选择一条指标最优的链路。
在从指标最差链路构成的集合中选择出指标最优的链路的过程中,首先计算并比较指标最差链路构成的集合中每条链路的F(link(u’v’))值,选择F(link(u’v’))值最小的链路作为指标最优的链路;在选择F(link(u’v’))值最小链路的过程中,如果存在多条链路指标值都一样优的情况,则计算并比较同时存在的多条F(link(u’v’))值最小的链路的(RB-SB-UB)值,选择(RB-SB-UB)值最大的链路作为指标最优的链路;在选择(RB-SB-UB)值最大链路的过程中,如果所述(RB-SB-UB)值最大的链路同时存在多条,则在多条(RB-SB-UB)值最大链路所属的路径中,分别剔除各自包含的所述(RB-SB-UB)值大的链路,并再次执行步骤701和702,直至选择出一条指标最优的链路;如果所述(RB-SB-UB)值最大的链路只有一条,则选择该链路作为指标最优的链路。
步骤703将选择的指标最优的链路作为链路利用率最低的链路,选择该链路所在的路径。
另外,在步骤702中,如果在剔除各自包含的所述(RB-SB-UB)值大的链路的过程中,某条路径中的链路被全部剔除,则选择该条路径。
在不需要抢占其他LSP时,利用基于图7所示的在不需要抢占其他LSP的路径中选择链路利用率最低的路径的方法,虽然可以达到本发明提高链路利用率和网络稳定性的目的,但是,该方法忽视了下面这样一种情况例如,现有两条满足约束条件的不需要抢占其他LSP中链路的候选路径path(1)、path(2),这两条路径都能够为需要建立的路径提供足够的带宽。其中,path(1)有10条链路,最低的链路利用率为10%;path(2)有2条链路,最低的链路利用率为20%。现在要建立一条带宽10M的LSP,按照图7所示的方法,由于path(1)中最低的链路利用率小于path(2)中最低的链路利用率,所以选择path(1)这条路径。但是,如果选择path(1)这条路径,则要分配10M×10的总带宽,而选择path(2)这条路径,只要分配10M×2的总带宽就可以了,显然选择path(2)分配的总带宽要小得多,选择path(2)也更为合理。
基于上述分析,在不需要抢占其他LSP时,本发明提供了另外一种选择不需要抢占其他LSP的方法。如图8所示,图8为本发明在不需要抢占其他LSP的路径中选择链路数量最少的路径的方法流程图,该方法包括以下步骤步骤801在不需要抢占其他LSP的路径中计算每条路径所包含链路的数量。
步骤802根据计算出的每条路径所包含的链路的数量,判断链路数量最少的路径是否只有1条,如果是,则执行步骤803;否则,执行步骤804。
步骤803选择链路数量最少的路径,结束本流程。
步骤804如果链路数量最少的路径同时存在有多条,则将链路数量最少的路径构成一个集合,假设F(link(uv))=(SB+UB(uv))/RB(uv),其中,RB(uv)表示链路link(uv)上的预留总带宽,UB(uv)表示链路link(uv)上的已经被占用的总带宽,SB表示新建LSP所需的带宽,根据公式P(path(u))=F(link(u1))+F(link(u2))+...F(link(un))计算该集合中每条路径的P(path(u))值,判断P(path(u))值最小的路径是否只有1条,如果是,则执行步骤805;否则,执行步骤806。
步骤805选择P(path(u))值最小的路径,结束本流程;步骤806在多条P(path(u))值最小的路径中随机选择一条路径。
在本发明图8所示的实施例中,为了能够迅速选择出链路数量最少的路径,可以在步骤801与步骤802之间进一步定义一个用户对链路数量的容忍度G。假设步骤801计算出的每条路径所包含的链路的数量由小到大的顺序依次为N1、N2、......、Nm,其中m为路径的数量,从这m条路径中剔除n条路径后,剩余的j条路径都满足G≥Nj/N1。其中m、n、j都为自然数,且n+j=m。利用定义的用户对链路数量的容忍度G,可以首先在不需要抢占其他LSP中链路的路径中剔除这样的路径该路径中链路数量与最小链路数量的比值大于链路数量的容忍度G的路径,使步骤802在选择链路数量最少的路径时,选择的范围减小,更容易选择出链路数量最少的路径。这样的技术方案与本发明提供的技术方案在思路上是一致的,应包含在本发明的保护范围之内。
另外,在本发明图8所示的实施例中,为了能够更加迅速地选择出链路数量最少的路径,还可以在步骤801与步骤802之间,或者在利用定义的用户对链路数量的容忍度G剔除链路数量大于链路数量的容忍度G的路径后,进一步对不需要抢占其他LSP中链路的路径计算该路径中每条链路负载率F(link(uv))的值,其中F(link(uv))=(SB+UB(uv))/RB(uv),然后定义一个用户对链路负载率的容忍度H,利用链路负载率的容忍度H剔除链路负载率大于链路负载率的容忍度H的路径,使步骤802在选择链路数量最少的路径时,选择的范围减小,更容易选择出链路数量最少的路径。这样的技术方案与本发明提供的技术方案在思路上是一致的,应包含在本发明的保护范围之内。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种选择路径的方法,其特征在于,包括以下步骤A、起始路由器判断是否存在不需要抢占其他标签交换路径LSP的路径,如果存在,则执行步骤B;否则,执行步骤C;B、在不需要抢占其他LSP的路径中选择一条路径,并结束本流程;C、在需要抢占其他LSP的路径中选择等效抢占LSP数量最少的链路所在的路径。
2.根据权利要求1所述的方法,其特征在于,步骤A中所述判断是否存在不需要抢占其他LSP的路径为起始路由器判断自身与目的路由器之间是否至少存在一条全部链路上可用带宽资源都能够满足新业务流量需要的路径。
3.根据权利要求1所述的方法,其特征在于,步骤B中所述在不需要抢占其他LSP的路径中选择一条路径包括在不需要抢占其他LSP的路径中选择一条链路利用率最低的路径。
4.根据权利要求3所述的方法,其特征在于,所述在不需要抢占其他LSP的路径中选择一条链路利用率最低的路径包括B1、在每条不需要抢占其他LSP的路径中选择一条指标最差的链路;B2、将选择的指标最差的链路构成一个集合,在指标最差链路构成的集合中选择一条指标最优的链路;B3、将选择的指标最优的链路作为链路利用率最低的链路,选择该链路所在的路径。
5.根据权利要求4所述的方法,其特征在于,所述步骤B1包括B11、假设F(link(uv))=(SB+UB(uv))/RB(uv),其中,RB(uv)表示链路link(uv)上的预留总带宽,UB(uv)表示链路link(uv)上的已经被占用的总带宽,SB表示新建LSP所需的带宽;B12、计算每条不需要抢占其他LSP的路径中每条链路的F(link(uv))值,比较每条链路F(link(uv))值的大小,选择F(link(uv))值最大的链路作为指标最差的链路。
6.根据权利要求5所述的方法,其特征在于,步骤B12中所述F(link(uv))值最大的链路同时存在多条,该方法进一步包括计算并比较F(link(uv))值最大链路的(RB-SB-UB)值,选择(RB-SB-UB)值最小的链路作为指标最差的链路。
7.根据权利要求6所述的方法,其特征在于,所述(RB-SB-UB)值最小的链路同时存在多条,该方法进一步包括在所述多条(RB-SB-UB)值最小的链路中,随机选择一条链路作为指标最差的链路。
8.根据权利要求4所述的方法,其特征在于,步骤B2中所述在指标最差链路构成的集合中选择一条指标最优的链路包括计算并比较指标最差链路构成的集合中每条链路F(link(uv))值的大小,选择一条F(link(uv))值最小的链路作为指标最优的链路。
9.根据权利要求8所述的方法,其特征在于,所述F(link(uv))值最小的链路同时存在多条,该方法进一步包括计算并比较F(link(uv))值最小链路的(RB-SB-UB)值,选择(RB-SB-UB)值最大的链路作为指标最优的链路。
10.根据权利要求9所述的方法,其特征在于,所述(RB-SB-UB)值最大的链路同时存在多条,该方法进一步包括在所述多条(RB-SB-UB)值最大链路所属的路径中,分别剔除各自包含的所述(RB-SB-UB)值大的链路,并再次执行步骤B1和B2,直至选择出一条指标最优的链路。
11.根据权利要求10所述的方法,其特征在于,所述在剔除各自包含的所述(RB-SB-UB)值大的链路的过程中,某条路径中的链路被全部剔除,步骤B3中选择的路径为所述链路被全部剔除的路径。
12.根据权利要求1所述的方法,其特征在于,步骤B中所述在不需要抢占其他LSP的路径中选择一条路径包括在不需要抢占其他LSP的路径中选择一条链路数量最少的路径。
13.根据权利要求12所述的方法,其特征在于,所述在不需要抢占其他LSP的路径中选择一条链路数量最少的路径包括B1′、在不需要抢占其他LSP的路径中计算每条路径所包含链路的数量;B2′、比较计算出的每条路径所包含链路的数量,选择链路数量最少的路径。
14.根据权利要求13所述的方法,其特征在于,步骤B2′中所述链路数量最少的路径同时存在多条,该方法进一步包括将链路数量最少的路径构成一个集合,假设P(path(u))=F(link(u1))+F(link(u2))+…F(link(un)),其中F(link(uv))=(SB+UB(uv))/RB(uv),根据公式P(path(u))=F(link(u1))+F(link(u2))+…F(link(un))计算该集合中每条路径的P(path(u))值,选择P(path(u))值最小的路径。
15.根据权利要求14所述的方法,其特征在于,所述P(path(u))值最小的路径同时存在多条,该方法进一步包括在所述多条P(path(u))值最小的路径中随机选择一条路径。
16.根据权利要求1所述的方法,其特征在于,所述步骤C包括C1、对内部路由网关协议IGP进行扩展,在每条需要抢占其他LSP的路径中选择一条指标最差的链路;C2、将选择的指标最差的链路构成一个集合,在指标最差链路构成的集合中选择一条指标最优的链路;C3、将选择的指标最优的链路作为等效抢占LSP数量最少的链路,选择该链路所在的路径。
17.根据权利要求16所述的方法,其特征在于,所述路径为点到点的单播路径,所述步骤C1包括C11、在IGP的中间系统到中间系统IS-IS协议中引入新的类型长度值TLV,或者在IGP的开放最短路径优先OSPF协议中引入新的链路状态通告LSA,在新引入的TLV或LSA中存放每条链路上LSP的数量、优先级别和带宽级别信息;C12、假设E(link(uv))与LSP(uvrt)之间的关系式,其中E(link(uv))表示某条链路上等效抢占LSP的数量,LSP(uvrt)表示路径u上第v条链路的优先级别为r带宽级别为t的LSP被抢占的数量;将每条链路上LSP的数量、优先级别和带宽级别信息代入所述E(link(uv))与LSP(uvrt)之间的关系式,计算每条链路的E(link(uv))值;C13、在每条需要抢占其他LSP的路径中比较每条链路E(link(uv))值的大小,将E(link(uv))值最大的链路作为该路径中指标最差的链路。
18.根据权利要求16所述的方法,其特征在于,所述路径为点到多点的组播路径,所述步骤C1包括C11′、在IGP的IS-IS协议中引入新的TLV,或者在IGP的OSPF协议中引入新的LSA,在新引入的TLV或LSA中存放每条链路上LSP的数量、优先级别、带宽级别和组播组地址信息;C12′、假设E(link(uv))与LSP(uvrt)之间的关系式,其中E(link(uv))表示某条链路上等效抢占LSP的数量,LSP(uvrt)=LSPs(uvrt)+LSPM1(uvrt)+LSPM2(uvrt)+…+LSPMn(uvrt),LSPs(uvrt)表示路径u上第v条链路的优先级别为r带宽级别为t的单播LSP被抢占的数量,LSPMn(uvrt)表示路径u上第v条链路的优先级别为r带宽级别为t的组播路径n被抢占的数量;将每条链路上LSP的数量、优先级别、带宽级别和组播组地址信息代入所述E(link(uv))与LSP(uvrt)之间的关系式,计算每条链路的E(link(uv))值;C13′、在每条需要抢占其他LSP的路径中比较每条链路E(link(uv))值的大小,将E(link(uv))值最大的链路作为该路径中指标最差的链路。
19.根据权利要求17或18所述的方法,其特征在于,步骤C13或C13′中所述E(link(uv))值最大的链路同时存在多条,该方法进一步包括计算并比较同时存在的多条E(link(uv))值最大的链路上所有被抢占的LSP数量的总和,选择所有被抢占LSP数量总和最大的链路作为指标最差的链路。
20.根据权利要求19所述的方法,其特征在于,所述被抢占的LSP数量的总和最大的链路同时存在多条,该方法进一步包括在所述多条被抢占的LSP数量的总和最大的链路中随机选择一条链路作为指标最差的链路。
21.根据权利要求16所述的方法,其特征在于,步骤C2中所述在指标最差链路构成的集合中选择一条指标最优的链路包括计算并比较指标最差链路构成的集合中每条链路E(link(uv))值的大小,选择一条E(link(uv))值最小的链路作为指标最优的链路。
22.根据权利要求21所述的方法,其特征在于,所述E(link(uv))值最小的链路同时存在多条,该方法进一步包括计算并比较多条E(link(uv))值最小链路被抢占LSP数量总和的大小,选择一条被抢占LSP数量总和最小的链路作为指标最优的链路。
23.根据权利要求22所述的方法,其特征在于,所述被抢占的LSP数量的总和最小的链路同时存在多条,该方法进一步包括在多条被抢占的LSP数量的总和最小链路所属的路径中,分别剔除各自包含的所述被抢占的LSP数量的总和最小的链路,并再次执行步骤C1和C2,直至选择出一条指标最优的链路。
24.根据权利要求23所述的方法,其特征在于,所述在剔除各自包含的所述被抢占的LSP数量的总和最小的链路的过程中,某条路径中的链路被全部剔除,步骤C3中选择的路径为所述链路被全部剔除的路径。
全文摘要
本发明公开了一种选择路径的方法,包括以下步骤A.起始路由器判断是否存在不需要抢占其他LSP的路径,如果存在,则执行步骤B;否则,执行步骤C;B.在不需要抢占其他LSP的路径中选择一条路径,并结束本流程;C.在需要抢占其他LSP的路径中选择等效抢占LSP数量最少的链路所在的路径。利用本发明,解决了低优先级LSP频繁被建立与抢占,低优先级LSP的流量也频繁被中断的问题,大大提高了网络的稳定性。同时,也避免了在不需要抢占其他LSP中的链路时发生抢占,使整个网络的流量分布趋于均衡,大大提高了整个网络中链路的利用率。
文档编号H04L12/56GK1859298SQ20051013598
公开日2006年11月8日 申请日期2005年12月29日 优先权日2005年10月26日
发明者张华琛, 谢小强, 吴志明, 邓一鸥, 张进 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1