一种路径优化方法及装置与流程

文档序号:11138481阅读:837来源:国知局
一种路径优化方法及装置与制造工艺

本发明涉及网络通信技术领域,尤其涉及一种路径优化方法及装置。



背景技术:

组播VPN(Virtual Private Network,虚拟专用网络)是一项在VPN网络中实现组播传输的技术。通过MP-BGP(Multiprotocol Border Gateway Protocol,多协议边界网关协议)方式实现组播VPN(使用RSVP(Resource Reservation Protocol,资源预留协议)P2MP(Point toMultiple Point,点到多点)隧道(以下简称P2MP隧道)作为承载隧道)是一种常见的组播VPN实现方式。

在MP-BGP组播VPN组网中,PE(Provider Edge,网络侧边缘设备)和CE(Customer Edge,客户侧边缘设备)之间通过PIM(ProtocolIndependentMulticast,协议无关组播)协议交互组播信息;PE之间使用MP-BGP协议传递组播信息和隧道建立信息。PE通过MP-BGP协议接收到远端PE发送的信息时,将接收到的信息传递给RSVP协议,从而PE通过RSVP协议确定P2MP隧道的目的地址,然后建立P2MP方式的RSVP隧道(即P2MP隧道)。

现有MP-BGP组播VPN组网中,RSVP P2MP隧道的路径计算可以由头节点计算,也可以由PCEP(Path Computation Element Communication Protocol,路径计算单元通信协议)控制器(或称为PCEP服务器)计算并下发给头节点。当头节点、中间节点或PCEP控制器发现到部分节点的路径可以优化时,可以下发新的路径,重建整个P2MP隧道。

然而实践发现,在上述路径优化方案中,P2MP隧道重建会影响整个P2MP隧道,即当到MP-BGP组播VPN组网中的某个目的地的路由需要优化时,其它路径没有优化的目的地的LSP(Label Switched Path,标签交换路径)也需要一同重建,影响整个网络的稳定性。



技术实现要素:

本发明提供一种路径优化方法及装置,以实现路径的局部优化。

根据本发明实施例的第一方面,提供一种路径优化方法,包括:

接收路径更新消息;

判断本节点接收到所述路径更新消息的上一跳与本节点在原有路径中的上一跳是否一致,并向下游节点转发所述路径更新消息,直至所述路径更新消息到达尾节点;

当接收到所述路径更新消息的上一跳与本节点在原有路径中的上一跳不一致时,建立新的LSP。

根据本发明实施例的第一方面,提供一种路径优化装置,包括:

接收单元,用于接收路径更新消息;

判断单元,用于判断本节点接收到所述路径更新消息的上一跳与本节点在原有路径中的上一跳是否一致;

发送单元,用于向下游节点转发所述路径更新消息,直至所述路径更新消息到达尾节点;

建立单元,用于当所述判断单元判断结果为否时,建立新的LSP。

应用本发明实施例,当接收到路径更新消息时,通过判断本节点接收到该路径更新消息的上一跳与本节点在原有路径中的上一跳是否一致,并向下游节点转发路径更新消息,直至该路径更新消息达到尾节点,进而,当本节点接收到路径更新消息的上一跳与本节点在原有路径上的上一跳不一致时,建立新的LSP,从而实现了路径局部优化,降低了路径优化对不需要优化的路径的影响。

附图说明

图1是本发明实施例提供的一种路径优化方法的流程示意图;

图2是本发明实施例提供的一种具体应用场景的架构示意图;

图3是本发明实施例提供的一种路径优化装置的结构示意图;

图4是本发明实施例提供的另一种路径优化装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。

请参见图1,为本发明实施例提供的一种路径优化方法的流程示意图,如图1所示,该路径优化方法可以包括以下步骤:

需要说明的是,步骤101~步骤103的执行主体可以为MP-BGP VPN组网中的任一节点,包括中间节点或尾节点,为了便于描述,以下以步骤101~步骤103的执行主体为中间节点为例进行说明。

