标签分发协议会话处理方法与装置、标签交换路由器转让专利

申请号 : CN200910093491.8

文献号 : CN101656666B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘金辉

申请人 : 福建星网锐捷网络有限公司

摘要 :

本发明实施例公开了一种标签分发协议会话处理方法与装置、标签交换路由器,其中,方法包括:在下游主动分发DU标签分发模式下发现添加路由时,查询针对该路由对应的转发等价类FEC,是否向对等体发送过标签撤销消息并且已经接收到该标签撤销消息相应的标签释放消息;在向对等体发送过标签撤销消息并且已经接收到相应的标签释放消息时,或者未发送所述标签撤销消息时,针对所述FEC分发标签;向所述对等体发送标签映射消息,该标签映射消息中包括所述FEC与分发的标签。本发明实施例可以有效避免在DU模式下路由删除后又快速添加导致的对等体之间的转发表项不一致,保证报文的正常转发,从而有效保证通信业务的质量。

权利要求 :

1.一种标签分发协议会话处理方法,其特征在于,包括:

在下游主动分发DU标签分发模式下发现添加路由时,查询针对该路由对应的转发等价类FEC,是否向对等体发送过标签撤销消息并且已经接收到该标签撤销消息相应的标签释放消息;

在向对等体发送过标签撤销消息并且已经接收到相应的标签释放消息时,或者未发送所述标签撤销消息时,针对所述FEC分发标签;

向所述对等体发送标签映射消息,该标签映射消息中包括所述FEC与分发的标签。

2.根据权利要求1所述的方法,其特征在于,在DU标签分发模式下发现添加路由时,查询针对该路由对应的转发等价类FEC,是否向对等体发送过标签撤销消息并且已经接收到该标签撤销消息相应的标签释放消息包括:发现添加路由时,查询针对该路由对应的FEC,是否向对等体发送过标签撤销消息并且已经接收到该标签撤销消息相应的标签释放消息;在向对等体发送过标签撤销消息并且已经接收到相应的标签释放消息时,或者未发送所述标签撤销消息时,识别所述标签分发协议LDP会话的标签分发模式是否为DU标签分发模式,并在LDP会话的标签分发模式为DU标签分发模式时,执行针对所述FEC分发标签的操作;或者接收到所述对等体发送的标签释放消息时,查询是否存在相应的标签撤销消息;并在存在相应的标签撤销消息时,检测是否存在所述标签撤销消息中FEC对应的路由;若存在所述标签撤销消息中FEC对应的路由,则识别所述LDP会话的标签分发模式是否为DU标签分发模式,并在LDP会话的标签分发模式为DU标签分发模式时,执行针对所述FEC分发标签的操作。

3.根据权利要求2所述的方法,其特征在于,针对所述FEC分发标签包括:

识别本地标签交换路由器与所述对等体所在标签交换路径LSP的控制方 式是否为独立控制模式;

若所述LSP的控制方式为独立控制模式,针对所述FEC分发标签;

否则,若所述LSP的控制方式为有序控制模式,识别本地标签交换路由器是否为所述FEC的出口或者接收到下一跳发送的标签映射消息,并在本地标签交换路由器是为所述FEC的出口或者接收到下一跳发送的标签映射消息时,针对所述FEC分发标签。

4.根据权利要求1、2或3所述的方法,其特征在于,还包括:

发现所述路由删除时,针对该路由对应的FEC向对等体发送所述标签撤销消息并存储;

在接收到对等体发送的标签释放消息时,若该标签释放消息中携带标签值,释放掉向该对等体发送的针对所述标签释放消息中FEC分发的标签值与所述标签释放消息中携带的标签值相同的标签映射消息,若该标签释放消息中未携带标签值,释放掉向所述对等体发送的针对所述标签释放消息中FEC分发的所有标签映射消息。

5.一种标签分发协议会话处理装置,其特征在于,包括:

查询模块,用于在DU标签分发模式下发现添加路由时,查询针对该路由对应的FEC,是否向对等体发送过标签撤销消息并且已经接收到该标签撤销消息相应的标签释放消息;

标签分发模块,用于根据所述查询模块的查询结果,在向对等体发送过标签撤销消息并且已经接收到相应的标签释放消息时,或者未发送所述标签撤销消息时,针对所述FEC分发标签;

发送模块,用于向所述对等体发送标签映射消息,该标签映射消息中包括所述FEC与分发的标签。

