报文转发方法、装置、隧道创建方法、装置及网络设备制造方法及图纸

技术编号:25553532 阅读:34 留言:0更新日期:2020-09-08 18:54
本发明专利技术涉及一种报文转发方法、装置、隧道创建方法、装置及网络设备,点到多点公网隧道所包括的节点通过获取组播虚拟专用网络MVPN的组播数据报文及与自身对应的分支标签栈;根据所述与自身对应的分支标签栈,确定用于对所述组播数据报文的转发进行控制的控制标签栈;将所述控制标签栈的最外层标签弹出后所剩余的标签栈确定为与下一跳节点对应的分支标签栈;根据所述控制标签栈的最外层标签,将所述组播数据报文及所述与下一跳节点对应的分支标签栈转发至所述下一跳节点。通过该方案,可以简化网络控制平面,灵活简便地实现公网路径的控制和调整,降低后期维护的成本。

【技术实现步骤摘要】
报文转发方法、装置、隧道创建方法、装置及网络设备
本申请属于通信领域,具体涉及一种报文转发方法、装置、隧道创建方法、装置及网络设备。
技术介绍
下一代组播虚拟专用网络(NextGenerationMulticastVPN,简称NG-MVPN)是IP组播数据穿越边界网关协议(BorderGatewayProtocol,简称:BGP)或多协议标签交换(Multi-ProtocolLabelSwitching,简称:MPLS)网络的组播协议。在现有的NG-MVPN解决方案中,使用BGP传递私网组播协议报文和私网组播路由,使用RSVP-TE(基于资源预留协议的流量工程)或者mLDP(组播标签转发协议)建立点到多点(Point-to-MultiPoint,简称P2MP)公网MPLS隧道。然而,使用mLDP及RSVP-TE时,不仅需要多配置一个协议,而且需要与IGP(InteriorGatewayProtocol,内部网关协议)之间进行复杂的协议交互,导致公网隧道的建立过程以及后期的维护较为复杂,同时也增加报文转发的复杂度。
技术实现思路
有鉴于此,本申请的目的在于提供一种报文转发方法、装置、隧道创建方法、装置及网络设备,使用MPLSSR-TE(MultiprotocolLabelSwitchingSegmentRoutingTrafficEngineering,基于多协议标签交换的分段路由流量工程)技术作为NG-MVPN的公网隧道,简化MPLS控制平面,简化报文的转发流程,灵活简便地实现公网路径的控制和调整,降低后期维护的成本。本申请的实施例是这样实现的:第一方面,本申请实施例提供一种报文转发方法,应用于点到多点P2MP公网隧道所包括的节点,所述P2MP公网隧道基于MPLSSR-TE作为控制信令而创建,所述方法包括:获取组播虚拟专用网络MVPN的组播数据报文及与自身对应的分支标签栈;根据所述与自身对应的分支标签栈,确定用于对所述组播数据报文进行转发控制的控制标签栈;将所述控制标签栈的最外层标签弹出后所剩余的标签栈确定为与下一跳节点对应的分支标签栈;根据所述控制标签栈的最外层标签,将所述组播数据报文及所述与下一跳节点对应的分支标签栈转发至所述下一跳节点;其中,当所述节点为根节点时,所述与自身对应的分支标签栈为所述根节点在所述公网隧道在被创建时根据所述公网隧道的网络拓扑建立的公网隧道的标签栈。在此过程中,通过使用MPLSSR-TE点到多点隧道作为公网隧道转发数据流量隧道,通过SR技术对段路由或网络节点进行有序编码排序,以获得转发路径,无须使用控制面复杂的P2MPTE隧道或者mLDP隧道,只需要在各个分支链路的头节点中把报文的转发路径设置好即可实现转发,可以简化MPLS控制平面,简化报文的转发流程,灵活简便地实现公网路径的控制和调整,降低后期维护的成本。结合第一方面实施例,在一种可能的实施方式中,所述根据所述与自身对应的分支标签栈,确定用于对所述组播数据报文进行转发控制的控制标签栈,包括:判断所述与自身对应的分支标签栈的最外层标签是否为分段路由SR组播标签;在为否时,将所述与自身对应的述分支标签栈确定为所述控制标签栈;在为是时,根据所述SR组播标签,从所述与自身对应的分支标签栈中确定出所述控制标签栈。结合第一方面实施例,在一种可能的实施方式中,每个SR组播标签包括标签个数字段,用于表征该SR组播标签所对应的分支链路中所包含的标签个数;所述根据所述SR组播标签,从所述与自身对应的分支标签栈中确定出所述控制标签栈,包括:获取所述与自身对应的分支标签栈中与最外层的SR组播标签连续的SR组播标签的个数n,n为整数,其中,有几个连续的SR组播标签表征自身存在几个分支链路;设置自身对所述组播数据报文的转发次数i,i为不大于n的正整数;针对i所对应的每个取值,执行如下步骤:读取所述与自身对应的分支标签栈中第i个SR组播标签的标签个数字段的值j,j为整数;根据i与1之间的大小关系,确定所述与自身对应的分支标签栈中第一个SR组播标签到第i-1个SR组播标签的标签个数字段所代表的值的累加和j’;根据n、j及j’计算与自身对应的第i条分支链路在所述与自身对应的分支标签栈中的标签起始偏移值及标签终止偏移值;将所述与自身对应的分支标签栈中,从与所述标签起始偏移值对应的标签到与所述标签终止偏移值对应的标签之间的标签确定为所述控制标签栈。结合第一方面实施例,在一种可能的实施方式中,所述根据i与1之间的大小关系,确定所述与自身对应的分支标签栈中第一个SR组播标签到第i-1个SR组播标签的标签个数字段所代表的值的累加和j’,包括:在i>1时,确定j’的值为所述与自身对应的分支标签栈中第一个SR组播标签到第i-1个SR组播标签的标签个数字段所代表的值的累加和;否则,确定j’=0。结合第一方面实施例,在一种可能的实施方式中,所述根据n、j及j’计算与自身对应的第i条分支链路在所述与自身对应的分支标签栈中的标签起始偏移值及标签终止偏移值,包括:基于公式start_offset=n+1+j’计算所述标签起始偏移值;基于公式end_offset=n+j’+j计算所述标签终止偏移值;其中,start_offset为所述标签起始偏移值,end_offset为所述标签终止偏移值。结合第一方面实施例,在一种可能的实施方式中,所述控制标签栈的最外层标签包括标签值,所述根据所述控制标签栈的最外层标签,将所述组播数据报文及所述与下一跳节点对应的分支标签栈转发至下一跳节点,包括:根据所述标签值匹配预先建立的多协议标签交换MPLS转发表,并根据匹配结果确定所述下一跳节点。第二方面,本申请实施例提供一种报文转发装置,应用于P2MP公网隧道所包括的节点,所述P2MP公网隧道基于MPLSSR-TE作为控制信令而创建,所述装置包括:获取模块、确定模块及转发模块。获取模块,用于获取组播虚拟专用网络MVPN的组播数据报文及与自身对应的分支标签栈;确定模块,用于根据所述与自身对应的分支标签栈,确定用于对所述组播数据报文进行转发控制的控制标签栈;所述确定模块,还用于将所述控制标签栈的最外层标签弹出后所剩余的标签栈确定为与下一跳节点对应的分支标签栈;转发模块,用于根据所述控制标签栈的最外层标签,将所述组播数据报文及所述与下一跳节点对应的分支标签栈转发至所述下一跳节点;其中,当所述节点为根节点时,所述与自身对应的分支标签栈为所述根节点在所述公网隧道在被创建时根据所述公网隧道的网络拓扑建立的公网隧道的标签栈。结合第二方面实施例,在一种可能的实施方式中,所述确定模块,用于判断所述与自身对应的分支标签栈的最外层标签是否为SR组播标签;在为否时,将所述与自身对应的述分支标签栈确定为所述控制标签栈;在为是时,根据所述SR组播标签,从所述与自身对应的分支标签栈中确定出所述控制标签栈。结合第二方面实施例,在一种可能的实施方式中,每个SR组播标签包括标签个数字段,用于表征该SR组播标签所对应的分支链路中所包含的标签个数;所述确定模块,用于获本文档来自技高网...