步骤101、接收路径更新消息。

本发明实施例中,当头节点确定了需要进行路由优化,且确定了发起节点到受影响的尾节点的新路径时,头节点需要向下游节点发送路径更新消息,以使下游节点在需要时进行路径更新。

本发明实施例中,路径优化的触发条件可以包括但不限于:头节点检测到有尾节点需要加入或退出组网;头节点或中间节点检测到下游路径发生故障或发生FRR(Fast Reroute,快速重路由)切换;头节点或中间节点检测到网络拓扑变化等。

本发明实施例中,路径优化的发起节点可以包括头节点或中间节点。

作为一种可选的实施方式,发起节点到受影响的尾节点的新路径可以由头节点自身计算确定,如头节点在检测到组网满足路径优化的触发条件时,计算到受影响的尾节点的新路径。

其中,在该实施方式中,发起节点为头节点。

作为另一种可选的实施方式,发起节点到受影响的尾节点的新路径可以由中间节点计算确定,如某中间节点检测到组网满足路径优化的触发条件时,该中间节点计算到受影响的尾节点的新路径;或者,头节点检测到组网满足路径优化的触发条件时,头节点可以指定特定的中间节点计算到受影响的尾节点的新路径,例如,当头节点检测到下游路径发生故障时,头节点可以指定发生故障的路径中的从头节点向下的方向中第一个与故障路径直接相关的中间节点计算该中间节点到受影响的尾节点的新路径。

其中,在该实施方式中,发起节点为中间节点;中间节点计算出到受影响的尾节点的新路径之后,可以将该新路径传递给头节点,由头节点确定是否进行路径优化,例如,头节点可以判断该新路径是否与正在进行的其它路径优化存在冲突等,若存在冲突,则不允许路径优化,否则,允许路径优化。

作为又一种可选的实施方式,发起节点到受影响的尾节点的新路径可以由PCEP控制器计算,如头节点检测到组网满足路径优化的触发条件时,头节点可以通过PCEP控制器计算到受影响的尾节点的新路径。

其中,在该实施方式中,发起节点为头节点;PCEP控制器计算出发起节点到受影响的尾节点的新路径之后,需要将计算出的新路径传递给头节点。

作为一种可选的实施方式,在本发明实施例中,路径更新消息中携带有执行路径,该执行路径由头节点或PCEP控制器通过以下方式生成:

11)、当确定需要进行路径优化,且确定了发起节点到受影响的尾节点的新路径时,从原有路径上裁剪掉第一目标节点及其下游节点之间的路径,并将该新路径连接入裁剪后的原有路径,生成临时路径;其中,该第一目标节点包括原有路径与新路径的重合节点中除发起节点之外的其它节点;

12)、对于不在临时路径上的尾节点,确定原有路径上到该尾节点的路径与该临时路径的最后一个交叉节点,并将该交叉节点到该尾节点的路径接入临时路径,生成所述执行路径。

在该实施方式中,以头节点生成执行路径为例,头节点确定了发起节点到受影响的尾节点的新路径,并确定允许进行路径优化时,头节点可以比较该新路径以及原有路径,判断该新路径以及原有路径除发起节点之外,是否还存在其它重合节点(本文中称为第一目标节点);若存在,头节点可以从原有路径上裁剪掉第一目标节点及其下游节点的路径,并将新路径接入裁剪后的原有路径。

其中,若新路径与原有路径除发起节点之外不存在其他重合节点,则头节点可以直接将该新路径接入原有路径。

在该实施方式中,头节点生成临时路径之后,可以判断是否存在不在该临时路径上的尾节点(在原有路径上但不在该临时路径上的尾节点);若存在,头节点可以确定原有路径上到该尾节点的路径与该临时路径的最后一个交叉点(从头节点到尾节点的方向上的最后一个),并将该交叉节点到该尾节点的路径接入临时路径,从而生成执行路径。