6.根据权利要求5所述的装置,其特征在于,所述查询模块包括:

路由检测单元,用于检测路由;

第一查询单元,用于根据所述路由检测单元的检测结果,发现添加路由 时,查询针对该路由对应的FEC,是否存在相应的标签撤销消息与标签释放消息;

第一识别单元,用于根据所述第一查询单元的查询结果,在存在相应的标签撤销消息与标签释放消息时,或者不存在所述标签撤销消息时,识别所述LDP会话的标签分发模式是否为DU标签分发模式,并在LDP会话的标签分发模式为DU标签分发模式时,指示所述标签分发模块执行针对所述FEC分发标签的操作。

7.根据权利要求5所述的装置,其特征在于,所述查询模块包括:

第二查询单元,用于在本地标签交换路由器接收到所述对等体发送的标签释放消息时,查询是否存在相应的标签撤销消息;

路由检测单元,用于根据所述第二查询单元的查询结果,在存在相应的标签撤销消息时,检测是否存在所述标签撤销消息中FEC对应的路由;

第二识别单元,用于根据所述路由检测单元的检测结果,在存在所述标签撤销消息中FEC对应的路由时,识别所述LDP会话的标签分发模式是否为DU标签分发模式,并在LDP会话的标签分发模式为DU标签分发模式时,指示所述标签分发模块执行针对所述FEC分发标签的操作。

8.根据权利要求5所述的装置,其特征在于,所述标签分发模块包括:

第三识别单元,用于根据所述查询模块的查询结果,在向对等体发送过标签撤销消息并且已经接收到相应的标签释放消息时,或者未发送所述标签撤销消息时,识别本地标签交换路由器与所述对等体所在LSP的控制方式是否为独立控制模式;

第四识别单元,用于根据所述第三识别单元的识别结果,在所述LSP的控制方式为有序控制模式时,识别本地标签交换路由器是否为所述FEC的出口或者接收到下一跳发送的标签映射消息;

标签分发单元,用于根据所述第三识别单元的识别结果,在所述LSP的控制方式为独立控制模式时,或者根据所述第四识别单元的识别结果,在本 地标签交换路由器是为所述FEC的出口或者接收到下一跳发送的标签映射消息时,针对所述FEC分发标签。

9.根据权利要求5、6、7或8所述的装置,其特征在于,所述发送模块还用于在发现所述路由删除时,针对该路由对应的FEC向对等体发送所述标签撤销消息并存储;

所述装置还包括:接收模块,用于接收并存储对等体发送的标签释放消息,并在该标签释放消息中携带标签值时,释放掉针对所述标签释放消息中FEC分发的标签值与所述标签释放消息中携带的标签值相同的标签映射消息,在该标签释放消息中未携带标签值时,释放掉向所述对等体发送端针对所述标签释放消息中FEC分发的所有标签映射消息;

存储模块,用于存储FEC对应的标签映射消息、标签撤销消息与标签释放消息。

10.一种标签交换路由器,包括存储装置,用于存储FEC的标签转发表项FTN或者入标签映射表项ILM;和转发处理模块,用于根据所述FTN或ILM,对接收到的报文进行转发处理,其特征在于,还包括权利要求5至9任意一项所述的标签分发协议会话处理装置。

说明书 :

标签分发协议会话处理方法与装置、标签交换路由器

技术领域