【技术保护点】
1.一种报文转发方法,其特征在于,应用于点到多点P2MP公网隧道所包括的节点,所述P2MP公网隧道基于MPLS SR-TE作为控制信令而创建,所述方法包括:/n获取组播虚拟专用网络MVPN的组播数据报文及与自身对应的分支标签栈;/n根据所述与自身对应的分支标签栈,确定用于对所述组播数据报文进行转发控制的控制标签栈;/n将所述控制标签栈的最外层标签弹出后所剩余的标签栈确定为与下一跳节点对应的分支标签栈;/n根据所述控制标签栈的最外层标签,将所述组播数据报文及所述与下一跳节点对应的分支标签栈转发至所述下一跳节点;/n其中,当所述节点为根节点时,所述与自身对应的分支标签栈为所述根节点在所述公网隧道在被创建时根据所述公网隧道的网络拓扑建立的公网隧道的标签栈。/n

【技术特征摘要】
1.一种报文转发方法,其特征在于,应用于点到多点P2MP公网隧道所包括的节点,所述P2MP公网隧道基于MPLSSR-TE作为控制信令而创建,所述方法包括:
获取组播虚拟专用网络MVPN的组播数据报文及与自身对应的分支标签栈;
根据所述与自身对应的分支标签栈,确定用于对所述组播数据报文进行转发控制的控制标签栈;
将所述控制标签栈的最外层标签弹出后所剩余的标签栈确定为与下一跳节点对应的分支标签栈;
根据所述控制标签栈的最外层标签,将所述组播数据报文及所述与下一跳节点对应的分支标签栈转发至所述下一跳节点;
其中,当所述节点为根节点时,所述与自身对应的分支标签栈为所述根节点在所述公网隧道在被创建时根据所述公网隧道的网络拓扑建立的公网隧道的标签栈。