可见,在本发明实施例中,执行路径即保证了受影响的尾节点的可达,又能够有效降低对其它尾节点的路径的影响。

进一步地,在本发明实施例中,考虑到通过上述步骤11)~步骤12)生成的执行路径中,若新路径上存在在原有路径上不是发起节点的下游节点,但是原有路径上其它节点的下游节点的节点(本文中称为第二目标节点)时,执行路径会改变该第二目标节点的上游节点,进而可能会导致该第二目标节点到头节点的跳数增加,影响后续流量转发效率。

因而,作为一种可选的实施方式,上述步骤11)中,头节点或PCEP控制器生成执行路径之后,还可以包括:

当执行路径上存在在原有路径上不是发起节点的下游节点,但是原有路径上其它节点的下游节点的第二目标节点时,比较执行路径上头节点下游的第一个第二目标节点在原有路径上到头节点的第一链路开销与在临时路径上到头节点的第二链路开销;

若第一链路开销大于第二链路开销,则将临时路径上第一个第二目标节点的相邻上游节点确定为发起节点;

若第一链路开销小于等于第二链路开销,则将临时路径上第一个第二目标节点的相邻上游节点修改为原相邻上游节点,并裁剪掉临时路径上第一个第二目标节点到发起节点的路径。

在该实施方式中,链路开销可以包括但不限于跳数、链路带宽利用率等,为便于理解,以下以链路开销为跳数为例进行说明。

在该实施方式中,以头节点生成执行路径为例,头节点生成执行路径之后,可以判断该执行路径上是否存在在原有路径上不是该发起节点的下游节点,但是原有路径上其它节点的下游节点的第二目标节点;若存在,则头节点生成执行路径之后,可以比较该执行路径上头节点下游的第一个第二目标节点在原有路径上到头节点的跳数(即为在原有路径上头节点到该第一个第二目标节点的跳数,本文中称为第一跳数)与在执行路径上到头节点的跳数(即为在临时路径上头节点到该第一个第二目标节点的跳数,本文中称为第二跳数)。

若第一跳数大于第二跳数,即该第一个第二目标节点在原有路径上到头节点的跳数大于在执行路径上到头节点的跳数,则头节点可以将执行路径上该第一个第二目标节点的相邻上游节点确定为发起节点;

若第一跳数小于等于第二跳数,即第一个第二目标节点在原有路径上到头节点的跳数小于等于在执行路径上到头节点的跳数,则头节点可以将执行路径上第一个第二目标节点的相邻上游节点修改为原相邻上游节点,并裁剪掉执行路径上该第一个第二目标节点到发起节点的路径。

值得说明的是,在本发明实施例中,若头节点通过PCEP控制器计算发起节点到受影响的尾节点的新路径时,PCEP控制器可以直接生成执行路径,并将该执行路径传递给头节点。其中,PECP控制器生成执行路径的具体实现可以参见上述头节点生成执行路径的相关实现,或通过其它策略实现,本发明实施例对此不做限定。

步骤102、判断本节点接收到路径更新消息的上一跳与本节点在原有路径中上一跳是否一致,并向下游节点转发该路径更新消息,直至路径更新消息达到尾节点。若否,转至步骤103;若是,结束当前流程。

本发明实施例中,中间节点接收到路径更新消息之后,一方面可以判断接收到该路径更新消息的上一跳与本节点在原有路径中的上一跳是否一致;另一方面,中间节点需要将该路径更新消息向下游节点转发(若接收到路径更新消息的节点为尾节点,则仅需判断接收到该路径更新消息的上一跳与本节点在原有路径上的上一跳是否一致,而不需要对路径更新消息进行转发)。

作为一种可选的实施方式,在本发明实施例中,上述判断本节点接收到路径更新消息的上一跳与本节点在原有路径中的上一跳是否一致之前,还可以包括以下步骤:

21)、判断路径更新消息中是否携带有优化标识;

