路由装置与配置转发等价类的标签转发表项的方法转让专利

申请号 : CN200810116405.6

文献号 : CN101325550B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘金辉

申请人 : 北京星网锐捷网络技术有限公司

摘要 :

本发明公开了一种路由装置与配置转发等价类的标签转发表项的方法,其中,方法包括:路由装置接收邻居路由装置发送的标签映射消息,该标签映射消息中包括转发等价类与标签之间的绑定关系;在邻居路由装置为路由装置所属转发等价类的下一跳时,路由装置根据FTN添加标识信息,判断针对标签映射消息中的转发等价类是否已经添加FTN;在未添加FTN时,路由装置根据标签映射消息,针对标签映射消息中的转发等价类添加FTN,并置转发等价类的FTN添加标识为真。本发明可以有效避免在不支持等价路由的MPLS网络中,在与配置了相同地址的LSR建立会话的LSR上面,对于以该相同地址为下一跳的FEC重复添加FTN。

权利要求 :

1.一种配置转发等价类的标签转发表项的方法,其特征在于,包括:

路由装置接收邻居路由装置发送的标签映射消息,该标签映射消息中包括转发等价类与标签之间的绑定关系;

在所述邻居路由装置为所述路由装置所属转发等价类的下一跳时,所述路由装置根据所述路由装置中存储的、用于标识转发等价类是否添加转发等价类的标签转发表项FTN的FTN添加标识信息,判断针对所述标签映射消息中的转发等价类是否已经添加FTN;

在针对所述标签映射消息中的转发等价类未添加FTN时,所述路由装置根据所述标签映射消息,针对所述标签映射消息中的转发等价类添加所述FTN,并置所述转发等价类的FTN添加标识为真。

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

在针对所述标签映射消息中的转发等价类已经添加FTN时,所述路由装置判断当前的标签保留模式是否为保守标签保留模式,若是保守标签保留模式,则不存储所述标签映射;否则,存储所述标签映射。 

3.根据权利要求1或2所述的方法,其特征在于,所述路由装置接收邻居路由装置发送的标签映射消息之前,还包括: 所述路由装置根据所述路由装置中存储的FTN添加标识信息与用于标识是否向所述路由装置所属转发等价类的下一跳发送过标签请求消息的标签请求标识信息,判断针对所述转发等价类是否已经添加过FTN或向所述转发等价类的下一跳发送过标签请求消息; 若针对所述转发等价类已经添加过FTN或向所述转发等价类的下一跳发送过标签请求消息,则判断当前的标签保留模式是否为保守标签保留模式,若是保守标签保留模式,则不向所述转发等价类的下一跳发送标签请求消息;若不是保守标签保留模式,根据预先设置,选择向所述转发等价类的下一跳发送标签请求消息,并置所述标签请求标识为真,或者选择不向所述转发等价类的下一跳发送标 签请求消息; 若针对所述转发等价类既没有添加过FTN,也没有向所述转发等价类的下一跳发送过标签请求消息,则向所述转发等价类的下一跳发送标签请求消息,并置所述标签请求标识为真。 

4.根据权利要求3所述的方法,其特征在于,所述路由装置接收邻居路由装置发送的标签映射消息之后,还包括: 判断针对所述转发等价类是否存在向其它下一跳发送过标签请求消息而未得到应答,若存在,所述路由装置判断当前的标签保留模式是否为保守标签保留模式,若不是保守标签保留模式,则不向发送过标签请求消息而未得到应答的下一跳发送标签请求中止消息;若是保守标签保留模式,则向发送过标签请求消息而未得到应答的下一跳发送标签请求中止消息; 若不存在,则置所述标签请求标识为假。 

5.根据权利要求4所述的方法,其特征在于,所述向发送过标签请求消息的下一跳发送标签请求中止消息之后,还包括: 所述路由装置接收下一跳返回的标签请求中止通告,并在该标签请求中止通告与发送给下一跳的标签请求中止消息匹配时,记录标签请求已经中止,并判断针对所述转发等价类是否有向其它下一跳发送的标签请求中止消息未返回标签请求中止通告,若有,置所述标签请求标识为真;若没有,则置所述标签请求标识为假。 

6.根据权利要求3所述的方法,其特征在于,还包括: 

所述路由装置接收邻居路由装置发送的地址撤销消息,该地址撤销消息中包括撤销地址; 所述路由装置删除所述FTN中,与所述撤销地址所属转发等价类对应的下一跳标签转发表项,并置该转发等价类的FTN添加标识为假; 所述路由装置判断针对所述撤销地址所属转发等价类是否存在其它下一跳发送的标签映射; 若存在,则根据该标签映射,针对所述撤销地址所属转发等价类添加所述FTN,并置所述转发等价类的FTN添加标识为真; 若不存在,且不存在发向其它下一跳的标签请求时,则选择所述撤销地址所属转发等价类的下一跳,并向该下一跳发送标签请求消息,并置所述撤销地址所属转发等价类的所述标签请求标识为真。 