2.根据权利要求1所述的方法,其特征在于,所述根据所述与自身对应的分支标签栈,确定用于对所述组播数据报文进行转发控制的控制标签栈,包括:
判断所述与自身对应的分支标签栈的最外层标签是否为分段路由SR组播标签;
在为否时,将所述与自身对应的述分支标签栈确定为所述控制标签栈;
在为是时,根据所述SR组播标签,从所述与自身对应的分支标签栈中确定出所述控制标签栈。


3.根据权利要求2所述的方法,其特征在于,每个SR组播标签包括标签个数字段,用于表征该SR组播标签所对应的分支链路中所包含的标签个数;所述根据所述SR组播标签,从所述与自身对应的分支标签栈中确定出所述控制标签栈,包括:
获取所述与自身对应的分支标签栈中与最外层的SR组播标签连续的SR组播标签的个数n,n为整数,其中,有几个连续的SR组播标签表征自身存在几个分支链路;
设置自身对所述组播数据报文的转发次数i,i为不大于n的正整数;
针对i所对应的每个取值,执行如下步骤:
读取所述与自身对应的分支标签栈中第i个SR组播标签的标签个数字段的值j,j为整数;
根据i与1之间的大小关系,确定所述与自身对应的分支标签栈中第一个SR组播标签到第i-1个SR组播标签的标签个数字段所代表的值的累加和j’;
根据n、j及j’计算与自身对应的第i条分支链路在所述与自身对应的分支标签栈中的标签起始偏移值及标签终止偏移值;
将所述与自身对应的分支标签栈中,从与所述标签起始偏移值对应的标签到与所述标签终止偏移值对应的标签之间的标签确定为所述控制标签栈。


4.根据权利要求3所述的方法,其特征在于,所述根据i与1之间的大小关系,确定所述与自身对应的分支标签栈中第一个SR组播标签到第i-1个SR组播标签的标签个数字段所代表的值的累加和j’,包括:
在i>1时,确定j’的值为所述与自身对应的分支标签栈中第一个SR组播标签到第i-1个SR组播标签的标签个数字段所代表的值的累加和;
否则,确定j’=0。


5.根据权利要求3所述的方法,其特征在于,所述根据n、j及j’计算与自身对应的第i条分支链路在所述与自身对应的分支标签栈中的标签起始偏移值及标签终止偏移值,包括:
基于公式start_offset=n+1+j’计算所述标签起始偏移值;
基于公式end_offset=n+j’+j计算所述标签终止偏移值;
其中,start_offset为所述标签起始偏移值,end_offset为所述标签终止偏移值。


6.根据权利要求1所述的方法,其特征在于,所述控制标签栈的最外层标签包括标签值,所述根据所述控制标签栈的最外层标签,将所述组播数据报文及...

【专利技术属性】
技术研发人员:秦川王函
申请(专利权)人:迈普通信技术股份有限公司
类型:发明
国别省市:四川;51

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

1