22)、若路径更新消息中携带有优化标识,则确定执行上述判断本节点接收到路径更新消息的上一跳与本节点在原有路径中的上一跳是否一致的步骤。

在该实施方式中,头节点向下游节点发送路径更新消息时,可以在路径更新消息中携带优化标识,该优化标识用于标识该路径更新消息为用于进行路由优化的消息。

相应地,中间节点接收到路径更新消息时,可以先判断该路径更新消息中是否携带有优化标识;若该路径更新消息中携带有优化标识时,则该中间节点可以进一步判断接收到该路径更新消息的上一跳与本节点在原有路径中的上一跳是否一致。

本发明实施例中,上述优化标识可以为新增的标识,也可以为对现有协议中的已有字段的扩展。

作为一种可选的实施方式,在本发明实施例中,路径更新消息可以由头节点通过以下方式发送:

沿执行路径上头节点到受影响的尾节点的方向向下游节点发送携带有路径更新信息的Path消息,所述路径更新信息包括Instance number,以使下游节点接收到Path消息,且确定该Instance number与自身记录的Instance number不同时,记录该Instance number,并判断自身接收到该path消息的上一跳是否与该下游节点在原有路径中的上一跳是否相同。

在该实施方式中,头节点生成执行路径之后,可以确定执行路径中自身到受影响节点的路径,并沿着该路径向各下游节点发送携带有路径更新信息的Path(路径)消息。

下游节点接收到该携带有路径更新信息的Path消息之后,若确定该path消息中携带的Instance number(实例号)与自身记录的Instance number不同(Instance number的默认值为0,初始化时各节点中记录的Instance number为默认值,路径更新信息中包括的Instance number为非0值),则该下游节点可以判断自身接收到该path消息的上一跳与自身在原有路径中的上一跳是否相同,以确定是否需要进行路径优化;若不同,则该下游节点确定需要进行路径优化。

步骤103、建立新的LSP。

本发明实施例中,当中间节点接收到路径更新消息,且确定本节点接收到该路径更新消息的上一跳与本节点在原有路径中的上一跳不一致时,该中间节点需要重新建立LSP,即建立本节点与本节点接收到该路径更新消息的上一跳节点之间的LSP。

例如,假设节点A在原有路径中的上一跳节点为节点B,而节点A接收到路径更新消息的上一跳节点为节点C,则节点A需要建立本节点与节点C之间的LSP。

作为一种可选的实施方式,在本发明实施例中,当上述路径更新消息为携带有路径更新信息的path消息时,若中间节点确定该path消息中携带的Instance numbe与自身记录的Instance number不同,且接收到该path消息的上一跳与自身在原有路径中的上一跳不同时,则该中间节点需要申请新的标签,并将该path消息发送给自身的下游节点,直至该path消息达到尾节点。

尾节点接收到路径更新消息之后,除了需要按照上述流程进行相关处理之外,还需要向上游节点发送Resv(预留)消息,该Resv消息中需要携带Instance number;当尾节点的上游节点接收到该Resv消息时,可以判断自身是否为该Instance number申请了新的标签,若申请了,则需要根据该新的标签建立新的LSP,并向上游节点发送Resv消息,直至Resv消息到达头节点。

值得说明的是,在本发明实施例中,头节点到受影响的尾节点的路径中的中间节点也可以在上一跳或/和下一跳与原有路径中的上一跳或/和下一跳存在不同时,确定需要申请新的标签;而在上一跳和下一跳与原有路径中的上一跳和下一跳均相同时,确定不需要申请新的标签,其具体实现在此不做赘述。

可选地,在本发明实施例中,路径更新信息可以携带在Path消息的ERO(Explicit Route Object,显示路由对象)或SERO(Secondary ERO,第二个ERO)中。