[0001] 本发明涉及多协议标签交换(Multi-protocol Label Switching,以下简称:MPLS)技术,尤其是一种标签分发协议会话处理方法与装置、标签交换路由器。 背景技术
[0002] MPLS技术是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。MPLS技术可以支持多种网络层协议,例如:因特网协议(InternetProtocol,以下简称:IP)、互联网协议第六版(Internet Protocol of Version 6,以下简称:IPv6)、因特网包交换(Internet Work Packet Exchange,以下简称:IPX)协议等,兼容异步传输模式(Asynchronous Transfer Mode,以下简称:ATM)、帧中继、以太网等多种链路层技术。采用MPLS的网络称为MPLS网络,标签交换就是对MPLS网络中传输的报文附上标签,根据标签进行转发。
[0003] 图1示出了现有技术MPLS网络的一个网络拓扑结构示意图。其中,虚线框内的网络即是一个MPLS网络。构成MPLS网络的路由器称为标签交换路由器(Label Switching Router,以下简称:LSR)。其中,位于MPLS网络边缘的LSR称为标签交换边缘路由器(Label Switching Edge Router,以下简称:LER)。虚线框外的IP路由器(IP Route)是按常规IP转发报文的路由器。
[0004] 标签用于标识转发等价类(Forwarding Equivalence Class,以下简称:FEC)。FEC指在报文转发过程中,以等价方式处理一组数据分组,例如:目的地址前缀相同的一个数据分组。与传统的路由表中目的网络划分类似, 在IP单播路由应用中,FEC可以按照地址前缀对数据进行分类,根据该分类方法,一条路由对应一个FEC。例如:IP路由
192.168.201/24对应FEC192.168.201/24。在MPLS网络中,用下一跳标签转发表项(Next Hop LabelForwarding Entry,以下简称:NHLFE)表示下一跳的转发信息,NHLFE里通常记载有下一跳的地址、转发数据时要带的标签等信息。在LER上,转发等价类的标签转发表项(FEC-to-NHLFE,以下简称:FTN)表示FEC与NHLFE之间映射关系的二元组,主要用于未带标签IP报文的转发,在LER接收到未带标签的IP报文时,可以通过该IP报文的目的地址或者其FEC查询FTN,获知与该FEC对应的NHLFE,包括下一跳的地址、转发数据时要带的标签等必要信息,根据该NHLFE中记载的信息对该报文进行转发。如下表1所示,为FTN的一个具体内容实例。在LSR上,入标签映射表项(Incoming LabelMap,以下简称:ILM)表示标签与NHLEF之间的映射关系,在LSR接收到携带标签的IP报文时,从ILM中查询与该IP报文最外层标签对应的NHLEF,根据该NHLFE中记载的信息对该携带标签的报文进行转发。如下表2所示,为ILM的一个具体内容实例。如下表3所示,为ILM的另一个具体内容实例。 [0005] 表1
[0006]目的地址 出接口索引号 报文的外出标签 下一跳的地址
192.168.201 2 100 192.168.203.10
[0007] 表2
[0008]接收到的报文中的标签 出接口索引 号 报文的外出标签 下一跳的地址
100 2 150 192.168.204.10
[0009] 表3
[0010]接收到的报文中的标签 出接口索引号 对标签的操作方式
150 2 弹出
[0011] [0011] 在MPLS网络中,采用标签分发协议(Label Distribution Protocol,以下简称:LDP)作为信令协议,为MPLS建立标签交换路径(Label Switched Path,以下简称:LSP),即:数据流所走的标签交换路径,是一系列LSR的结合。图2为现有技术MPLS网络的另一个网络拓扑结构示意图。图2中,LER101、LSR102与LER103构成FEC192.168.203/24通过的LSP。其中,LER101中设置有如表1所示的FTN,LSR102中设置有如表2所示的ILM,LER103中设置有如表3所示的ILM。LER101、LSR102与LER103构成的LSP对IP报文的处理流程如下:LER101从接口1接收IP报文,其中的目的地址属于192.168.201/24网段,LER101查找如表1所示的FTN,获知需要对该IP报文压入标签100,且下一跳的出口为2,则将IP报文头部压入标签100,从接口2将报文转发出去;LSRB从接口3接收到携带标签
100的报文后,查询如表2所示的ILM,获知对应的外出标签为150,出接口索引为2,于是将标签100替换为150,并从接口2转发出去;当携带标签150的报文通过接口1到达LER103时,LER103查询如表3所示的ILM,获知标签150对应的接口为2、标签的操作方式为弹出,因此,将标签弹出,将接收到的报文还原为IP报文,然后从接口2转发出去。 [0012] 在现有的MPLS网络中,存在两种标签分发模式。第一种为下游按请求分配标签(Downstream on Demand,以下简称:DOD)的标签分发模式,也称为:DOD标签分发模式。在DOD标签分发模式下,LSR在接收到上游LSR发来的标签请求消息时,分发一个FEC与标签之间的绑定关系,也称为:FEC标签映射,并通过应答消息将其发送给上游LSR。第二种为下游主动分发(Downstream Unsolicited,以下简称:DU)的标签分发模式,也称为:DU标签分发模式。在DU标签分发模式下,允许一个LSR在没有收到标签请求消息的情况下主动向它的邻接LSR分发FEC标签映射。
[0013] 交换FEC标签映射消息的两个LSR称为LDP对等体,两者之间通过LDP会话(LDP Session)来进行标签交换。LDP对等体之间依靠路由驱动进行标 签交换,根据RFC3036协议规定,当发现路由添加时,在DU模式下,LSR需要向对等体发送标签映射消息(Label Mapping),作为对等体的LSR接收到标签映射消息后,根据该标签映射消息在FTN表中增加FTN。当发现路由删除时,LSR需要对先前向对等体发送过的该路由对应的FEC的标签映射消息发送标签撤销消息(Label Withdraw)。当LSR接收到对等体发送的标签撤销消息后,释放掉标签映射消息,即:删除FTN表中相应的FTN,之后需要向对等体回应标签释放消息(Label Release)。
[0014] 具体地,建立一个新LDP会话后,作为LDP对等体的第一LSR可以通过LDP向第二LSR发送标签映射消息,通知向第二LSR分发的FEC与标签之间的绑定关系,假设向第二LSR分发的FEC与标签为FEC192.168.201/24与入标签100。当第一LSR需要取消之前发送给第二LSR的标签映射消息时,可以通过LDP向第二LSR发送标签撤销消息,其中携带有待撤销的标签映射消息中的FEC与标签100,以撤销先前针对该FEC分发给第二LSR的标签映射消息。第二LSR接收到标签撤销消息后,释放掉第一LSR发送的相应标签映射消息,并向第一LSR返回标签释放消息,其中可以携带标签值,也可以不携带标签值。具体地,若标签释放消息中未携带标签值,第一LSR释放掉向该对等体发送的针对该FEC分发的所有标签映射消息;若标签释放消息中还携带标签值100,第一LSR释放掉向该对等体发送的针对该FEC分发的标签值为100的标签映射消息。
[0015] 按照现有的标签交换方法,第一LSR发现路由FEC192.168.201/24删除时,在DU模式下,第一LSR向第二LSR发送标签撤销消息,其中包括FEC192.168.201/24与标签100,撤销先前发送的标签100,若第一LSR在还未收到第二LSR针对该标签撤销消息返回的标签释放消息时,第一LSR发现添加路由FEC192.168.201/24,则针对该FEC向第二LSR分发标签,若该标签为与标签撤销消息中相同的标签100,则第二LSR的FTN中会建立出标签100的转发表项,根据标签100进行报文转发;而由于第一LSR之后接收到 第二LSR针对标签撤销消息返回的标签释放消息时,会释放掉标签100,导致第一LSR中的本地ILM中不再有FEC192.168.201/24的入标签信息,不存在入标签100的转发表项,这就导致第一LSR与第二LSR中转发表项不一致。同样,在第一LSR向第二LSR发送的标签撤销消息中未携带标签时,由于第一LSR之后接收到第二LSR针对标签撤销消息返回的标签释放消息时,会释放掉针对FEC192.168.201/24分发的标签100,导致第一LSR中的本地ILM中不再有FEC192.168.201/24的入标签信息,不存在入标签100的转发表项,也导致了第一LSR与第二LSR中转发表项不一致。在第一LSR与第二LSR中转发表项不一致的情况下,第一LSR接收到第二LSR发送的携带释放掉的标签100的报文时,会由于无法获取相应的转发信息而丢弃该报文,无法正常转发报文,从而导致通信业务的中断。

