发明内容
本发明所要解决的技术问题是提供一种MPLS体系中有序方式下LSP中间节点标签分配方法及装置,来降低标签的使用量。
为解决上述技术问题,本发明提供方案如下:
MPLS体系中有序方式下LSP中间节点标签分配方法,当中间节点设备收到标签映射消息后,包括如下步骤:
中间节点设备根据收到的标签映射消息中携带的标签信息、所收到的标签的生成节点设备的唯一标识信息,确定转发等价类;
中间节点设备根据所述确定的转发等价类进行标签分配。
本发明所述的方法,其中,中间节点设备进一步根据上游节点设备的唯一标识信息,确定转发等价类。
本发明所述的方法,其中,所述中间节点设备根据所述确定的转发等价类进行标签分配是:
当不存在分配过标签的与上述相同的转发等价类时,为转发等价类分配新的标签;
当已存在分配过标签的与上述相同的转发等价类时,使用所述已分配过的标签为转发等价类进行标签分配。
本发明所述的方法,其中,当中间节点设备收到标签映射消息后,进一步包括如下步骤:
中间节点设备根据收到的标签映射消息,对标签映射消息中的地址前缀进行检查及策略控制。
本发明所述的方法,其中,所述对标签映射消息中的地址前缀进行检查及策略控制,是判断是否可以接收、是否需要向上游节点设备继续转发新的标签。
本发明所述的方法,其中,所述所收到的标签的生成节点设备的唯一标识信息,是标签的生成节点设备的标签空间。
本发明所述的方法,其中,所述所收到的标签的生成节点设备的唯一标识信息,是标签的生成节点设备的标签交换路由器ID。
本发明所述的方法,其中,所述标签的上游节点设备的唯一标识信息,是上游节点设备的地址信息。
本发明所述的方法,其中,所述标签的上游节点设备的唯一标识信息,是上游节点设备的标签交换路由器ID。
本发明所述的方法,其中,进一步包括如下步骤:
中间节点设备将所述新分配的标签与所收到的标签映射消息中携带的地址前缀进行绑定,创建新的标签转发表项,并将携带新标签与地址前缀的标签映射消息向上游节点设备发送。
本发明所述的方法,其中,
所述当不存在分配过标签的与上述相同的转发等价类时,为转发等价类分配新的标签,为新分配的标签创建一个分配计数值,初值设置为1;
当已存在分配过标签的与上述相同的转发等价类时,使用所述已分配过的标签为转发等价类进行标签分配,并将所述标签的分配计数值进行加1操作。
本发明所述的方法,其中,当中间节点设备需要释放标签时,进一步包括如下步骤:
中间节点设备对所要释放的标签的分配计数值作减1操作;
中间节点设备向上游节点设备发送所要释放标签的回收消息;
当所要释放的标签的分配计数值为零时,释放所述标签,同时删除转发表项;
当所要释放的标签的分配计数值不为零时,不动作。
一种标签交换路径中的中间节点设备,用于根据接收到的标签映射消息为转发等价类分配标签,包括:转发等价类确定单元,及与转发等价类确定单元相连的标签分配单元,其中,
所述转发等价类确定单元,用于根据收到的标签映射消息中携带的标签信息、所收到的标签的生成节点设备的唯一标识信息,确定转发等价类;
所述标签分配单元,用于根据所述转发等价类确定单元确定的转发等价类进行标签分配。
本发明所述的设备,其中,所述转发等价类确定单元,进一步用于根据上游节点设备的唯一标识信息,确定转发等价类。
本发明所述的设备,其中,所述标签分配单元,进一步用于根据所述转发等价类确定单元确定的转发等价类,判断是否存在已经分配过标签的与所述确定的转发等价类相同的转发等价类,对于存在已分配过标签的与所述确定的转发等价类相同的转发等价类,为其分配相同的标签,对于不存在分配过标签的与所述确定的转发等价类相同的转发等价类,为其分配新的标签。
本发明所述的设备,其中,所述标签分配单元进一步包括:标签分配计数子单元,用于为所分配的标签进行分配次数的计数。
本发明所述的设备,其中,所述标签分配计数子单元,进一步用于在标签分配时,为标签的分配计数值进行累加计数。
本发明所述的设备,其中,所述标签分配计数子单元,进一步用于在标签释放时,为标签的分配计数值进行减1计数,当标签的分配计数值减到零时,产生释放该标签的信号。
本发明所述的标签分配方法及装置,通过以收到的标签信息、所收到标签的生成节点设备的唯一标识信息,作为确定FEC的参数,进行标签分配,使得中间节点设备的标签使用量大大减小,从而节约存储资源,提高了标签的转发效率;本发明所述方法装置进一步通过对所分配的标签进行分配计数操作,并在需要释放标签时,对所述标签分配计数值进行减1操作并判断这个分配计数值是否为零,当为零时,才真正释放所述标签,使得在减少标签使用量的同时,确保了标签的安全、可靠释放。
本发明所要解决的技术问题、技术方案要点及有益效果,将结合实施例,参照附图作进一步说明。
具体实施方式
在由LSR作为基本网络单元所构成的MPLS系统中,包括:入口节点设备、中间节点设备及出口节点设备。
如图2所示,本发明实施例所述中间节点设备100包括:转发等价类确定单元10、标签分配单元20。其中,所述标签分配单元20还包括:标签分配计数子单元21。
所述转发等价类确定单元10与标签分配单元20相连。
其中,所述转发等价类确定单元10,用于根据收到的标签映射消息中携带的标签信息、所收到的标签的生成节点设备的唯一标识信息,确定转发等价类;其中,所述的所收到的标签的生成节点设备的唯一标识信息,可以是标签的生成节点设备的标签空间,也可以是标签的生成节点设备的LSR ID。这里,所述转发等价类确定单元10,还可以用于根据收到的收到的标签映射消息中携带的标签信息、所收到的标签的生成节点设备的唯一标识信息、及上游节点设备的唯一标识信息,来确定转发等价类。对于标签的上游节点设备的唯一标识信息,可以是上游节点设备的地址信息,也可以是上游节点设备的LSR ID。
所述标签分配单元20,用于根据所述转发等价类确定单元10所确定的转发等价类进行标签分配。例如,用于根据所述转发等价类确定单元确定的转发等价类,判断是否存在已经分配过标签的与所述确定的转发等价类相同的转发等价类,对于存在已分配过标签的与所述确定的转发等价类相同的转发等价类,为其分配相同的标签,对于不存在分配过标签的与所述确定的转发等价类相同的转发等价类,为其分配新的标签。
所述标签分配计数子单元21,用于为所分配的标签进行分配次数的计数。在标签分配时,为标签的分配计数值进行累加计数;在标签释放时,为标签的分配计数值进行减1计数,当标签的分配计数值减到零时,产生释放该标签的信号。
在有序方式下,当所述中间节点设备收到地址和标签绑定的标签映射消息时,中间节点设备100中的转发等价类确定单元10根据收到的标签映射消息中携带的标签信息、所收到的标签的生成节点设备的唯一标识信息、以及标签的上游节点设备的唯一标识信息,确定转发等价类,并将所确定的转发等价类发送至标签分配单元20,标签分配单元20判断是否存在已经分配过标签的与所述确定的转发等价类相同的转发等价类,如果存在,为其分配相同的标签,如果不存在,为其分配新的标签。同时,标签分配计数子单元21对分配的标签进行计数。即,在分配标签时,为新分配的标签创建一个分配计数值,初值设置为1;当为相同的FEC分配标签时,需要对该已存在的标签的分配计数值进行加1操作。在需要对标签释放时,标签分配计数子单元先对标签的分配计数值进行减1操作,并判断所述标签的分配计数值是否为零,如果为零,则产生标签释放信号。
下面以P2P(点对点)情况为例,在有序方式下,中间节点设备收到地址和标签绑定的标签映射消息后,对标签的分配过程如图3所示,包括如下步骤:
步骤101:中间节点设备根据收到的标签映射消息,对消息中的地址前缀进行检查及策略控制,例如,中间节点设备主要判断是否可以接收、是否需要向上游节点设备继续转发新的标签等;
步骤102:中间节点设备将收到的标签映射消息中携带的标签信息、所收到标签的生成节点设备的唯一标识信息、以及标签的上游节点设备的唯一标识信息,作为确定FEC的参数,来进行标签分配;如果已经为上述相同的FEC分配过标签,则使用该已分配的标签,否则,为该FEC分配新的标签;其中,所述的所收到的标签的生成节点设备的唯一标识信息,可以是标签的生成节点设备的标签空间,也可以是标签的生成节点设备的LSR ID;对于标签的上游节点设备的唯一标识信息,可以是上游节点设备的地址信息,也可以是上游节点设备的LSR ID。
步骤103:中间节点设备将所述新生成的标签与所收到的标签映射消息中携带的地址前缀进行绑定,创建新的标签转发表项,并将携带新标签与地址前缀的标签映射消息向上游节点设备发送。
在上述过程中,对于P2MP(点对多点)情况,所述步骤102中,中间节点设备将收到的标签映射消息中携带的标签信息、所收到标签的生成节点设备的唯一标识信息,作为确定FEC的参数,来进行标签分配。
对于图3所示的标签分配过程,中间节点设备所分配的标签可能对应多个地址前缀,因此,为了便于中间节点设备在地址不可达或者进行标签回收的情况下能够安全可靠地释放所述标签,这里,还可以在上述步骤102中,对于新分配的标签进行计数操作,即,为新分配的标签创建一个分配计数值,初值设置为1;当为相同的FEC分配标签时,需要对该已存在的标签的分配计数值进行加1操作。
因此,当中间节点设备在地址不可达或进行标签回收的情况下,需要对所述标签进行释放时,参照图4,具体过程如下:
步骤201:对标签的分配计数值作减1操作;
步骤202:向上游节点设备发送所要释放标签的回收消息;
步骤203:判断所要释放的标签的分配计数值是否为零,如果为零,则执行步骤204;否则,执行步骤205;
步骤204:释放所述标签,同时删除转发表项,结束;
步骤205:不动作,结束。
如图5所示,再以一个P2P的例子来进一步对本发明所述系统及方法作说明。MPLS系统包括:入口节点设备A、中间节点设备B、C、及出口节点设备D。其中,当出口节点设备D已经通过现有的一些规则或标签分配方式确定了FEC的划分时,假设,出口节点设备D的一个FEC包含两个地址前缀192.167.120.0/24和192.168.100.0/24,另一个FEC包含地址前缀192.166.120.0/24。此时,出口节点设备D为不同的FEC分配了不同的标签,即:192.167.120.0/24和192.168.100.0/24分别与Label-1绑定,192.166.120.0/24与Label-4绑定,并通过标签映射消息发送给上游LSR(中间节点设备C)。
对于中间节点设备C收到出口节点设备D发送来的标签映射消息后,对消息中携带的192.166.120.0/24与Label-4绑定关系,标签分配处理过程如下:
C1-1:中间节点设备C根据收到的标签映射消息,对消息中的地址前缀进行检查及策略控制,主要判断是否可以接收、是否需要向上游节点设备继续转发新的标签等,这里判断结果为可以接受,并需要向中间节点设备B转发新标签;
C1-2:中间节点设备C以Label-4、出口节点设备D的标签空间、及中间节点设备C为参数,来确定FEC,分配标签,由于以这些参数为一个FEC没有被分配过标签,因此,为其分配一个新的标签,Label-5,同时,对Label-5创建一个分配计数值,并设置为1;
C1-3:中间节点设备C将192.166.120.0/24与Label-5绑定,同时创建相应的转发表项,并将携带新标签Label-5与192.166.120.0/24地址前缀的标签映射消息向中间节点设备B发送。
对于中间节点设备C对消息中携带的192.167.120.0/24与Label-1绑定关系,标签分配处理过程如下:
C2-1:中间节点设备C根据收到的标签映射消息,对消息中的地址前缀进行检查及策略控制,主要判断是否可以接收、是否需要向上游节点设备继续转发新的标签等,这里判断结果为可以接受,并需要向中间节点设备B转发新标签;
C2-2:中间节点设备C以Label-1、出口节点设备D的标签空间、及中间节点设备C为参数,来确定FEC,分配标签,由于以这些参数为一个FEC没有被分配过标签,因此,为其分配一个新的标签,Label-2,同时,对Label-2创建一个分配计数值,并设置为1;
C2-3:中间节点设备C将192.167.120.0/24与Label-2绑定,同时创建相应的转发表项,并将携带新标签Label-2与192.167.120.0/24地址前缀的标签映射消息向中间节点设备B发送。
对于中间节点设备C对消息中携带的192.168.120.0/24与Label-1绑定关系,标签分配处理过程如下:
C3-1:中间节点设备C根据收到的标签映射消息,对消息中的地址前缀进行检查及策略控制,主要判断是否可以接收、是否需要向上游节点设备继续转发新的标签等,这里判断结果为可以接受,并需要向中间节点设备B转发新标签;
C3-2:中间节点设备C以Label-1、出口节点设备D的标签空间、及中间节点设备C为参数,来确定FEC,分配标签,根据转发表项中记录的与该FEC相同的FEC及其与标签的绑定关系,得知以这些参数所确定的FEC已经被分配过标签Label-2,因此,直接使用标签Label-2,不再为其分配新的标签;同时,对于Label-2的分配计数值增1操作,此时,即为2;
C3-3:中间节点设备C将192.168.120.0/24与Label-2绑定,同时创建相应的转发表项,并将携带新标签Label-2与192.168.120.0/24地址前缀的标签映射消息向中间节点设备B发送。
对于中间节点设备B收到中间节点设备C发送来的标签映射消息后,对消息中携带的192.166.120.0/24与Label-5绑定关系,标签分配处理过程如下:
B1-1:中间节点设备B根据收到的标签映射消息,对消息中的地址前缀进行检查及策略控制,主要判断是否可以接收、是否需要向上游节点设备继续转发新的标签等,这里判断结果为可以接受,并需要向入口节点设备A转发新标签;
B1-2:中间节点设备B以Label-5、中间节点设备C的标签空间、及中间节点设备B为参数,来确定FEC,分配标签,由于以这些参数为一个FEC没有被分配过标签,因此,为其分配一个新的标签,Label-6,同时,对Label-6创建一个分配计数值,并设置为1;
B1-3:中间节点设备B将192.166.120.0/24与Label-6绑定,同时创建相应的转发表项,并将携带新标签Label-6与192.166.120.0/24地址前缀的标签映射消息向入口节点设备A发送。
对于中间节点设备B对消息中携带的192.167.120.0/24与Label-2绑定关系,标签分配处理过程如下:
B2-1:中间节点设备B根据收到的标签映射消息,对消息中的地址前缀进行检查及策略控制,主要判断是否可以接收、是否需要向上游节点设备继续转发新的标签等,这里判断结果为可以接受,并需要向入口节点设备A转发新标签;
B2-2:中间节点设备B以Label-2、中间节点设备C的标签空间、及中间节点设备B为参数,来确定FEC,分配标签,由于以这些参数为一个FEC没有被分配过标签,因此,为其分配一个新的标签,Label-3,同时,对Label-3创建一个分配计数值,并设置为1;
B2-3:中间节点设B将192.167.120.0/24与Label-3绑定,同时创建相应的转发表项,并将携带新标签Label-3与192.167.120.0/24地址前缀的标签映射消息向入口节点设备A发送。
对于中间节点设备B对消息中携带的192.168.120.0/24与Label-2绑定关系,标签分配处理过程如下:
B3-1:中间节点设备B根据收到的标签映射消息,对消息中的地址前缀进行检查及策略控制,主要判断是否可以接收、是否需要向上游节点设备继续转发新的标签等,这里判断结果为可以接受,并需要向入口节点设备A转发新标签;
B3-2:中间节点设备B以Label-2、中间节点设备C的标签空间、及中间节点设备B为参数,来确定FEC,分配标签,根据转发表项中记录的与该FEC相同的FEC及其与标签的绑定关系,得知以这些参数所确定的FEC已经被分配过标签Label-3,因此,直接使用标签Label-3,不再为其分配新的标签;同时,对于Label-3的分配计数值增1操作,此时,即为2;
B3-3:中间节点设备B将192.168.120.0/24与Label-3绑定,同时创建相应的转发表项,并将携带新标签Label-3与192.168.120.0/24地址前缀的标签映射消息向入口节点设备A发送。
当中间节点设备C在地址不可达或者需要回收标签,需要对标签进行释放时,例如,在上述标签分配的过程中,对于标签Label-2的标签计数值已经累加到了2,当中间节点设备C需要对Label-2的标签进行回收时,则具体步骤如下:
步骤301:中间节点设备C将标签Label-2的分配计数值减1;
步骤302:中间节点设备C向中间节点设备B发送标签Label-2标签回收消息;
步骤303:中间节点设备C判断标签Label-2的分配计数值是否为零,如果为零,则释放标签Label-2,并同时删除标签Label-2的转发表项,结束;如果不为零,则不动作,结束。
例如,通常对于常见的LDP LSP(以某条路由作为一个FEC)的分配情况,如图6所示,出口节点设备D在收到来自其他节点设备的路由时,需要为这些路由创建对应的LDP LSP。如果出口节点设备D创建了1万条LDP LSP时,中间节点设备C就会消耗掉1万条标签。利用本发明实施例所述的标签分配方法,中间节点设备C仅仅需要分配同一个标签即可,也就是节约了9999个标签,以及相应的转发表项,这样不仅大大降低了标签的使用量,还能提高标签的转发效率。
再例如,如图7所示,对于MPLS L3VPN(以某条路由作为一个FEC)跨域单跳组网的情况,如果出口节点设备D为L3VPN的PE(Provider’s EdgeRouter,供应商边界路由器)设备,中间节点设备C为BGP的ASBR(autonomous system border router,自治系统边界路由器)设备,入口节点设备B既为L3VPN的PE设备,又为BGP的ASBR设备,且出口节点设备D链接到两个VPN,每个VPN下有1万条私网路由。这样,出口节点设备D为每个VPN分配了一个标签时,通常中间节点设备C会收到2万条私网路由和标签的绑定,则中间节点设备C需要为这2万条路由分配2万个标签,其中,1万个标签对应一个VPN下的1万条私网路由,另1万个标签对应另一个VPN下的1万条私网路由。而利用本发明实施例所述标签分配方法,中间节点设备C只需要为这2万条路由分配2个标签即可。
综上所述,发明实施例所述标签分配方法,降低了标签使用量,节约了存储空间,提高了标签转发效率。
本发明所述的MPLS体系中有序方式下LSP中间节点标签分配方法及装置,并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明之领域,对于熟悉本领域的人员而言可容易地实现另外的优点和进行修改,因此在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。