相应地,头节点到受影响的尾节点的路径上的各节点根据路径更新信息完成路径更新,并成功建立新路径隧道之后,可以通过Resv消息将新路径隧道建立信息通知给头节点;其中,该新路径隧道建立信息可以包括在Resv消息的RRO(Record Route Object,记录路由对象)或SRRO(Secondary RRO,第二个RRO)中。

可选地,在本发明实施例中,路径更新信息中还可以包括下一跳信息,以及标志位。

其中,该下一跳信息可以包括下一跳类型、下一跳地址以及下一跳掩码等;一个Path消息中可以包括0~N个下一跳,N≥1。

该标志位可以包括多种类型,如:修改,该标志位用于指示接收到该Path消息的节点按照路径更新信息进行路径更新;保持,当该标志位置位时,用于指示接收到该Path消息的节点保持原有LSP,当该标志位不置位时,用于指示接收到该Path消息的节点拆除原有LSP;剪枝,该标志位用于指示接收到该Path消息的节点将对应的目的地址从LSP上剪掉或者新LSP不再到此目的地址;委托计算,该标志位用于指示受影响的尾节点为新增尾节点,需要指定节点为该受影响的尾节点计算新路径;等待重试,该标识位用于指示发起节点不允许进行路径优化,可以等待一段时间后重试;恢复,该标志位用于指示后续path消息中将不携带Instance number。

进一步地,在本发明实施例中,上述建立新的LSP之后,还可以包括:

当接收到头节点发送的流量切换指令时,将流量从原有LSP切换到新的LSP;或,

当在新的LSP接收到业务流量时,将流量从原有LSP切换到新的LSP。

具体地,当头节点确定路径更新完成时,头节点可以判断是否需要发起流量切换,若需要,则发起流量切换,以使受影响的节点接收到流量切换指令时将流量从原有LSP切换到新的LSP;或者,头节点也可以直接进行流量切换,通过新的LSP转发业务流量,以使受影响的节点在新的LSP接收到业务流量时,将流量从原有LSP切换到新的LSP。

值得说明的是,在本发明实施例中,当中间节点建立新的LSP之后,若可以自动完成流量从原有LSP到新的LSP的切换,则该中间节点可以直接将流量从原有LSP切换到新的LSP,并当在新的LSP接收到业务流量时,关闭原有LSP的流量接收。

进一步地,在本发明实施例中,当流量切换完成时,头节点向受影响的节点发送路径删除消息,如Path tear(拆除)消息,以使受影响的节点接收到路径删除消息时,根据该路径删除消息中携带的Instance number找到关联的标签以及LSP,若该LSP未被其它Instance number占用,则拆除该LSP;否则,保留该LSP,但删除该Instance number与该LSP的关联关系,并在该LSP关联的最后一个Instance number需要拆除时,拆除该LSP。

相应地,完成上述路径拆除后,中间节点及尾节点只记录一个Instance number(路径上无变化的节点记录是默认值(如0),新路径上记录的对应Instance number),头节点可以向受影响的下游节点发送路径恢复消息(如携带的标志位为恢复的Path消息),以使受影响的节点接收到路径恢复消息时,若发现本地只有一个Instance number,则将该Instance number更新为默认值(如0)。

为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体的应用场景对本发明实施例提供的技术方案进行描述。

请参见图2,为本发明实施例提供的一种具体应用场景的架构示意图,如图2所示,该应用场景可以包括:设备R1~R9以及ABR(area border router,区域边界路由器)1和ABR2,其中,R1、R4、R7和R8为PE设备,其余设备为CE设备;R8和R7与R1处于不同区域(不同AS(Autonomous System)域或路由区域);R1建立有到R4、R7和R8的P2MP隧道T1。

基于该应用场景,下面分别以R4和R8链路故障为例对本发明实施例提供的路径优化方案进行描述。

一、R1与R4之间链路故障

若R1与R4之间链路故障,头节点R1(发起节点为头节点)重新计算到R4(受影响的尾节点)的路径,即“R1-R2-R3-R4”。