7.根据权利要求3所述的方法,其特征在于,所述路由装置接收邻居路由装置发送的标签映射消息之后,还包括: 所述路由装置删除与所述标签映射消息匹配的标签请求消息。 

8.一种路由装置,其特征在于,包括:

接收模块,用于接收邻居路由装置发送的标签映射消息,该标签映射消息中包括转发等价类与标签之间的绑定关系;

第一判断模块,用于判断所述邻居路由装置是否为所述路由装置所属转发等价类的下一跳;

第一存储模块,用于存储表示转发等价类与标签转发表项之间映射关系的转发等价类的标签转发表项FTN,以及用于标识转发等价类是否添加FTN的FTN添加标识信息;

第二判断模块,用于在所述邻居路由装置为所述路由装置所属转发等价类的下一跳时,根据所述FTN添加标识信息判断针对所述标签映射消息中的转发等价类是否已经添加FTN;

添加模块,用于在针对所述标签映射消息中的转发等价类未添加FTN时,根据所述标签映射消息,针对所述标签映射消息中的转发等价类添加所述FTN,并置所述转发等价类的FTN添加标识为真。

9.根据权利要求8所述的路由装置,其特征在于,还包括: 

第二存储模块,用于存储所述路由装置的标签保留模式信息; 

第一识别模块,用于根据所述第二判断模块的判断结果,在针对所述标签映射消息中的转发等价类已添加FTN时,根据所述标签保留模式信息识别 所述路由装置当前的标签保留模式; 存储执行模块,用于根据所述第一识别模块的识别结果,在标签保留模式为自由标签保留模式时,将所述标签映射存储到第三存储模块中; 第三存储模块,用于存储标签映射。 

10.根据权利要求9所述的路由装置,其特征在于,所述第一存储模块还用于存储标识是否向所述路由装置所属转发等价类的下一跳发送过标签请求消息的标签请求标识信息; 所述路由装置还包括: 

第四存储模块,用于存储所述路由装置与邻居路由装置协商工作的标签分发模式信息; 第二识别模块,用于在所述接收模块接收到标签映射消息后,根据所述第四存储模块中的标签分发模式信息,识别所述路由装置与邻居路由装置当前协商工作的标签分发模式; 第三判断模块,用于根据所述第二识别模块的识别结果,在所述路由装置与邻居路由装置当前的标签分发模式存在DOD标签分发模式时,根据第一存储模块中存储的标签请求标识信息,判断针对所述转发等价类是否向所述转发等价类的下一跳发送过标签请求消息; 第一发送模块,用于根据所述第二判断模块与所述第三判断模块的判断结果,在针对所述转发等价类既没有添加过FTN,也没有向所述转发等价类的下一跳发送过标签请求消息时,向所述转发等价类的下一跳发送标签请求消息,并指示所述添加模块置相应标签请求标识为真;或者,在针对所述转发等价类已经添加过FTN或向所述转发等价类的下一跳发送过标签请求消息,且标签保留模式为自由标签保留模式时,根据预先设置,向所述转发等价类的下一跳发送标签请求消息,并指示所述添加模块置相应标签请求标识为真。 

11.根据权利要求10所述的路由装置,其特征在于,所述第一发送模块 还用于在接收模块接收到标签映射消息后,与所述接收模块交互,判断针对所述转发等价类是否存在向其它下一跳发送过标签请求消息而未得到应答,若存在,指示所述第一识别模块识别所述路由装置当前的标签保留模式,若不存在,指示所述添加模块置相应标签请求标识为假; 所述路由装置还包括第二发送模块,用于根据所述第一识别模块的识别结果,在所述路由装置当前的标签保留模式为保守标签保留模式时,向发送过标签请求消息而未得到应答的下一跳发送标签请求中止消息。 

12.根据权利要求11所述的路由装置,其特征在于,所述接收模块还用于接收下一跳返回的标签请求中止通告; 所述路由装置还包括: 

验证模块,用于验证所述标签请求中止通告与所述第二发送模块发送的标签请求中止消息是否匹配; 记录模块,用于根据所述验证模块的验证结果,在所述标签请求中止通告与所述标签请求中止消息匹配时,记录标签请求已经中止; 所述第一发送模块还用于根据所述接收模块对标签请求中止通告的接收情况,在所述记录模块记录标签请求已经中止后,判断针对所述转发等价类是否有向其它下一跳发送的标签请求中止消息未返回标签请求中止通告,若有,指示所述添加模块置相应标签请求标识为真,若没有,指示所述添加模块置相应标签请求标识为假。 

13.根据权利要求11所述的路由装置,其特征在于,所述接收模块还用于接收邻居路由装置发送的地址撤销消息,该地址撤销消息中包括撤销地址; 所述路由装置还包括: 

