一种标签栈的压缩方法及装置、标签栈的解压缩方法及装置制造方法及图纸

技术编号:13117208 阅读:69 留言:0更新日期:2016-04-06 08:28
本发明专利技术实施例提供一种标签栈的压缩方法及装置,所述方法包括:网络设备获得转发路径对应的第一标签栈,第一标签栈包括转发路径上的每个节点对应的节点标签;网络设备从第一标签栈中选取第一节点标签,第一节点标签对应的节点在对报文进行转发时,能对报文封装至少两层标签;网络设备将第一标签栈中位于第一节点标签之后的至少两个相邻标签替换为一个第一压缩标签,生成第二标签栈;网络设备指导转发路径上的源节点根据第二标签栈进行报文处理。如此,在转发节点对报文进行转发时,能够缩短压入报文的标签栈长度,进一步减少报文的总长度,有利于报文在网络中传输。相应地,本发明专利技术实施例还提供一种标签栈的解压缩方法及装置。

【技术实现步骤摘要】

本专利技术涉及通信
,具体涉及一种标签栈的压缩方法及装置、标签栈的解压缩方法及装置
技术介绍
为了实现数据包的快速转发,现有技术中存在一种分段路由(英文:SegmentRouting,简称:SR)技术。在进行报文转发之前,由源节点根据转发需求创建源节点与目的节点之间的转发路径(英文:LabelSwitchingPath,简称:LSP),确定出LSP经过的节点、链路以及节点要执行的业务等信息,并以标签栈形式将这些信息添加在待转发的报文中。这样,LSP上的转发节点接收到报文后,即可根据标签栈栈顶的标签表示的含义进行后续处理。例如,栈顶标签为业务分段标识(英文:SegmentIdentification,简称:SID),转发节点就可执行该业务SID代表的业务;栈顶标签为节点SID,转发节点就可将报文转发至该节点SID代表的节点;栈顶标签为链路SID,中间节点就可按照该链路SID的指示进行链路转发,以将报文转发至中间节点的对端节点。由此可知,当转发节点对报文沿着该LSP进行转发时,如果确定出的LSP经过的节点、链路以及节点要执行的业务等信息较多,那么压入到该报文中的标签栈就会嵌套多层标签,导致标签栈的长度过长,大大的增加了被转发的报文长度,不利于报文在网络中传输。
技术实现思路
本专利技术实施例提供的标签栈的压缩方法及装置、标签栈的解压缩方法及装置,在转发节点对报文进行转发时,能够缩短压入报文的标签栈长度,进一步减少报文的总长度,有利于报文在网络中传输。为此,本专利技术实施例提供如下技术方案:第一方面,本专利技术实施例提供了一种标签栈的压缩方法,所述方法包括:网络设备获得转发路径对应的第一标签栈,所述第一标签栈包括所述转发路径上的每个节点对应的节点标签;所述网络设备从所述第一标签栈中选取第一节点标签,所述第一节点标签对应的节点在对报文进行转发时,能对报文封装至少两层标签;所述网络设备将所述第一标签栈中位于所述第一节点标签之后的至少两个相邻标签替换为一个第一压缩标签,生成第二标签栈;所述网络设备指导所述转发路径上的源节点根据所述第二标签栈进行报文处理。在第一方面的第一种可能的实现方式中,所述网络设备从所述第一标签栈中选取第一节点标签,包括:所述网络设备获得节点标签i对应的节点能对报文封装标签的层数Li和所述节点标签i关联的标签个数Mi;所述节点标签i关联的标签为节点标签i+1及所述节点标签i+1之后的标签,1≤i<n,n为所述转发路径上的节点的个数;所述网络设备计算第一差值Δi=Li-Mi;所述网络设备选取所述第一节点标签,所述第一节点标签对应的节点能对报文封装标签的层数不小于2,且所述第一节点标签对应的第一差值不小于0。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,如果所述第一标签栈包括至少两个节点标签对应的节点能对报文封装标签的层数不小于2,且所述至少两个节点标签对应的第一差值不小于0,则,所述第一节点标签关联的标签个数是所述至少两个节点标签关联的标签个数中数值最大的。结合第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,若i=n,则Mn为零,或者Mn为节点标签n之后的标签数。结合第一方面的第一种至第三种中的任一种可能的实现方式,在第四种可能的实现方式中,在所述生成第二标签栈之后,所述方法还包括:所述网络设备获得节点标签j对应的节点能对报文封装标签的层数Lj和所述节点标签j关联的标签个数Mj;所述节点标签j关联的标签为节点标签j+1及所述节点标签j+1之后的标签,1≤j<m,m≤n;所述网络设备计算第二差值Δj=Lj-Mj;所述网络设备选取第二节点标签,所述第二节点标签对应的节点能对报文封装标签的层数不小于2,且所述第二节点标签对应的第二差值不小于0;所述网络设备将所述第二标签栈中位于所述第二节点标签之后的至少两个相邻标签替换为一个第二压缩标签,生成第三标签栈;所述第二节点标签之后的至少两个相邻标签中包括所述第一压缩标签;相应地,所述网络设备指导所述转发路径上的源节点根据所述第二标签栈进行报文处理为:所述网络设备指导所述转发路径上的源节点根据所述第三标签栈进行报文处理。结合第一方面或第一方面的第一种至第四种中的任一种可能的实现方式,在第五种可能的实现方式中,在所述网络设备从所述第一标签栈中选取第一节点标签之前,所述方法还包括:所述网络设备判断所述源节点是否能对报文封装至少两层标签,如果是,再执行从所述第一标签栈中选取第一节点标签的步骤。结合第一方面或第一方面的第一种至第五种中的任一种可能的实现方式,在第六种可能的实现方式中,所述节点标签为节点分段标识SID或链路SID。第二方面,本专利技术实施例提供了一种标签栈的解压缩方法,所述方法包括:转发节点获取本节点的标签配置信息,所述标签配置信息包括压缩标签与被压缩标签的对应关系,所述被压缩标签包括至少两个标签;所述转发节点接收从源节点发送来的报文,所述报文包含第一标签栈,所述第一标签栈包括所述压缩标签;所述转发节点根据所述标签配置信息,将所述第一标签栈中的所述压缩标签替换为所述被压缩标签,生成第二标签栈;所述转发节点根据所述第二标签栈对所述报文进行处理。在第二方面的第一种可能的实现方式中,所述转发节点根据所述第二标签栈对所述报文进行处理,包括:如果所述第二标签栈的栈顶标签为节点标签,所述转发节点将所述报文转发至所述节点标签对应的节点;如果所述第二标签栈的栈顶标签为业务标签,所述转发节点对所述报文执行所述业务标签对应的业务。第三方面,本专利技术实施例提供了一种标签栈的压缩装置,所述装置包括:标签栈获得单元,用于获得转发路径对应的第一标签栈,所述第一标签栈包括所述转发路径上的每个节点对应的节点标签;第一选取单元,用于从所述标签栈获得单元获得的所述第一标签栈中选取第一节点标签,所述第一节点标签对应的节点在对报文进行转发时,能对报文封装至少两层标签;第一替换单元,用于将所述第一标签栈中位于所述第一节点标签之后的至少两个相邻标签替换为一个第一压缩标签,生成第二标签栈;指导单元,用于指导所述转发路径上的源节点根据所述第一替换单元生成的所述第二标签栈进行报文处理。在第三方面的第一种可能的实现方式中,所述第一选取单元包括:第一获得单元,用于获得节点标签i对应的节点能对报文封装标签的层数<本文档来自技高网...

