CN117714558A - SRv6报文处理方法、装置、节点设备以及控制器 - Google Patents
SRv6报文处理方法、装置、节点设备以及控制器 Download PDFInfo
- Publication number
- CN117714558A CN117714558A CN202311736600.XA CN202311736600A CN117714558A CN 117714558 A CN117714558 A CN 117714558A CN 202311736600 A CN202311736600 A CN 202311736600A CN 117714558 A CN117714558 A CN 117714558A
- Authority
- CN
- China
- Prior art keywords
- message
- srv
- segment list
- segment
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000006835 compression Effects 0.000 claims description 57
- 238000007906 compression Methods 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 27
- 238000005538 encapsulation Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种SRv6报文处理方法、装置、节点设备以及控制器,其中,该方法包括:控制器向各个节点设备下发段列表配置信息,头节点设备接收到业务报文时,根据段列表配置信息对SRH头部进行压缩并基于压缩后的SRH头部对业务报文进行封装,将封装后的报文转发给下一节点设备,中间节点设备和尾节点设备对封装后的SRv6报文的SRH头部进行迭代并进行转发,直至将报文发送给目的设备。本发明可以对SRv6报文头进行压缩,将报文头的字节长度固定,从而减小SRv6报文头长度,降低带宽耗费。
Description
技术领域
本发明涉及网络通信技术领域,具体而言,涉及一种SRv6报文处理方法、装置、节点设备以及控制器。
背景技术
随着IPv6(Internet Protocol Version 6,互联网协议第6版)技术的不断发展,骨干网已经逐步替换为IPv6网络。出现了IPv6网络能承载不同的业务诉求,也需要IPv6网络能逐步代替MPLS(Multi-Protocol Label Switching,多协议标签交换)网络。SRv6(Segment Routing IPv6,基于IPv6的分段路由)技术出现后,能够对不同的VPN(VirtualPrivate Network,虚拟专用网络)分配不同的标识,在IPv6网络中应用不同的SID(SegmentID,分段路由标识,也称为段标识)可以承载不同的VPN路由满足VPN隔离。在相同的源设备与目的设备之间可以规划不同的线路质量的路径,对于不同的需求的流量可以通过不同的路径为其承载流量进行转发。
实际网络中控制器向节点设备下发SID列表和SRv6 TE Policy后,在SRv6 TEPolicy下配置多个候选路径,不同候选路径关联不同的SID列表,SRv6 TE Policy选择一条或多条SID列表指导业务报文进行SRv6 TE转发,转发业务报文时,在业务报文前添加IPv6头,IPv6头中包含IPv6源地址、IPv6目的地址、SRH(Segment Routing Header,分段路由报文头)头部等信息。其中,SRv6报文头中包含SID列表,因此SRv6报文头长度由SID列表长度决定,当SID列表中的SID段标识数量很多时,整个SRv6报文头长度较长。
目前SRv6 TE Policy主要应用于大型组网场景,必然存在段列表长度较长的情况,在此情况下SRv6报文转发必然存在大量带宽浪费在SRv6报文头上,会造成业务带宽不必要的浪费。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种SRv6报文处理方法、装置、节点设备以及控制器,以解决现有技术中SRv6报文转发存在大量带宽浪费在SRv6报文头上,造成业务带宽不必要浪费的问题。
为实现上述目的,本发明采用的技术方案如下:
第一方面,本发明提供了一种SRv6报文处理方法,应用于SRv6网络中的头节点设备,所述方法包括:
接收并保存段列表配置信息,所述段列表配置信息包括:段列表索引、SID列表以及压缩指示信息;所述段列表索引与所述SID列表一一对应;
在接收到待发送的业务报文时,基于SRv6 TE策略查找对应的段列表配置信息;
基于所述对应的段列表配置信息对所述业务报文添加SRH头部,得到封装后的SRv6报文,并将所述封装后的SRv6报文发送给下一节点设备;
其中,所述SRH头部中包括:与所述压缩指示信息对应的压缩标识值、段列表索引和业务SID,所述压缩标识值用于指示所述SRH头部是否经过压缩,所述段列表索引用于指示所述头节点设备在所述对应的段列表配置信息中对应的SID列表。
可选的,在所述压缩指示信息指示需要进行压缩时,所述基于所述段列表配置信息对所述业务报文添加SRH头部,得到封装后的SRv6报文,包括:
在SRH头部的Flags字段中填充对应的压缩标识值;
在所述SRH头部的Tag字段填充所述段列表索引;
根据所述段列表配置信息,确定所述头节点设备对应的SID列表中的SID个数,并将所述SID个数添加到所述SRH头部的Segments Left字段中;
在所述SRH头部中的Segment List[0]字段填充对应的业务SID后,得到填充后的不携带SID列表的SRH头部;
将填充后的所述SRH头部作为所述业务报文的报文头,并进行IPv6封装得到封装后的SRv6报文。
第二方面,本发明提供了一种SRv6报文处理方法,应用于SRv6网络中的其他节点设备,所述其他节点设备包括:中间节点设备或尾节点设备,所述方法包括:
接收并保存控制器发送的段列表配置信息,所述段列表配置信息包括:
段列表索引、SID列表以及压缩指示信息;所述段列表索引与所述SID列表一一对应;
接收上一节点设备发送的封装后的SRv6报文,从所述封装后的SRv6报文的SRH头部读取压缩标识值、段列表索引以及Segments Left字段的值,其中,所述压缩标识值用于指示所述SRH头部是否经过压缩,所述Segments Left字段中的值用于指示所述上一节点设备在所述段列表配置信息中对应的SID;
根据所述压缩标识值、段列表索引以及Segments Left字段的值,确定所述封装后的SRv6报文的目的段路径地址,并根据所述目的段路径地址对所述封装后的SRv6报文进行转发。
可选的,所述从所述封装后的SRv6报文的SRH头部读取压缩标识值、段列表索引以及Segments Left字段的值,包括:
解析所述封装后的SRv6报文的SRH头部,得到所述压缩标识值;
若所述压缩标识值指示所述SRH头部经过压缩,则从所述封装后的SRv6报文的SRH头部中读取所述段列表索引以及所述Segments Left字段的值。
可选的,所述根据所述压缩标识值、段列表索引以及所述Segments Left字段的值,确定所述封装后的SRv6报文的目的段路径地址,包括:
根据所述段列表索引从所述段列表配置信息中查找所述段列表索引对应的SID列表;
基于段列表索引对应的SID列表以及所述Segments Left字段的值确定所述目的段路径地址。
可选的,所述基于段列表索引对应的SID列表以及所述Segments Left字段的值确定所述目的段路径地址,包括:
读取Segments Left字段的值,并基于预设策略对所述Segments Left字段的值进行处理,得到当前Segments Left字段的值,所述当前Segments Left字段的值用于指示当前节点设备在所述段列表配置信息中对应的SID序号;
根据所述当前Segments Left字段的值从所述段列表索引对应的SID列表中查找所述目的段路径地址。
可选的,所述根据所述目的段路径地址对所述封装后的SRv6报文进行转发,包括:
若所述其他节点设备为中间节点设备,则将所述目的段路径地址作为所述封装后的SRv6报文的目的地址;
将所述封装后的SRv6报文转发至所述目的地址对应的节点设备。
可选的,所述根据所述目的段路径地址对所述封装后的SRv6报文进行转发,包括:
若所述其他节点设备为尾节点设备,则从所述封装后的SRv6报文的SRH头部中读取Segment List[0]字段的值;
将所述封装后的SRv6报文的目的地址替换为所述Segment List[0]字段的值,并基于所述Segment List[0]字段的值确定所述封装后的SRv6报文的目的设备;
对所述封装后的SRv6报文进行解封装,得到封装前的业务报文,并将所述业务报文转发给所述目的设备。
第三方面,本发明提供了一种SRv6报文处理装置,应用于头节点设备,所述装置包括:
第一配置模块,用于接收并保存段列表配置信息,所述段列表配置信息包括:段列表索引、SID列表以及压缩指示信息;所述段列表索引与所述SID列表一一对应;
查找模块,用于在接收到待发送的业务报文时,基于SRv6 TE策略查找对应的段列表配置信息;
封装转发模块,用于基于所述对应的段列表配置信息对所述业务报文添加SRH头部,得到封装后的SRv6报文,并将所述封装后的SRv6报文发送给下一节点设备;
其中,所述SRH头部中包括:与所述压缩指示信息对应的压缩标识值、段列表索引和业务SID,所述压缩标识值用于指示所述SRH头部是否经过压缩,所述段列表索引用于指示所述头节点设备在所述对应的段列表配置信息中对应的SID列表。
可选的,所述封装转发模块具体用于:
在SRH头部的Flags字段中填充对应的压缩标识值;
在所述SRH头部的Tag字段填充所述段列表索引;
根据所述段列表配置信息,确定所述头节点设备对应的SID列表中的SID个数,并将所述SID个数添加到所述SRH头部的Segments Left字段中;
在所述SRH头部中的Segment List[0]字段填充对应的业务SID后,得到填充后的不携带SID列表的SRH头部;
将填充后的所述SRH头部作为所述业务报文的报文头,并进行IPv6封装得到封装后的SRv6报文。
第四方面,本发明提供了一种SRv6报文处理装置,应用于SRv6网络中的其他节点设备,所述其他节点设备包括:中间节点设备或尾节点设备,所述装置包括:
第二配置模块,用于接收并保存控制器发送的段列表配置信息,所述段列表配置信息包括:段列表索引、SID列表以及压缩指示信息;所述段列表索引与所述SID列表一一对应;
读取模块,用于接收上一节点设备发送的封装后的SRv6报文,从所述封装后的SRv6报文的SRH头部读取压缩标识值、段列表索引以及Segments Left字段的值,其中,所述压缩标识值用于指示所述SRH头部是否经过压缩,所述Segments Left字段中的值用于指示所述上一节点设备在所述段列表配置信息中对应的SID;
转发模块,用于根据所述压缩标识值、段列表索引以及Segments Left字段的值,确定所述封装后的SRv6报文的目的段路径地址,并根据所述目的段路径地址对所述封装后的SRv6报文进行转发。
可选的,所述读取模块具体用于:
解析所述封装后的SRv6报文的SRH头部,得到所述压缩标识值;
若所述压缩标识值指示所述SRH头部经过压缩,则从所述封装后的SRv6报文的SRH头部中读取所述段列表索引以及所述Segments Left字段的值。
可选的,所述转发模块具体用于:
根据所述段列表索引从所述段列表配置信息中查找所述段列表索引对应的SID列表;
基于段列表索引对应的SID列表以及所述Segments Left字段的值确定所述目的段路径地址。
可选的,所述转发模块具体用于:
读取Segments Left字段的值,并基于预设策略对所述Segments Left字段的值进行处理,得到当前Segments Left字段的值,所述当前Segments Left字段的值用于指示当前节点设备在所述段列表配置信息中对应的SID序号;
根据所述当前Segments Left字段的值从所述段列表索引对应的SID列表中查找所述目的段路径地址。
可选的,所述转发模块具体用于:
若所述其他节点设备为中间节点设备,则将所述目的段路径地址作为所述封装后的SRv6报文的目的地址;
将所述封装后的SRv6报文转发至所述目的地址对应的节点设备。
可选的,所述转发模块具体用于:
若所述其他节点设备为尾节点设备,则从所述封装后的SRv6报文的SRH头部中读取Segment List[0]字段的值;
将所述封装后的SRv6报文的目的地址替换为所述Segment List[0]字段的值,并基于所述Segment List[0]字段的值确定所述封装后的SRv6报文的目的设备;
对所述封装后的SRv6报文进行解封装,得到封装前的业务报文,并将所述业务报文转发给所述目的设备。
第五方面,本发明提供了一种节点设备,所述节点设备为所述SRv6网络中的头节点设备、中间节点设备或尾节点设备;
若所述节点设备为头节点设备,则所述节点设备包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如上述第一方面所述的SRv6报文处理方法的步骤;
若所述节点设备为中间节点设备或尾节点设备,则所述节点设备包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如上述第二方面所述的SRv6报文处理方法的步骤。
第六方面,本发明提供了一种控制器,所述控制器运行时用于执行如上述第一方面所述的SRv6报文处理方法中所述控制器所执行的步骤,或执行上述第二方面所述的SRv6报文处理方法中所述控制器所执行的步骤。
本发明的有益效果是:通过在头节点设备、中间节点设备以及尾节点设备上预先配置段列表配置信息,并对SRv6报文的SRH头部进行压缩,使得SRH头部中仅存储业务SID、段列表索引以及当前节点设备对应的Segments Left字段的值,不必存储所有的SID列表,从而使得SRH头部的长度为固定字节数,在进行SRv6报文转发的过程中,各个节点设备基于SRH头部中当前存储的Segments Left字段的值在段列表配置信息中查找,确定当前节点设备对应的SID信息,并基于SID信息进行转发,本发明的方法可以将SRv6报文头的字节长度固定,从而使得SRv6报文头的长度不再受到段列表深度影响,大大减小SRv6报文头长度,降低带宽耗费。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的一种未压缩的SRv6报文头的示意图;
图2示出了本发明实施例提供的一种SRv6网络的架构示意图;
图3示出了本发明实施例提供的一种头节点设备中SRv6报文处理方法的流程图;
图4示出了本发明实施例提供的一种压缩后的SRH头部的示意图;
图5示出了本发明实施例提供的一种头节点设备封装业务报文的流程图;
图6示出了本发明实施例提供的一种中间节点设备或尾节点设备中SRv6报文处理方法的流程图;
图7示出了本发明实施例提供的一种读取压缩标识值、段列表索引以及SegmentsLeft字段的值的流程图;
图8示出了本发明实施例提供的一种确定目的段路径地址的流程图;
图9示出了本发明实施例提供的又一种确定目的段路径地址的流程图;
图10示出了本发明实施例提供的一种中间节点设备基于目的段路径地址转发SRv6报文的流程图;
图11示出了本发明实施例提供的一种尾节点设备转发SRv6报文的流程图;
图12示出了本发明实施例提供的一种节点设备转发SRv6报文的流程示意图;
图13示出了本发明实施例提供的一种头节点设备中SRv6报文处理装置的结构示意图;
图14示出了本发明实施例提供的一种中间节点设备或尾节点设备中SRv6报文处理装置的结构示意图;
图15示出了本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,应当理解,本发明中附图仅起到说明和描述的目的,并不用于限定本发明的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本发明中使用的流程图示出了根据本发明的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本发明内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
首先对SRv6网络中转发业务报文的具体场景进行说明,如图1所示,是一种SRv6网络的具体使用场景,参照图1,SRv6网络域内设备中包括控制器、头节点设备R0、中间节点设备R1、R2、R3以及R4、尾节点设备R5,头节点设备在接收到流量发送设备CE1处发送的业务报文时,对业务报文进行封装,得到封装后的SRv6报文,封装后的SRv6报文的SRH头部可以如图1所示,头节点设备可以基于封装后的SRv6报文的SRH头部部分获取到段路径地址,并根据该段路径地址将SRv6报文转发到下一节点设备,下一节点设备再根据从报文中获取的段路径地址进行转发,最终将报文经由尾节点设备转发到目的设备CE2。
上述在SRv6网络中转发业务报文的场景中,需要在业务报文前添加IPv6头,IPv6头中包含IPv6源地址、IPv6目的地址、SRv6 SRH头部等信息,封装SRH头部的IPv6报文格式如图1所示。
参照图1,IPv6报文中包括IPv6报文头、SRH头部以及IPv6载荷。其中,SRH头部的长度计算公式为8+16*(n+1)字节,n为段列表长度,Segment List[0]为SRv6业务SID,SegmentList[1]到Segment List[n]为n个段列表成员,即n个SID,由此可以看出,在此过程中SRv6报文头中始终存储所有的业务SID,SRv6头长度由段列表长度决定,当n值较大时,整个SRv6头长度较长,对业务带宽造成不必要的浪费。
基于此,本发明提出一种SRv6报文处理方法,通过对SRv6报文的SRH头部进行压缩处理,从而缩短SRv6报文头长度,解决SRv6报文头长度过长导致的业务带宽浪费的问题。
接下来对本发明的SRv6报文处理方法进行说明,该方法可以应用于图2所示的SRv6网络的节点设备上。
图2所示的SRv6网络中,控制器与头节点设备通信连接,头节点设备、中间节点设备以及尾节点设备通信连接。中间节点设备的数量可以是零个、一个或多个,当中间节点设备的数量为零个时,头节点设备与尾节点设备直接连接。
需要说明的是,控制器也可以与头节点设备、中间节点设备以及尾节点设备分别通信连接,连接方式本发明在此不做限制。
如图3所示,本发明的SRv6报文处理方法应用于头节点设备上时,该方法包括:
S301、接收并保存段列表配置信息,段列表配置信息包括:段列表索引、SID列表以及压缩指示信息;段列表索引与所述SID列表一一对应。
其中,段列表配置信息可以由控制器下发,示例性的,控制器在计算得到段列表之后,可以将段列表配置信息,安装到该路径下的头节点设备上。
作为另一种可能的实施方式,段列表配置信息也可以预先在头节点设备上进行本地配置得到。
可选的,段列表配置信息中可以包括多条段列表的段列表信息,每个段列表信息分别包括一条段列表的段列表索引、段列表名称、SID列表以及段列表类型。
其中,段列表索引可以唯一标识一个段列表,不同设备的同一段列表对应相同的段列表索引。
段列表即为SID列表,包含所有SID信息,每个段列表成员即每个SID表述为Segment list[1]、Segment list[2]、…Segment list[n],总计n个SID。
压缩指示信息可以指示进行SRv6封装时是否对段列表进行压缩。当压缩指示信息指示不压缩时,表示进行SRv6封装时将Segment list所有SID封装到SRH头部中,当压缩指示信息指示需要压缩时,表示进行SRv6封装时不需要将所有SID都封装到SRH头部。
S302、在接收到待发送的业务报文时,基于SRv6 TE策略查找对应的段列表配置信息。
业务报文到达头节点设备时,可以基于SRv6 TE策略命中转发路径,并基于命中的转发路径的段列表信息查找对应的段列表配置信息。
在段列表配置信息中命中的转发路径的段列表信息包括段列表的段列表索引、段列表名称、SID列表以及段列表类型。
S303、基于对应的段列表配置信息对业务报文添加SRH头部,得到封装后的SRv6报文,并将封装后的SRv6报文发送给下一节点设备。
其中,SRH头部中包括:与压缩指示信息对应的压缩标识值、段列表索引和业务SID,压缩标识值用于指示SRH头部是否经过压缩,段列表索引用于指示头节点设备在对应的段列表配置信息中对应的SID列表,业务SID用于指示业务报文最终的目的地址。
可选的,头节点设备可以对业务报文进行SRv6封装处理,包括封装SRv6头以及压缩后的SRH头部。如图4所示,是一种本发明给出的进行SRH头部压缩后的SRH头部格式。
参照图4,其中,压缩标识值存储在图1所示的原始SRH头部格式的Flags字段位置中,可以是占用1个比特位的自定义标识值(也可以是占用多个比特位的约定标示值),当Flags字段中的约定的比特位置位时,表示封装SRv6头时进行了SRH头部压缩。
本发明SRH头部中的段列表索引存储于图1所示的原始SRH头部格式的Tag字段位置中,占16个比特位,该字段与压缩标识值配套使用,当Flags字段中为约定的标识值时,图1所示的Tag字段中存储段列表索引。
本发明SRH头部中Segments Left字段用于填充所述头节点设备对应的SID列表中的SID个数,在头节点设备中,如果SID列表包括n个SID,则Segments Left字段填充n,基于Segments Left字段的值可以在SID列表中查找到对应的SID,从而将报文基于SID转发给下一节点设备。
示例性的,假设节点设备A是头节点设备的下一节点设备,在节点设备A进行报文转发时,可以将Segments Left字段的值n迭代变为n-1,并查询得到SID信息Segment List[n-1],此时节点设备A可以将Segment List[n-1]作为目的地址并进行报文转发。
另外,如图4所示,本发明SRH头部压缩后的仅存储一个SID(见图4中Segment List[0],即业务SID)。
参照图1,头节点设备在接收到流量入口设备CE1发送的业务报文之后,可以根据业务路由先确定业务报文转发所需的段列表,然后基于段列表以及段列表配置信息,获取对应的段列表索引以及SID列表的SID数量,填充压缩标识值到Flags字段以及填充Segments Left字段的值,对接收到的业务报文添加SRH头部和IPv6报文头后,得到封装后的SRv6报文,并将封装后的SRv6报文发送给下一节点设备。因为IPv6报文头的封装属于现有技术,本发明实施例不再赘述。
本发明实施例中,头节点设备根据段列表配置信息,对接收到的待发送的业务报文添加SRH头部,并在封装IPv6报文头后得到封装后的SRv6报文,通过SRH头部中在Flags字段中存储的压缩标识值和在Tag字段存储的段列表索引实现对SRH头部的压缩,SRH头部中仅存储业务SID、段列表索引以及当前节点设备对应的Segments Left字段的值,从而使得SRH头部的长度为固定字节数,在进行SRv6报文转发的过程中,由各个节点设备基于SRH头部中当前存储的Segments Left字段的值在段列表配置信息中查找,以确定当前节点设备的SID信息,并基于SID信息进行转发,本发明的方法可以将SRv6报文头的字节长度固定,从而使得SRv6报文头的长度不再受到段列表深度影响,大大减小SRv6报文头长度,降低带宽耗费。
以下是对上述基于段列表配置信息对SRv6报文添加SRH头部,得到封装后的SRv6报文的进一步说明,如图5所示,上述S302步骤包括:
S501、在SRH头部的Flags字段中填充对应的压缩标识值。
其中,压缩标识值用于表征SRH头部是否经过压缩,若SRH头部经过压缩,则在图4所示的SRH头部的Flags字段中填充压缩标识值,表示当前的SRH头部中不再携带全部的SID列表。
S502、在SRH头部的Tag字段填充段列表索引。
可选的,头节点设备可以根据接收到的业务报文的路由信息在段列表配置信息中查找,确定头节点设备对应的段列表索引,并将该段列表索引封装到图4的Tag字段中。
S503、根据段列表配置信息,确定头节点设备对应的SID列表中的SID个数,并将SID个数添加到SRH头部的Segments Left字段中。
S504、在SRH头部中的Segment List[0]字段填充对应的业务SID后,得到填充后的不携带SID列表的SRH头部。
S505、将填充后的SRH头部作为业务报文的报文头,并进行IPv6封装得到封装后的SRv6报文。
举例来说,假设SID列表为(Segment list[1]、Segment list[2]、…Segment list[n]),则SID个数为n。此时可以将SRH头部的Segments Left字段填充为n,并在SRH头部中的Segment List[0]字段填充业务报文的业务SID,得到填充后的SRH头部,参照图4,填充后的SRH头部中不携带SID列表,并将填充后的SRH头部作为接收到的业务报文的报文头进行封装处理。
需要注意的是,将SID的总个数填充到SRH头部中,并将封装后的SRv6报文转发给中间节点设备之后,中间节点设备会对Segments Left字段中的值进行迭代,从而基于Segments Left字段中的值确定新的SID地址,并基于新的SID地址进行报文的转发,因此本发明的SRH头部中不必存储所有SID列表,从而将SRH头部所占的字节数固定,减少带宽耗费。
在头节点设备对业务报文添加压缩后的SRH头部,得到封装后的SRv6报文,并将封装后的SRv6报文转发给下一节点设备之后,下一节点设备可以继续对封装后的SRv6报文进行转发,直至转发给目的设备。
其中,下一节点设备可以是中间节点设备或尾节点设备。接下来结合图6,对SRv6网络中的中间节点设备或尾节点设备的SRv6报文处理方法进行说明,如图6所示,该方法包括:
S601、接收并保存控制器发送的段列表配置信息,段列表配置信息包括:段列表索引、SID列表以及压缩指示信息;段列表索引与SID列表一一对应。
其中,控制器发送的段列表配置信息可以与上述S301步骤中头节点设备所接收到的段列表配置信息相同,具体内容可以参照前述说明,在此不做赘述。
作为另一种可能的实施方式,也可以由控制器向头节点设备下发段列表配置信息,然后由头节点设备将段列表配置信息转发给各个中间节点设备以及尾节点设备。
S602、接收上一节点设备发送的封装后的SRv6报文,从封装后的SRv6报文的SRH头部读取压缩标识值、段列表索引以及Segments Left字段,其中,压缩标识值用于指示SRH头部是否经过压缩,Segments Left字段中的值用于指示上一节点设备在段列表配置信息中对应的SID。
当前节点设备可以接收上一节点设备发送的封装后的SRv6报文,当前节点设备可以是图1所示的SRv6网络中的中间节点设备或尾节点设备,上一节点设备可以是SRv6网络中与当前节点设备相邻且位于当前节点设备之前的中间节点设备或头节点设备。
可选的,压缩标识值可以指示封装后的SRv6报文的SRH头部是否经过压缩,Segments Left字段的值可以指示上一节点设备在段列表配置信息中对应的SID。
如果压缩标识值指示封装后的SRv6报文的SRH头部经过压缩,则当前节点设备可以继续从SRH头部读取Segments Left字段的值,并根据Segments Left字段的值确定当前节点设备对应的SID。
S603、根据压缩标识值、段列表索引以及Segments Left字段的值,确定封装后的SRv6报文的目的段路径地址,并根据目的段路径地址对封装后的SRv6报文进行转发。
当前节点设备在接收到上一节点设备发送的封装后的SRv6报文之后,可以对SRH头部中的Segments Left字段的值进行迭代,并在段列表配置信息中查找迭代后的Segments Left字段的值,将这个值对应的SID地址作为中间节点设备转发的IPv6目的地址。
参照图1,假设控制器向各个节点设备下发的段列表路径为:R0-R1-R2-R4-R5,头节点设备R1在将封装后的SRv6报文转发给中间节点设备R1之后,中间节点设备R1可以先读取封装后的SRv6报文的SRH头部中的压缩标识值、段列表索引、Segments Left字段的值,然后基于SRH头部中的这些信息和段列表配置信息,将图4中SRH头部中的Segments Left字段的n替换为n-1,并在段列表配置信息中查找Segment list[n-1]对应的段路径地址,将该段路径地址作为中间节点设备R1转发的IPv6目的地址。
需要说明的是,本发明只是以SRv6网络中的任意一个中间节点设备的转发过程为例进行说明,应当理解,当SRv6网络中包括多个中间节点设备时,各个节点设备按照控制器预先下发的段列表路径依次进行转发,各个中间节点设备依次执行上述S203步骤,并将封装后的SRv6报文转发给下一中间节点设备,直至最后一个中间节点设备也执行上述S203步骤,并将封装后的封装后的SRv6报文转发给尾节点设备。
作为另一种可能的实施方式,当SRv6网络中仅包含头节点设备和尾节点设备时,尾节点设备也可以从封装后的SRv6报文中读取压缩标识值、段列表索引以及SegmentsLeft字段的值,确定目的段路径地址,并根据目的段路径地址对封装后的SRv6报文进行转发,此时,目的段路径地址可以是目的设备的地址。
本发明实施例中,通过在中间节点设备以及尾节点设备上预先配置段列表配置信息,并由头节点设备对拟封装的SRv6报文的SRH头部进行压缩,使得SRH头部中不必存储所有SID列表,从而使得SRH头部的长度为固定字节数,在进行SRv6报文转发的过程中,中间节点设备或尾节点设备基于SRH头部中的压缩标识值、段列表索引以及Segments Left字段的值在段列表配置信息中查找,确定当前节点设备的段路径地址,并基于段路径地址进行转发,本发明的方法可以将SRv6报文头的字节长度固定,从而使得SRv6报文头的长度不再受到段列表深度影响,大大减小SRv6报文头长度,降低带宽耗费。
以下是对上述从封装后的SRv6报文的SRH头部读取压缩标识值、段列表索引以及Segments Left字段的值的进一步说明,如图7所示,上述S602步骤包括:
S701、解析封装后的SRv6报文的SRH头部,得到压缩标识值。
S702、若压缩标识值指示SRH头部经过压缩,则从封装后的SRv6报文的SRH头部中读取段列表索引以及Segments Left字段的值。
其中,第一预设值可以是1,在压缩标识值为1时,说明SRH头部经过了压缩,此时中间节点设备可以读取SRH头部中的Tag字段的值,得到段列表索引,并读取Segments Left字段的值。
上述S603步骤中根据压缩标识值、段列表索引以及Segments Left字段的值,确定封装后的SRv6报文的目的段路径地址,如图8所示,包括:
S801、根据段列表索引从段列表配置信息中查找段列表索引对应的SID列表。
可选的,封装后的SRv6报文的SRH头部中的段列表索引可以指示段列表配置信息中的一个SID列表,SID列表用于指示SRv6报文转发时依次经过的段列表路径。
节点设备可以读取图4所示的SRH头部中Tag字段的值,得到段列表索引,再在段列表配置信息中查找该段列表索引对应的值,即得到段列表索引对应的SID列表。
S802、基于段列表索引对应的SID列表以及Segments Left字段的值确定目的段路径地址。
其中,目的段路径地址可以是当前的封装后的SRv6报文的SRH头部中,SegmentsLeft字段的值在SID列表中所对应的SID地址。
在确定当前中间节点设备对应的段路径地址之后,可以将段路径地址作为当前中间节点设备的IPv6目的地址,并转发封装后的SRv6报文。
接下来对上述基于段列表索引对应的SID列表以及Segments Left字段的值确定目的段路径地址的步骤进行说明,如图9所示,上述S802步骤包括:
S901、读取Segments Left字段的值,并基于预设策略对Segments Left字段的值进行处理,得到当前Segments Left字段的值,当前Segments Left字段的值用于指示当前节点设备在段列表配置信息中对应的SID序号。
节点设备在接收到封装后的SRv6报文之后,可以读取SRH头部的Segments Left字段的值,并对Segments Left字段的值进行处理,根据处理后的值确定当前节点设备在段列表配置信息中对应的SID序号。
作为一种可能的实施方式,可以将Segments Left字段的值减1的结果作为当前Segments Left字段的值。示例性的,假设Segments Left字段的值为m,当前Segments Left字段的值为m-1,此时当前节点设备在段列表配置信息中对应的SID序号为m-1,该序号在段列表配置信息中对应的SID地址为Segment List[m-1]。
应当理解,当前Segments Left字段的值可以由头节点设备封装到SRH头部的Segments Left字段的值相关。
举例来说,也可以将Segments Left字段的值直接作为当前Segments Left字段的值,此时,头节点设备在添加SRH头部时,就可以将SID个数减1的值封装到SRH头部中。
S902、根据当前Segments Left字段的值从段列表索引对应的SID列表中查找目的段路径地址。
示例性的,假设当前节点设备读取到封装后的SRv6报文的SRH头部中的SegmentsLeft字段的值为n,则可以将n-1对应的段路径地址作为当前节点设备的段路径地址,并将该段路径地址作为当前节点设备的IPv6目的地址。
以下是对上述根据目的段路径地址对封装后的SRv6报文进行转发的进一步说明,如图10所示,上述S603步骤包括:
S1001、若其他节点设备为中间节点设备,则将目的段路径地址作为封装后的SRv6报文的目的地址。
S1002、将封装后的SRv6报文转发至目的地址对应的节点设备。
在根据当前Segments Left字段的值从段列表配置信息中确定目的段路径地址之后,可以将目的段路径地址作为中间节点设备的IPv6目的地址,替换封装后的SRv6报文的目的地址,并将目的地址替换后的封装后的SRv6报文转发给下一节点设备。
作为另一种可能的实施方式,最后一个中间节点设备将封装后的SRv6报文发送给尾节点设备之后,尾节点设备可以基于封装后的SRv6报文的SRH头部以及段列表配置信息确定封装后的SRv6报文的目的设备,上述根据目的段路径地址对封装后的SRv6报文进行转发的步骤,如图11所示,包括:
S1101、若其他节点设备为尾节点设备,则从封装后的SRv6报文的SRH头部中读取Segment List[0]字段的值。
S1102、将封装后的SRv6报文的目的地址替换为Segment List[0]字段的值,并基于Segment List[0]字段的值确定封装后的SRv6报文的目的设备。
其中,Segment List[0]字段的值用于指示封装后的SRv6报文的业务SID。
Segments Left字段的值等于1时,说明当前节点设备为尾节点设备,此时尾节点设备在读取到SRH头部中的压缩标识值为1时,可以从封装后的SRv6报文的SRH头部中读取Segment List[0]字段的值,即Segment List[0],并确定Segment List[0]对应的SID值,再查找目的地址,匹配到业务SID,确定封装后的SRv6报文的目的地址,然后再次进行IPv6转发。
S1103、对封装后的SRv6报文进行解封装,得到封装前的业务报文,并将业务报文转发给目的设备。
当匹配到本地的业务SID后,尾节点设备可以对封装后的SRv6报文进行解封装,去掉IPv6报文头,并进行业务报文的转发。
参照图1,尾节点设备R5可以剥离SRv6报文的IPv6报文头,并将解封装后得到的业务报文转发给目的设备CE2。
接下来结合图12,对本发明的SRv6报文处理方法的整体流程进行说明。
参照图12,头节点设备R0接收到业务报文之后,对业务报文进行封装,填充段列表索引以及压缩标识值,将Segments Left字段的值置为SID总个数n,得到封装后的SRv6报文,并将封装后的SRv6报文转发给中间节点设备R1,中间节点设备R1将SRv6报文头中的Segments Left字段的值替换为n-1,并将SRv6报文转发给下一中间节点设备。
当尾节点设备Rn接收到封装后的SRv6报文时,将封装后的SRv6报文的IPv6目的地址替换为SRH头中Segment List[0]字段对应的SID值,再查找目的地址,匹配到业务SID后,将IPv6头剥掉,进行原始的业务报文转发,将业务报文转发给目的设备。
本发明的方法仅在SRv6报文头中存储段列表索引、压缩标识值以及SegmentsLeft字段的值,在转发过程中,由各个节点设备对Segments Left字段的值进行迭代替换,并基于预先配置的段列表配置信息确定报文的下一目的地址,从而将SRv6报文的报文头固定为64字节,使得SRv6报文头不再受到段列表深度影响,大大减小SRv6头长度,降低带宽耗费。
基于同一发明构思,本发明实施例中还提供了与SRv6报文处理方法对应的SRv6报文处理装置,由于本发明实施例中的装置解决问题的原理与本发明实施例上述SRv6报文处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图13所示,为本发明实施例提供的一种SRv6报文处理装置的示意图,该装置可以应用于头节点设备,SRv6报文处理装置中包括,其中:
第一配置模块1301,用于接收并保存段列表配置信息,段列表配置信息包括:段列表索引、SID列表以及压缩指示信息;段列表索引与SID列表一一对应;
查找模块1302,用于在接收到待发送的业务报文时,基于SRv6 TE策略查找对应的段列表配置信息;
封装转发模块1303,用于基于对应的段列表配置信息对业务报文添加SRH头部,得到封装后的SRv6报文,并将封装后的SRv6报文发送给下一节点设备;
其中,SRH头部中包括:与压缩指示信息对应的压缩标识值、段列表索引和业务SID,压缩标识值用于指示SRH头部是否经过压缩,段列表索引用于指示头节点设备在对应的段列表配置信息中对应的SID列表。
可选的,封装转发模块1303具体用于:
在SRH头部的Flags字段中填充对应的压缩标识值;
在SRH头部的Tag字段填充段列表索引;
根据段列表配置信息,确定头节点设备对应的SID列表中的SID个数,并将SID个数添加到SRH头部的Segments Left字段中;
在SRH头部中的Segment List[0]字段填充对应的业务SID后,得到填充后的不携带SID列表的SRH头部;
将填充后的SRH头部作为业务报文的报文头,并进行IPv6封装得到封装后的SRv6报文。
参照图14所示,为本发明实施例提供的另一种SRv6报文处理装置的示意图,该装置可以应用于中间节点设备或尾节点设备,SRv6报文处理装置中包括,其中:
第二配置模块1401,用于接收并保存控制器发送的段列表配置信息,段列表配置信息包括:段列表索引、SID列表以及压缩指示信息;段列表索引与SID列表一一对应;
读取模块1402,用于接收上一节点设备发送的封装后的SRv6报文,从封装后的SRv6报文的SRH头部读取压缩标识值、段列表索引以及Segments Left字段的值,其中,压缩标识值用于指示SRH头部是否经过压缩,Segments Left字段中的值用于指示上一节点设备在段列表配置信息中对应的SID;
转发模块1403,用于根据压缩标识值、段列表索引以及Segments Left字段的值,确定封装后的SRv6报文的目的段路径地址,并根据目的段路径地址对封装后的SRv6报文进行转发。
可选的,读取模块1402具体用于:
解析封装后的SRv6报文的SRH头部,得到压缩标识值;
若压缩标识值指示所述SRH头部经过压缩,则从封装后的SRv6报文的SRH头部中读取段列表索引以及Segments Left字段的值。
可选的,转发模块1403具体用于:
根据段列表索引从段列表配置信息中查找段列表索引对应的SID列表;
基于段列表索引对应的SID列表以及Segments Left字段的值确定目的段路径地址。
可选的,转发模块1403具体用于:
读取Segments Left字段的值,并基于预设策略对Segments Left字段的值进行处理,得到当前Segments Left字段的值,当前Segments Left字段的值用于指示当前节点设备在段列表配置信息中对应的SID;
根据当前Segments Left字段的值从段列表索引对应的SID列表中查找目的段路径地址。
可选的,转发模块1403具体用于:
若其他节点设备为中间节点设备,则将目的段路径地址作为封装后的SRv6报文的目的地址;
将封装后的SRv6报文转发至目的地址对应的节点设备。
可选的,转发模块1403具体用于:
若其他节点设备为尾节点设备,则从封装后的SRv6报文的SRH头部中读取SegmentList[0]字段的值;
将封装后的SRv6报文的目的地址替换为Segment List[0]字段的值,并基于Segment List[0]字段的值确定封装后的SRv6报文的目的设备;
对封装后的SRv6报文进行解封装,得到封装前的业务报文,并将业务报文转发给目的设备。
关于装置中的各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本发明实施例通过在SRv6报文头中存储当前节点设备对应的段路径标识,在转发过程中,由各个节点设备对段路径标识进行迭代替换,可以将SRv6报文的报文头固定为64字节,使得SRv6报文头不再受到段列表深度影响,大大减小SRv6头长度,降低带宽耗费。
本发明实施例还提供了一种节点设备,该节点设备可以是SRv6网络中的头节点设备、中间节点设备以及尾节点设备。如图15所示,为本发明实施例提供的节点设备结构示意图,包括:处理器1501、存储器1502和总线。所述存储器1502存储有所述处理器1501可执行的机器可读指令,当计算机设备运行时,所述处理器1501与所述存储器1502之间通过总线通信,所述机器可读指令被所述处理器1501执行时执行上述SRv6报文处理方法的处理。
本发明实施例还提供了一种控制器,该控制器运行时执行上述SRv6报文处理方法中控制器所执行的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的网络的具体工作过程,可以参考方法实施例中的对应过程,本发明中不再赘述。在本发明所提供的几个实施例中,应该理解到,所揭露的网络和方法,可以通过其它的方式实现。以上所描述的网络实施例仅仅是示意性的,例如,所述设备的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个设备可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,网络或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (12)
1.一种SRv6报文处理方法,其特征在于,应用于SRv6网络中的头节点设备,所述方法包括:
接收并保存段列表配置信息,所述段列表配置信息包括:段列表索引、SID列表以及压缩指示信息;所述段列表索引与所述SID列表一一对应;
在接收到待发送的业务报文时,基于SRv6 TE策略查找对应的段列表配置信息;
基于所述对应的段列表配置信息对所述业务报文添加SRH头部,得到封装后的SRv6报文,并将所述封装后的SRv6报文发送给下一节点设备;
其中,所述SRH头部中包括:与所述压缩指示信息对应的压缩标识值、段列表索引和业务SID,所述压缩标识值用于指示所述SRH头部是否经过压缩,所述段列表索引用于指示所述头节点设备在所述对应的段列表配置信息中对应的SID列表。
2.根据权利要求1所述的方法,其特征在于,在所述压缩指示信息指示需要进行压缩时,所述基于所述段列表配置信息对所述业务报文添加SRH头部,得到封装后的SRv6报文,包括:
在SRH头部的Flags字段中填充对应的压缩标识值;
在所述SRH头部的Tag字段填充所述段列表索引;
根据所述段列表配置信息,确定所述头节点设备对应的SID列表中的SID个数,并将所述SID个数添加到所述SRH头部的Segments Left字段中;
在所述SRH头部中的Segment List[0]字段填充对应的业务SID后,得到填充后的不携带SID列表的SRH头部;
将填充后的所述SRH头部作为所述业务报文的报文头,并进行IPv6封装得到封装后的SRv6报文。
3.一种SRv6报文处理方法,其特征在于,应用于SRv6网络中的其他节点设备,所述其他节点设备包括:中间节点设备或尾节点设备,所述方法包括:
接收并保存控制器发送的段列表配置信息,所述段列表配置信息包括:段列表索引、SID列表以及压缩指示信息;所述段列表索引与所述SID列表一一对应;
接收上一节点设备发送的封装后的SRv6报文,从所述封装后的SRv6报文的SRH头部读取压缩标识值、段列表索引以及Segments Left字段的值,其中,所述压缩标识值用于指示所述SRH头部是否经过压缩,所述Segments Left字段中的值用于指示所述上一节点设备在所述段列表配置信息中对应的SID;
根据所述压缩标识值、段列表索引以及Segments Left字段的值,确定所述封装后的SRv6报文的目的段路径地址,并根据所述目的段路径地址对所述封装后的SRv6报文进行转发。
4.根据权利要求3所述的方法,其特征在于,所述从所述封装后的SRv6报文的SRH头部读取压缩标识值、段列表索引以及Segments Left字段的值,包括:
解析所述封装后的SRv6报文的SRH头部,得到所述压缩标识值;
若所述压缩标识值指示所述SRH头部经过压缩,则从所述封装后的SRv6报文的SRH头部中读取所述段列表索引以及所述Segments Left字段的值。
5.根据权利要求3所述的方法,其特征在于,所述根据所述压缩标识值、段列表索引以及所述Segments Left字段的值,确定所述封装后的SRv6报文的目的段路径地址,包括:
根据所述段列表索引从所述段列表配置信息中查找所述段列表索引对应的SID列表;
基于段列表索引对应的SID列表以及所述Segments Left字段的值确定所述目的段路径地址。
6.根据权利要求5所述的方法,其特征在于,所述基于段列表索引对应的SID列表以及所述Segments Left字段的值确定所述目的段路径地址,包括:
读取Segments Left字段的值,并基于预设策略对所述Segments Left字段的值进行处理,得到当前Segments Left字段的值,所述当前Segments Left字段的值用于指示当前节点设备在所述段列表配置信息中对应的SID序号;
根据所述当前Segments Left字段的值从所述段列表索引对应的SID列表中查找所述目的段路径地址。
7.根据权利要求3所述的方法,其特征在于,所述根据所述目的段路径地址对所述封装后的SRv6报文进行转发,包括:
若所述其他节点设备为中间节点设备,则将所述目的段路径地址作为所述封装后的SRv6报文的目的地址;
将所述封装后的SRv6报文转发至所述目的地址对应的节点设备。
8.根据权利要求3所述的方法,其特征在于,所述根据所述目的段路径地址对所述封装后的SRv6报文进行转发,包括:
若所述其他节点设备为尾节点设备,则从所述封装后的SRv6报文的SRH头部中读取Segment List[0]字段的值;
将所述封装后的SRv6报文的目的地址替换为所述Segment List[0]字段的值,并基于所述Segment List[0]字段的值确定所述封装后的SRv6报文的目的设备;
对所述封装后的SRv6报文进行解封装,得到封装前的业务报文,并将所述业务报文转发给所述目的设备。
9.一种SRv6报文处理装置,其特征在于,应用于头节点设备,所述装置包括:
第一配置模块,用于接收并保存段列表配置信息,所述段列表配置信息包括:段列表索引、SID列表以及压缩指示信息;所述段列表索引与所述SID列表一一对应;
查找模块,用于在接收到待发送的业务报文时,基于SRv6 TE策略查找对应的段列表配置信息;
封装转发模块,用于基于所述对应的段列表配置信息对所述业务报文添加SRH头部,得到封装后的SRv6报文,并将所述封装后的SRv6报文发送给下一节点设备;
其中,所述SRH头部中包括:与所述压缩指示信息对应的压缩标识值、段列表索引和业务SID,所述压缩标识值用于指示所述SRH头部是否经过压缩,所述段列表索引用于指示所述头节点设备在所述对应的段列表配置信息中对应的SID列表。
10.一种SRv6报文处理装置,其特征在于,应用于SRv6网络中的其他节点设备,所述其他节点设备包括:中间节点设备或尾节点设备,所述装置包括:
第二配置模块,用于接收并保存控制器发送的段列表配置信息,所述段列表配置信息包括:段列表索引、SID列表以及压缩指示信息;所述段列表索引与所述SID列表一一对应;
读取模块,用于接收上一节点设备发送的封装后的SRv6报文,从所述封装后的SRv6报文的SRH头部读取压缩标识值、段列表索引以及Segments Left字段的值,其中,所述压缩标识值用于指示所述SRH头部是否经过压缩,所述Segments Left字段中的值用于指示所述上一节点设备在所述段列表配置信息中对应的SID;
转发模块,用于根据所述压缩标识值、段列表索引以及Segments Left字段的值,确定所述封装后的SRv6报文的目的段路径地址,并根据所述目的段路径地址对所述封装后的SRv6报文进行转发。
11.一种节点设备,其特征在于,所述节点设备为所述SRv6网络中的头节点设备、中间节点设备或尾节点设备;
若所述节点设备为头节点设备,则所述节点设备包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1或2所述的SRv6报文处理方法的步骤;
若所述节点设备为中间节点设备或尾节点设备,则所述节点设备包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求3至8任一项所述的SRv6报文处理方法的步骤。
12.一种控制器,其特征在于,所述控制器运行时用于执行如权利要求1或2所述的SRv6报文处理方法中所述控制器所执行的步骤,或执行如权利要求3至8任一项所述的SRv6报文处理方法中所述控制器所执行的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311736600.XA CN117714558A (zh) | 2023-12-14 | 2023-12-14 | SRv6报文处理方法、装置、节点设备以及控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311736600.XA CN117714558A (zh) | 2023-12-14 | 2023-12-14 | SRv6报文处理方法、装置、节点设备以及控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117714558A true CN117714558A (zh) | 2024-03-15 |
Family
ID=90152911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311736600.XA Pending CN117714558A (zh) | 2023-12-14 | 2023-12-14 | SRv6报文处理方法、装置、节点设备以及控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117714558A (zh) |
-
2023
- 2023-12-14 CN CN202311736600.XA patent/CN117714558A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112491708A (zh) | IPv6报文的路由头封装方法及装置 | |
CN102938795B (zh) | 通过隧道和地址转换实现IPv6地址访问IPv4资源的方法 | |
EP2903218B1 (en) | Method and device for modifying and forwarding message in data communication network | |
WO2021057683A1 (zh) | 一种报文处理方法及装置 | |
CN111510386B (zh) | 用于处理报文的方法和装置 | |
CN111385209B (zh) | 一种报文处理方法、报文转发方法、装置及设备 | |
CN111988266B (zh) | 一种处理报文的方法 | |
CN107770072B (zh) | 一种发送和接收报文的方法和设备 | |
EP4037267A1 (en) | Method, apparatus and system for sending message | |
CN115362661B (zh) | 对用于分段路由的具有不同大小的分段进行混合 | |
CN109450875A (zh) | Mac层封装方法及装置 | |
CN111930757B (zh) | 数据处理方法、系统、封装节点和解封装节点 | |
KR20220047854A (ko) | Sr 네트워크에서의 패킷 포워딩 방법, 장치 및 시스템 | |
US20230030344A1 (en) | Minimizing Differences In Segment Identifiers For Segment Routing | |
EP3852320A1 (en) | Message generation method and apparatus, and message processing method and apparatus | |
CN112532563B (zh) | 报文的发送方法和装置 | |
US20230254246A1 (en) | Mechanisms for packet path tracing and per-hop delay measurement in segment routing with multiprotocol label switching (sr-mpls) networks | |
CN117714558A (zh) | SRv6报文处理方法、装置、节点设备以及控制器 | |
CN113472482B (zh) | 应用于5g网络数据通信的保护采样值数据帧方法及系统 | |
CN115428412A (zh) | 压缩用于分段路由的分段标识符 | |
JP4135549B2 (ja) | パケット処理装置及びそれに用いるパケットデータ管理方法並びにそのプログラム | |
WO2023024755A1 (zh) | Mpls报文的封装方法及装置、存储介质及电子装置 | |
CN117354377A (zh) | 报文处理方法、网络设备及通信系统 | |
CN113783776A (zh) | 信息处理方法、节点及计算机可读存储介质 | |
CN116418628A (zh) | 一种vxlan报文传输方法、网络设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |