标签构造以及标签报文转发方法及装置的制造方法

文档序号:10515377阅读:469来源:国知局
标签构造以及标签报文转发方法及装置的制造方法
【专利摘要】本发明提供了一种标签构造以及标签报文转发方法及装置,其中,该方法包括:节点接收消息,其中,该消息中携带有段列表和用于标识段列表的段列表标识;上述节点根据段列表和段列表标识构建标签转发表,并根据标签转发表进行转发;和/或,上述节点维护段列表和段列表标识的映射关系,过本发明,解决了相关技术中存在的转发面硬件需要升级支持更深的标签栈处理能力的问题以及载荷效率问题与MTU问题,进而达到了降低转发面硬件的标签栈处理能力要求,有效解决载荷效率问题与MTU问题的效果。
【专利说明】
标签构造以及标签报文转发方法及装置
技术领域
[0001]本发明涉及通信领域,具体而言,涉及一种标签构造以及标签报文转发方法及装置。
【背景技术】
[0002]一个典型的业务承载网络可以包括用户边缘(Customer Edge,简称为CE)路由器、运营商边缘(Provider Edge,简称为PE)路由器、营运商骨干路由器以及路由反射器(Route Reflecter,简称为RR)。通常采用开放式最短路径优先(Open Shortest PathFirst,简称为0SPF)协议/中间系统到中间系统的路由选择协议(Intermediate Systemto Intermediate System Routing Protocol,简称为 IS-1S)作为内部网关协议(Inter1rGateway Protocol,简称为IGP),采用BGP-4多协议扩展边界网关协议(MP-BGP,其中BGP为边界网关协议)传递虚拟专用网络(Virtual Private Network,简称为VPN)信息,采用标签分发协议(Label Distribut1n Protocol,简称为LDP)分发标签以及采用基于流量工程扩展的资源预留协议(Resource Reservat1n Protocol-Traffic Engineering,简称为RSVP-TE)为特定应用或目的地业务部署流量工程和带宽预留。但是,典型的业务承载网络部署存在如下几个问题:路由协议种类多,部署复杂;由于基于目的地址的转发机制,因此不能基于每个源端的需求进行数据报文的转发;源端在满足特定应用的带宽和延时需求时,不能根据网络情况动态地部署,在网络中某一条链路拥塞时,不能自动调整转发路径;资源预留协议(Resource Reservat1n Protocol,简称为RSVP)能够实现带宽预留,但是,实际部署一般采用静态配置而部署动态方式,另外,如果要实现完善的带宽保障,需要部署全互连(full-mesh)的RSVP-TE,资源消耗大。RSVP技术虽然已经成熟,但是实际部署的比例非常低等。
[0003]基于上述问题,IETF提出段路由(Segment Routing,简称为SR)技术,SR是一种基于源地址进行路由的方法,通过在数据报文外叠加一层影响现有最短路径转发的SR信息,数据报文根据这些指定路径节点信息进行最短路径转发。SR信息主要是由该节点的段路由全局标签块(SR Global Block,简称为SRGB)和偏移量(index)两部组成,每个节点的index是唯一的,SRGB范围内再按照index值进行偏移,就能够标识该节点。通过SR指定路径转发功能,可以便捷地实现网络的负载均衡和流程工程,以及快速重路由等复杂网络功能。
[0004]也就是在数据面,由源节点通过段列表segment list引导报文转发,对于多协议标签交换(Mult1-Protocol Label Switching,简称为 MPLS)转发面,就是将 segment list转换成传统的标签栈,插入到源节点发出的报文头中。
[0005]然而,由于段segment信息可以支持很长,这意味着需要转换成很深的标签栈。带来两个冋题:
[0006]1.转发面硬件需要升级支持更深的标签栈处理能力。
[0007]2.载荷效率问题与最大传输单元(Maximum Transmiss1n Unit,简称为MTU)问题。
[0008]针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。

【发明内容】