发明内容

[0016] 本发明实施例的目的是:提供一种标签分发协议会话处理方法与装置、标签交换路由器,避免在DU模式下路由删除后又快速添加导致的对等体之间的转发表项不一致。 [0017] 为实现上述目的,本发明实施例提供的一种标签分发协议会话处理方法,包括: [0018] 在下游主动分发DU标签分发模式下发现添加路由时,查询针对该路由对应的转发等价类FEC,是否向对等体发送过标签撤销消息并且已经接收到该标签撤销消息相应的标签释放消息;
[0019] 在向对等体发送过标签撤销消息并且已经接收到相应的标签释放消息时,或者未发送所述标签撤销消息时,针对所述FEC分发标签;
[0020] 向所述对等体发送标签映射消息,该标签映射消息中包括所述FEC与分发的标签。
[0021] 本发明实施例提供的一种标签分发协议会话处理装置,包括: [0022] 查询模块,用于在DU标签分发模式下发现添加路由时,查询针对该路由对应的FEC,是否向对等体发送过标签撤销消息并且已经接收到该标签撤销消息相应的标签释放消息;
[0023] 标签分发模块,用于根据所述查询模块的查询结果,在向对等体发送过标签撤销消息并且已经接收到相应的标签释放消息时,或者未发送所述标签撤销消息时,针对所述FEC分发标签;
[0024] 发送模块,用于向所述对等体发送标签映射消息,该标签映射消息中包括所述FEC与分发的标签。
[0025] 本发明实施例提供的一种标签交换路由器,包括存储装置,用于存储FEC的标签转发表项FTN或者入标签映射表项ILM;和转发处理模块,用于根据所述FTN或ILM,对接收到的报文进行转发处理,还包括本发明上述实施例提供的LDP会话处理装置。 [0026] 本发明实施例提供的LDP会话处理方法与装置、标签交换路由器,可以在DU标签分发模式下发现添加路由时,查询针对该路由对应的FEC,是否向对等体发送过标签撤销消息并且已经接收到该标签撤销消息相应的标签释放消息,只有在向对等体发送过标签撤销消息并且已经接收到相应的标签释放消息时,或者未向对等体发送标签撤销消息时,才针对该FEC分发标签并向对等体发送标签映射消息,有效避免了在DU模式下路由删除后又快速添加导致的对等体之间的转发表项不一致,保证报文的正常转发,从而有效保证通信业务的质量。
[0027] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。 [0028] 附图说明
[0029] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0030] 图1为现有技术MPLS网络的一个网络拓扑结构示意图;
[0031] 图2为现有技术MPLS网络的另一个网络拓扑结构示意图;
[0032] 图3为本发明LDP会话处理方法一个实施例的流程图;
[0033] 图4为本发明LDP会话处理方法另一个实施例的流程图;
[0034] 图5为本发明LDP会话处理方法又一个实施例的流程图;
[0035] 图6为本发明LDP会话处理方法一个应用实施例的网络拓扑结构示意图; [0036] 图7为本发明LDP会话处理装置一个实施例的结构示意图;
[0037] 图8为本发明LDP会话处理装置另一个实施例的结构示意图;
[0038] 图9为本发明LDP会话处理装置又一个实施例的结构示意图;
[0039] 图10为本发明LDP会话处理装置再一个实施例的结构示意图;
[0040] 图11为本发明LDP会话处理装置还一个实施例的结构示意图;
[0041] 图12为本发明LSR一个实施例的结构示意图。