第一删除模块,用于根据所述地址撤销消息,删除所述第一存储模块存储的FTN中,与所述撤销地址所属转发等价类对应的下一跳标签转发表项,并指示所述添加模块置该转发等价类的FTN添加标识为假; 查询模块,用于在所述第一删除模块删除与所述撤销地址所属转发等价 类对应的下一跳标签转发表项后,查询所述第三存储模块中针对所述撤销地址所属转发等价类是否存在其它下一跳发送的标签映射; 所述添加模块还用于根据所述查询模块的查询结果,在存在其它下一跳发送的标签映射时,根据该标签映射,针对所述撤销地址所属转发等价类添加所述FTN,并置所述转发等价类的FTN添加标识为真; 所述第一发送模块还用于根据所述查询模块的查询结果,在不存在其它下一跳发送的标签映射且不存在发向其它下一跳的标签请求消息时,选择所述撤销地址所属转发等价类的下一跳,向该下一跳发送标签请求消息,并指示所述添加模块置所述撤销地址所属转发等价类的所述标签请求标识为真。 

14.根据权利要求11所述的路由装置,其特征在于,还包括: 

第二删除模块,用于在所述接收模块接收到邻居路由装置发送的标签映射消息之后,删除所述第一发送模块发送的、与所述标签映射消息匹配的标签请求消息。 

说明书 :

技术领域

本发明涉及多协议标签交换(Multi-protocol Label Switching,以下简称:MPLS)技术,尤其是一种路由装置与配置转发等价类的标签转发表项的方法。

背景技术