[0009]本发明提供了一种标签构造以及标签报文转发方法及装置,以至少解决相关技术中存在的转发面硬件需要升级支持更深的标签栈处理能力的问题以及载荷效率问题与MTU问题。
[0010]根据本发明的一个方面,提供了一种标签构造以及标签报文转发方法,包括:节点接收消息,其中,所述消息中携带有段列表和用于标识所述段列表的段列表标识;所述节点根据所述段列表和所述段列表标识构建标签转发表,并根据所述标签转发表进行转发;和/或,所述节点维护所述段列表和所述段列表标识的映射关系。
[0011]进一步地,所述消息是入口节点在接收到控制器发送的所述段列表和所述段列表标识之后发送的,和/或,所述消息是所述控制器发送的。
[0012]进一步地,所述节点接收所述控制器通过南向接口协议发送的所述消息;和/或,所述节点接收所述入口节点通过扩展的内部网关协议IGP发送的所述消息。
[0013]进一步地,所述南向接口协议包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议OPENFLOW或者网络配置协议Netconf。
[0014]进一步地,所述方法还包括:所述节点接收控制器或者入口节点发送的撤销消息,其中,所述撤销消息用于指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,用于指示所述节点删除所述标签转发表。
[0015]进一步地,在所述节点为所述段列表中的最后一个节点的情况下,并且,所述节点的前一个节点不在转发报文中携带内层标签的情况下,所述节点不构造标签转发表中的标签表项;其中,所述内层标签是根据所述节点的下一个节点的全局标签块SRGB和所述段列表标识构造的。
[0016]进一步地,所述段列表标识是标签Label、或者索引index,其中,所述全局标签是在SR域内所有节点的全局标签块SRGB都相同情况下的索引index偏移。
[0017]进一步地,在所述段列表标识是索引的情况下,在所述节点为非最后一个节点的情况下,所述节点根据本节点的段路由全局标签块SRGB和所述段列表标识构造入标签,并且,构造出标签栈,所述出标签栈包括以下至少之一:内层标签、一个或多个外层标签;其中,所述内层标签是根据所述节点的下一个节点的全局标签块SRGB和所述段列表标识构造的,所述一个或多个外层标签包括以下至少之一:剩余节点对应的节点标识所对应的标签,所述节点的下一个节点对应的节点标识所对应的标签。
[0018]进一步地,在指示标志位指示需要根据指定的可读标签深度来封装出标签的情况下,所述节点根据指定的可读标签深度构造包括一个或多个所述外层标签的所述出标签栈。
[0019]进一步地,在所述段列表标识是索引的情况下,所述节点为入口节点的情况下,在指示标志位指示需要根据指定的可读标签深度来封装出标签的情况下,所述入口节点构造出标签栈,所述出标签栈包括以下至少之一:内层标签、外层标签;其中,所述内层标签是根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点的段路由全局标签块SRGB和所述段列表标识构造的;一个或多个所述外层标签从外至内依次如下:所述段列表中的第一个节点所对应的标签,是根据入口节点至段列表中的第一个节点最短路径表示的直连下一跳确定;所述段列表中的第二个至第m个节点对应的标签,是根据段列表中的该节点的前一个节点确定的;所述第m个节点是根据指定的可读标签栈深度辖定的范围所能封装的段列表中的最远一个节点确定。
[0020]进一步地,所述的根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点是段列表中的最后一个节点,所述出标签栈中不包括所述内层标签。
[0021]进一步地,在所述段列表标识是索引,所述节点为入口节点情况下,在指示标志位指示不需要根据指定的可读标签深度来封装出标签的情况下,所述入口节点构造出标签栈,所述出标签栈包括以下至少之一:内层标签、外层标签;其中,所述内层标签根据段列表中的除入口节点之外第一个节点的全局标签块SRGB和所述段列表标识构造的;所述外层标签是根据入口节点至段列表中除入口节点之外的第一个节点的最短路径表示的直连下一跳确定的。
[0022]进一步地,在所述段列表除入口节点之外的第一个节点也是段列表中的最后一个节点的情况下,所述标签栈中不包括所述内层标签。
[0023]进一步地,在所述段列表标识是索引的情况下,所述节点为除入口节点之外的段列表中的其他节点:在指示标志位指示不需要根据指定的可读标签深度来封装出标签的情况下,所述节点构造的出标签栈包括以下至少之一:内层标签、一个外层标签;其中,所述内层标签根据所述节点的下一个节点的全局标签块SRGB和所述段列表标识构造的;所述外层标签根据所述节点至所述节点的下个节点的最短路径表示的直连下一跳的全局标签块SRGB和所述下一个节点的标识构造的。
[0024]进一步地,在所述段列表标识是索引的情况下,所述节点为除入口节点之外的段列表中的其他节点,在指示标志位指示需要根据指定的可读标签深度来封装出标签的情况下,所述节点i构造出标签栈,所述出标签栈包括以下至少之一:内层标签、外层标签;其中,所述内层标签根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点m的段路由全局标签块SRGB和所述段列表标识构造的;一个或多个所述外层标签从外至内:所述节点i的下一个节点i+Ι所对应的标签,是根据所述节点i至所述节点的下一个节点i+Ι的最短路径表示的直连下一跳确定;所述段列表中的节点i+2至节点m对应的标签,是根据段列表中的该节点的前一个节点确定的;所述节点i是指除入口节点之外的段列表中的其他节点;所述节点m是根据指定的可读标签栈深度辖定的范围所能封装的段列表中的最远一个节点确定。
[0025]进一步地,所述的根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点是段列表中的最后一个节点,所述出标签栈中不包括所述内层标签。
[0026]进一步地,所述指定的可读标签深度大于等于2,所述节点在封装报文的标签栈时不大于所述指定的可读标签深度。
[0027]进一步地,所述指定的可读标签深度是通过显示配置的,或者是通过学习得到的全网的最小值。
[0028]进一步地,所述节点和所述下一节点之间的节点包括以下至少之一:SR节点和/或非SR节点;和/或,所述节点和所述下一节点之间的隧道包括以下之一:标签分发协议标签交换路径LDP LSP、基于流量工程扩展的资源预留协议标签交换路径RSVP-TE LSP、边界网关协议标签交换路径BGP LSP、段路由标签交换路径SR LSP0
[0029]进一步地,在所述段列表中只包括一个节点的情况下,所述段列表标识为所述节点的节点标识。
[0030]根据本发明的另一方面,提供了一种标签构造以及标签报文转发方法,包括:控制器将消息发送给节点,其中,所述消息中携带有段列表和用于标识所述段列表的段列表标识,所述段列表和所述段列表标识用于指示所述节点构建标签转发表并根据所述标签转发表进行转发;和/或,所述段列表和所述段列表标识用于指示所述节点维护所述段列表和所述段列表标识的映射关系。
[0031]进一步地,所述控制器将所述消息发送给所述节点包括:所述控制器通过南向接口协议将所述消息发送给所述节点。
[0032]进一步地,所述南向接口协议包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议OPENFLOW或者网络配置协议Netconf。
[0033]进一步地,在所述控制器将所述消息发送给所述节点之后,还包括:所述控制器通过所述南向接口协议将撤销消息发送给所述节点,其中,所述撤销消息用于指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,用于指示所述节点删除所述标签转发表。
[0034]根据本发明的另一方面,还提供了一种标签构造以及标签报文转发方法,包括:入口节点接收控制器发送的消息,其中,所述消息中携带有段列表和用于标识所述段列表的段列表标识;入口节点将所述消息发送给节点,其中,所述消息用于指示所述节点构建标签转发表,并根据所述标签转发表进行转发;和/或,所述消息用于指示所述节点维护所述段列表和所述段列表标识的映射关系。
[0035]进一步地,所述入口节点将所述消息发送给所述节点包括:所述入口节点通过向所述节点发送扩展的内部网关协议IGP消息的方式将所述消息发送给所述节点。
[0036]进一步地,在所述入口节点将所述消息发送给所述节点之后,还包括:所述入口节点接收所述控制器通过南向接口协议发送的撤销消息,其中,所述撤销消息用于指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,用于指示所述节点删除所述标签转发表;所述入口节点接收所述撤销消息后,通过向所述节点发送扩展的内部网关协议IGP消息来指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,指示所述节点删除所述标签转发表。
[0037]进一步地,所述南向接口协议包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议OPENFLOW或者网络配置协议Netconf。
[0038]进一步地,所述入口节点将接收的所述撤销消息发送给所述节点包括:所述入口节点通过向所述节点发送扩展的内部网关协议IGP消息的方式将所述消息发送给所述节点。
[0039]根据本发明的一个方面,提供了一种标签构造以及标签报文转发装置,该装置应用于节点中,包括:第一接收模块,用于接收消息,其中,所述消息中携带有段列表和用于标识所述段列表的段列表标识;构建模块,用于根据所述段列表和所述段列表标识构建标签转发表,并根据所述标签转发表进行转发;和/或,用于维护所述段列表和所述段列表标识的映射关系。
[0040]进一步地,第二接收模块,用于接收控制器或者入口节点发送的撤销消息,其中,所述撤销消息用于指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,用于指示所述节点删除所述标签转发表。
[0041]根据本发明的另一方面,还提供了一种标签构造以及标签报文转发装置,该装置应用于控制器中,包括:第一发送模块,用于将消息发送给节点,其中,所述消息中携带有段列表和用于标识所述段列表的段列表标识,所述段列表和所述段列表标识用于指示所述节点构建标签转发表并根据所述标签转发表进行转发;和/或,所述段列表和所述段列表标识用于指示所述节点维护所述段列表和所述段列表标识的映射关系。
[0042]进一步地该装置还包括:第二发送模块,用于通过南向接口协议将撤销消息发送给所述节点,其中,所述撤销消息用于指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,用于指示所述节点删除所述标签转发表。
[0043]进一步地,所述南向接口协议包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议0PENFL0W或者网络配置协议Netconf。
[0044]根据本发明的另一方面,还提供了一种标签构造以及标签报文转发装置,该装置应用于入口节点中,包括:第三接收模块,用于接收控制器发送的消息,其中,所述消息中携带有段列表和用于标识所述段列表的段列表标识;第三发送模块,用于将所述消息发送给节点,其中,所述消息用于指示所述节点构建标签转发表,并根据所述标签转发表进行转发;和/或,所述消息用于指示所述节点维护所述段列表和所述段列表标识的映射关系。
[0045]进一步地,该装置还包括:第四接收模块,用于接收所述控制器通过南向接口协议发送的撤销消息,其中,所述撤销消息用于指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,用于指示所述节点删除所述标签转发表;第四发送模块,用于在接收所述撤销消息后,通过向所述节点发送扩展的内部网关协议IGP消息来指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,指示所述节点删除所述标签转发表。
[0046]进一步地,南向接口协议包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议0PENFL0W或者网络配置协议Netconf。
[0047]通过本发明,采用节点接收消息,其中,所述消息中携带有所述段列表和用于标识所述段列表的段列表标识;所述节点根据所述段列表和所述段列表标识构建标签转发表,并根据所述标签转发表进行转发;和/或,所述节点维护所述段列表和所述段列表标识的映射关系,解决了相关技术中存在的转发面硬件需要升级支持更深的标签栈处理能力的问题以及载荷效率问题与MTU问题,进而达到了降低转发面硬件的标签栈处理能力要求,有效解决载荷效率问题与MTU问题的效果。
【附图说明】
[0048]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0049]图1是根据本发明实施例的第一种标签构造以及标签报文转发方法的流程图;
[0050]图2是根据本发明实施例的第二种标签构造以及标签报文转发方法的流程图;
[0051]图3是根据本发明实施例的第三种标签构造以及标签报文转发方法的流程图;
[0052]图4是根据本发明实施例的第一种标签构造以及标签报文转发装置的结构框图;
[0053]图5是根据本发明实施例的第一种标签构造以及标签报文转发装置的第一种优选结构框图;
[0054]图6是根据本发明实施例的第二种标签构造以及标签报文转发装置;
[0055]图7是根据本发明实施例的第二种标签构造以及标签报文转发装置的第一种优选结构框图;
[0056]图8是根据本发明实施例的第三种标签构造以及标签报文转发装置;
[0057]图9是根据本发明实施例的第三种标签构造以及标签报文转发装置的第一种优选结构框图;
[0058]图10为根据本发明实施例一的SR网络中的显式路由的架构图;
[0059]图11是根据本发明实施例一的SR网络中的显式路由的流程图;
[0060]图12是根据本发明实施例一的Rl节点上构造的标签表转发表;
[0061]图13是根据本发明实施例一的R2节点上构造的标签表转发表;
[0062]图14是根据本发明实施例一的R3节点上构造的标签表转发表;
[0063]图15是根据本发明实施例一的控制器下发给ingress节点RO的携带SR报文头的数据报文格式的示意图;
[0064]图16是根据本发明实施一例的Al节点转发给下一节点的携带SR报文头的数据报文格式的示意图;
[0065]图17是根据本发明实施例一的Rl节点转发给下一节点的携带SR报文头的数据报文格式的示意图;
[0066]图18是根据本发明实施例一的A2节点转发给下一节点的携带SR报文头的数据报文格式的示意图;
[0067]图19是根据本发明实施例一的R2节点转发给下一节点的携带SR报文头的数据报文格式的示意图;
[0068]图20是根据本发明实施例一的A3节点转发给下一节点的携带SR报文头的数据报文格式的示意图;
[0069]图21是根据本发明实施例二的SR网络中的显式路由的流程图;
[0070]图22是根据本发明实施例三的SR网络中的显式路由的流程图;
[0071]图23是根据本发明实施例四的SR网络中的显式路由的流程图;
[0072]图24是根据本发明实施例五的SR网络中的显式路由的流程图。
【具体实施方式】
[0073]下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0074]在本实施例中提供了一种标签构造以及标签报文转发方法,图1是根据本发明实施例的第一种标签构造以及标签报文转发方法的流程图,如图1所示,该流程包括如下步骤:
[0075]步骤S102,节点接收消息,其中,该消息中携带有段列表和用于标识段列表的段列表标识;
[0076]步骤S104,上述节点根据段列表和段列表标识构建标签转发表,并根据标签转发表进行转发;和/或,上述节点维护段列表和段列表标识的映射关系。
[0077]通过上述步骤,通过根据段列表和段列表标识构建标签转发表,可以有效降低节点构建的标签的深度,从而降低转发面硬件的标签栈处理能力的要求,进而解决了相关技术中存在的转发面硬件需要升级支持更深的标签栈处理能力的问题以及载荷效率问题与MTU问题,进而达到了降低转发面硬件的标签栈处理能力要求,有效解决载荷效率问题与MTU问题的效果。
[0078]上述消息可以是入口节点在接收到控制器发送的段列表和段列表标识之后发送的,也可以是直接由控制器发送的,在一个可选的实施例中,节点可以从控制器接收上述消息;和/或,节点从入口节点接收上述消息,其中,该消息是入口节点在接收到控制器发送的段列表和段列表标识之后发送的,即,入口节点先接收控制器发送的段列表和段列表标识,然后将接收到的段列表和段列表标识发送给节点。
[0079]在节点接收控制器发送的消息时,节点可以接收控制器通过南向接口协议发送的上述消息;和/或,在节点从入口节点接收上述消息时,该节点可以接收入口节点通过扩展的内部网关协议IGP消息发送的上述消息。
[0080]上述的南向接口协议可以包括:边界网关协议-链路状态路由协议BGP-LS或者路径计算单元通信协议PCEP、开放流协议0PENFL0W或者网络配置协议Netconf。
[0081]在一个可选的实施例中,在节点接收上述消息之后,还可以接收控制器或者入口节点发送的撤销消息,其中,该撤销消息用于指示节点删除段列表及段列表标识之间的映射关系,和/或,用于指示节点删除标签转发表。
[0082]在节点根据段列表和段列表标识构建标签转发表时,可以有多种构建方式,在一个可选的实施例中,在上述节点为段列表中的最后一个节点的情况下,并且,该节点的前一个节点不在转发报文中携带内层标签的情况下,节点不构造标签转发表中的标签表项;其中,该内层标签是根据节点的下一个节点的全局标签块SRGB和段列表标识构造的。
[0083]上述的段列表标识的类型可以为多种,在一个可选的实施例中,上述的段列表标识可以是标签Lable,或者是索引index,其中,该全局标签是在SR域内所有节点的全局标签块SRGB都相同情况下的索引index偏移。
[0084]在上述段列表标识为索引index的情况下,可以采用如下方式构造标签转发表:在一个可选的实施例中,在节点为非最后一个节点的情况下,该节点可以根据本节点的段路由全局标签块SRGB和段列表标识构造入标签,并且,构造出标签栈,该出标签栈可以包括以下至少之一:内层标签、一个或多个外层标签;其中,该内层标签是根据节点的下一个节点的全局标签块SRGB和段列表标识构造的,上述的一个或多个外层标签可以包括以下至少之一:剩余节点对应的节点标识所对应的标签,节点的下一个节点对应的节点标识所对应的标签。
[0085]在指示标志位指示需要根据指定的可读标签深度来封装出标签的情况下,节点根据指定的可读标签深度构造包括一个或多个外层标签的出标签栈。
[0086]在上述段列表标识为索引index的情况下,还可以采用如下方式构造标签转发表:在另一个可选的实施例中,在节点为入口节点时,在指示标志位指示需要根据指定的可读标签深度来封装出标签的情况下,入口节点构造出标签栈,该出标签栈包括以下至少之一,内层标签、外层标签,其中,该内层标识是根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点的段路由全局标签块SRGB和段列表标识构造的;一个或多个外层标签从外至内依次如下:段列表中的第一个节点所对应的标签,是根据入口节点至段列表中的第一个节点最短路径表示的直连下一跳确定;段列表中的第二个节点至第m个节点对应的标签,是根据段列表中的该节点的前一个节点确定;该第m个节点是根据指定的可读标签栈深辖定的范围所能封装的段列表中的最远一个节点确定。
[0087]上述的根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点是段列表中的最后一个节点,并且,出标签栈中不包含内层标签。
[0088]在一个可选的实施例中,在上述段列表标识为索引index,且节点为入口节点的情况下,还可以采用如下方式构造标签转发表:在指示标志位指示不需要根据指定的可读标签深度来封装出标签的情况下,入口节点构造出标签栈,该出标签栈包括以下至少之一:内层标签、外层标签;其中,该内层标签是根据段列表中的除入口节点之外第一个节点的全局标签块SRGB和段列表标识构造的;外层标签是根据入口节点至段列表中除入口节点之外的第一个节点的最短路径表示的直连下一跳确定的。
[0089]在上述的段列表除入口节点之外的第一个节点也是段列表中的最后一个节点的情况下,上述标签栈中不包含内层标签。
[0090]在一个可选的实施例中,在段列表标识是索引的情况下,节点为除入口节点之外的段列表中的其他节点时,在指示标志位指示不需要根据指定的可读标签深度来封装出标签的情况下,节点构造的出标签栈可以包括以下至少之一:内层标签、一个外层标签;其中,该内层标签可以根据节点的下一个节点的全局标签块SRGB和段列表标识构造;该外层标签可以根据节点至该节点的下个节点的最短路径表示的直连下一跳的全局标签块SRGB和下一个节点的标识构造。
[0091]在一个可选的实施例中,在段列表标识是索引的情况下,节点为除入口节点之外的段列表中的其他节点,在指示标志位指示需要根据指定的可读标签深度来封装出标签的情况下,节点i构造出标签栈,该出标签栈可以包括以下至少之一:内层标签、外层标签;其中,该内层标签根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点m的段路由全局标签块SRGB和段列表标识构造的;一个或多个外层标签从外至内:节点i的下一个节点i+Ι所对应的标签,是根据节点i至该节点的下一个节点i+Ι的最短路径表示的直连下一跳确定;段列表中的节点i+2至节点m对应的标签,是根据段列表中的该节点的前一个节点确定的;上述节点i是指除入口节点之外的段列表中的其他节点;节点m是根据指定的可读取标签桟深辖定的范围所能封装的段列表中的最远一个节点确定的。
[0092]上述的根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点是段列表中的最后一个节点,出标签栈中不包括内层标签。
[0093]上述所提到的指定的可读标签深度可以大于等于2,并且,节点在封装报文的标签栈时不大于节点所指定的可读标签栈深的。并且,该栈深是可配置的,在一个可选的实施例中,该指定的可读标签深度可以是通过显示配置的,或者是通过学习得到的全网的最小值。
[0094]节点和该节点的下一节点之间的节点可以包括不同类型的节点,在一个可选的实施例中,节点和该节点的下一节点之间的节点可以包括以下至少之一:SR节点和/或非SR节点;和/或,节点和下一节点之间的隧道包括以下之一:标签分发协议标签交换路径LDPLSP、基于流量工程扩展的资源预留协议标签交换路径RSVP-TE LSP、边界网关协议标签交换路径BGP LSP、段路由标签交换路径SR LSP0
[0095]在上述段列表中只包括一个节点的情况下,上述段列表标识为节点的节点标识。
[0096]图2是根据本发明实施例的第二种标签构造以及标签报文转发方法的流程图,如图2所示,该方法包括如下步骤:
[0097]步骤S202,控制器将消息发送给节点,其中,该消息中携带有段列表和用于标识该述段列表的段列表标识,上述段列表和段列表标识用于指示节点构建标签转发表并根据该标签转发表进行转发;和/或,该段列表和段列表标识用于指示节点维护段列表和段列表标识的映射关系。
[0098]通过上述步骤,控制器将用于构造标签转发表的段列表和段列表标识发送给节点,由节点根据该段列表和段列表标识构造标签转发表,可以有效降低节点的标签的深度,从而降低转发面硬件的标签栈处理能力的要求,进而解决了相关技术中存在的转发面硬件需要升级支持更深的标签栈处理能力的问题以及载荷效率问题与MTU问题,进而达到了降低转发面硬件的标签栈处理能力要求,有效解决载荷效率问题与MTU问题的效果。
[0099]在上述控制器将消息发送给节点时,可以有多种发送方法,在一个可选的实施例中,上述控制器可以通过南向接口协议将消息发送给节点。
[0100]其中,上述南向接口协议的类型不限,在一个可选的实施中,上述南向接口协议可以包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议0PENFL0W或者网络配置协议Netconf0
[0101]控制器在将消息发送给节点之后,还可以向节点发送撤销消息,在一个可选的实施例中,控制器通过上述的南向接口协议将撤销消息发送给节点,其中,该撤销消息用于指示节点删除段列表及段列表标识之间的映射关系,和/或,用于指示节点删除标签转发表。
[0102]图3是根据本发明实施例的第三种标签构造以及标签报文转发方法的流程图,如图3所示,该方法包括如下步骤:
[0103]步骤S302,入口节点接收控制器发送的消息,其中,该消息中携带有段列表和用于标识该段列表的段列表标识;
[0104]步骤S304,入口节点将上述消息发送给节点,其中,该消息用于指示节点构建标签转发表,并根据该标签转发表进行转发;和/或,该消息用于指示节点维护段列表和段列表标识的映射关系。
[0105]通过上述步骤,入口节点将用于构造标签转发表的段列表和段列表标识发送给节点,由节点根据该段列表和段列表标识构造标签转发表,可以有效降低节点的标签的深度,从而降低转发面硬件的标签栈处理能力的要求,进而解决了相关技术中存在的转发面硬件需要升级支持更深的标签栈处理能力的问题以及载荷效率问题与MTU问题,进而达到了降低转发面硬件的标签栈处理能力要求,有效解决载荷效率问题与MTU问题的效果。
[0106]入口节点在将上述消息发送给节点时可以有多种发送方式,在一个可选的实施例中,入口节点可以通过向节点发送扩展的内部网关协议IGP消息的方式将消息发送给节点,其中,该扩展的IGP消息为上述消息。
[0107]在入口节点将消息发送给节点之后,还可以向该节点发送撤销消息,在一个可选的实施例中,上述入口节点首先接收控制器通过南向接口协议发送的撤销消息,其中,该撤销消息用于指示节点删除段列表及段列表标识之间的映射关系,和/或,用于指示节点删除标签转发表;上述入口节点在接收到撤销消息后,可以通过向节点发送扩展的内部网关协议IGP消息来指示节点删除段列表及段列表标识之间的映射关系,和/或,指示节点删除标签转发表。
[0108]上述的南向接口协议的类型不限,在一个可选的实施例中,上述南向接口协议可以包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议0PENFL0W或者网络配置协议Netconf0
[0109]其中,入口节点将接收的撤销消息发送给节点时,可以通过向节点发送扩展的内部网关协议IGP消息的方式将上述撤销消息发送给节点,其中,该扩展的IGP消息为上述撤销消息。
[0110]在本实施例中还提供了一种标签构造以及标签报文转发装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0111]图4是根据本发明实施例的第一种标签构造以及标签报文转发装置的结构框图,该装置应用于节点中,如图4所示,该装置包括第一接收模块42和构建模块44,下面对该装置进行说明。
[0112]第一接收模块42,用于接收消息,其中,该消息中携带有段列表和用于标识该段列表的段列表标识;构建模块44,连接至上述第一接收模块42,用于根据段列表和段列表标识构建标签转发表,并根据标签转发表进行转发;和/或,用于维护段列表和段列表标识的映射关系。
[0113]第一接收模块42接收的上述消息可以是入口节点在接收到控制器发送的段列表和段列表标识之后发送的,也可以是直接由控制器发送的,在一个可选的实施例中,节点可以从控制器接收上述消息;和/或,节点从入口节点接收上述消息,其中,该消息是入口节点在接收到控制器发送的段列表和段列表标识之后发送的,即,入口节点先接收控制器发送的段列表和段列表标识,然后将接收到的段列表和段列表标识发送给节点。
[0114]在第一接收模块42接收控制器发送的消息时,该第一接收模块42可以接收控制器通过南向接口协议发送的上述消息;和/或,在第一接收模块42从入口节点接收上述消息时,该第一接收模块42可以接收入口节点通过扩展的内部网关协议IGP消息发送的上述消息。
[0115]上述的南向接口协议可以包括:边界网关协议-链路状态路由协议BGP-LS或者路径计算单元通信协议PCEP、开放流协议0PENFL0W或者网络配置协议Netconf。
[0116]图5是根据本发明实施例的第一种标签构造以及标签报文转发装置的第一种优选结构框图,如图5所示,该装置除包括图4所示的所有模块外,还包括第二接收模块52,下面对该装置进行说明。
[0117]第二接收模块52,连接至上述构建模块44,用于接收控制器或者入口节点发送的撤销消息,其中,该撤销消息用于指示节点删除段列表及段列表标识之间的映射关系,和/或,用于指示节点删除标签转发表。
[0118]上述的构建模块44在构建标签转发表时,可以有多种构建方式,在一个可选的实施例中,在上述节点为段列表中的最后一个节点的情况下,并且,该节点的前一个节点不在转发报文中携带内层标签的情况下,节点不构造标签转发表中的标签表项;其中,该内层标签是根据节点的下一个节点的全局标签块SRGB和段列表标识构造的。
[0119]上述的段列表标识的类型可以为多种,在一个可选的实施例中,上述的段列表标识可以是标签Lable,或者是索引index,其中,该全局标签是在SR域内所有节点的全局标签块SRGB都相同情况下的索引index偏移。
[0120]在上述段列表标识为索引index的情况下,构建模块44还可以采用如下方式构造标签转发表:在一个可选的实施例中,在节点为非最后一个节点的情况下,该节点可以根据本节点的段路由全局标签块SRGB和段列表标识构造入标签,并且,构造出标签栈,该出标签栈可以包括以下至少之一:内层标签、一个或多个外层标签;其中,该内层标签是根据节点的下一个节点的全局标签块SRGB和段列表标识构造的,上述的一个或多个外层标签可以包括以下至少之一:剩余节点对应的节点标识所对应的标签,节点的下一个节点对应的节点标识所对应的标签。
[0121]在指示标志位指示需要根据指定的可读标签深度来封装出标签的情况下,节点根据指定的可读标签深度构造包括一个或多个外层标签的出标签栈。
[0122]在上述段列表标识为索引index的情况下,构建模块44还还可以采用如下方式构造标签转发表:在另一个可选的实施例中,在节点为入口节点时,在指示标志位指示需要根据指定的可读标签深度来封装出标签的情况下,入口节点构造出标签栈,该出标签栈包括以下至少之一,内层标签、外层标签,其中,该内层标识是根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点的段路由全局标签块SRGB和段列表标识构造的;一个或多个外层标签从外至内依次如下:段列表中的第一个节点所对应的标签,是根据入口节点至段列表中的第一个节点最短路径表示的直连下一跳确定;段列表中的第二个节点至第m个节点对应的标签,是根据段列表中的该节点的前一个节点确定;该第m个节点是根据指定的可读标签栈深辖定的范围所能封装的段列表中的最远一个节点确定。
[0123]上述的根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点是段列表中的最后一个节点,并且,出标签栈中不包含内层标签。
[0124]在一个可选的实施例中,在上述段列表标识为索引index,且节点为入口节点的情况下,构建模块44还可以采用如下方式构造标签转发表:在指示标志位指示不需要根据指定的可读标签深度来封装出标签的情况下,入口节点构造出标签栈,该出标签栈包括以下至少之一:内层标签、外层标签;其中,该内层标签是根据段列表中的除入口节点之外第一个节点的全局标签块SRGB和段列表标识构造的;外层标签是根据入口节点至段列表中除入口节点之外的第一个节点的最短路径表示的直连下一跳确定的。
[0125]在上述的段列表除入口节点之外的第一个节点也是段列表中的最后一个节点的情况下,上述标签栈中不包含内层标签。
[0126]在一个可选的实施例中,在段列表标识是索引的情况下,节点为除入口节点之外的段列表中的其他节点时,在指示标志位指示不需要根据指定的可读标签深度来封装出标签的情况下,节点构造的出标签栈可以包括以下至少之一:内层标签、一个外层标签;其中,该内层标签可以根据节点的下一个节点的全局标签块SRGB和段列表标识构造;该外层标签可以根据节点至该节点的下个节点的最短路径表示的直连下一跳的全局标签块SRGB和下一个节点的标识构造。
[0127]在一个可选的实施例中,在段列表标识是索引的情况下,节点为除入口节点之外的段列表中的其他节点,在指示标志位指示需要根据指定的可读标签深度来封装出标签的情况下,节点i构造出标签栈,该出标签栈可以包括以下至少之一:内层标签、外层标签;其中,该内层标签根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点m的段路由全局标签块SRGB和段列表标识构造的;一个或多个外层标签从外至内:节点i的下一个节点i+Ι所对应的标签,是根据节点i至该节点的下一个节点i+Ι的最短路径表示的直连下一跳确定;段列表中的节点i+2至节点m对应的标签,是根据段列表中的该节点的前一个节点确定的;上述节点i是指除入口节点之外的段列表中的其他节点;节点m是根据指定的可读取标签桟深辖定的范围所能封装的段列表中的最远一个节点确定的。
[0128]上述的根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点是段列表中的最后一个节点,出标签栈中不包括内层标签。
[0129]上述所提到的指定的可读标签深度可以大于等于2,并且,节点在封装报文的标签栈时不大于节点所指定的可读标签栈深的。并且,该栈深是可配置的,在一个可选的实施例中,该指定的可读标签深度可以是通过显示配置的,或者是通过学习得到的全网的最小值。
[0130]节点和该节点的下一节点之间的节点可以包括不同类型的节点,在一个可选的实施例中,节点和该节点的下一节点之间的节点可以包括以下至少之一:SR节点和/或非SR节点;和/或,节点和下一节点之间的隧道包括以下之一:标签分发协议标签交换路径LDPLSP、基于流量工程扩展的资源预留协议标签交换路径RSVP-TE LSP、边界网关协议标签交换路径BGP LSP、段路由标签交换路径SR LSP0
[0131]在上述段列表中只包括一个节点的情况下,上述段列表标识为节点的节点标识。
[0132]图6是根据本发明实施例的第二种标签构造以及标签报文转发装置,该装置应用于控制器中,如图6所示,该装置包括第一发送模块62,下面对该装置进行说明。
[0133]第一发送模块62,用于将消息发送给节点,其中,该消息中携带有段列表和用于标识该段列表的段列表标识,该段列表和段列表标识用于指示节点构建标签转发表并根据该标签转发表进行转发;和/或,该段列表和段列表标识用于指示节点维护段列表和段列表标识的映射关系。
[0134]第一发送模块62在将消息发送给节点时,可以有多种发送方法,在一个可选的实施例中,可以通过南向接口协议将消息发送给节点。
[0135]其中,上述南向接口协议的类型不限,在一个可选的实施中,上述南向接口协议可以包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议0PENFL0W或者网络配置协议Netconf0
[0136]图7是根据本发明实施例的第二种标签构造以及标签报文转发装置的第一种优选结构框图,如图7所示,该装置除包括图6所示的所有模块外,还包括第二发送模块72,下面对该装置进行说明。
[0137]第二发送模块72,连接至上述第一发送模块62,用于通过南向接口协议将撤销消息发送给节点,其中,该撤销消息用于指示节点删除段列表及段列表标识之间的映射关系,和/或,用于指示节点删除标签转发表。
[0138]上述南向接口协议可以包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议OPENFLOW或者网络配置协议Netconf。
[0139]图8是根据本发明实施例的第三种标签构造以及标签报文转发装置,该装置应用于入口节点中,如图8所示,该装置包括第三接收模块82和第三发送模块84,下面对该装置进行说明。
[0140]第三接收模块82,用于接收控制器发送的消息,其中,该消息中携带有段列表和用于标识该段列表的段列表标识;第三发送模块84,连接至上述第三接收模块82,用于将消息发送给节点,其中,该消息用于指示段列表中包含的节点构建标签转发表,并根据标签转发表进行转发;和/或,该消息用于指示节点维护段列表和段列表标识的映射关系。
[0141]上述第三发送模块84在将上述消息发送给节点时可以有多种发送方式,在一个可选的实施例中,第三发送模块84可以通过向节点发送扩展的内部网关协议IGP消息的方式将消息发送给节点,其中,该扩展的IGP消息为上述消息。
[0142]图9是根据本发明实施例的第三种标签构造以及标签报文转发装置的第一种优选结构框图,如图9所示,该装置除包括图8所示的所有模块外,还包括第四接收模块92和第四发送模块94,下面对该装置进行说明。
[0143]第四接收模块92,连接至上述第三发送模块84,用于接收控制器通过南向接口协议发送的撤销消息,其中,该撤销消息用于指示节点删除段列表及段列表标识之间的映射关系,和/或,用于指示节点删除标签转发表;第四发送模块94,连接至上述第四接收模块92,用于在接收到撤销消息后,通过向节点发送扩展的内部网关协议IGP消息来指示节点删除段列表及段列表标识之间的映射关系,和/或,指示节点删除标签转发表。
[0144]上述的南向接口协议可以包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议OPENFLOW或者网络配置协议Netconf。
[0145]为了解决相关技术中存在的转发面硬件需要升级支持更深的标签栈处理能力的问题以及载荷效率问题与MTU问题,在本发明实施例中还提供了一种段路由SR网络中的显式路由方法,将段列表segment list转换成的标签栈“拉平”,使网络既具备分段路由的源指定路由的能力,又可以对现网转发面芯片不作任何升级。该方法通过如下方案实现:
[0146]分配一个段列表标识segment id用于唯一标识segment list。该segment list可以是网络协议地址列表ip address list,或者是全球标签列表global label list,或者索引列表index list,或者是它们的混合,即能够标识段节点segment node的信息组成的列表。
[0147]上述的segment list及segment id可以由控制器统一分配或者segment list由入库节点ingress节点直接配置,ingress节点将配置的segment list发送给控制器,由控制器分配segment id,该segment id可以简称为SL-SID。
[0148]该SL-SID可以是标签Label,或者索引index,在本实施例中以index为例进行描述,可以确定的是,Label可以根据SRGB [index]计算得到。
[0149]控制器可以通过南向接口协议将SL-SID通知给segment list内相应的segment节点,其中,控制器可以通过边界网关协议_链路状态路由协议(Border GatewayProtocol-Link State,简称为BGP-LS)或者路径计算单元通信协议(Path Computat1nElement Communicat1n Protocol,简称为 PCEP)将 SL-SID 通知给 ingress 节点,由ingress节点通过扩展的内部网关(Inter1r Gateway,简称为IGP)协议在SR域内泛洪。
[0150]控制器或者ingress节点为从ingress节点出发的受segment list引导的报文计算标签桟时,可以根据全局的指定的可读标签深度(specific Readable label depth,简称为specific RLD)策略,根据或不根据specific RLD来封装出标签桟。其中,该specificRLD是指定的可读标签深度,可显式配置,或通过协议学习到全网的最小RLD,但最终的specific RLD必须强制大于等于2,以至少支持一层虚拟专用网络(Virtual PrivateNetwork,简称为VPN)标签加上一层SR标签。
[0151]该标签表项在段列表的最后一个节点last segment node (记为Node_n)上如下:
[0152]入标签:SRGB_Node_n[SL-SID];
[0153]label operat1n:P0P ;
[0154]FLAG:标签终结。
[0155]在一个可选的实施例中,上述标签表项在last segment node (记为Node_n)上可以不用创建,前提是倒数第二个SR NODE的标签表项也采用如下提到的优化实现,不会在转发报文中携带标签SRGB_Node_n[SL-SID]。
[0156]标签表项在非最后一个节点,即非last segment node (记为Node_i)上如下:
[0157]入标签:SRGB_Node_i[SL-SID];
[0158]label operat1n:SWAP ;
[0159]FLAG:是否需要根据specific RLD来封装出标签;
[0160]specific RLD:可显式配置,或通过协议学习到全网的最小RLD,但specif ic RLD必须强制大于等于2。
[0161]出标签栈:
[0162]外层:剩余SR NODEs (即 Node_i+l,...Node_n)对应的 NODE-SIDs 对应的多个标签;
[0163]内层:SL_SID对应的标签;
[0164]nexthop/port:至 Node_i+l 的最短路径(含 ECMP/FRR);
[0165]其中,上述nexthop/port是Node」节点至Node_i+l节点的最短路径表示的直连下一跳与出接口。在Node」节点与Node_i+l节点之间的节点,包括nexthop节点在内,可以是SR节点或者non-SR节点。即Node_i至Node_i+l的隧道可以是LDP/RSVP-TE/BGP/SR等LSP。下述描述中是以SR LSP为例进行说明。
[0166]Node」上的SL-SID相应的标签表项的出标签栈由外层多个NODE-SIDs对应的标签,以及内层SL-SID对应的标签构成。多个外层标签按从外至内的顺序为:
[0167]SRGB_nexthop[Node_i+l_SID]
[0168]SRGB_Node_i+l[Node_i+2_SID]
[0169]SRGB_Node_i+2[Node_i+3_SID]
[0170]......
[0171]SRGB_Node_n-l[Node_n_SID]
[0172]Node」上的SL-SID相应的标签表项的FLAG,表明是否需要根据specific RLD来封装出标签栈,如果是的话,是指报文转发离开Node」时的标签栈深度只要不超过specific RLD,就可以尽量封装更多的标签,此时标签栈中可能包含私网业务标签、外层多个NODE-SIDs对应的标签、以及内层SL-SID对应的标签,为此,生成的标签表项中就需要包含外层多个NODE-SIDs (即Node_i+l,...Node_n)对应的标签以及内层SL-SID对应的标签。如果不需要根据specific RLD来封装出标签栈,就可以尽量封装更少的标签,此时标签栈中可能包含私网业务标签、下一个NODE-SID对应的标签、以及内层SL-SID对应的标签,为此,生成的标签表项中就只需要包含外层一个NODE-SID (即Node_i+l)对应的标签以及内层SL-SID对应的标签。
[0173]其中,上述的FLAG可以根据策略指定。
[0174]当不需要根据specific RLD来封装出标签桟时,上述报文的标签桟中内层SL-SID对应的标签,是根据下一个SR NODE (Node_i+l)确定,即标签栈中内层SL-SID对应的标签为SRGB_Node_i+l [SL-SID]。则,报文的整个标签栈从外至内如下:
[0175]SRGB_nexthop[Node_i+l_SID]
[0176]SRGB_Node_i+l[SL-SID]
[0177]VPN service Labels
[0178]Node_i+l如果恰好就是Node_n,在一个可选的实施例中,标签表项的出标签栈中可以不必要包含 SRGB_Node_i+l [SL-SID]。这是因为凭借 SRGB_nexthop [Node_i+l_SID],报文已经能投递到Node_n。
[0179]当需要根据specific RLD来封装出标签栈时,报文的标签栈中内层SL-SID对应的标签,可以是根据specific RLD辖定的范围所能封装的最远一个Node_m确定,即标签桟中内层SL-SID对应的标签为SRGB_Node_m[SL-SID]。则,报文的整个标签栈从外至内如下:
[0180]SRGB_nexthop[Node_i+l_SID]
[0181]SRGB_Node_i+l[Node_i+2_SID]
[0182]SRGB_Node_i+2[Node_i+3_SID]
[0183]......
[0184]SRGB_Node_m-l[Node_m-SID]
[0185]SRGB_Node_m[SL-SID]
[0186]VPN service Labels
[0187]以上标签个数不能超过specific RLD。在一个可选的实施例中,当Node_m恰好就是Node_n时,标签表项的出标签栈中可以不必要包含SRGB_Node_m[SL-SID]。因为凭借SRGB_Node_m_l [Node_m_SID],报文已经能投递到Node_n。其中,不需要根据specific RLD来封装出标签栈时,ingress节点的报文的标签栈中内层SL-SID对应的标签,是根据第一个SR NODE (Node_l)确定,即标签栈中内层SL-SID对应的标签为SRGB_Node_l [SL-SID]。外层Node_l对应的标签,是根据ingress node至Node_l的最短路径表示的直连下一跳(nexthop)确定,即标签桟中外层Node_l对应的标签为SRGB_nexthop [Node_l_SID]。贝丨J,ingress节点报文的整个标签桟从外至内如下:
[0188]SRGB_nexthop[Node_l_SID]
[0189]SRGB_Node_l[SL-SID]
[0190]VPN service Labels
[0191]如果ingress节点不是SR list中的第一个节点,那么nodel就是SR list中的第一个节点;如果如果ingress节点是SR list中的第一个节点,那么nodel就是SR list中的第二个节点。
[0192]Node_l如果恰好就是Node_n (就是SR I i st中的最后一个节点),则作为一种优化,报文的标签栈中可以不必要包含SRGB_Node_l [SL-SID]。因为凭借SRGB_nexthop [Node_l_SID],报文已经能投递到 Node_n。
[0193]当需要根据specific RLD来封装出标签栈时,报文的标签栈中内层SL-SID对应的标签,是根据specific RLD辖定的范围所能封装的最远一个Node_m确定,即标签桟中内层SL-SID对应的标签为SRGB_Node_m[SL-SID]。外层Node_l对应的标签,是根据ingressnode至Node_l的最短路径表示的直连下一跳(nexthop)确定,即标签桟中外层Node_l对应的标签为SRGB_nexthop [Node_l_SID]。外层Node2对应的标签,是根据Node_l确定,即标签栈中外层Node_2对应的标签为SRGB_Nodel [Node_2_SID]。外层Node3对应的标签,是根据Node_2确定,即标签栈中外层Node_3对应的标签为SRGB_Node2 [Node_3_SID],依次类推。则,报文的整个标签栈从外至内如下:
[0194]SRGB_nexthop[Node_l_SID]
[0195]SRGB_Node_l[Node_2_SID]
[0196]SRGB_Node_2[Node_3_SID]
[0197]......
[0198]SRGB_Node_m-l[Node_m-SID]
[0199]SRGB_Node_m[SL-SID]
[0200]VPN service Labels
[0201]以上标签个数不能超过specific RLD。
[0202]Node_m恰好就是Node_n (就是SR list中的最后一个节点),则作为一种优化,报文的标签栈中可以不必要包含SRGB_Node_m[SL-SID]。因为凭借SRGB_Node_m_l [Node_m-SID],报文已经能投递到Node_n。
[0203]如果segment list中只包含一个segment node,那么为该segment list分配的SL-SID就可以是为该segment node分配的node-SID。
[0204]segment list 内相应的 segment 节点收到 segment list 及 SL-SID 后,生成SL-SID相应的标签表项。
[0205]下面结合具体的实施例对本发明进行说明。
[0206]实施例一
[0207]图10为根据本发明实施例一的SR网络中的显式路由的架构图,如图10所示,RO到Rl的最短路径下一跳是Al节点,Rl到R2的最短路径下一跳是A2节点,R2到R3的最短路径下一跳是A3节点,RO到R3端到端的隧道指定通过R1、R2及R3节点,RO是ingress节点,RO上的流量绑定segment list可以自身配置或者由控制器集中设备下发等。流量绑定的segment list可以为:〈R1,R2,R3>,是一个能标识节点信息的列表,如ip addresslist、global label list、index list ;流量绑定的 segment list 也可以是一个能直接用于报文头的出标签桟〈Label 1,Label 2>。可以将segment list〈Rl,R2,R3>记为SL1,控制器为SLl还分配segment id,假设为300,可以简称这种为segment list分配的SID为SL-SID,SL-SID可以是Label,也可以是index,在本实施例中以index为例进行说明。可以确定的是,Label可以由SRGB[index]计算得到。图11是根据本发明实施例一的SR网络中的显式路由的流程图,如图11所示,该流程包括:
[0208]步骤S1102,控制器将通过南向接口协议将segment list〈Rl,R2,R3>及SL-SID300通告给list中包含的每个节点。
[0209]其中,南向接口协议可以是BGP-LS或者PCEP。控制器与SR域内各节点均存在BGP-LS或者PCEP邻居关系。控制器通过扩展BGP-LS或者PCEP中新的消息来携带segmentlist〈Rl,R2,R3>及SL-SID300,并发送给list中包含的每个节点。可以定义新的消息为:SR-LIST Segment ID allocat1n msg。BGP-LS 或者 PCEP 可以通过一个 SR-LIST SegmentID allocat1n msg 承载 segment list〈Rl,R2,R3> 及 SL-SID300 信息,并发送给 R1、R2 及R3节点。
[0210]步骤S1104:R1、R2 及 R3 接收到携带 segment list〈Rl,R2,R3> 及 SL-SID300 的SR-LIST Segment ID allocat1n msg 消息后,构建 SL-SID 对应的标签表项。
[0211]在该实施例中,所构建的标签表项配置策略指定不需要根据specific RLD来对报文封装出标签,则所构建的标签表项按照:SR节点上的SL-SID300标签表项的入标签是本SR节点为segment list分配的绝对标签(实际上就是本SR节点的SRGB用SL-SID300做偏移),出标签是下一个SR节点为segment list分配的绝对标签(实际上就是下一个SR节点的SRGB用SL-SID300做偏移),再迭代必要的外层隧道标签。外层隧道可以支持ECMP/FRR 等。
[0212]其中,segment list〈Rl,R2,R3>中包含的每个节点构建标签转发表的过程如下:
[0213]1、R1收到后,检查发现:
[0214]last segment = R3
[0215]next segment = R2
[0216]则构造的标签表转发表如图12所示,图12是根据本发明实施例一的Rl节点上构造的标签表转发表。
[0217]由于remote R2非直连下一跳,则可以继续迭代外层标签,可以是LDP/RSVP-TE/BGP/SR等协议分配的标签。以SR标签为例,Rl需要叠加外层标签SRGB_A2 [index_R2]。
[0218]2、R2收到后,检查发现:
[0219]last segment = R3
[0220]next segment = R3
[0221]则构造的标签转发表如图13所示,图13是根据本发明实施例一的R2节点上构造的标签表转发表。
[0222]3、R3收到后,检查发现:
[0223]last segment = R3,为自身,不做额外处理。
[0224]R3上已经建立的标签转发表,可以如图14所示,图14是根据本发明实施例一的R3节点上构造的标签表转发表。
[0225]其具体的报文转发流程可以如下:
[0226]“流量绑定segment list”中的segment list可以直接是出标签桟,也可以是ipaddress list,即 <R1, R2, R3>,如果是 ip address list,则 ingress node 需要将它转换成出标签栈。下面分两种情况描述:
[0227]1、ingress 节点 RO 的流量绑定 segment list 为:〈SRGB_A1 [INDEX_R1],SRGB_Rl[300]>,一般可由控制器计算好后下发,如图15所示,图15是根据本发明实施例一的控制器下发给ingress节点RO的携带SR报文头的数据报文格式的示意图。
[0228]2、如果ingress需要自身将ip address list转换成出标签桟,可以是如下的方法:
[0229]内层标签为第一个segment node的SRGB (即本实施例中的SRGB_R1)中用SL-SID(即本实施例中为SLl分配的SL-SID:300)作偏移。本实施例中,为SRGB_R1 [300]。
[0230]外层标签为ingress至第一个segment node的转发标签,可以是LDP/RSVP-TE/BGP/STATIC/SR等LSP的标签,本实施例中,为SR标签,即ingress节点至第一个segmentnode 的直连下一跳的 SRGB (即 SRGB_A1)中用第一个 segment node 的 INDEX ( S卩 INDEX_R1)做偏移,为 SRGB_A1 [INDEX_R1]。
[0231]转换后的segment list见图15所示。
[0232]Al:A1是RO的直连下一跳,其接收到报文后,根据外层标签SRGB_A1 [INDEX_R1]查找标签转发表,弹出外层标签,并将报文转到R1,构造的报文如图16所示,图16是根据本发明实施一例的Al节点转发给下一节点的携带SR报文头的数据报文格式的示意图。
[0233]Rl:R1是Al的直连下一跳,Rl节点收到报文后,根据外层标签SRGB_R1 [300]查找标签转发表(图12),并交换外层标签为SRGB_R2 [300]并将转到R2。由于R2非Rl的直连一跳,所以继续迭代外层标签,可以是LDP/RSVP-TE/BGP/SR等协议分配的标签。以SR标签为例,Rl需要叠加外层标签SRGB_A2[index_R2]。图17是根据本发明实施例一的Rl节点转发给下一节点的携带SR报文头的数据报文格式的示意图。
[0234]A2:A2是Rl的直连下一跳,其接收到报文后,根据外层标签SRGB_A2 [index_R2]查找标签转发表,弹出外层标签,并将报文转到R2,图18是根据本发明实施例一的A2节点转发给下一节点的携带SR报文头的数据报文格式的示意图。
[0235]R2:R2收到报文后,根据外层标签SRGB_R2 [300]查找标签转发表(图13),并交换外层标签为SRGB_A3[INDEX_R3]并将报文转到A3,图19是根据本发明实施例一的R2节点转发给下一节点的携带SR报文头的数据报文格式的示意图。
[0236]A3:A3节点是R2的直连下一跳,其接收到报文后,根据外层标签SRGB_A3 [INDEX_R3]查找标签转发表,并交换外层标签为SRGB_R3[INDEX_R3]并将报文转到R3,图20是根据本发明实施例一的A3节点转发给下一节点的携带SR报文头的数据报文格式的示意图。
[0237]R3:R3收到报文后,根据外层标签SRGB_R3 [INDEX_R3]查找标签转发表(图14),弹出标签。或者在倒数第二跳提前弹出外层标签。
[0238]实施例二
[0239]图21是根据本发明实施例二的SR网络中的显式路由的流程图,如图21所示,包括:
[0240]步骤S2102,控制器将通过南向接口协议将segment list〈Rl,R2,R3>及SL-SID300信息通告给list中的ingress节点。
[0241]其中,南向接口协议可以是BGP-LS或者PCEP。控制器与SR域内各节点均存在BGP-LS或者PCEP邻居关系。控制器通过扩展BGP-LS或者PCEP中新的消息来携带segmentlist〈Rl,R2,R3>及SL-SID300,并发送给list中ingress节点。这里,我们可以定义新的消息为:SR-LIST Segment ID allocat1n msg。BGP-LS 或者 PCEP 可以通过一个 SR-LISTSegment ID allocat1n msg 承载 segment list〈Rl,R2,R3> 及 SL-SID300 信息,并发送给list 中 ingress 节点。
[0242]步骤S2104,ingress 节点通过新扩展的 IGP 消息将 segment list〈Rl,R2,R3> 及SL-SID300信息通告给SR域的所有节点。该segment list t〈Rl,R2,R3>中包含的SR节点接收到segment list〈Rl,R2,R3>及SL-SID300信息后构建标签转发表,SR域的其他节点不需要生成相应的标签表项,但需要维护表项保存segment list〈Rl,R2,R3>到SL-SID300的映射关系。
[0243]比如,ingress节点需要根据IP address list自己计算出标签桟的话,则控制器也可以向 ingress node 下发包含 SR-LIST Segment ID allocat1n msg。RO 收到后,维护表项保存SLl到SID-300的映射关系。
[0244]segment list中包含的所有节点的标签转发表的构建与实施例一相同,具体的报文转发流程也与实施例一相同,具体可以参见实施例一。
[0245]实施例三
[0246]该实施例下,控制器向segment list〈Rl,R2,R3>中包含的每个节点通告撤销消息撤销之前通告的segment list〈Rl,R2,R3>和SL-SID300,可以定义新的撤销消息为SR-LIST Segment ID revocat1n msg。图22是根据本发明实施例三的SR网络中的显式路由的流程图,如图22所示,包括:
[0247]步骤S2202,控制器将通过南向接口协议撤销之前发送给list中包含的每个节点及 ingress node 的 segment list〈Rl,R2,R3> 及 SL-SID300。
[0248]其中,南向接口协议可以为BGP-LS或者PCEP。控制器与SR域内各节点均存在BGP-LS或者PCEP邻居关系。在本发明中,控制器将通过扩展的BGP-LS或者PCEP撤销消息撤销之前发送给I i st中包含的每个节点的segment I i st〈Rl,R2,R3>及SL-SID300。BGP-LS可以通过一个扩展的BGP-LS或者PCEP撤销消息撤销之前发送给list中包含的每个节点的 segment list〈Rl,R2,R3> 及 SL-SID300。
[0249]步骤S2204,list中包含的每个节点接收到segment list〈Rl,R2,R3>及SL-SID300撤销消息后,删除本地标签转发表,ingress node删除本地维护的用于保存segment list〈Rl,R2,R3> 到 SL-SID300 的映射关系的表项。
[0250]实施例四
[0251 ] 该实施例下,控制器向SR域的ingress节点通告撤销消息撤销之前通告的segment list〈Rl,R2,R3> 和 SL-SID300,可以定义新的撤销消息为 SR-LISTSegment IDrevocat1n msg。图23是根据本发明实施例四的SR网络中的显式路由的流程图,如图23所示,包括:
[0252]步骤S2302,控制器将通过南向接口协议撤销之前发送给SR域的ingress节点的segment list〈Rl,R2,R3> 及 SL-SID300。
[0253]其中,南向接口协议可以为BGP-LS或者PCEP。控制器与SR域内各节点均存在BGP-LS或者PCEP邻居关系。在本发明中,控制器将通过扩展的BGP-LS或者PCEP撤销消息撤销之前发送给list中包含ingress节点的segment list〈Rl,R2,R3>及SL-SID300。BGP-LS可以通过一个扩展的BGP-LS或者PCEP撤销消息撤销之前发送给list中包含的每个节点的 segment list〈Rl,R2,R3> 及 SL_SID300o
[0254]步骤S2304,SR 域的 ingress 节点接收到 segment list〈Rl,R2,R3> 及 SL-SID300撤销消息后,删除本地维护的用于保存segment list〈Rl,R2,R3>到SL-SID300的映射关系的表项,并通过发送扩展的IGP撤销消息通告SR域内的其他节点删除本地标签转发表或者删除用于保存segment list〈Rl,R2,R3>到SL-SID300的映射关系的表项。
[0255]实施例五
[0256]与实施例一基本相同,主要区别是在本实施例中所构建的标签表项配置策略指定需要根据specific RLD来对报文封装尽量多的出标签。
[0257]图24是根据本发明实施例五的SR网络中的显式路由的流程图,如图24所示,包括:
[0258]步骤S2402,控制器将通过南向接口协议将segment list〈Rl,R2,R3>及SL-SID300通告给list中包含的每个节点。
[0259]其中,南向接口协议可以是BGP-LS或者PCEP。控制器与SR域内各节点均存在BGP-LS或者PCEP邻居关系。控制器通过扩展BGP-LS或者PCEP中新的消息来携带segmentlist〈Rl,R2,R3>及SL-SID300,并发送给list中包含的每个节点。这里,我们可以定义新的消息为:SR-LIST Segment ID allocat1n msg。BGP-LS或者PCEP可以通过一个SR-LISTSegment ID allocat1n msg 承载 segment list〈Rl,R2,R3> 及 SL-SID300 信息,并发送给R1、R2及R3节点。
[0260]步骤S2404,RU R2 及 R3 接收到携带 segment list〈Rl,R2,R3> 及 SL-SID300的SR-LIST Segment ID allocat1n msg消息后,并结合标签表项配置策略:指定根据specific RLD构建SL-SID对应的标签表项。
[0261]其中,segment list〈Rl,R2,R3>中包含的每个节点构建标签转发表的过程如下:
[0262]1、R1收到后,检查发现:
[0263]last segment = R3
[0264]next segment = R2
[0265]则构造的标签表转发表如下所示:
[0266]入标签:SRGB_R1[300];
[0267]label operat1n:SWAP ;
[0268]FLAG:需要根据specific RLD来封装出标签;
[0269]specific RLD:5 ;
[0270]出标签栈:
[0271]外层:51?8_八2[111(16叉_1?2];
[0272]SRGB_R2[index_R3];
[0273]内层:SRGB_R3[300];
[0274]nexthop/port:至R2的最短路径(含ECMP/FRR),本例中为单跳A2。
[0275]2、R2收到后,检查发现:
[0276]last segment = R3
[0277]next segment = R3
[0278]则构造的标签转发表如下所示:
[0279]入标签:SRGB_R1[300];
[0280]label operat1n:SWAP ;
[0281]FLAG:需要根据specific RLD来封装出标签;
[0282]specific RLD:5 ;
[0283]出标签栈:
[0284]外层:51?8_厶3[111(16叉_1?3];
[0285]内层:SRGB_R3[300];
[0286]nexthop/port:至R2的最短路径(含ECMP/FRR),本例中为单跳A3。
[0287]3、R3收到后,检查发现:
[0288]last segment = R3o
[0289]则构造的标签转发表如下所示:
[0290]入标签:SRGB_R3[300];
[0291]label operat1n:Ρ0Ρ ;
[0292]FLAG:标签终结。
[0293]其具体的报文转发流程如下:
[0294]“流量绑定segment list”中的segment list可以直接是出标签桟,也可以是ipaddress list,即 <R1, R2, R3>,如果是 ip address list,则 ingress node 需要将它转换成出标签栈。下面分几种情况描述:
[0295]1、ingress 节点 RO 的流量绑定 segment list 为标签桟:〈SRGB_A1 [INDEX_R1],SRGB_R1[300]>,一般可由控制器计算好后下发。本实例中假设控制器即使明知specific RLD = 5,也命令ingress node只封装如上两层SR标签。
[0296]2、如果ingress节点需要将ip address list转换成出标签桟,可以是如下:
[0297]I)根据ingress节点RO至第一个SR NODE Rl的最短路径表示的直连下一跳Al,为Rl确定最外层标签SRGB_A1 [INDEX_R1]。
[0298]2)根据第一个SR NODE Rl为第二个SR NODE R2确定次外层标签SRGB_R1 [INDEX_R2]。
[0299]3)根据第二个SR NODE R2为第三个SR NODE R3确定次外层标签SRGB_R2 [INDEX_R3]0
[0300]4)取m = 3,则根据第三个SR NODE R3为SL-SID300确定内层标签SRGB_R3[300]。
[0301]以上将引入4层SR标签,考虑承载的私网业务标签的话,就有可能超越specificRLD = 5 了。实际上,作为一种可能的实现,ingress节点完全可以在内部实现时再订一条更严格的控制线,只让SR标签产生两层,即产生与第一种由控制器下发一样的结果,包括:
[0302]I)根据ingress节点RO至第一个SR NODE Rl的最短路径表示的直连下一跳Al,为Rl确定最外层标签SRGB_A1 [INDEX_R1]。
[0303]2)取m= 1,则根据第一个 SR NODE Rl 为 SL-SID300 确定内层标签 SRGB_R1 [300]。
[0304]转换后的segment list见图15所示。
[0305]Al:A1是RO的直连下一跳,其接收到报文后,根据外层标签SRGB_A1 [INDEX_R1]查找标签转发表,弹出外层标签,并将报文转到Rl。
[0306]Rl:R1是Al的直连下一跳,Rl节点收到报文后,根据外层标签SRGB_R1 [300]查找标签转发表,FLAG表明想尽量多的封装出标签,则可以把标签表项的整个出标签栈都作为SR 标签,即 <SRGB_A2 [index_R2],SRGB_R2 [index_R3],SRGB_R3 [300] >,报文发给 A2。
[0307]A2:A2是Rl的直连下一跳,其接收到报文后,根据外层标签SRGB_A2 [index_R2]查找标签转发表,弹出外层标签,并将报文转到R2。
[0308]R2:R2收到报文后,根据外层标签SRGB_R2 [index_R3]查找标签转发表,交换外层标签为SRGB_A3 [INDEX_R3],即报文中的整个SR标签栈变为<SRGB_A3 [INDEX_R3],SRGB_R3[300]>,并将报文转到A3。注意由于之前Rl上采取了尽量多封装标签的行为,导致SL-SID300对应的标签SRGB_R3[300]不会在R2上暴露。虽然R2上也为SL-SID300准备了类似的标签表项SRGB_R2 [300],但是在该实施例中不会被用到。
[0309]A3:A3节点是R2的直连下一跳,其接收到报文后,根据外层标签SRGB_A3 [INDEX_R3]查找标签转发表,并交换外层标签为SRGB_R3 [INDEX_R3],即报文中的整个SR标签栈变为 <SRGB_R3 [INDEX_R3],SRGB_R3 [300] >,并将报文转到 R3。
[0310]R3:R3收到报文后,根据外层标签SRGB_R3[INDEX_R3]查找标签转发表,弹出标签。继续根据外层标签SRGB_R3[300]查找标签转发表,弹出标签。其中,SRGB_R3[INDEX_R3]或可能在倒数第二跳提前弹出。
[0311]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0312]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种标签构造以及标签报文转发方法,其特征在于,包括: 节点接收消息,其中,所述消息中携带有段列表和用于标识所述段列表的段列表标识; 所述节点根据所述段列表和所述段列表标识构建标签转发表,并根据所述标签转发表进行转发;和/或,所述节点维护所述段列表和所述段列表标识的映射关系。2.根据权利要求1所述的方法,其特征在于,所述消息是入口节点在接收到控制器发送的所述段列表和所述段列表标识之后发送的,和/或,所述消息是所述控制器发送的。3.根据权利要求2所述的方法,其特征在于, 所述节点接收所述控制器通过南向接口协议发送的所述消息;和/或, 所述节点接收所述入口节点通过扩展的内部网关协议IGP发送的所述消息。4.根据权利要求3所述的方法,其特征在于, 所述南向接口协议包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议OPENFLOW或者网络配置协议Netconf。5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 所述节点接收控制器或者入口节点发送的撤销消息,其中,所述撤销消息用于指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,用于指示所述节点删除所述标签转发表。6.根据权利要求1至5中任一项所述的方法,其特征在于, 在所述节点为所述段列表中的最后一个节点的情况下,并且,所述节点的前一个节点不在转发报文中携带内层标签的情况下,所述节点不构造标签转发表中的标签表项;其中,所述内层标签是根据所述节点的下一个节点的全局标签块SRGB和所述段列表标识构造的。7.根据权利要求1至5中任一项所述的方法,其特征在于,所述段列表标识是全局标签、或者索引index,其中,所述全局标签是在SR域内所有节点的全局标签块SRGB都相同情况下的索引index偏移。8.根据权利要求7所述的方法,其特征在于,在所述段列表标识是索引的情况下, 在所述节点为非最后一个节点的情况下,所述节点根据本节点的段路由全局标签块SRGB和所述段列表标识构造入标签,并且,构造出标签栈,所述出标签栈包括以下至少之一:内层标签、一个或多个外层标签;其中,所述内层标签是根据所述节点的下一个节点的全局标签块SRGB和所述段列表标识构造的,所述一个或多个外层标签包括以下至少之一:剩余节点对应的节点标识所对应的标签,所述节点的下一个节点对应的节点标识所对应的标签。9.根据权利要求8所述的方法,其特征在于,在指示标志位指示需要根据指定的可读标签深度来封装出标签的情况下,所述节点根据指定的可读标签深度构造包括一个或多个所述外层标签的所述出标签栈。10.根据权利要求7所述的方法,其特征在于,在所述段列表标识是索引的情况下,所述节点为入口节点的情况下, 在指示标志位指示需要根据指定的可读标签深度来封装出标签的情况下,所述入口节点构造出标签栈,所述出标签栈包括以下至少之一:内层标签、外层标签;其中,所述内层标签是根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点的段路由全局标签块SRGB和所述段列表标识构造的;一个或多个所述外层标签从外至内依次如下:所述段列表中的第一个节点所对应的标签,是根据入口节点至段列表中的第一个节点最短路径表示的直连下一跳确定;所述段列表中的第二个至第m个节点对应的标签,是根据段列表中的该节点的前一个节点确定的;所述第m个节点是根据指定的可读标签栈深度辖定的范围所能封装的段列表中的最远一个节点确定。11.根据权利要求10所述的方法,其特征在于, 所述的根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点是段列表中的最后一个节点,所述出标签栈中不包括所述内层标签。12.根据权利要求7所述的方法,其特征在于,在所述段列表标识是索引,所述节点为入口节点情况下, 在指示标志位指示不需要根据指定的可读标签深度来封装出标签的情况下,所述入口节点构造出标签栈,所述出标签栈包括以下至少之一:内层标签、外层标签;其中,所述内层标签根据段列表中的除入口节点之外第一个节点的全局标签块SRGB和所述段列表标识构造的;所述外层标签是根据入口节点至段列表中除入口节点之外的第一个节点的最短路径表示的直连下一跳确定的。13.根据权利要求12所述的方法,其特征在于, 在所述段列表除入口节点之外的第一个节点也是段列表中的最后一个节点的情况下,所述标签栈中不包括所述内层标签。14.根据权利要求7所述的方法,其特征在于,在所述段列表标识是索引的情况下,所述节点为除入口节点之外的段列表中的其他节点: 在指示标志位指示不需要根据指定的可读标签深度来封装出标签的情况下,所述节点构造的出标签栈包括以下至少之一:内层标签、一个外层标签;其中,所述内层标签根据所述节点的下一个节点的全局标签块SRGB和所述段列表标识构造的;所述外层标签根据所述节点至所述节点的下个节点的最短路径表示的直连下一跳的全局标签块SRGB和所述下一个节点的标识构造的。15.根据权利要求7所述的方法,其特征在于,在所述段列表标识是索引的情况下,所述节点为除入口节点之外的段列表中的其他节点, 在指示标志位指示需要根据指定的可读标签深度来封装出标签的情况下,所述节点i构造出标签栈,所述出标签栈包括以下至少之一:内层标签、外层标签;其中,所述内层标签根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点m的段路由全局标签块SRGB和所述段列表标识构造的;一个或多个所述外层标签从外至内:所述节点i的下一个节点i+Ι所对应的标签,是根据所述节点i至所述节点的下一个节点i+Ι的最短路径表示的直连下一跳确定;所述段列表中的节点i+2至节点m对应的标签,是根据段列表中的该节点的前一个节点确定的;所述节点i是指除入口节点之外的段列表中的其他节点;所述节点m是根据指定的可读标签栈深度辖定的范围所能封装的段列表中的最远一个节点确定。16.根据权利要求15所述的方法,其特征在于, 所述的根据指定的可读标签深度辖定的范围所能封装的最远一个段列表中的节点是段列表中的最后一个节点,所述出标签栈中不包括所述内层标签。17.根据权利要求8至16中任一项所述的方法,其特征在于,所述指定的可读标签深度大于等于2,所述节点在封装报文的标签栈时不大于指定的可读标签深度。18.根据权利要求17所述的方法,其特征在于,所述指定的可读标签深度是通过显示配置的,或者是通过学习得到的全网的最小值。19.根据权利要求18所述的方法,其特征在于, 所述节点和所述下一节点之间的节点包括以下至少之一:SR节点和/或非SR节点;和/或, 所述节点和所述下一节点之间的隧道包括以下之一:标签分发协议标签交换路径LDPLSP、基于流量工程扩展的资源预留协议标签交换路径RSVP-TELSP、边界网关协议标签交换路径BGP LSP、段路由标签交换路径SR LSP020.根据权利要求1所述的方法,其特征在于,在所述段列表中只包括一个节点的情况下,所述段列表标识为所述节点的节点标识。21.一种标签构造以及标签报文转发方法,其特征在于,包括: 控制器将消息发送给节点,其中,所述消息中携带有段列表和用于标识所述段列表的段列表标识,所述段列表和所述段列表标识用于指示所述节点构建标签转发表并根据所述标签转发表进行转发;和/或,所述段列表和所述段列表标识用于指示所述节点维护所述段列表和所述段列表标识的映射关系。22.根据权利要求21所述的方法,其特征在于,所述控制器将所述消息发送给所述节点包括: 所述控制器通过南向接口协议将所述消息发送给所述节点。23.根据权利要求22所述的方法,其特征在于,所述南向接口协议包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议OPENFLOW或者网络配置协议Netconf024.根据权利要求23所述的方法,其特征在于,在所述控制器将所述消息发送给所述节点之后,还包括: 所述控制器通过所述南向接口协议将撤销消息发送给所述节点,其中,所述撤销消息用于指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,用于指示所述节点删除所述标签转发表。25.一种标签构造以及标签报文转发方法,其特征在于,包括: 入口节点接收控制器发送的消息,其中,所述消息中携带有段列表和用于标识所述段列表的段列表标识; 入口节点将所述消息发送给节点,其中,所述消息用于指示所述节点构建标签转发表,并根据所述标签转发表进行转发;和/或,所述消息用于指示所述节点维护所述段列表和所述段列表标识的映射关系。26.根据权利要求25所述的方法,其特征在于,所述入口节点将所述消息发送给所述节点包括: 所述入口节点通过向所述节点发送扩展的内部网关协议IGP消息的方式将所述消息发送给所述节点。27.根据权利要求25所述的方法,其特征在于,在所述入口节点将所述消息发送给所述节点之后,还包括: 所述入口节点接收所述控制器通过南向接口协议发送的撤销消息,其中,所述撤销消息用于指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,用于指示所述节点删除所述标签转发表; 所述入口节点接收所述撤销消息后,通过向所述节点发送扩展的内部网关协议IGP消息来指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,指示所述节点删除所述标签转发表。28.根据权利要求27所述的方法,其特征在于,所述南向接口协议包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议OPENFLOW或者网络配置协议Netconf029.根据权利要求27所述的方法,其特征在于,所述入口节点将接收的所述撤销消息发送给所述节点包括: 所述入口节点通过向所述节点发送扩展的内部网关协议IGP消息的方式将所述消息发送给所述节点。30.一种标签构造以及标签报文转发装置,其特征在于,应用于节点中,包括: 第一接收模块,用于接收消息,其中,所述消息中携带有段列表和用于标识所述段列表的段列表标识; 构建模块,用于根据所述段列表和所述段列表标识构建标签转发表,并根据所述标签转发表进行转发;和/或,用于维护所述段列表和所述段列表标识的映射关系。31.根据权利要求30所述的装置,其特征在于,还包括: 第二接收模块,用于接收控制器或者入口节点发送的撤销消息,其中,所述撤销消息用于指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,用于指示所述节点删除所述标签转发表。32.一种标签构造以及标签报文转发装置,其特征在于,应用于控制器中,包括: 第一发送模块,用于将消息发送给节点,其中,所述消息中携带有段列表和用于标识所述段列表的段列表标识,所述段列表和所述段列表标识用于指示所述节点构建标签转发表并根据所述标签转发表进行转发;和/或,所述段列表和所述段列表标识用于指示所述节点维护所述段列表和所述段列表标识的映射关系。33.根据权利要求32所述的装置,其特征在于,还包括: 第二发送模块,用于通过南向接口协议将撤销消息发送给所述节点,其中,所述撤销消息用于指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,用于指示所述节点删除所述标签转发表。34.根据权利要求33所述的装置,其特征在于,所述南向接口协议包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议OPENFLOW或者网络配置协议Netconf035.一种标签构造以及标签报文转发装置,其特征在于,应用于入口节点中,包括: 第三接收模块,用于接收控制器发送的消息,其中,所述消息中携带有段列表和用于标识所述段列表的段列表标识; 第三发送模块,用于将所述消息发送给节点,其中,所述消息用于指示所述节点构建标签转发表,并根据所述标签转发表进行转发;和/或,所述消息用于指示所述节点维护所述段列表和所述段列表标识的映射关系。36.根据权利要求35所述的装置,其特征在于,还包括: 第四接收模块,用于接收所述控制器通过南向接口协议发送的撤销消息,其中,所述撤销消息用于指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,用于指示所述节点删除所述标签转发表; 第四发送模块,用于在接收所述撤销消息后,通过向所述节点发送扩展的内部网关协议IGP消息来指示所述节点删除所述段列表及段列表标识之间的映射关系,和/或,指示所述节点删除所述标签转发表。37.根据权利要求36所述的装置,其特征在于,所述南向接口协议包括:边界网关协议-链路状态路由协议BGP-LS、路径计算单元通信协议PCEP、开放流协议OPENFLOW或者网络配置协议Netconf0
【文档编号】H04L12/723GK105871722SQ201510026562
【公开日】2016年8月17日
【申请日】2015年1月19日
【发明人】彭少富, 陈然, 廖婷
【申请人】中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1