一种处理标签绑定的方法

文档序号:7951796阅读:178来源:国知局
专利名称:一种处理标签绑定的方法
技术领域
本发明涉及数据包交换技术,特别是涉及一种在多协议标签交换域中处理标签绑定的方法。
背景技术
在采用多协议标签交换(MPLS,Multi-Protocol Label Switching)的网络中,数据包被短而定长的标签所封装,并根据标签进行转发。标签是一个长度固定、只具有本设备意义的短标识符,用于标识一个转发等价类(FEC,Forwarding Equivalence Class)。完成数据包转发的网络单元是标签交换路由器(LSR,Label Switching Router)。在MPLS体系中,将特定标签分配给特定FEC的标签绑定决定由在包传递路径中相对更靠近目的端的下游LSR做出,并由下游LSR通告给在包传递路径中相对更靠近源的上游LSR。一条完整的包传递路径上的所有LSR构成标签交换路径(LSP,LabelSwitched Path)。
图1示意了一个简单的LSP。在图1中,假设数据包在LSP上传递的目的LSR是LSR1,源LSR是LSR5,则从LSR1到LSR5依次通告标签绑定的过程如下步骤11,LSR1向LSR2通告标签绑定L1;步骤12,LSR2收到从LSR1来的标签绑定后,向LSR4通告标签绑定L2,向LSR3通告标签绑定L3;步骤13,LSR3收到从LSR2来的标签绑定后,向LSR4通告标签绑定L4;步骤14,LSR4从LSR2和LSR3分别收到标签绑定L2和L4。对于LSR4来说,从路由转发角度来看,L4的发送者LSR3不是指定FEC的下一跳。因此,LSR4上只有L2被激活用于标签转发,而L4被LSR4保存在本地但不用于标签转发,处于游离状态;步骤15,LSR4从LSR2收到标签绑定L2后,向LSR5通告标签绑定L5。
这样,一条从LSR5开始,经过LSR4和LSR2,到达LSR1的LSP就建立起来了。在以上步骤中,对于某个LSR来说,只有收到下游LSR发出的对于特定FEC的标签绑定以后,才能向上游LSR通告对于该FEC的标签绑定,这种规则称为有序的标签分发模式。
如果LSR2和LSR4之间的通信链路故障,或者LSR2向LSR4通告回收标签绑定L2,就会导致当前采用的LSP中断。这时,从LSR5发往LSR1的数据包就只能通过另一条LSP,即从LSR5开始,依次经过LSR4、LSR3和LSR2,到达LSR1。为了从中断的LSP切换到新的LSP,在现有技术中,LSR4上的操作过程如下步骤21,LSR通过检测手段感知到与下游LSR,即LSR2之间的通信链路中断,或者标签绑定L2被LSR2通告回收;步骤22,向上游LSR,即LSR5发标签回收消息,回收标签绑定;步骤23,激活标签绑定L4;步骤24,向LSR5发新标签绑定。
之所以需要先向LSR5回收标签再激活L4,然后再向LSR5重新发新的标签绑定,是因为在有序的标签分发模式下,LSR4只有在收到L2后,才会向上游通告L5。在LSR4与LSR2之间的通信链路中断,或者L2被LSR2通告回收时,为保持标签分发的有序性,需要先回收标签绑定L5,接下来LSR4才尝试建立新的LSP,如果成功再向LSR5通告新的标签绑定。
由此可见,现有技术的缺点在于,由于需要先回收标签绑定再重发标签绑定,完成LSP的切换需要相当长的时间。从实验数据来看,需要的时间为秒级。这不仅会消耗LSR的大量处理能力,还会使得LSP的中断时间过长,严重影响对间断时间敏感的业务。

发明内容
有鉴于此,本发明的主要目的在于提供一种处理标签绑定的方法,减少LSR在切换标签交换路径时的处理量,同时缩短切换标签交换路径时所需要的时间。
为了达到上述目的,本发明提供了一种处理标签绑定的方法,该方法包括以下步骤A、判断收到的标签绑定是激活标签绑定还是游离标签绑定,如果是激活标签绑定则执行步骤B,否则执行步骤C;B、根据该激活标签绑定在标签转发表里建立主用表项后结束当前处理流程;C、对于存在主用表项的游离标签,根据主用表项的入标签以及该游离标签绑定创建备用表项,并建立主用表项和备用表项的关联关系。
其中,所述判断收到的标签绑定是激活标签绑定还是游离标签绑定为判断发出该标签绑定的标签交换路由器LSR是否为指定转发等价类在路由意义上的下一跳,如果是则认为该标签绑定为激活标签绑定,否则认为该标签绑定为游离标签绑定。
其中,步骤B进一步包括向上游标签交换路由器通告标签绑定。
其中,步骤B进一步包括判断是否有与收到的激活标签绑定相对应的游离标签绑定,如果有则根据游离标签绑定建立备用表项,并建立主用表项和备用表项的关联关系。
其中,所述根据激活标签绑定建立主用表项,根据游离标签绑定建立备用表项为在表项数据结构中设置用于区分表项为主用表项还是备用表项的标记字段。
其中,在表项数据结构中设置指针,所述建立主用表项和备用表项的关联关系为令主用表项数据结构中的指针指向备用表项,令备用表项数据结构中的指针依次指向下一个备用表项。
其中,建立与主用表项一一对应的数组,所述建立主用表项和备用表项的关联关系为将主用表项和备用表项存放于同一个数组中。
在标签交换路径LSP发生变化时,该方法进一步包括以下步骤D、判断发生变化的LSP对应的是主用表项还是备用表项,如果是主用表项则执行步骤E,否则执行步骤F;E、令主用表项不可用,并判断是否存在与主用表项关联的备用表项,如果存在则激活备用表项并结束当前处理流程,否则向上游LSR发起标签绑定回收流程后并结束当前处理流程;F、令备用表项不可用。
其中,在表项数据结构中设置用于区分表项为主用表项还是备用表项的标记字段,所述判断发生变化的LSP对应的是主用表项还是备用表项为根据发生变化的LSP所对应的表项中的标记字段判断该表项是主用表项还是备用表项。
其中,所述令表项不可用为将表项从标签转发表中删除。
其中,在表项数据结构中设置用于表示表项是否可用的标记字段,所述令表项不可用为将用于表示表项是否可用的标记字段的值设置为表示表项不可用。
采用本发明提供的处理标签绑定的方法,在存在多条LSP能到达目的LSR的情况下,将当前采用的LSP作为主LSP,将除当前采用的LSP外的其他能到达目的LSR的LSP作为备用LSP,并将主LSP和备用LSP关联起来。在当前采用的LSP中断的时候,直接从主LSP切换到备用LSP,而不用先通知上游LSR回收标签绑定,在切换完成后再向上游LSR发新的标签绑定,这样就减少了LSR在处理标签绑定时的处理量,同时缩短了处理标签绑定时所需要的时间。