R1确定到R4的新路径之后,可以判断该新路径与原有路径除R1之外,是否还存在其它重合节点,发现存在重合节点R2,则R1可以将原有路径中R2及其下游节点之间的路径裁剪掉(即裁剪掉R2到R7和R8的路径),并将新路径接入裁剪后的原有路径,生成临时路径;由于新路径中所有节点均是R1(发起节点)的下游节点,即不存在不是发起节点的下游节点的节点(第二目标节点)。

R1生成临时路径之后,由于尾节点R7和R8不在临时路径上,因此,R1可以分别确定原有路径上到R7和R8的路径与临时路径的最后一个交叉节点(均为R2),并将R2到尾节点R7和R8的路径接入临时路径,生成执行路径。

R1生成执行路径之后,根据该执行路径,沿R1到受影响的尾节点R4的路径(R1-R2-R3-R4)向各下游节点发送路径更新信息,该路径更新信息可以封装在Path报文的SERO中,该路径更新信息可以包括标志位(包括修改和保持)、Instance number(假设为1,默认值为0)以及下一跳信息(包括R2、R3和R4)。

R2接收到该Path消息后,发现该Path消息中携带的Instance number与自身记录的Instance number不同(假设自身记录的为默认值0),则R2记录该Instance number(即1),并判断该Path消息的上一跳与原有路径中上一跳是否相同,发现相同,不申请新的标签,并将Path消息转发给R3;

R3接收到该Path消息后,发现该Path消息中携带的Instance number与自身记录的Instance number不同,则R3记录该Instance number,并判断该Path消息的上一跳与原有路径中上一跳是否相同,发现不同,申请新的标签,并将Path消息发送给R4;

R4接收到该Path消息后,发现该Path消息中携带的Instance number与自身记录的Instance number不同,则R4记录该Instance number,并判断该Path消息的上一跳与原有路径中上一跳是否相同,发现相同,则不申请新的标签,使用原有LSP。由于R4为尾节点,则R4处理完路径更新信息之后,需要向上游节点发送Resv消息(同时有新旧两份Resv消息,新的Resv消息中携带Instance number 1)。

R3接收到新的Resv消息后,使用自身为该Instance number(即1)申请的标签生成新的LSP,关联该Instance number与该新的LSP,并向上游节点发送该新的Resv消息;

R2接收到该新的Resv消息后,将新的下一跳合并入原有LSP(作为一个新的分支),并将该Instance number(即1)关联到原有LSP,然后向上游节点发送Resv消息。由于R2新路径和原有路径的上游节点均为R1,因此,新旧Resv消息可以合在一个报文中发送;其中,新的信息携带在RRO或SRRO中。

R1接收到Resv消息后,认为新路径隧道建立成功。

流量方面,R2上新的分支建立后,可以自动向新的下游节点转发流量;下游节点依据流量携带的标签转发;当R3在新的LSP接收到业务流量时,后续的业务流量都用新的LSP来传输,并关闭原有LSP的流量接收,从而实现流量从原路径(R1-R3-R4)切换到新的路径(R1-R2-R3-R4)。

待流量稳定后,R1可以发起原有路径中的无效路径的拆除,如R1可以发送携带有保持标志位不置位的Path消息;R2接收到该Path消息后,向下发送携带Instance number 0的Path tear消息;下游节点接收到该Path tear消息后,查找该Instance number关联的LSP,若该LSP未与其它Instance number关联,则拆除该LSP;否则,保持该LSP不拆除。

其中,建立了新的LSP的R3,Instance number 1关联新的LSP,Instance number 0关联了原有LSP,则R3接收到携带有Instance number 1的Path tear消息时,拆除原有LSP;未建立新的LSP的R4,Instance number 0和Instance number 1均关联了原有LSP,因此,R4不拆除原有LSP。