【技术保护点】
一种标签栈的压缩方法,其特征在于,所述方法包括:网络设备获得转发路径对应的第一标签栈,所述第一标签栈包括所述转发路径上的每个节点对应的节点标签;所述网络设备从所述第一标签栈中选取第一节点标签,所述第一节点标签对应的节点在对报文进行转发时,能对报文封装至少两层标签;所述网络设备将所述第一标签栈中位于所述第一节点标签之后的至少两个相邻标签替换为一个第一压缩标签,生成第二标签栈;所述网络设备指导所述转发路径上的源节点根据所述第二标签栈进行报文处理。

【技术特征摘要】
1.一种标签栈的压缩方法,其特征在于,所述方法包括:
网络设备获得转发路径对应的第一标签栈,所述第一标签栈包括所述转发
路径上的每个节点对应的节点标签;
所述网络设备从所述第一标签栈中选取第一节点标签,所述第一节点标签
对应的节点在对报文进行转发时,能对报文封装至少两层标签;
所述网络设备将所述第一标签栈中位于所述第一节点标签之后的至少两
个相邻标签替换为一个第一压缩标签,生成第二标签栈;
所述网络设备指导所述转发路径上的源节点根据所述第二标签栈进行报
文处理。
2.根据权利要求1所述的方法,其特征在于,所述网络设备从所述第一
标签栈中选取第一节点标签,包括:
所述网络设备获得节点标签i对应的节点能对报文封装标签的层数Li和所
述节点标签i关联的标签个数Mi;所述节点标签i关联的标签为节点标签i+1
及所述节点标签i+1之后的标签,1≤i<n,n为所述转发路径上的节点的个数;
所述网络设备计算第一差值Δi=Li-Mi;
所述网络设备选取所述第一节点标签,所述第一节点标签对应的节点能对
报文封装标签的层数不小于2,且所述第一节点标签对应的第一差值不小于0。
3.根据权利要求2所述的方法,其特征在于,如果所述第一标签栈包括
至少两个节点标签对应的节点能对报文封装标签的层数不小于2,且所述至少
两个节点标签对应的第一差值不小于0,则,
所述第一节点标签关联的标签个数是所述至少两个节点标签关联的标签
个数中数值最大的。
4.根据权利要求2或3所述的方法,其特征在于,若i=n,则Mn为零,
或者Mn为节点标签n之后的标签数。
5.根据权利要求2~4任一项所述的方法,其特征在于,在所述生成第二
标签栈之后,所述方法还包括:
所述网络设备获得节点标签j对应的节点能对报文封装标签的层数Lj和所
述节点标签j关联的标签个数Mj;所述节点标签j关联的标签为节点标签j+1

