MPLS报文的封装方法及装置、存储介质及电子装置制造方法及图纸

技术编号:36699961 阅读:12 留言:0更新日期:2023-03-01 09:15
本发明专利技术实施例提出了一种MPLS报文的封装方法,该方法包括:在多协议标签交换MPLS标签栈的栈底结构中设置MPLS管理头,其中,所述MPLS管理头位于栈底标签之后,辅助数据之前,所述MPLS管理头中包括:所述辅助数据的数据类型和偏移长度信息,所述栈底结构包括:所述MPLS管理头和所述辅助数据。采用上述技术方案,解决了相关技术中在MPLS标签栈的指示方式复杂度高,效率低等问题。效率低等问题。效率低等问题。

【技术实现步骤摘要】
MPLS报文的封装方法及装置、存储介质及电子装置


[0001]本专利技术涉及通信领域,具体而言,涉及一种MPLS报文的封装方法及装置、存储介质及电子装置。

技术介绍

[0002]MPLS(Multi

Protocol Labal Switching,多协议标签交换)技术的关键是引入了标签的概念,将IP地址映射为简单的具有固定长度的标签,用于不同的包转发和包交换技术。MPLS网络中的边缘设备接收到数据包后,分析数据包的内容,为这些数据包选择合适的标签,并利用该标签封装数据包发送到MPLS网络内。MPLS网络中所有路由器都以这个简单的、固定长度的标签取代IP头作为转发依据,当数据包最终离开MPLS网络时,标签被MPLS网络中的边缘设备剥离。利用MPLS技术转发数据包,提高了数据的转发效率。
[0003]SR(Segment Routing,分段路由)是一种基于源地址的路由转发的方法,通过在现有的MPLS网络的标签栈(SR

MPLS)中或者IPv6报文头中携带的段路由报文头(SRv6)中携带有一系列的指示操作(也称为段操作),以用于指示数据在网络中的路由进行传输。
[0004]对于某些MPLS/SR

MPLS网络中的业务来说,需要在MPLS的标签栈栈底携带辅助数据,如RFC5586中,定义的通用关联通道头(Generic Associated Channel Header,G

ACH),用于OAM业务。G

ACH仅用于端到端的数据携带,中间节点不处理G

ACH,且无法叠加,在标签栈底的位置,需要携带一个特殊标签,说明随后携带G

ACH。
[0005]随着网络的演进和新型业务的发展,越来越多的业务要求在MPLS的标签栈之后携带数据,例如draft

li

mpls

enhanced

vpn

vtn

dd中要求在标签栈之后携带切片相关信息,切片信息可能是需要逐跳处理的;draft

gandhi

mpls

ioam

sr中要求在标签栈之后携带IOAM数据,可能是逐跳,也可能是端到端的;draft

stein

srtsn中,可能需要在栈底携带与报文转发时间戳相关的信息;此外,栈底还可能携带业务功能链(Service Function Chain,SFC)的元数据(Metadata)信息等。
[0006]本文中将携带在标签栈之后的,与业务相关的数据或者与转发相关的数据统称为辅助数据。
[0007]特别是某些场景下,需要多种数据在栈底进行叠加,且不同的节点需要处理的数据不完全相同,原有的MPLS架构已不能很好的满足需求。
[0008]目前,针对新需求,存在一些解决方案。无论哪种方案,都存在以下关键问题需要解决:
[0009]1)如何在标签栈中指示栈底携带数据。当前的解决方案,一般在栈中用一个或多个标签去指示。该标签可以是一个普通的标签,同时具备报文转发和指示的含义,也可以是一个特殊标签(SPL)或者扩展特殊标签(eSPL),不管是何种标签,本专利技术实施例中一并称为指示标签(Indicator Label)。
[0010]2)栈底携带的辅助数据怎样高效解析。现有的解决方案主要有两种思路:
[0011]一种是类似于IPv6扩展头,为在MPLS标签栈之后携带的数据定义专用的扩展头,
如,该类扩展头,一般会携带本扩展头类型(Type),长度(Length),还会携带紧随其后扩展头或者负载(Payload)的类型。该类方案,在读取数据时,需要逐个依次读取各个扩展头,例如MPLS标签栈后携带了EH1/EH2/EH3,一个只关注EH3的设备,也需要逐个读取扩展头,才能找到EH3。该种与IPv6扩展头处理类似的链式的解析方式,由于不能直接获取本节点关注的数据,报文处理效率较低,也被认为是IPv6扩展头的缺陷之一。
[0012]另一种是draft