当无效路径拆除完成后,R1可以发起Instance number恢复流程,在Path消息携带恢复标志位,下游节点(R2、R3和R4)接收到该Path消息后,认为后续使用正常的Path消息,即不携带本发明实施例新增内容的Path消息。

二、ABR1发现下游链路故障

若ABR1发现下游链路故障,则ABR1可以发起路径计算,计算自身到受影响的尾节点(R8)的新路径,计算得出ABR1-R5-R6-R8;

ABR1向上游发送携带新路径的请求报文;R1接收到该该请求报文后,判断允许ABR1发起路径优化,进行路径整合流程。

R1判断原有路径与新路径除发起节点(ABR1)之外还存在重合节点R5和R6,则R1将原有路径中R5和R6及其下游节点之间的路径裁剪掉,并将新路径接入原路径,形成临时路径;由于R5在原有路径中不是ABR1的下游节点,但是ABR2的下游节点,因此,R1需要比较R5在临时路径中到R1的跳数和在原有路径中到R1的跳数,发现R5在临时路径中到R1的跳数(3跳)等于在原有路径到R1的跳数(3跳),则R1将R5的相邻上游节点修改为ABR2。

此外,对于不在临时路径上的尾节点R7,其原有路径上到该尾节点的路径与临时路径的最后一个交叉节点为R5,则按原路径从R5接入;由于在最新的临时路径中,ABR1无法达到尾节点,因此,R1可以裁剪掉从R2到ABR1的路径,从而生成执行路径。

R1根据执行路径,向R1到受影响的尾节点(R8)的路径向各下游节点发送路径更新信息,该路径更新信息可以封装在Path报文的SERO中,该路径更新信息可以包括标志位(包括修改和保持)、Instance number(假设为2,默认值为0)以及下一跳信息(包括R2、ABR2、R5、R6和R8)。

R2接收到Path消息后,发现该Path消息中携带的Instance number与自身记录的Instance number不同,则记录该Instance number,并判断该Path消息的上一跳与原有路径中上一跳是否相同,发现相同,不申请新的标签,并将Path消息转发给ABR2;

ABR2接收到该Path消息后,发现该Path消息中携带的Instance number与自身记录的Instance number不同,则记录该Instance number,并判断该Path消息的上一跳与原有路径中上一跳是否相同,发现相同,不申请新的标签,并将Path消息转发给R5;

R5接收到该Path消息后,发现该Path消息中携带的Instance number与自身记录的Instance number不同,则记录该Instance number,并判断该Path消息的上一跳与原有路径中上一跳是否相同,发现相同,不申请新的标签,并将Path消息转发给R6;

R6接收到该Path消息后,发现该Path消息中携带的Instance number与自身记录的Instance number不同,则记录该Instance number,并判断该Path消息的上一跳与原有路径中上一跳是否相同,发现不同,申请新的标签,并将Path消息发送给R8;

R8接收到该Path消息后,发现该Path消息中携带的Instance number与自身记录的Instance number不同,则记录该Instance number,并判断该Path消息的上一跳与原有路径中上一跳是否相同,发现相同,则不申请新的标签,使用原有LSP。由于R8为尾节点,则R8处理完路径更新信息之后,需要向上游节点发送Resv消息(同时有新旧两份Resv消息,新的Resv消息中携带Instance number 2)。

R6接收到新的Resv消息后,使用自身为该Instance number(即2)申请的标签生成新的LSP,关联该Instance number与该新的LSP,并向上游节点发送该新的Resv消息;

R5接收到该新的Resv消息后,将新的下一跳合并入原有LSP(作为一个新的分支),并将该Instance number(即2)关联到原有LSP,然后向上游节点发送Resv消息。由于R5新路径和原有路径的上游节点均为ABR2,因此,新旧Resv消息可以合在一个报文中发送;其中,新的信息携带在RRO或SRRO中;

ABR2和R2接收到Resv消息后,将该Instance number(即2)关联到原有LSP,然后向上游节点发送Resv消息;

R1接收到Resv消息后,认为新路径隧道建立成功。