图1是简单的标签交换路径示意图;图2是本发明提供的处理标签绑定方法中收到新标签绑定时的处理流程图;图3是本发明提供的处理标签绑定的方法中LSP发生变化时LSR的处理流程图。
具体实施例方式
本发明的核心思想是在LSR收到从下游LSR发来的对于特定FEC的标签绑定时,如果对于该FEC已经存在当前采用的标签转发表项,则根据新标签绑定以及当前采用的标签转发表项的入标签创建备用的标签转发表项,并将当前采用的标签转发表项和备用的标签转发表项关联起来,进而在需要切换LSP时直接用备用标签转发表项替换当前采用的标签转发表项目,即可完成标签交换路径的切换。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
在每个LSR中,有一张标签转发表,表中记录了该LSR的入标签、出标签和出端口之间的对应关系。LSR从上游收到一个带有标签的数据包,以该数据包的标签作为入标签在标签转发表里查到对应的出标签和出端口,用出标签替换该数据包的入标签后,将该数据包从出端口发送到下游LSR。
在本发明中,为了实现当前采用的LSP和备用LSP的关联,需要在标签转发表里建立主用表项和备用表项的关联关系。互为主备的表项具有相同的入标签,且表项所代表的LSP经过下游网络上的某一相同的LSR,主用表项代表当前采用的LSP,备用表项代表备用LSP。主用表项和备用表项可以具有相同的数据结构,用一个标记字段区分,例如,用一个二进制位作为区分主用表项和备用表项的标记字段,当该二进制位取0时表示对应的表项是主用表项,当该二进制位取1时表示对应的表项是备用表项。主用表项和备用表项的关联关系指的是在标签转发表里,互为主备的表项具有相同的入标签,并且通过指针或者数组等手段串联起来。例如,在表项数据结构中设置指针,主用表项的指针指向备用表项;如果有多个备用表项,则主用表项的指针指向备用表项中的一个,而备用表项中的指针依次指向其他备用表项。又例如,采取二级索引结构,在标签转发表中为每个入标签设置一个指针,该指针指向一个数组,数组的每个元素存放一个表项的出标签和出端口。这样分配的数组实际上是与主用表项一一对应的。
请参考图2,图2是本发明提供的处理标签绑定的方法中LSR收到新标签绑定时的处理流程,包括以下步骤步骤201,LSR接收下游LSR发来的标签绑定通告。
步骤202,判断新收到的标签绑定是不是游离标签绑定,如果是则执行步骤207,否则执行步骤203。
所谓游离标签绑定,指的是从路由意义上来看,该标签绑定的发送者不是指定FEC的下一跳。例如,在图1中,从路由意义上来看,对于LSR4来说,L2的发出者LSR2是指定FEC的下一跳,而L4的发出者LSR3不是指定FEC在路由意义上的下一跳。因此,L4是游离标签绑定而L2不是,可以将L2称为激活标签绑定。
步骤203,向上游LSR通告标签绑定。
步骤204,在标签转发表中根据新收到的标签绑定和向上游通告的标签绑定创建主用标签转发表项,用于表示当前采用的LSP。
步骤205,判断是否有对应的游离标签绑定,如果有则执行步骤206,否则执行步骤210。
此处所说的判断是否有对应的游离标签绑定,指的是判断是否存在这样的标签绑定该标签绑定与当前接收到的标签绑定所指定的FEC相同,并且该标签所代表的LSP与当前接收到的标签绑定所代表的LSP经过下游网络上的某一相同的LSR。
例如,在图1中,如果LSR4是先收到L4后收到L2,那么在收到L2后,就会先向上游LSR即LSR5通告标签绑定L5,并且根据L2以及向上游通告的标签绑定创建标签转发表的主用表项,然后判断出存在游离标签绑定L4,则执行步骤206。
步骤206,根据游离标签以及主用表项的入标签建立备用表项,并建立主用表项与备用表项关联关系,执行步骤210。
步骤207,判断是否存在主用标签转发表项,如果存在,则执行步骤208,否则执行步骤210。
步骤208,根据游离标签绑定和主用标签转发表项的入标签创建标签转发表的备用表项,用于表示备用的LSP。
步骤209,建立主用表项与备用表项关联关系。
步骤210,结束对收到的标签绑定的处理流程。
这样,所有的游离标签所代表的LSP都可以跟当前采用的LSP关联,在当前采用的LSP出现故障的时候,LSR就可以迅速判断是否有备用LSP,如果有,则快速切换到备用LSP;如果没有,则向上游LSR发起标签回收流程。
请参考图3,图3是本发明提供的处理标签绑定的方法中LSP发生变化时LSR的处理流程,包括以下步骤步骤301,LSR通过检测发现与下游LSR之间的LSP中断。
此处所说的LSP包括当前采用的LSP和备用LSP。LSP的中断通常是由两种原因引起的一种是下游LSR发起标签绑定回收流程,一种是与下游LSR之间的通信链路发生故障。这两种情况都会导致经过本LSR和下游LSR的LSP中断。本LSR通过相关检测可以探查到LSP的中断。
步骤302,判断中断的LSP所对应的标签转发表表项是否是主用表项,如果是则执行步骤303,否则执行步骤307。
步骤303,删除标签转发表中的主用表项。
作为一种替代方案,可以在标签转发表项的数据结构中,设置一个标记字段,用于表示该表项是可用的还是休眠的。例如,以一个二进制位作为标记字段,当该二进制位为1的时候表示该表项是可用的,而当该二进制位为0的时候表示该表项是休眠的。这样,本步骤中可以将主用表项中的标记字段从可用改为休眠,而不将主用表项删除。
步骤304,根据主用表项的关联关系,判断是否存在与主用表项相关联的备用表项,如果有备用表项,则执行步骤305,否则执行步骤306。
步骤305,激活备用表项,将备用表项所代表的LSP作为当前采用的LSP,结束本次处理流程。
上述激活备用表项,指的是修改表项中用于区分表项为主用表项还是备用表项的标记字段,将该标记字段从表示该表项为备用表项的值,修改成表示该表项为主用表项的值。备用表项被激活以后,则根据该该表项所记载的内容来进行标签转发。
步骤306,认为中断的当前采用的LSP没有备用LSP,向上游LSR发起标签绑定回收流程,结束本次处理流程。
步骤307,删除标签转发表中与中断的LSP对应的备用表项。
作为一种替代方案,可以在标签转发表项的数据结构中,设置一个标记字段,用于表示该表项是可用的还是休眠的。例如,以一个二进制位作为区分表项为可用还是休眠的标记字段,当该二进制位为1的时候表示该表项是可用的,而当该二进制位为0的时候表示该表项是休眠的。这样,本步骤中可以将中断的LSP对应的备用表项中的标记字段从可用改为休眠,而不将中断的LSP对应的备用表项删除。
在图3所示的处理流程中,步骤303和步骤304没有严格的先后顺序要求。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种处理标签绑定的方法,其特征在于,该方法包括以下步骤A、判断收到的标签绑定是激活标签绑定还是游离标签绑定,如果是激活标签绑定则执行步骤B,否则执行步骤C;B、根据该激活标签绑定在标签转发表里建立主用表项后结束当前处理流程;C、对于存在主用表项的游离标签,根据主用表项的入标签以及该游离标签绑定创建备用表项,并建立主用表项和备用表项的关联关系。
2.根据权利要求1所述的处理标签绑定的方法,其特征在于,所述判断收到的标签绑定是激活标签绑定还是游离标签绑定为判断发出该标签绑定的标签交换路由器LSR是否为指定转发等价类在路由意义上的下一跳,如果是则认为该标签绑定为激活标签绑定,否则认为该标签绑定为游离标签绑定。
3.根据权利要求1所述的处理标签绑定的方法,其特征在于,步骤B进一步包括向上游标签交换路由器通告标签绑定。
4.根据权利要求1所述的处理标签绑定的方法,其特征在于,步骤B进一步包括判断是否有与收到的激活标签绑定相对应的游离标签绑定,如果有则根据游离标签绑定建立备用表项,并建立主用表项和备用表项的关联关系。
5.根据权利要求1所述的处理标签绑定的方法,其特征在于,所述根据激活标签绑定建立主用表项,根据游离标签绑定建立备用表项为在表项数据结构中设置用于区分表项为主用表项还是备用表项的标记字段。
6.根据权利要求1或4所述的处理标签绑定的方法,其特征在于,在表项数据结构中设置指针,所述建立主用表项和备用表项的关联关系为令主用表项数据结构中的指针指向备用表项,令备用表项数据结构中的指针依次指向下一个备用表项。
7.根据权利要求1或4所述的处理标签绑定的方法,其特征在于,建立与主用表项一一对应的数组,所述建立主用表项和备用表项的关联关系为将主用表项和备用表项存放于同一个数组中。
8.根据权利要求1所述的处理标签绑定的方法,其特征在于,在标签交换路径LSP发生变化时,该方法进一步包括以下步骤D、判断发生变化的LSP对应的是主用表项还是备用表项,如果是主用表项则执行步骤E,否则执行步骤F;E、令主用表项不可用,并判断是否存在与主用表项关联的备用表项,如果存在则激活备用表项并结束当前处理流程,否则向上游LSR发起标签绑定回收流程后并结束当前处理流程;F、令备用表项不可用。
9.根据权利要求8所述的处理标签绑定的方法,其特征在于,在表项数据结构中设置用于区分表项为主用表项还是备用表项的标记字段,所述判断发生变化的LSP对应的是主用表项还是备用表项为根据发生变化的LSP所对应的表项中的标记字段判断该表项是主用表项还是备用表项。
10.根据权利要求1所述的处理标签绑定的方法,其特征在于,所述令表项不可用为将表项从标签转发表中删除。
11.根据权利要求1所述的处理标签绑定的方法,其特征在于,在表项数据结构中设置用于表示表项是否可用的标记字段,所述令表项不可用为将用于表示表项是否可用的标记字段的值设置为表示表项不可用。
全文摘要
本发明公开了一种处理标签绑定的方法,该方法包括以下步骤A.判断收到的标签绑定是激活标签绑定还是游离标签绑定,如果是激活标签绑定则执行步骤B,否则执行步骤C;B.根据该激活标签绑定在标签转发表里建立主用表项后结束当前处理流程;C.对于存在主用表项的游离标签,根据主用表项的入标签以及该游离标签绑定创建备用表项,并建立主用表项和备用表项的关联关系。采用本发明所提供的技术方案,可以减少LSR在切换标签交换路径时的处理量,同时缩短切换标签交换路径时所需要的时间。
文档编号H04L12/56GK1805411SQ20061000198
公开日2006年7月19日 申请日期2006年1月23日 优先权日2006年1月23日
发明者叶金荣 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1