具体实施方式

[0042] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043] 图3为本发明LDP会话处理方法一个实施例的流程图,如图3所示,该实施例的LDP会话处理方法包括:
[0044] 步骤201,在DU标签分发模式下发现添加路由时,查询针对该路由对应的FEC,是否向对等体发送过标签撤销消息并且已经接收到该标签撤销消息相应的标签释放消息。 [0045] 步骤202,在向对等体发送过标签撤销消息并且已经接收到相应的标签 释放消息时,或者未向对等体发送标签撤销消息时,针对添加的路由对应的FEC分发标签。 [0046] 步骤203,向对等体发送标签映射消息,该标签映射消息中包括添加的路由对应的FEC与分发的标签。
[0047] 在上述LDP会话处理方法实施例中,在DU标签分发模式下发现添加路由时,查询针对该路由对应的FEC,是否向对等体发送过标签撤销消息并且已经接收到该标签撤销消息相应的标签释放消息,只有在向对等体发送过标签撤销消息并且已经接收到相应的标签释放消息时,或者未向对等体发送标签撤销消息时,才针对该FEC分发标签并向对等体发送标签映射消息,有效避免了在DU模式下路由删除后又快速添加导致的对等体之间的转发表项不一致,保证报文的正常转发,从而有效保证通信业务的质量。 [0048] MPLS网络中引入了保守标签保留模式(Conservative Retention Mode,以下简称:CRM)与自由标签保留模式(Liberal Retention Mode,以下简称:LRM)。在CRM下,LSR只保留其下一跳发来的FEC标签映射,对于其它邻居发来的针对该FEC标签映射,不予保留,并向其返回相应的标签释放消息。
[0049] 若对等体工作在CRM下,本节点针对某个FEC向其分发了标签映射消息,但本地节点不是对等体针对该FEC的下一跳时,对等体也会向本节点返回相应的标签释放消息,此时,若本地节点在满足分发标签映射消息的条件下向对端分发标签映射消息,则会造成对等体之间针对该FEC不停的发送标签映射消息与标签释放消息。因此,若本地节点没有发送过相应的标签撤销消息,在接收到对等体返回的标签释放消息时,释放掉对应的标签映射消息。本发明实施例在判断接收到标签释放消息时还判断是否向对等体发送过相应的标签撤销消息,只有在发送了标签撤销消息时才发送标签映射消息,避免了对等体之间针对该FEC不停的发送标签映射消息与标签释放消息,从而避免了占用网络资源与处理标签映射消息与标签释放消息导致LSR工作性能的 降低。
[0050] 图4为本发明LDP会话处理方法另一个实施例的流程图,如图4所示,该实施例的LDP会话处理方法包括:
[0051] 步骤301,发现添加路由时,查询针对该路由对应的FEC,是否向对等体发送过标签撤销消息并且已经接收到该标签撤销消息相应的标签释放消息。若向对等体发送过标签撤销消息并且已经接收到该标签撤销消息相应的标签释放消息,或者未发送标签撤销消息,执行步骤302;否则,若向对等体发送过标签撤销消息但未接收到相应的标签释放消息,不执行本实施例的后续流程。
[0052] 步骤302,识别LDP会话的标签分发模式是否为DU标签分发模式,若为DU标签分发模式,执行步骤303;否则,若为DOD标签分发模式,不执行本实施例的后续流程。 [0053] 根据本发明的一个实施例,若对等体之间有一个节点要求采用DU标签分发模式,另一个节点要求采用DOD标签分发模式,则在以太网中,对等体之间采用DU标签模式。若对等体中的两个节点都要求采用DU标签分发模式,则对等体之间采用DU模式。若对等体中的两个节点都要求采用DOD标签分发模式,则对等体之间采用DOD标签分发模式。 [0054] 步骤303,识别本地LSR与对等体所在标签交换路径LSP的控制方式是否为独立控制模式,若为独立控制模式,执行步骤305;否则,若为有序控制模式,执行步骤304。 [0055] 步骤304,识别本地LSR是否为FEC的出口或者接收到下一跳发送的标签映射消息,若本地LSR是为FEC的出口或者接收到下一跳发送的标签映射消息,执行步骤305;否则,不执行本实施例的后续流程。
[0056] 步骤305,针对添加的路由对应的FEC分发标签。
[0057] 步骤306,向对等体发送标签映射消息,该标签映射消息中包括添加的路由对应的FEC与分发的标签。
[0058] 图5为本发明LDP会话处理方法又一个实施例的流程图,如图5所示,该实施例的LDP会话处理方法包括:
[0059] 步骤401,接收到对等体发送的标签释放消息时,查询是否存在相应的标签撤销消息。若存在相应的标签撤销消息,执行步骤402;否则,若不存在相应的标签撤销消息,不执行本实施例的后续流程。
[0060] 具体地,若不存在相应的标签撤销消息时,可以根据标签释放消息释放掉相应的标签。具体地,若标签释放消息中未携带标签值,本地节点释放掉向该对等体分发的针对该FEC的所有标签映射消息;若标签释放消息中还携带标签值,本地节点释放掉向该对等体分发的针对该FEC的标签值与标签释放消息中携带的标签值相同的标签映射消息。 [0061] 步骤402,检测是否存在标签撤销消息中FEC对应的路由。若存在标签撤销消息中FEC对应的路由,执行步骤403;否则,若不存在标签撤销消息中FEC对应的路由,不执行本实施例的后续流程。
[0062] 步骤403,识别LDP会话的标签分发模式是否为DU标签分发模式,若为DU标签分发模式,执行步骤404;否则,不执行本实施例的后续流程。
[0063] 步骤404,识别本地LSR与对等体所在标签交换路径LSP的控制方式是否为独立控制模式,若为独立控制模式,执行步骤406;否则,若为有序控制模式,执行步骤405。 [0064] 步骤405,识别本地LSR是否为FEC的出口或者接收到下一跳发送的标签映射消息,若本地LSR是为FEC的出口或者接收到下一跳发送的标签映射消息,执行步骤406;否则,不执行本实施例的后续流程。
[0065] 步骤406,针对添加的路由对应的FEC分发标签。
[0066] 步骤407,向对等体发送标签映射消息,该标签映射消息中包括添加的路由对应的FEC与分发的标签。
[0067] 根据本发明的一个实施例,在上述LDP会话处理方法实施例之前,发现路由删除时,可以针对该路由对应的FEC向对等体发送标签撤销消息并存储; 在接收到对等体发送的标签释放消息时,释放掉发送的标签撤销消息或者还可以进一步存储该标签释放消息,并在该标签释放消息中携带标签值时,释放掉针对标签释放消息中FEC分发的标签值与标签释放消息中携带的标签值相同的标签映射消息,在该标签释放消息中未携带标签值时,释放掉针对标签释放消息中FEC分发的所有标签映射消息。
[0068] 图6为本发明LDP会话处理方法一个应用实施例的网络拓扑结构示意图,以下以图6所示的网络拓扑结构为例,对本发明实施例的LDP会话处理方法进行说明。假设对等体LER501与LSR502之间、LSR502与LSR503之间、LSR503与LER504之间采用DU标签分发模式的LDP会话已经建立,且针对FEC192.168.201/24的LSP已经建立。LSR502识别到路由FEC192.168.201/24删除时,需要向LSR503发送标签撤销消息,LER501与网段192.168.201/24相连的接口连接时,LSR502识别到路由FEC192.168.201/24添加,此时,LSR502执行本发明上述实施例的LDP会话处理方法流程,查询针对FEC192.168.201/24向LSR503发送的标签撤销消息是否得到了回应,也即是否从LSR503收到标签释放消息,若没有接收到标签释放消息,则继续处理算法中的其它步骤,一段时间后,LSR502接收到LSR503针对FEC192.168.201/24的标签释放消息后,执行本实施例的LDP会话处理流程,避免LSR502在没有接收到LSR503返回标签撤销消息的应答消息,也即标签释放消息,就向LSR503再次发送标签映射消息,从而保证对等体LSR502与LSR503上转发表项的一致性,保证报文的正常转发处理,无论再次发送标签映射消息新分配的标签值是否与标签撤销消息针对的标签映射消息分配的标签值一样,也无论LSR503回应的标签释放消息中是否携带标签值信息,都可以避免对等体LSR502与LSR503出现转发表项不一致的情形。本发明实施例适用于任意两个对等体。向LSR503发送完标签映射消后息后,LSR502可以释放掉标签释放消息。
[0069] 图7为本发明LDP会话处理装置一个实施例的结构示意图,该实施例的 LDP会话处理装置可用于实现本发明上述各实施例的LDP会话处理方法。如图7所示,该实施例的LDP会话处理装置包括查询模块601、标签分发模块602与发送模块603。其中,查询模块601用于在DU标签分发模式下发现添加路由时,查询针对该路由对应的FEC,是否向对等体发送过标签撤销消息并且已经接收到该标签撤销消息相应的标签释放消息。标签分发模块
602用于根据查询模块601的查询结果,在向对等体发送过标签撤销消息并且已经接收到相应的标签释放消息时,或者未发送标签撤销消息时,针对FEC分发标签。发送模块603用于向对等体发送标签映射消息,该标签映射消息中包括FEC与标签分发模块602分发的标签。
[0070] 在上述LDP会话处理装置实施例中,标签分发模块602根据查询模块601的查询结果,在DU标签分发模式下发现添加路由时,只有在向对等体发送过标签撤销消息并且已经接收到相应的标签释放消息时,或者未向对等体发送标签撤销消息时,才针对该FEC分发标签,并通过发送模块603向对等体发送标签映射消息,有效避免了在DU模式下路由删除后又快速添加导致的对等体之间的转发表项不一致,保证报文的正常转发,从而有效保证通信业务的质量。
[0071] 图8为本发明LDP会话处理装置另一个实施例的结构示意图,该实施例的LDP会话处理装置可用于实现图4所示实施例的LDP会话处理方法。如图8所示,与图7所示的实施例相比,该实施例的LDP会话处理装置中,查询模块601包括路由检测单元701、第一查询单元702与第一识别单元703。其中,路由检测单元701用于检测路由。第一查询单元702用于根据路由检测单元701的检测结果,发现添加路由时,查询针对该路由对应的FEC,是否存在相应的标签撤销消息与标签释放消息。第一识别单元703用于根据第一查询单元
702的查询结果,在存在相应的标签撤销消息与标签释放消息时,或者不存在标签撤销消息时,识别LDP会话的标签分发模式是否为DU标签分发模式,并在LDP会话的标签分发模式为DU标签分发模式时,指示标签 分发模块602执行针对FEC分发标签的操作。 [0072] 图9为本发明LDP会话处理装置又一个实施例的结构示意图,该实施例的LDP会话处理装置可用于实现图4所示实施例的LDP会话处理方法。如图9所示,与图7所示的实施例相比,该实施例的LDP会话处理装置中,查询模块601包括第二查询单元704、路由检测单元701与第二识别单元705。其中,第二查询单元704用于在所在的本地LSR接收到对等体发送的标签释放消息时,查询是否存在相应的标签撤销消息。路由检测单元701用于根据第二查询单元704的查询结果,在存在相应的标签撤销消息时,检测是否存在标签撤销消息中FEC对应的路由。第二识别单元705用于根据路由检测单元701的检测结果,在存在标签撤销消息中FEC对应的路由时,识别LDP会话的标签分发模式是否为DU标签分发模式,并在LDP会话的标签分发模式为DU标签分发模式时,指示标签分发模块602执行针对FEC分发标签的操作。
[0073] 另外,在本发明上述各实施例的LDP会话处理装置中,标签分发模块602可以包括第三识别单元706、第四识别单元707与标签分发单元708。其中,第三识别单元706用于根据查询模块601的查询结果,在向对等体发送过标签撤销消息并且已经接收到相应的标签释放消息时,或者未发送标签撤销消息时,识别本地LSR与对等体所在LSP的控制方式是否为独立控制模式。第四识别单元707用于根据第三识别单元706的识别结果,在LSP的控制方式为有序控制模式时,识别本地LSR是否为FEC的出口或者接收到下一跳发送的标签映射消息。标签分发单元708用于根据第三识别单元706的识别结果,在LSP的控制方式为独立控制模式时,或者根据第四识别单元707的识别结果,在本地LSR是为FEC的出口或者接收到下一跳发送的标签映射消息时,针对FEC分发标签。如图10所示,为本发明LDP会话处理装置再一个实施例的结构示意图。
[0074] 进一步地,在本发明上述各实施例的LDP会话处理装置中,发送模块603 还可用于在发现路由删除时,针对该路由对应的FEC向对等体发送标签撤销消息并存储。相应的,作为本发明实施例的还一个LDP会话处理装置还包括接收模块604与存储模块605。其中,存储模块605用于存储FEC对应的标签映射消息、标签撤销消息与标签释放消息。接收模块604用于接收对等体发送的标签释放消息,释放掉存储模块605中相应的标签撤销消息或者进一步将其存储在存储模块605中与标签释放消息中FEC对应的位置,并在该标签释放消息中携带标签值时,释放掉针对标签释放消息中FEC分发的标签值与标签释放消息中携带的标签值相同的标签映射消息,在该标签释放消息中未携带标签值时,释放掉针对标签释放消息中FEC分发的所有标签映射消息,之后,可以对存储模块605中的相应表项、以及本地LSR上存储的FTN或ILM中与该FEC对应的表项进行相应的更新。如图11所示,为本发明LDP会话处理装置还一个实施例的结构示意图。根据本发明的进一步实施例,为了节省LSR的存储空间,标签分发模块602针对FEC分发标签后,可以删除存储模块605中存储的标签释放消息。
[0075] 本发明实施例还提供了LSR,其包括存储装置1、转发处理模块2与本发明上述任一实施例的LDP会话处理装置3。其中,存储装置1用于存储FTN或者ILM,具体地,若该LSR为作为LSP起始节点的LER,存储装置1中存储的是ILM,若该LSR为作为LSP起始节点之外的LSR,存储装置1中存储的是FTN。转发处理模块2用于根据存储装置1中存储的FTN或ILM,对接收到的报文进行转发处理。LDP会话处理装置3在针对FEC向对等体发送标签映射消息、标签撤销消息后或者根据接收到的标签释放消息释放掉相应的标签后,对存储装置1中存储的FTN或者ILM中与该FEC对应的表项进行相应的更新。如图12所示,为本发明LSR一个实施例的结构示意图。
[0076] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤; 而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0077] 本发明实施例在DU标签分发模式下发现添加路由时,只有在向对等体发送过标签撤销消息并且已经接收到相应的标签释放消息时,或者未向对等体发送标签撤销消息时,才针对该FEC分发标签并向对等体发送标签映射消息,有效避免了在DU模式下路由删除后又快速添加导致的对等体之间的转发表项不一致,保证报文的正常转发,从而有效保证通信业务的质量。
[0078] 最后所应说明的是:以上实施例仅用以说明本发明的技术方案,而非对本发明作限制性理解。尽管参照上述较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这种修改或者等同替换并不脱离本发明技术方案的精神和范围。