MPLS技术是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。MPLS技术可以支持多种网络层协议,例如:因特网协议(InternetProtocol,以下简称:IP)、互联网协议第六版(Internet Protocol of Version 6,以下简称:IPv6)、因特网包交换(Internet Work Packet Exchange,以下简称:IPX)协议等,兼容异步传输模式(Asynchronous Transfer Mode,以下简称:ATM)、帧中继、以太网等多种链路层技术。采用MPLS的网络称为MPLS网络,标签交换就是对MPLS网络中传输的报文附上标签,根据标签进行转发。
如图1所示,示出了现有技术MPLS网络的一个网络架构示意图。其中,虚线框内的网络即是一个MPLS网络。构成MPLS网络的路由器称为标签交换路由器(Label Switching Router,以下简称:LSR)。其中,位于MPLS网络边缘的LSR称为标签交换边缘路由器(Label Switching Edge Router,以下简称:LER)。虚线框外的IP路由器(IP Route)是按常规IP转发报文的路由器。
标签用于标识转发等价类(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之间映射关系的二元组,在LER接收到未带标签的IP报文时,可以通过该IP报文的目的地址或者其FEC,进一步查询FTN,获知与该FEC对应的下一跳标签转发表项,包括下一跳的地址、转发数据时要带的标签值等必要信息,根据该下一跳标签转发表项中记载的信息对该报文进行转发。
在现有的MPLS网络中,存在两种标签分发模式。第一种为下游按请求分配标签(Downstream on Demand,以下简称:DOD)的标签分发模式,也称为:DOD标签分发模式。在DOD标签分发模式下,LSR在接收到上游LSR发来的标签请求消息时,分发一个FEC与标签之间的绑定关系(也称为:FEC标签映射)并通过应答消息发送给其该上游LSR。第二种为下游主动分发(Downstream Unsolicited,以下简称:DU)的标签分发模式,也称为:DU标签分发模式。在DU标签分发模式下,允许一个LSR在没有收到标签请求消息的情况下主动向它的邻接LSR分发FEC标签映射。
MPLS网络中引入了保守标签保留模式(Conservative Retention Mode,以下简称:CRM)与自由标签保留模式(Liberal Retention Mode,以下简称:LRM)。在CRM下,LSR只保留其下一跳发来的FEC标签映射,对于其它邻居发来的针对该FEC标签映射,不予保留。在LRM下,保留从所有邻居学习到的针对该FEC的FEC标签映射,但是,只有从下一跳学习到的FEC标签映射用于报文转发。
在MPLS网络中,采用标签分发协议(Label Distribution Protocol,以下简称:LDP)作为信令协议,为MPLS建立标签交换路径(Label Switched Path,以下简称:LSP)。交换FEC标签映射消息的两个LSR称为LDP对等体, 两者之间通过LDP会话(LDP Session)来支持标签交换。LDP标识(LDPIdentifiers,以下简称:LDP ID)用于标识一个LSR的标签空间,其长度为六个字节,其中,前四个字节用于唯一表示LSR的IP地址,后两个字节用来表示该LSR的标签空间。LSR通过地址消息将其地址发布给LDP对等体,收到地址消息的LSR使用该地址消息中包含的地址信息去维护地址数据库,该地址数据库中保存着LDP标识与下一条地址之间的映射关系。建立一个新LDP会话后,LSR在发送标签请求消息或标签映射消息之前,应该通过地址消息公布其已经激活的接口地址。当LSR添加一个新的接口地址时,且该接口激活时,它应该用一个地址消息公布该新地址。当LSR删除一个先前公布的地址时,它应该发出地址撤销消息,通知对端撤销该先前公布的地址。标签映射(Label Mapping)消息用于向LDP对等体分发FEC标签映射消息,只有下一跳发来的FEC标签映射才用于报文转发。DOD模式下上游LSR通过向下游LSR发送标签请求(Label Request)消息向其请求FEC标签映射。
根据现有的RFC3036标准规定,LSR接收到对端发送的标签映射消息后,判断对端是否为FEC的下一跳,也即FEC的下游。若对端是FEC的下一跳,则在本LSR是FEC入口时,将对端发送的标签映射添加到FTN中,并根据该标签映射进行后续的报文转发。若不是下一跳发来的标签映射,其在后续流程中不用于报文转发。
等价路由是指目的地址相同、下一跳地址不同的路由。在实现不支持等价路由的LDP协议时,对于每个FEC,只能添加一次FTN。但是,若MPLS网络中配置错误,导致存在多个相同地址a时,根据现有RFC3036标准规定,将会导致以相同地址a为下一跳的FEC重复添加FTN。在LSR接收到一个数据包时,会根据该数据报头中的FEC查找FTN,获取与该FEC对应的入口标签并添加,以及获取与该FEC对应的下一跳地址,并将数据包转发给下一跳。在下一跳地址相同而重复添加FTN时,由于从FTN获取到的一个FEC的多个FTN的下一跳地址相同,转发逻辑自相矛盾,将无法完成对数据包的 转发。因此,不允许以相同地址为下一跳的FEC重复添加FTN。而如何避免以相同地址为下一跳的FEC重复添加FTN,现有技术无法解决。

发明内容

本发明实施例的目的是:在使用LDP组建的不支持等价路由的MPLS网络中,在与配置了相同地址的LSR建立会话的LSR上面,避免对于以该相同地址为下一跳的FEC在收到标签映射时,重复添加FTN。
为实现上述目的,本发明实施例还提供了一种路由装置,包括:
接收模块,用于接收邻居路由装置发送的标签映射消息,该标签映射消息中包括转发等价类与标签之间的绑定关系;
第一判断模块,用于判断所述邻居路由装置是否为所述路由装置所属转发等价类的下一跳;
第一存储模块,用于存储表示转发等价类与标签转发表项之间映射关系的转发等价类的标签转发表项FTN,以及用于标识转发等价类是否添加FTN的FTN添加标识信息;
第二判断模块,用于在所述邻居路由装置为所述路由装置所属转发等价类的下一跳时,根据所述FTN添加标识信息判断针对所述标签映射消息中的转发等价类是否已经添加FTN;
添加模块,用于在针对所述标签映射消息中的转发等价类未添加FTN时,根据所述标签映射消息,针对所述标签映射消息中的转发等价类添加所述FTN,并置所述转发等价类的FTN添加标识为真。
本发明实施例提供了一种配置转发等价类的标签转发表项的方法,包括:
路由装置接收邻居路由装置发送的标签映射消息,该标签映射消息中包括转发等价类与标签之间的绑定关系;
在所述邻居路由装置为所述路由装置所属转发等价类的下一跳时,所述路由装置根据所述路由装置中存储的、用于标识转发等价类是否添加转发等 价类的标签转发表项FTN的FTN添加标识信息,判断针对所述标签映射消息中的转发等价类是否已经添加FTN;
在针对所述标签映射消息中的转发等价类未添加FTN时,所述路由装置根据所述标签映射消息,针对所述标签映射消息中的转发等价类添加所述FTN,并置所述转发等价类的FTN添加标识为真。
本发明实施例提供的路由装置及其配置转发等价类的标签转发表项的方法中,在路由装置接收到邻居路由装置发送的标签映射消息时,会根据路由装置中存储的FTN添加标识信息判断针对所述标签映射消息中的FEC是否已经添加FTN,只有在针对该FEC未添加FTN且邻居路由装置为所述FEC的下一跳时,才相应添加FTN,有效避免了在使用LDP组建的不支持等价路由的MPLS网络中,在与配置了相同地址的LSR建立会话的LSR上面,对于以该相同地址为下一跳的FEC重复添加FTN;并且,在针对该转发等价类添加FTN后,并置所述FEC的FTN添加标识为真,以便于路由装置在下一次接收到该FEC的标签映射时,有效辨别针对标签映射中的FEC是否已经添加过FTN。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

图1为现有技术MPLS网络的一个网络架构示意图。
图2为本发明路由装置一个实施例的结果示意图。
图3为本发明路由装置另一个实施例的结果示意图。
图4为本发明路由装置又一个实施例的结果示意图。
图5为本发明配置转发等价类的标签转发表项的方法一个实施例的流程图。
图6为本发明的路由装置向下一跳发送标签请求消息一个实施例的流程图。
图7为本发明的更新转发等价类的标签转发表项的方法一个实施例的流程图。
图8为应用本发明实施例方法的一个MPLS网络的架构示意图。

具体实施方式

本发明实施例中,在路由装置接收到邻居路由装置发送的标签映射消息时,先判断针对所述标签映射消息中的FEC是否已经添加FTN,在针对该FEC未添加FTN且邻居路由装置为所述FEC的下一跳时,才相应添加FTN,并置所述FEC的FTN添加标识为真。作为一个实施例,本发明中的路由装置具体为LSR。
如图2所示,为本发明路由装置一个实施例的结构示意图,该实施例的路由装置包括接收模块101、第一判断模块102、第一存储模块103、第二判断模块104与添加模块105。
其中,接收模块101用于接收邻居路由装置发送的标签映射消息,该标签映射消息中包括FEC与标签之间的绑定关系。第一判断模块102用于根据邻居路由装置与本路由装置的地址,判断邻居路由装置为路由装置所属FEC的下一跳。第一存储模块103用于存储表示FEC与标签转发表项之间映射关系的FEC与标签转发表项FTN,以及用于标识FEC是否添加FTN的FTN添加标识信息。具体地,当FEC添加过FTN时,该FTN添加标识为真;当FEC未添加过FTN时,该FTN添加标识为假。第二判断模块104用于根据第一判断模块102的判断结果,在邻居路由装置为路由装置所属FEC的下一跳时,根据第一存储模块103中存储的FTN添加标识信息,判断针对标签映射消息中的FEC是否已经添加FTN。添加模块105用于根据第二判断模块104的判断结果,在针对标签映射消息中的FEC未添加FTN时,根据标签映射消息,针对标签映射消息中的FEC添加FTN,并置FEC的FTN添加标识为真。FTN中包括FEC与下一跳的地址、转发数据时要带的标签等信息。
上述实施例提供的路由装置接收到标签映射消息后,可以根据FTN添加标识信息确定针对同一FEC是否已经添加FTN,只有在针对该FEC未添加FTN且邻居路由装置为所述FEC的下一跳时,才相应添加FTN,有效避免了在使用LDP组建的不支持等价路由的MPLS网络中,在与配置了相同地址的LSR建立会话的LSR上面,对于以该相同地址为下一跳的FEC重复添加FTN;并且,在针对该转发等价类添加FTN后,并置所述FEC的FTN添加标识为真,以便于路由装置在下一次接收到标签映射时,有效辨别针对标签映射中的FEC是否已经添加过FTN。
作为本发明路由装置的可选实施例,在图2所示实施例的路由装置的基础上,可以增设第二存储模块201、第一识别模块202、存储执行模块203与第三存储模块204。其中,第二存储模块201用于存储路由装置的标签保留模式信息。第一识别模块202用于根据第二判断模块104的判断结果,在针对标签映射消息中的FEC已经添加FTN时,根据第二存储模块201中存储的标签保留模式信息,识别该路由装置当前的标签保留模式。具体地,该标签保留模式可以为保守标签保留模式或自由标签保留模式。存储执行模块203用于根据第一识别模块202的识别结果,在标签保留模式为自由标签保留模式时,将标签映射存储到第三存储模块204中。第三存储模块204用于存储标签映射。
另外,作为本发明路由装置的可选实施例,第一存储模块103还可用于存储标识是否向路由装置所属FEC的下一跳发送过标签请求消息的标签请求标识信息。具体地,若向路由装置所属FEC的下一跳发送过标签请求消息,相应标签请求标识为真,否则,若未向路由装置所属FEC的下一跳发送过标签请求消息,相应标签请求标识为假。再参见图2,路由装置中还可以包括第四存储模块205、第二识别模块206第三判断模块207与第一发送模块208。其中,第四存储模块205用于存储路由装置与邻居路由装置协商工作的标签分发模式信息。第二识别模块206用于在接收模块101接收到标签映射消息 后,根据第四存储模块205中的标签分发模式信息,识别所述路由装置与邻居路由装置当前协商工作的标签分发模式;第三判断模块207用于根据第二识别模块206的识别结果,在所述路由装置与邻居路由装置当前工作的标签分发模式存在DOD标签分发模式时,根据第一存储模块103中存储的标签请求标识信息,判断针对标签映射消息中的FEC是否已经向FEC的下一跳发送过标签请求消息。第一发送模块208用于根据第一判断模块102与第三判断模块207的判断结果,在针对FEC既没有添加过FTN,也没有向FEC的下一跳发送过标签请求消息时,向该FEC的下一跳发送标签请求消息,并指示添加模块105置相应标签请求标识为真;或者,在针对FEC已经添加过FTN或向FEC的下一跳发送过标签请求消息,并且根据第一识别模块202的识别结果,在标签保留模式为自由标签保留模式时,根据预先设置,向FEC的下一跳发送标签请求消息,并指示添加模块105置相应标签请求标识为真。
通过对标签请求标识的设置与更新,路由装置在后续可以根据标签请求标识确定是否向下一跳发送标签请求信息,避免不必要的信息发送增加网络传输流量。
进一步地,再参见图2,在上述路由装置实施例中,第一发送模块208用于在接收模块101接收模块接收到标签映射消息后,与接收模块101交互,判断针对所述FEC是否存在向其它下一跳发送过标签请求消息而未得到应答,若存在,指示第一识别模块202识别该路由装置当前的标签保留模式;若不存在,指示添加模块105置相应标签请求标识为假。该路由装置中还可以包括第二发送模块209,用于根据第一识别模块202的识别结果,在路由装置当前的标签保留模式为保守标签保留模式时,向发送过标签请求消息而未得到应答的其它下一跳发送标签请求中止消息。
当路由装置在保守标签保留模式下接收到标签映射消息后,便向发送过标签请求消息的其它下一跳发送标签请求中止消息,以避免其它下一跳继续对该标签请求消息进行处理与返回标签映射消息,并可以进一步避免路由装 置针对返回的标签映射消息进行不必要的处理,可以提高路由装置的信息处理量,提高其业务处理能力。
更进一步地,再参见图2,上述实施例的路由装置还可以包括验证模块210与记录模块211。其中,接收模块101还可用于接收下一跳返回的标签请求中止通告。验证模块210用于验证接收模块101接收到的标签请求中止通告与第二发送模块209发送的标签请求中止消息是否匹配,即:标签请求中止通告是否是针对标签请求中止消息返回的。记录模块211用于根据验证模块208的验证结果,在标签请求中止通告与标签请求中止消息匹配时,记录标签请求已经中止。第一发送模块101具体用于在根据接收模块101对标签请求中止通告的接收情况,记录模块211记录标签请求已经中止后,判断针对所述FEC是否有向其它下一跳发送的标签请求中止消息未返回标签请求中止通告,若有,指示添加模块105置相应标签请求标识为真,若没发送过,指示添加模块105置相应标签请求标识为假。
通过对标签请求标识的及时更新,有助于避免重复发送标签请求消息带来的网络流量负担与路由装置的信息处理负担。
如图3所示,为本发明路由装置另一个实施例的结构示意图。该实例的路由装置可以在图2所示任一实施例的基础上,增设第一删除模块301与查询模块302。其中,接收模块101还用于接收邻居路由装置发送的地址撤销消息,该地址撤销消息中包括撤销地址。第一删除模块301用于根据接收模块101接收到的地址撤销消息,删除FTN中与撤销地址所属FEC对应的下一跳标签转发表项,并指示添加模块105置该FEC的FTN添加标识为假。查询模块302用于在第一删除模块301删除与撤销地址所属FEC对应的下一跳标签转发表项后,查询第三存储模块204中针对撤销地址所属FEC是否存在其它下一跳发送的标签映射。添加模块105还用于根据查询模块302的查询结果,在存在其它下一跳发送的标签映射时,根据该标签映射,针对撤销地址所属FEC添加FTN,并置FEC的FTN添加标识为真。第一发送模块208 还用于根据查询模块302的查询结果,在不存在其它下一跳发送的标签映射且不存在发向其它下一跳的标签请求消息时,选择撤销地址所属FEC的下一跳,向该下一跳发送标签请求消息,并指示添加模块105置撤销地址所属FEC的标签请求标识为真。
如图4所示,为本发明路由装置又一个实施例的结构示意图。该实例的路由装置可以在图2所示任一实施例或图3所示实施例的基础上,增设第二删除模块401,用于在接收模块101接收到邻居路由装置发送的标签映射消息之后,删除第一发送模块208发送的、与标签映射消息匹配的标签请求消息,以释放存储空间,提高路由装置的业务处理效率。
如图5所示,为本发明配置转发等价类的标签转发表项的方法一个实施例的流程图。该实施例可通过图2所示的一个实施例的路由装置实现,其包括以下步骤:
步骤501,路由装置接收邻居路由装置发送的标签映射消息,该标签映射消息中包括FEC与标签之间的绑定关系。
步骤502,路由装置在邻居路由装置为路由装置所属FEC的下一跳时,根据路由装置中存储的、用于标识FEC是否添加FEC与标签转发表项FTN的FTN添加标识信息,判断针对标签映射消息中的FEC是否已经添加FTN。在针对标签映射消息中的FEC未添加FTN时,执行步骤503。
具体地,可以对FEC结构增加一个标识位,通过该标识位的值标识针对该FEC的FTN添加标识信息,可以设置在FTN添加标识为真时,标识针对该FEC已经添加过FTN,而在FTN添加标识为假时,标识针对该FEC尚未添加过FTN。另外,也可以根据预先设置对该标识位的值进行其它设置,只要路由装置根据该值可以获知是否添加过FTN即可。
步骤503,路由装置根据标签映射消息,针对标签映射消息中的FEC添加FTN,并置FEC的FTN添加标识为真。
本发明上述实施例提供的配置转发等价类的标签转发表项的方法中,路 由装置接收到标签映射消息后,根据FTN添加标识信息确定针对同一FEC是否已经添加FTN,只有在针对该FEC未添加FTN且邻居路由装置为所述FEC的下一跳时,才相应添加FTN,有效避免了在使用LDP组建的不支持等价路由的MPLS网络中,在与配置了相同地址的LSR建立会话的LSR上面,对于以该相同地址为下一跳的FEC重复添加FTN;并且,在针对该转发等价类添加FTN后,并置所述FEC的FTN添加标识为真,以便于路由装置在下一次接收到标签映射时,有效辨别针对标签映射中的FEC是否已经添加过FTN。
在图5所示的实施例中,根据步骤502的判断结果,在针对标签映射消息中的FEC已经添加过FTN时,可以执行以下操作:
步骤504,路由装置判断当前的标签保留模式是否为保守标签保留模式,若是保守标签保留模式,执行步骤505;否则,若为自由标签保留模式,执行步骤506。
步骤505,不存储所述标签映射。
步骤506,存储所述标签映射。
若路由装置与邻居路由装置协商工作在DOD标签分发模式下,则路由装置需要通过向下一跳发送标签请求消息来获得FEC与标签之间的绑定关系,即:FEC标签映射。也就是说,在上述配置转发等价类的标签转发表项的方法实施例的步骤501之前,路由装置需要通过向下一跳发送标签请求消息。如图6所示,为本发明的路由装置向下一跳发送标签请求消息一个实施例的流程图,该流程可以通过图2所示相应实施例的路由装置实现,其包括以下步骤:
步骤601,路由装置根据路由装置中存储的FTN添加标识信息与用于标识是否向路由装置所属FEC的下一跳发送过标签请求消息的标签请求标识信息,判断针对FEC是否已经添加过FTN或向FEC的下一跳发送过标签请求消息。若针对FEC已经添加过FTN或向FEC的下一跳发送过标签请求消息, 执行步骤602;否则,若针对FEC既没有添加过FTN,也没有向FEC的下一跳发送过标签请求消息,执行步骤605。
具体地,可以对FEC结构增加一个标识位,通过该标识位的值标识是否向路由装置所属FEC的下一跳发送过标签请求消息,可以设置在标签请求标识为真时,标识向路由装置所属FEC的下一跳发送过标签请求消息,而在标签请求标识为假时,标识未向路由装置所属FEC的下一跳发送过标签请求消息。另外,也可以根据预先设置对该标识位的值进行其它设置,只要路由装置根据该值可以获知是否向路由装置所属FEC的下一跳发送过标签请求消息即可。
步骤602,路由装置判断当前的标签保留模式是否为保守标签保留模式,若是保守标签保留模式,则执行步骤603;否则,若是自由标签保留模式,执行步骤604。
步骤603,路由装置不向FEC的下一跳发送标签请求消息。
步骤604,路由装置根据预先设置,选择向FEC的下一跳发送标签请求消息,并置标签请求标识为真,然后执行步骤606,或者选择不向FEC的下一跳发送标签请求消息。
步骤605,路由装置向FEC的下一跳发送标签请求消息,并置标签请求标识为真。
步骤606,路由装置接收下一跳发送的标签映射消息,也即:执行步骤501,步骤501中的此处邻居路由装置具体为该步骤606中的下一跳。
步骤607,路由装置判断是否存在与其它邻居路由装置协商工作在DOD模式下,若存在,执行步骤608,否则,不执行后续操作。
步骤608,路由装置判断针对所述FEC是否存在向其它下一跳发送过标签请求消息而未得到应答,若发送过,执行步骤609;否则,执行步骤615。
步骤609,路由装置判断当前的标签保留模式是否为保守标签保留模式,若是保守标签保留模式,执行步骤611;否则,若是自由标签保留模式,执 行步骤610。
步骤610,路由装置不向发送过标签请求消息而未得到应答的下一跳发送标签请求中止消息。
步骤611,路由装置向发送过标签请求消息而未得到应答的下一跳发送标签请求中止消息。
步骤612,路由装置接收下一跳返回的标签请求中止通告,并判断该标签请求中止通告与发送给下一跳的标签请求中止消息是否匹配,若匹配,执行步骤613,否则,不执行后续操作。
步骤613,路由装置记录标签请求已经中止,并判断针对FEC是否有向其它下一跳发送的标签请求中止消息未返回标签请求中止通告,若有,执行步骤614;否则,执行步骤615。
步骤614,路由装置置标签请求标识为真。
步骤615,路由装置置标签请求标识为假。
邻居路由装置删除一个先前公布的地址时,可以向其上游的路由装置发送地址撤销消息,通知对端撤销该先前公布的地址。路由装置接收到该地址撤销消息后,可以据此对FTN进行更新。如图7所示,为本发明的更新转发等价类的标签转发表项的方法一个实施例的流程图。该实施例的流程可以通过如图3所示的路由装置实现,其包括以下步骤:
步骤701,路由装置接收邻居路由装置发送的地址撤销消息,该地址撤销消息中包括撤销地址。
步骤702,路由装置删除FTN中,与撤销地址所属FEC对应的下一跳标签转发表项,并置该FEC的FTN添加标识为假。
步骤703,路由装置判断针对撤销地址所属FEC是否存在其它下一跳发送的标签映射。若存在,执行步骤706;否则,执行步骤704。
步骤704,路由装置判断是否存在发向其它下一跳的标签请求,若存在,执行步骤705;若不存在,执行步骤707。
步骤705,路由装置接收其它下一跳返回的标签映射消息。
步骤706,路由装置根据存在的或接收到的标签映射,针对撤销地址所属FEC添加FTN,并置FEC的FTN添加标识为真。
步骤707,路由装置选择撤销地址所属FEC的下一跳,并向该下一跳发送标签请求消息,并置撤销地址所属FEC的标签请求标识为真。
另外,在上述实施例中,路由装置接收邻居路由装置发送的标签映射消息之后,还可以删除与标签映射消息匹配的标签请求消息,具体可以通过如图4所示实施例的路由装置实现。
如图8所示,为应用本发明实施例方法的一个MPLS网络的架构示意图。该MPLS网络由LSRA、LSRB、LSRC与LSRD构成。其中,在LSRB与LSRC的一个接口上面都配置192.168.201.102这个地址,在LSRD上面配置地址192.167.201.100/24。假如LSRA与LSRB协商工作在DU模式下,LSRA与LSRC协商工作在DOD模式下,且在LSRA上面针对FEC192.167.201/24的下一跳是192.168.201.102,也即:LSRB与LSRC都是LSRA的针对FEC192.167.201/24的下一跳,LSRA可以实现本发明上述任一实施例提供的路由装置功能。当LSRA接收到LSRB发送的针对FEC 192.167.201/24的标签映射消息时,在针对该FEC192.167.201/24添加FTN前,先检查针对该FEC是否已经添加过FTN。若添加过,则根据标签保留模式,决定是否保留该标签映射。若未添加过,则针对该FEC添加FTN,并设置针对该FEC的FTN添加标识为真。
当LSRA与LSRC建立会话后,LSRA向LSRC发送标签请求前,首先检查针对该FEC 192.167.201/24是否已经添加过FTN。若没有添加过FTN,则向LSRC发送FEC192.167.201/24的标签请求消息,并置标签请求标识为真。在LSRA接收到LSRC返回的标签映射消息前,接收到LSRB发来的针对FEC192.167.201/24的标签映射消息时,则针对该192.167.201/24添加FTN,并置针对该FEC的FTN添加标识为真,然后根据标签保留模式,决定是否 向LSRC发送标签请求中止消息。
LSRC接收到LSRA发送的标签请求中止消息后,检查是否已经对该标签请求消息进行了应答,即:是否已经针对该标签请求消息向LSRA发送了标签映射消息,若已经进行了应答,则不作处理。若尚未应答,则LSRC向LSRA返回标签请求中止通告。LSRA接收到LSRC返回的标签请求中止通告时,检查针对所述FEC是否向其它下一跳发送过标签请求消息,若没有,置相应的标签请求标识为假;若发送过,置相应的标签请求标识为真。
假如LSRA根据LSRB发来的标签映射,针对FEC192.167.201/24已经添加FTN,由于LSRB撤销了地址192.168.201.102或者LSRA与LSRB之间的会话中断,则LSRA对FTN进行更新,删除针对FEC192.167.201/24的FTN。此时,LSRA检查针对该FEC192.167.201/24是否保留有LSRC发送的标签映射,若保留有LSRC发送的标签映射,则根据该标签映射针对FEC192.167.201/24添加FTN,并置FEC添加标识为真;若没有保留LSRC发送的标签映射,则向LSRC发送针对该FEC192.167.201/24的标签请求消息,并置该FEC192.167.201/24的标签请求标识为真。
本发明实施例提供的路由装置及其配置转发等价类的标签转发表项的方法中,在路由装置接收到邻居路由装置发送的标签映射消息时,会根据路由装置中存储的FTN添加标识信息判断针对所述标签映射消息中的FEC是否已经添加FTN,只有在针对该FEC未添加FTN且邻居路由装置为所述FEC的下一跳时,才相应添加FTN,有效避免了在使用LDP组建的不支持等价路由的MPLS网络中,在与配置了相同地址的LSR建立会话的LSR上面,对于以该相同地址为下一跳的FEC重复添加FTN;并且,在针对该转发等价类添加FTN后,并置所述FEC的FTN添加标识为真,以便于路由装置在下一次接收到标签映射时,有效辨别针对标签映射中的FEC是否已经添加过FTN。
最后所应说明的是:以上实施例仅用以说明本发明的技术方案,而非对本发明作限制性理解。尽管参照上述较佳实施例对本发明进行了详细说明, 本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这种修改或者等同替换并不脱离本发明技术方案的精神和范围。