bryant

mpls

aux

data

pointer提出的方式,在指示标签中,直接携带信息指明该指示标签对应扩展头的相对于该标签的偏移量,如图1所示,标签的前20bit携带了标签值,利用后11bit(排除了代表标签位于栈底的S bit),其中前3bit代表了偏移量单位,后8bit填写偏移量的具体数值。该方式的优点在于,可以直接通过指示标签到达相应的栈底数据,使得报文解析效率更高,此外放松了栈底携带数据的格式的要求。但此技术方案同样存在明显的缺陷:第一,一个指示标签只能对应一个栈底数据,如果栈底携带了多个数据,则需要多个指示标签一一对应,会显著增加标签栈深;第二,在栈底数据大小可变的情况下,指示标签中的偏移量也要跟随变化,例如标签栈为ToS

I1

I2

I3,对应栈底数据EH1

EH2

EH3,如果在某个节点上,EH1的大小发生了变化,则相应的EH2和EH3对应的偏移量会发生变化,即标签I2和I3中的偏移量部分要进行相应的修改,对于MPLS来说,要完成该操作,需要重新生成标签栈,对于如IOAM等数据大小可能逐跳变化的场景,每个节点都需要相应的操作,是非常大的处理代价,此外由于该方案是针对标签操作,如果在修改标签栈的过程中发生了异常或故障,导致标签的错误取值,则可能导致报文转发异常;第三,偏移量信息存放在标签栈中,容易受到标签栈变化的影响,导致方案的扩展性差,例如在故障保护快速重路由FRR(fast reroute)等场景下,如果在报文中压入一段保护路径对应的标签栈,指示标签中的偏移量大小也可能会随之变化。
[0013]针对相关技术,在MPLS辅助数据的指示方式复杂度高,数据解析效率低等问题,目前尚未提出有效的解决方案。
[0014]因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。

技术实现思路

[0015]本专利技术实施例提供了一种MPLS报文的封装方法及装置、存储介质及电子装置,以至少解决在MPLS标签栈的指示方式复杂度高,效率低等问题的问题。
[0016]根据本专利技术实施例的一方面,提供一种MPLS报文的封装方法,包括:在多协议标签交换MPLS标签栈的栈底结构中设置MPLS管理头,其中,所述MPLS管理头位于栈底标签之后,辅助数据之前,所述MPLS管理头中包括:所述辅助数据的数据类型和偏移长度信息,所述栈底结构包括:所述MPLS管理头和所述辅助数据。
[0017]进一步地,在多协议标签交换MPLS数据结构中设置MPLS管理头之后,所述方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种MPLS报文的封装方法,其特征在于,包括:在多协议标签交换MPLS标签栈的栈底结构中设置MPLS管理头,其中,所述MPLS管理头位于栈底标签之后,辅助数据之前,所述MPLS管理头中包括:所述辅助数据的数据类型和偏移长度信息,所述栈底结构包括:所述MPLS管理头和所述辅助数据。2.根据权利要求1所述的MPLS报文的封装方法,其特征在于,在多协议标签交换MPLS数据结构中设置MPLS管理头之后,所述方法还包括:解析所述MPLS管理头,以确定所述辅助数据中是否包括目标节点待处理的数据类型;在所述辅助数据中包括目标节点待处理的数据类型的情况下,根据所述偏移长度信息跳转到所述辅助数据的起始位置,其中,所述偏移长度信息用于指示从当前位置到所述起始位置待偏移的数据大小。3.根据权利要求2所述的MPLS报文的封装方法,其特征在于,所述方法还包括:所述MPLS管理头包括:所述辅助数据的长度信息,或者所述辅助数据的终结偏移量信息,其中,所述终结偏移量信息和所述辅助数据的起始偏移量信息之差为所述辅助数据的长度信息。4.根据权利要求1所述的MPLS报文的封装方法,其特征在于,所述方法还包括:读取所述栈底结构对应的指示标签,以确定所述栈底结构中是否携带所述辅助数据。5.根据权利要求3所述的MPLS报文的封装方法,其特征在于,所述方法还包括:在检测到所述辅助数据发生变化的情况下,修改所述MPLS管理头中包括的所述辅助数据的数据类型和偏移长度信息,以使修改后的数据类型和偏移长度信息与变化后的辅助数据对应。6.根据权利要求5所述的MPLS报文的封装方法,其特征在于,所述方法...

【专利技术属性】
技术研发人员:刘尧彭少富
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

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

1