\t及所述节点标签j+1之后的标签,1≤j<m,m≤n;
所述网络设备计算第二差值Δj=Lj-Mj;
所述网络设备选取第二节点标签,所述第二节点标签对应的节点能对报文
封装标签的层数不小于2,且所述第二节点标签对应的第二差值不小于0;
所述网络设备将所述第二标签栈中位于所述第二节点标签之后的至少两
个相邻标签替换为一个第二压缩标签,生成第三标签栈;所述第二节点标签之
后的至少两个相邻标签中包括所述第一压缩标签;
相应地,所述网络设备指导所述转发路径上的源节点根据所述第二标签栈
进行报文处理为:
所述网络设备指导所述转发路径上的源节点根据所述第三标签栈进行报
文处理。
6.根据权利要求1~5任一项所述的方法,其特征在于,在所述网络设备
从所述第一标签栈中选取第一节点标签之前,所述方法还包括:
所述网络设备判断所述源节点是否能对报文封装至少两层标签,如果是,
再执行从所述第一标签栈中选取第一节点标签的步骤。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述节点标签为
节点分段标识SID或链路SID。
8.一种标签栈的解压缩方法,其特征在于,所述方法包括:
转发节点获取本节点的标签配置信息,所述标签配置信息包括压缩标签与
被压缩标签的对应关系,所述被压缩标签包括至少两个标签;
所述转发节点接收从源节点发送来的报文,所述报文包含第一标签栈,所
述第一标签栈包括所述压缩标签;
所述转发节点根据所述标签配置信息,将所述第一标签栈中的所述压缩标
签替换为所述被压缩标签,生成第二标签栈;
所述转发节点根据所述第二标签栈对所述报文进行处理。
9.根据权利要求8所述的方法,其特征在于,所述转发节点根据所述第
二标签栈对所述报文进行处理,包括:
如果所述第二标签栈的栈顶标签为节点标签,...

【专利技术属性】
技术研发人员:林雪峰刘恩慧陈国义
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1