其中,流量切换及无效路径拆除的处理方式可以参见上述实例中的相关描述,本发明实施例在此不再赘述。

通过以上描述可以看出,在本发明实施例提供的技术方案中,当接收到路径更新消息时,通过判断本节点接收到该路径更新消息的上一跳与本节点在原有路径中的上一跳是否一致,并向下游节点转发路径更新消息,直至该路径更新消息达到尾节点,进而,当本节点接收到路径更新消息的上一跳与本节点在原有路径上的上一跳不一致时,建立新的LSP,从而实现了路径局部优化,降低了路径优化对不需要优化的路径的影响。

请参见图3,为本发明实施例提供的一种路径优化装置的结构示意图,其中,所述路径优化装置可以应用于上述方法实施例中的中间节点或尾节点,如图3所示,该路径优化装置可以包括

接收单元310,用于接收路径更新消息;

判断单元320,用于判断本节点接收到所述路径更新消息的上一跳与本节点在原有路径中的上一跳是否一致;

发送单元330,用于向下游节点转发所述路径更新消息,直至所述路径更新消息到达尾节点;

建立单元340,用于当所述判断单元判断结果为否时,建立新的LSP。

在可选实施例中,所述路径更新消息中携带有执行路径,所述执行路径由头节点或路径计算单元通信协议PCEP控制器通过以下方式生成:

当确定需要进行路径优化,且确定了发起节点到受影响的尾节点的新路径时,从原有路径上裁剪掉第一目标节点及其下游节点之间的路径,并将所述新路径连接入裁剪后的原有路径,生成临时路径;其中,所述第一目标节点包括所述原有路径与所述新路径的重合节点中除发起节点之外的其它节点;

对于不在所述临时路径上的尾节点,确定所述原有路径上到该尾节点的路径与所述临时路径的最后一个交叉节点,并将该交叉节点到该尾节点的路径接入所述临时路径,生成所述执行路径。

在可选实施例中,所述头节点或PCEP控制器生成执行路径之后,还执行如下操作:

当所述执行路径上存在在所述原有路径上不是发起节点的下游节点,但是所述原有路径上其它节点的下游节点的第二目标节点时,比较所述执行路径上头节点下游的第一个所述第二目标节点在所述原有路径上到头节点的第一链路开销与在所述执行路径上到头节点的第二链路开销;

若所述第一链路开销大于所述第二链路开销,则将所述执行路径上所述第一个所述第二目标节点的相邻上游节点确定为所述发起节点;

若所述第一链路开销小于等于所述第二链路开销,则将所述执行路径上所述第一个所述第二目标节点的相邻上游节点修改为原相邻上游节点,并裁剪掉所述执行路径上所述第一个所述第二目标节点到所述发起节点的路径。

在可选实施例中,所述判断单元320,还用于判断所述路径更新消息中是否携带有优化标识;

相应地,所述判断单元320,可以具体用于若所述路径更新消息中携带有优化标识,则判断本节点接收到所述路径更新消息的上一跳与本节点在原有路径中的上一跳是否一致。

请一并参见图4,为本发明实施例提供的另一种路径优化装置的结构示意图,如图4所示,在图3所示路径优化装置的基础上,图4所示的路径优化装置还可以包括:

切换单元350,用于当接收到头节点发送的流量切换指令时,将流量从原有LSP切换到新的LSP;或,当在新的LSP接收到业务流量时,将流量从原有LSP切换到新的LSP。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

由上述实施例可见,当接收到路径更新消息时,通过判断本节点接收到该路径更新消息的上一跳与本节点在原有路径中的上一跳是否一致,并向下游节点转发路径更新消息,直至该路径更新消息达到尾节点,进而,当本节点接收到路径更新消息的上一跳与本节点在原有路径上的上一跳不一致时,建立新的LSP,从而实现了路径局部优化,降低了路径优化对不需要优化的路径的影响。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1