CN116366517A - 报文转发路径的插入方法、装置、存储介质及电子装置 - Google Patents
报文转发路径的插入方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN116366517A CN116366517A CN202111621057.XA CN202111621057A CN116366517A CN 116366517 A CN116366517 A CN 116366517A CN 202111621057 A CN202111621057 A CN 202111621057A CN 116366517 A CN116366517 A CN 116366517A
- Authority
- CN
- China
- Prior art keywords
- routing
- route
- target
- message
- route segment
- 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
- 238000012966 insertion method Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000004590 computer program Methods 0.000 claims description 16
- 230000000694 effects Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000003780 insertion Methods 0.000 description 6
- 230000037431 insertion Effects 0.000 description 6
- 101150038853 Segment-7 gene Proteins 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 101100421327 Arabidopsis thaliana SFH1 gene Proteins 0.000 description 4
- 101100257751 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SRP54 gene Proteins 0.000 description 4
- 101100373336 Oryza sativa subsp. japonica XXT1 gene Proteins 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101100242901 Quaranfil virus (isolate QrfV/Tick/Afghanistan/EG_T_377/1968) PB2 gene Proteins 0.000 description 1
- 101150082826 Segment-2 gene Proteins 0.000 description 1
- 101100194052 Thogoto virus (isolate SiAr 126) Segment 2 gene Proteins 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种报文转发路径的插入方法、装置、存储介质及电子装置,其中,该方法包括:获取待转发的初始报文对应的多个路由段集合,其中,所述多个路由段集合是对所述初始报文的路由路径进行划分得到的;将多个所述路由段集合中的目标路由段集合分多次插入到所述初始报文中,得到携带有中间路由信息的中间报文;将所述中间路由信息调整为目标路由信息,得到携带有所述目标路由信息的目标报文,其中,所述目标路由信息用于指示所述路由路径,所述目标报文用于按照所述路由路径进行路由。通过本发明,解决了相关技术中存在的报文转发路径的编辑效率较低的问题,进而达到了提高报文转发路径的编辑效率的效果。
Description
技术领域
本发明实施例涉及报文处理领域,具体而言,涉及一种报文转发路径的插入方法、装置、存储介质及电子装置。
背景技术
SR是一种基于源路由理念设计的、在网络上转发数据包的协议,支持在源节点显式指定数据包转发路径。当SR部署在第六版本的互联网协议(Internet Protocol Version6,简称为IPv6)数据平面上时,称为IPv6 segment routing(SRv6),其中,SRv6在IPv6的基础上扩展了段路由头(segment routing header,简称为SRH)。SRH包括段列表(segmentlist),用于支持在转发路径的入口设备对整个转发路径进行编程。具体的,段列表包括依次排列的多个段标识(segment identification,简称为SID),每个SID对应报文转发路径中的一个节点或链路。包括段列表的SRH被封装在数据报文中。从而,在报文转发过程中,依次执行段列表中的各个SID所指示的转发处理,以实现报文转发。
在具体使用过程中,可能会出现转发路径中包括多层路由段的需求,这就需要入口设备具备多层Segment List的编辑能力,比如实际应用场景需要转发路径包含七个路由段,此时就需要入口设备具有七层Segment List的编辑能力,从而根据场景的需求编辑出具有七个路由段的转发路径,因此这就对入口设备的编辑能力有很高的要求。
针对相关技术中存在的报文转发路径的编辑效率较低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种报文转发路径的插入方法、装置、存储介质及电子装置,以至少解决相关技术中存在的报文转发路径的编辑效率较低的问题。
根据本发明的一个实施例,提供了一种报文转发路径的插入方法,包括:获取待转发的初始报文对应的多个路由段集合,其中,所述多个路由段集合是对所述初始报文的路由路径进行划分得到的;将多个所述路由段集合中的目标路由段集合分多次插入到所述初始报文中,得到携带有中间路由信息的中间报文,其中,所述目标路由段集合与所述中间路由信息具有对应关系;将所述中间路由信息调整为目标路由信息,得到携带有所述目标路由信息的目标报文,其中,所述目标路由信息用于指示所述路由路径,所述目标报文用于按照所述路由路径进行路由。
可选地,将多个所述路由段集合中的目标路由段集合分多次插入到所述初始报文中,得到携带有中间路由信息的中间报文包括:将多个所述路由段集合中的第一路由段集合和第二路由段集合确定为所述目标路由段集合,其中,所述第一路由段集合所包括的路由段数量与路由段编辑属性匹配,所述第二路由段集合所包括的路由段数量与所述路由段编辑属性匹配,所述路由段编辑属性用于指示单次编辑路由信息时所允许编辑的路由段的数量;按照所述目标路由段集合中每个路由段集合所包括的路由段在所述路由路径中的排列顺序,依次将所述第一路由段集合对应的第一路由信息以及所述第二路由段集合对应的第二路由信息插入到所述初始报文的协议报文头的目标位置,得到所述中间报文,其中,所述中间路由信息包括所述第一路由信息和所述第二路由信息。
可选地,按照所述目标路由段集合中每个路由段集合所包括的路由段在所述路由路径中的排列顺序,依次将所述第一路由段集合对应的第一路由信息以及所述第二路由段集合对应的第二路由信息插入到所述初始报文的协议报文头的目标位置,得到所述中间报文包括:在所述路由路径中所述第一路由段集合所包括的路由段在所述第二路由段集合所包括的路由段之前的情况下,将第一路由报文头和所述第一路由段集合中包括的路由段插入所述初始报文的所述目标位置,得到第一报文,其中,所述第一路由信息包括所述第一路由报文头和所述第一路由段集合中包括的路由段;将第二路由报文头和所述第二路由段集合中包括的路由段插入所述第一报文的所述目标位置,得到所述中间报文,其中,所述第二路由信息包括所述第二路由报文头和所述第二路由段集合中包括的路由段。
可选地,将所述中间路由信息调整为目标路由信息,得到携带有所述目标路由信息的目标报文包括:对所述中间路由信息中所包括的与所述目标路由段集合对应的路由报文头执行编辑操作,得到待处理路由报文头和中间路由段集合,其中,所述中间路由段集合中包括按照所述路由路径中路由段的排列顺序排列的所述目标路由段集合所包括的路由段;根据所述目标路由段集合是否为所述多个所述路由段集合中的全部路由段集合,对所述中间路由段集合进行调整,得到携带有所述待处理路由报文头和所述路由路径的第二报文;根据所述路由路径,将所述第二报文携带的所述待处理路由报文头调整为目标路由报文头,得到携带有所述目标路由信息的所述目标报文,其中,所述目标路由信息包括所述目标路由报文头和所述路由路径。
可选地,对所述中间路由信息中所包括的与所述目标路由段集合对应的路由报文头执行编辑操作,得到待处理路由报文头和中间路由段集合包括:将中间路由信息中的第二路由报文头更改为所述待处理路由报文头,得到第三报文,其中,所述待处理路由报文头内的数据与第一路由报文头内的数据相同,所述中间路由信息包括第一路由段集合对应的第一路由信息和第二路由集合对应的第二路由信息,所述目标路由段集合包括所述第一路由段集合和第二路由段集合,所述第一路由信息包括所述第一路由报文头和所述第一路由段集合中包括的路由段,所述第二路由信息包括所述第二路由报文头和所述第二路由段集合中包括的理由段,在所述路由路径中所述第一路由段集合所包括的路由段在所述第二路由段集合所包括的路由段之前;删除所述第三报文内所述第一路由报文头,得到所述待处理路由报文头和所述中间路由段集合。
可选地,根据所述目标路由段集合是否为所述多个所述路由段集合中的全部路由段集合,对所述中间路由段集合进行调整包括:在所述目标路由段集合不为所述多个所述路由段集合中的全部路由段集合,并且所述多个所述路由段集合还包括第三路由段集合的情况下,将所述第三路由段集合所包括的路由段插入到所述中间路由段集合中目标偏移值对应的位置,得到所述路由路径,其中,所述目标路由段集合包括第一路由段集合和第二路由段集合;在所述目标路由段集合为所述多个所述路由段集合中的全部路由段集合的情况下,将所述中间路由段集合所包括的路由段确定为所述路由路径。
可选地,根据所述路由路径,将所述第二报文携带的所述待处理路由报文头调整为目标路由报文头,得到携带有所述目标路由信息的所述目标报文包括:根据所述路由路径中的包括的多个路由段的路由信息对所述待处理路由报文头内的目标字段进行调整,得到所述目标路由报文头,其中,所述目标字段用于指示所述路由信息。
根据本发明的又一个实施例,还提供了一种报文转发路径的插入装置,包括:获取模块,用于获取待转发的初始报文对应的多个路由段集合,其中,所述多个路由段集合是对所述初始报文的路由路径进行划分得到的;插入模块,用于将多个所述路由段集合中的目标路由段集合分多次插入到所述初始报文中,得到携带有中间路由信息的中间报文,其中,所述目标路由段集合与所述中间路由信息具有对应关系;调整模块,用于将所述中间路由信息调整为目标路由信息,得到携带有所述目标路由信息的目标报文,其中,所述目标路由信息用于指示所述路由路径,所述目标报文用于按照所述路由路径进行路由。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,通过获取待转发的初始报文对应的多个路由段集合,其中,所述多个路由段集合是对所述初始报文的路由路径进行划分得到的;将多个所述路由段集合中的目标路由段集合分多次插入到所述初始报文中,得到携带有中间路由信息的中间报文,其中,所述目标路由段集合与所述中间路由信息具有对应关系;将所述中间路由信息调整为目标路由信息,得到携带有所述目标路由信息的目标报文,其中,所述目标路由信息用于指示所述路由路径,所述目标报文用于按照所述路由路径进行路由,即,初始报文的路由路径被划分为多个路由段集合,通过对多个路由段集合中的目标路由段集合分多次插入到初始报文中,从而使得初始报文中携带有目标路由集合对应的中间信息,进而能够得到携带目标路由信息的目标报文,从而使得初始报文按照路由路径进行路由,通过将多个路由集合中的目标路由段集合分多次插入到初始报文中,从而减轻了对路由信息的编辑能力的要求,实现了通过较低的路由信息编辑能力完成较高的路由信息编辑能力的业务需求,进而实现通过较低的路由信息编辑能力完成将长度较长的转发路径插入到报文中的操作,因此,解决了相关技术中存在的报文转发路径的编辑效率较低的问题,达到了提高报文转发路径的编辑效率的效果。
附图说明
图1是本发明实施例的报文转发路径的插入方法的移动终端硬件结构框图;
图2是根据本发明实施例的报文转发路径的插入方法的流程图;
图3是根据本发明实施例的一种可选地目标报文示意图;
图4是根据本发明实施例的一种可选地目标报文格式示意图;
图5是根据本发明实施例的一种可选地报文转发路径插入流程图;
图6是根据本发明实施例的一种可选地报文结构示意图;
图7是根据本发明实施例的报文转发路径的插入装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的报文转发路径的插入方法的移动终端硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的报文转发路径的插入方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种报文转发路径的插入方法,图2是根据本发明实施例的报文转发路径的插入方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取待转发的初始报文对应的多个路由段集合,其中,所述多个路由段集合是对所述初始报文的路由路径进行划分得到的;
步骤S204,将多个所述路由段集合中的目标路由段集合分多次插入到所述初始报文中,得到携带有中间路由信息的中间报文,其中,所述目标路由段集合与所述中间路由信息具有对应关系;
步骤S206,将所述中间路由信息调整为目标路由信息,得到携带有所述目标路由信息的目标报文,其中,所述目标路由信息用于指示所述路由路径,所述目标报文用于按照所述路由路径进行路由。
通过上述步骤,初始报文的路由路径被划分为多个路由段集合,通过对多个路由段集合中的目标路由段集合分多次插入到初始报文中,从而使得初始报文中携带有目标路由集合对应的中间信息,进而能够得到携带目标路由信息的目标报文,从而使得初始报文按照路由路径进行路由,通过将多个路由集合中的目标路由段集合分多次插入到初始报文中,从而减轻了对路由信息的编辑能力的要求,实现了通过较低的路由信息编辑能力完成较高的路由信息编辑能力的业务需求,进而实现通过较低的路由信息编辑能力完成将长度较长的转发路径插入到报文中的操作,因此,解决了相关技术中存在的报文转发路径的编辑效率较低的问题,达到了提高报文转发路径的编辑效率的效果。
本方案应用于具有报文编辑能力的设备上,可以单不限于包括交换机、路由器、移动终端设备等等。
在上述步骤S202提供的技术方案中,初始报文的多个路由段集合可以是获取的其他设备或者模块分割好的路由段集合,也可以是根据用于指示单次编辑路由信息是所允许编辑的路由段数量的路由段编辑属性对路由路径进行划分得到的,本方案对此不做限定。
可选地,在本实施例中,多个路由段集合中各个路由段集合中的路由段数量可以是相同的,也可以是不同的,本方案对此不做限定
在上述步骤S204提供的技术方案中,多个路由段集合中可以只包含多个目标路由段集合,也可以包含路由段数量少于目标路由段集合中的路由段数量的其他路由段集合,比如每个目标路由段集合中包括3个路由段,当路由路径中包含6个路由段时,路由路径能够被划分为两个目标路由段集合,当路由路径中包含7个路由段时,路由路径就能够被划分为两个目标路由段集合和一个只包含一个路由段的其他路由段集合。
在上述步骤S206提供的技术方案中,目标路由信息可以但不限于包括目标路由报文头和路由路径中的路由段的路由段信息。
作为一种可选地实施例,将多个所述路由段集合中的目标路由段集合分多次插入到所述初始报文中,得到携带有中间路由信息的中间报文包括:
将多个所述路由段集合中的第一路由段集合和第二路由段集合确定为所述目标路由段集合,其中,所述第一路由段集合所包括的路由段数量与路由段编辑属性匹配,所述第二路由段集合所包括的路由段数量与所述路由段编辑属性匹配,所述路由段编辑属性用于指示单次编辑路由信息时所允许编辑的路由段的数量;
按照所述目标路由段集合中每个路由段集合所包括的路由段在所述路由路径中的排列顺序,依次将所述第一路由段集合对应的第一路由信息以及所述第二路由段集合对应的第二路由信息插入到所述初始报文的协议报文头的目标位置,得到所述中间报文,其中,所述中间路由信息包括所述第一路由信息和所述第二路由信息。
可选地,在本实施例中,路由段编辑属性可以是根据需要设定的,也可以根据设备的硬件条件确定的。
图3是根据本发明实施例的一种可选地目标报文示意图,如图3所示,目标报文可以但不限于包括以下内容:IPV6报文头、SR报文头、载荷数据,IPv6转发平面中,IPv6地址即Segment,通过IPv6地址序列来表示报文转发路径。基于IPv6报文的原有路由扩展头定义了新的SRH(Segment Routing Header),用于记录Segment相关信息。
图4是根据本发明实施例的一种可选地目标报文格式示意图,如图4所示,在目标报文中依次是协议报文头(即IPV6报文头)、路由报文头(SR报文头)、路由段信息,路由段信息是一个有序的Segment列表封装到路由报文头中,路径的中间节点只需要根据路由报文头中指定的路径进行转发,Segment是指导设备处理报文的任何指令,如:根据最短路径转发报文到目的地、通过指定接口转发报文、将报文转发到指定的应用/业务实例等。
作为一种可选地实施例,按照所述目标路由段集合中每个路由段集合所包括的路由段在所述路由路径中的排列顺序,依次将所述第一路由段集合对应的第一路由信息以及所述第二路由段集合对应的第二路由信息插入到所述初始报文的协议报文头的目标位置,得到所述中间报文包括:
在所述路由路径中所述第一路由段集合所包括的路由段在所述第二路由段集合所包括的路由段之前的情况下,将第一路由报文头和所述第一路由段集合中包括的路由段插入所述初始报文的所述目标位置,得到第一报文,其中,所述第一路由信息包括所述第一路由报文头和所述第一路由段集合中包括的路由段;
将第二路由报文头和所述第二路由段集合中包括的路由段插入所述第一报文的所述目标位置,得到所述中间报文,其中,所述第二路由信息包括所述第二路由报文头和所述第二路由段集合中包括的路由段。
可选地,在本实施例中,目标位置可以是报文中协议报文后的字段位置,获取还可以是报文中的其他字段位置。
作为一种可选地实施例,将所述中间路由信息调整为目标路由信息,得到携带有所述目标路由信息的目标报文包括:
对所述中间路由信息中所包括的与所述目标路由段集合对应的路由报文头执行编辑操作,得到待处理路由报文头和中间路由段集合,其中,所述中间路由段集合中包括按照所述路由路径中路由段的排列顺序排列的所述目标路由段集合所包括的路由段;
根据所述目标路由段集合是否为所述多个所述路由段集合中的全部路由段集合,对所述中间路由段集合进行调整,得到携带有所述待处理路由报文头和所述路由路径的第二报文;
根据所述路由路径,将所述第二报文携带的所述待处理路由报文头调整为目标路由报文头,得到携带有所述目标路由信息的所述目标报文,其中,所述目标路由信息包括所述目标路由报文头和所述路由路径。
可选地,在本实施例中,对中间路由信息中的目标路由段集合对应的路由段报文头执行的编辑操作可以但不限于包括对路由报文头的更新和删除操作等,本方案对此不做限定。
可选地,在本实施例中,对中间路由段集合进行调整可以但不限于包括对中间路由段集合中的路由段顺序进行调整和在中间路由段集合添加路由段。
可选地,在本实施例中对待处理路由报文头调整为目标路由报文头可以但不限于对待处理报文头中的标识路由段总长度的字节进行调整,或者还可以是对用于指示路由段列表中的最后一个路由段的字符进行调整,本方案对此不做限定。
作为一种可选地实施例,对所述中间路由信息中所包括的与所述目标路由段集合对应的路由报文头执行编辑操作,得到待处理路由报文头和中间路由段集合包括:
将中间路由信息中的第二路由报文头更改为所述待处理路由报文头,得到第三报文,其中,所述待处理路由报文头内的数据与第一路由报文头内的数据相同,所述中间路由信息包括第一路由段集合对应的第一路由信息和第二路由集合对应的第二路由信息,所述目标路由段集合包括所述第一路由段集合和第二路由段集合,所述第一路由信息包括所述第一路由报文头和所述第一路由段集合中包括的路由段,所述第二路由信息包括所述第二路由报文头和所述第二路由段集合中包括的理由段,在所述路由路径中所述第一路由段集合所包括的路由段在所述第二路由段集合所包括的路由段之前;
删除所述第三报文内所述第一路由报文头,得到所述待处理路由报文头和所述中间路由段集合。
作为一种可选地实施例,根据所述目标路由段集合是否为所述多个所述路由段集合中的全部路由段集合,对所述中间路由段集合进行调整包括:
在所述目标路由段集合不为所述多个所述路由段集合中的全部路由段集合,并且所述多个所述路由段集合还包括第三路由段集合的情况下,将所述第三路由段集合所包括的路由段插入到所述中间路由段集合中目标偏移值对应的位置,得到所述路由路径,其中,所述目标路由段集合包括第一路由段集合和第二路由段集合;
在所述目标路由段集合为所述多个所述路由段集合中的全部路由段集合的情况下,将所述中间路由段集合所包括的路由段确定为所述路由路径。
可选地,在本实施例中,第三路由段集合内的路由段可以是除路由路径中的包含起始节点的路由段和终止节点的路由段以外的任意路由段,比如,路由路径包含依次排序的七个路由段,交换机单次能够编辑3个路由段信息,第一路由段和第七路由段时分别包含启示节点和终止节点的路由段,则可以将路由路径分为两个目标路由段集合,一个第三路由段集合,两个目标路由段集合中各包含3个路由段,第三集合路由段集合中包含1个路由段,则第三路由段集合中包含的路由段可以是除第一路由段和第七路由段以外的任意路由段。
作为一种可选地实施例,根据所述路由路径,将所述第二报文携带的所述待处理路由报文头调整为目标路由报文头,得到携带有所述目标路由信息的所述目标报文包括:
根据所述路由路径中的包括的多个路由段的路由信息对所述待处理路由报文头内的目标字段进行调整,得到所述目标路由报文头,其中,所述目标字段用于指示所述路由信息。
图5是根据本发明实施例的一种可选地报文转发路径插入流程图,该流程可以但不限与应用于交换机设备上,以具有3层Segment List编辑能力的交换机为例,该交换机设备包括4个模块,模块A:3层SRv6编辑模块,针对3层Segment List设计的SRv6专属功能模块,提供协议规定的报文编辑能力,包括Segment List和SRH的编辑能力;模块B:OAM处理模块,交换芯片OAM功能通用模块,支持OAM报文的处理;模块C:灵活报文编辑模块,交换芯片提供出的一种灵活编辑报文的功能模块,支持在报文特定位置插入、删除以及替换一部分报文内容,替换操作可以基于报文中另外位置的报文内容;模块D:IPv6报文编辑模块,交换芯片IPv6编辑功能通用模块,提供对原始报文加IPv6封装的功能。以原始路由路径包含7个路由段为例,报文的转发路径依次为路由段7、路由段6、路由段5、路由段4、路由段3、路由段2、路由段1,交换机需要完成7层Segment List的编辑操作,如图5所示,该报文转发路径插入流程可以但不限于包括如下步骤:
S501,根据报文类型在初始路由路径中确定报文的路由路径,上述路径中路由段1是用户层到隧道层的路由路径,当报文为用户通信报文时,路由路径为从路由段7到路由段1,当报文为网络控制报文时,路由路径为从路由段7到路由段2,用户通信报文通过模块D,添加IPv6 Header后得到图6中的报文3,图6是根据本发明实施例的一种可选地报文结构示意图,如图6所示,报文3中的协议报文头(即IPV6 Header)中的IPDA(IPV6 DestinationAddress,IPV6目的地址)为SID1(Segment Identity 1,段路由标识1),当报文不是用户报文而是网络控制报文时,则由模块B下发所示图6中的报文1或者图6中的报文2(报文1为保护用户标识,报文2为保护隧道标识),报文1和报文2中的协议报文头中的IPDA为SID2。
S502,根据交换机的3层Segment List编辑能力对报文的路由路径进行划分,得到多个路由段集合,多个路由段集合中包括多个目标路由段集合和其他路由段集合,目标路由段集合中的路由段数量和交换机能够编辑的路由段信息对应的路由段数量相等,其他路由段集合中的路由段数量小于目标路由段集合中的路由段数量,因用户通信报文的路由路径中包含7个路由段,所以可以将用户通信报文的路由路径划分为两个目标路由段集合以及一个其他路由段集合,将Segment List2划分到其他路由段集合中,分别将Segment List5、6、7和Segment List 1、3、4划分到目标路由段集合,将网络控制报文的路由路径划分为两个目标路由段集合分别为Segment List 5、6、7和Segment List 1、3、4,经过模块A,添加三层SRv6信息(添加三层Segment List 5、6、7和SRH2)后,图6中的报文1和报文3变为报文4,图6中的报文2变为报文5。
S503,报文在芯片中做一次环回处理,再次经过模块A,添加三层SRv6信息(当报文为用户通信报文时添加三层Segment List 1 3 4和SRH1,当报文为网络控制报文添加三层Segment List 2、3、4和SRH1)此时报文中有两个SRH,按照报文字节序靠前的标识为SRH1,为该次模块A处理添加的,靠后的标识为SRH2,为上一次模块A处理添加的,如图6所示,报文4变为报文6,报文5变为报文7。
S504,经过模块C,将报文中的SRH2替换到SRH1处,并删除原SRH2后图6中报文6变为报文8,报文7变为报文9。
S505,报文在芯片中做一次环回处理,再次经过模块C处理。数据报文和用户标识保护报文将IPv6目的地址替换为Segment7,同时插入Segment2并更新SRH中相关字段,图6中的报文8变为报文10;隧道标识保护报文将IPv6目的地址替换为Segment7并更新SRH中相关字段,图6中的报文9变为报文11。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种报文转发路径的插入装置,图7是根据本发明实施例的报文转发路径的插入装置的结构框图,如图7所示,该装置包括:
获取模块72,用于获取待转发的初始报文对应的多个路由段集合,其中,所述多个路由段集合是对所述初始报文的路由路径进行划分得到的;
插入模块74,用于将多个所述路由段集合中的目标路由段集合分多次插入到所述初始报文中,得到携带有中间路由信息的中间报文,其中,所述目标路由段集合与所述中间路由信息具有对应关系;
调整模块76,用于将所述中间路由信息调整为目标路由信息,得到携带有所述目标路由信息的目标报文,其中,所述目标路由信息用于指示所述路由路径,所述目标报文用于按照所述路由路径进行路由。
可选地,所述插入模块包括:
确定单元,用于将多个所述路由段集合中的第一路由段集合和第二路由段集合确定为所述目标路由段集合,其中,所述第一路由段集合所包括的路由段数量与路由段编辑属性匹配,所述第二路由段集合所包括的路由段数量与所述路由段编辑属性匹配,所述路由段编辑属性用于指示单次编辑路由信息时所允许编辑的路由段的数量;
插入单元,用于按照所述目标路由段集合中每个路由段集合所包括的路由段在所述路由路径中的排列顺序,依次将所述第一路由段集合对应的第一路由信息以及所述第二路由段集合对应的第二路由信息插入到所述初始报文的协议报文头的目标位置,得到所述中间报文,其中,所述中间路由信息包括所述第一路由信息和所述第二路由信息。
可选地,所述插入单元用于:
在所述路由路径中所述第一路由段集合所包括的路由段在所述第二路由段集合所包括的路由段之前的情况下,将第一路由报文头和所述第一路由段集合中包括的路由段插入所述初始报文的所述目标位置,得到第一报文,其中,所述第一路由信息包括所述第一路由报文头和所述第一路由段集合中包括的路由段;
将第二路由报文头和所述第二路由段集合中包括的路由段插入所述第一报文的所述目标位置,得到所述中间报文,其中,所述第二路由信息包括所述第二路由报文头和所述第二路由段集合中包括的路由段。
可选地,所述调整模块包括:
编辑单元,用于对所述中间路由信息中所包括的与所述目标路由段集合对应的路由报文头执行编辑操作,得到待处理路由报文头和中间路由段集合,其中,所述中间路由段集合中包括按照所述路由路径中路由段的排列顺序排列的所述目标路由段集合所包括的路由段;
第一调整单元,用于根据所述目标路由段集合是否为所述多个所述路由段集合中的全部路由段集合,对所述中间路由段集合进行调整,得到携带有所述待处理路由报文头和所述路由路径的第二报文;
第二调整单元,用于根据所述路由路径,将所述第二报文携带的所述待处理路由报文头调整为目标路由报文头,得到携带有所述目标路由信息的所述目标报文,其中,所述目标路由信息包括所述目标路由报文头和所述路由路径。
可选地,所述编辑单元用于:
将中间路由信息中的第二路由报文头更改为所述待处理路由报文头,得到第三报文,其中,所述待处理路由报文头内的数据与第一路由报文头内的数据相同,所述中间路由信息包括第一路由段集合对应的第一路由信息和第二路由集合对应的第二路由信息,所述目标路由段集合包括所述第一路由段集合和第二路由段集合,所述第一路由信息包括所述第一路由报文头和所述第一路由段集合中包括的路由段,所述第二路由信息包括所述第二路由报文头和所述第二路由段集合中包括的理由段,在所述路由路径中所述第一路由段集合所包括的路由段在所述第二路由段集合所包括的路由段之前;
删除所述第三报文内所述第一路由报文头,得到所述待处理路由报文头和所述中间路由段集合。
可选地,所述第一调整单元用于:
在所述目标路由段集合不为所述多个所述路由段集合中的全部路由段集合,并且所述多个所述路由段集合还包括第三路由段集合的情况下,将所述第三路由段集合所包括的路由段插入到所述中间路由段集合中目标偏移值对应的位置,得到所述路由路径,其中,所述目标路由段集合包括第一路由段集合和第二路由段集合;
在所述目标路由段集合为所述多个所述路由段集合中的全部路由段集合的情况下,将所述中间路由段集合所包括的路由段确定为所述路由路径。
可选地,所述第二调整单元用于:
根据所述路由路径中的包括的多个路由段的路由信息对所述待处理路由报文头内的目标字段进行调整,得到所述目标路由报文头,其中,所述目标字段用于指示所述路由信息。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种报文转发路径的插入方法,其特征在于,包括:
获取待转发的初始报文对应的多个路由段集合,其中,所述多个路由段集合是对所述初始报文的路由路径进行划分得到的;
将多个所述路由段集合中的目标路由段集合分多次插入到所述初始报文中,得到携带有中间路由信息的中间报文,其中,所述目标路由段集合与所述中间路由信息具有对应关系;
将所述中间路由信息调整为目标路由信息,得到携带有所述目标路由信息的目标报文,其中,所述目标路由信息用于指示所述路由路径,所述目标报文用于按照所述路由路径进行路由。
2.根据权利要求1所述的方法,其特征在于,将多个所述路由段集合中的目标路由段集合分多次插入到所述初始报文中,得到携带有中间路由信息的中间报文包括:
将多个所述路由段集合中的第一路由段集合和第二路由段集合确定为所述目标路由段集合,其中,所述第一路由段集合所包括的路由段数量与路由段编辑属性匹配,所述第二路由段集合所包括的路由段数量与所述路由段编辑属性匹配,所述路由段编辑属性用于指示单次编辑路由信息时所允许编辑的路由段的数量;
按照所述目标路由段集合中每个路由段集合所包括的路由段在所述路由路径中的排列顺序,依次将所述第一路由段集合对应的第一路由信息以及所述第二路由段集合对应的第二路由信息插入到所述初始报文的协议报文头的目标位置,得到所述中间报文,其中,所述中间路由信息包括所述第一路由信息和所述第二路由信息。
3.根据权利要求2所述的方法,其特征在于,按照所述目标路由段集合中每个路由段集合所包括的路由段在所述路由路径中的排列顺序,依次将所述第一路由段集合对应的第一路由信息以及所述第二路由段集合对应的第二路由信息插入到所述初始报文的协议报文头的目标位置,得到所述中间报文包括:
在所述路由路径中所述第一路由段集合所包括的路由段在所述第二路由段集合所包括的路由段之前的情况下,将第一路由报文头和所述第一路由段集合中包括的路由段插入所述初始报文的所述目标位置,得到第一报文,其中,所述第一路由信息包括所述第一路由报文头和所述第一路由段集合中包括的路由段;
将第二路由报文头和所述第二路由段集合中包括的路由段插入所述第一报文的所述目标位置,得到所述中间报文,其中,所述第二路由信息包括所述第二路由报文头和所述第二路由段集合中包括的路由段。
4.根据权利要求1所述的方法,其特征在于,将所述中间路由信息调整为目标路由信息,得到携带有所述目标路由信息的目标报文包括:
对所述中间路由信息中所包括的与所述目标路由段集合对应的路由报文头执行编辑操作,得到待处理路由报文头和中间路由段集合,其中,所述中间路由段集合中包括按照所述路由路径中路由段的排列顺序排列的所述目标路由段集合所包括的路由段;
根据所述目标路由段集合是否为所述多个所述路由段集合中的全部路由段集合,对所述中间路由段集合进行调整,得到携带有所述待处理路由报文头和所述路由路径的第二报文;
根据所述路由路径,将所述第二报文携带的所述待处理路由报文头调整为目标路由报文头,得到携带有所述目标路由信息的所述目标报文,其中,所述目标路由信息包括所述目标路由报文头和所述路由路径。
5.根据权利要求4所述的方法,其特征在于,对所述中间路由信息中所包括的与所述目标路由段集合对应的路由报文头执行编辑操作,得到待处理路由报文头和中间路由段集合包括:
将中间路由信息中的第二路由报文头更改为所述待处理路由报文头,得到第三报文,其中,所述待处理路由报文头内的数据与第一路由报文头内的数据相同,所述中间路由信息包括第一路由段集合对应的第一路由信息和第二路由集合对应的第二路由信息,所述目标路由段集合包括所述第一路由段集合和第二路由段集合,所述第一路由信息包括所述第一路由报文头和所述第一路由段集合中包括的路由段,所述第二路由信息包括所述第二路由报文头和所述第二路由段集合中包括的路由段,在所述路由路径中所述第一路由段集合所包括的路由段在所述第二路由段集合所包括的路由段之前;
删除所述第三报文内所述第一路由报文头,得到所述待处理路由报文头和所述中间路由段集合。
6.根据权利要求4所述的方法,其特征在于,根据所述目标路由段集合是否为所述多个所述路由段集合中的全部路由段集合,对所述中间路由段集合进行调整包括:
在所述目标路由段集合不为所述多个所述路由段集合中的全部路由段集合,并且所述多个所述路由段集合还包括第三路由段集合的情况下,将所述第三路由段集合所包括的路由段插入到所述中间路由段集合中目标偏移值对应的位置,得到所述路由路径,其中,所述目标路由段集合包括第一路由段集合和第二路由段集合;
在所述目标路由段集合为所述多个所述路由段集合中的全部路由段集合的情况下,将所述中间路由段集合所包括的路由段确定为所述路由路径。
7.根据权利要求4所述的方法,其特征在于,根据所述路由路径,将所述第二报文携带的所述待处理路由报文头调整为目标路由报文头,得到携带有所述目标路由信息的所述目标报文包括:
根据所述路由路径中的包括的多个路由段的路由信息对所述待处理路由报文头内的目标字段进行调整,得到所述目标路由报文头,其中,所述目标字段用于指示所述路由信息。
8.一种报文转发路径的插入装置,其特征在于,包括:
获取模块,用于获取待转发的初始报文对应的多个路由段集合,其中,所述多个路由段集合是对所述初始报文的路由路径进行划分得到的;
插入模块,用于将多个所述路由段集合中的目标路由段集合分多次插入到所述初始报文中,得到携带有中间路由信息的中间报文,其中,所述目标路由段集合与所述中间路由信息具有对应关系;
调整模块,用于将所述中间路由信息调整为目标路由信息,得到携带有所述目标路由信息的目标报文,其中,所述目标路由信息用于指示所述路由路径,所述目标报文用于按照所述路由路径进行路由。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至7任一项中所述的方法的步骤。
10.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111621057.XA CN116366517A (zh) | 2021-12-27 | 2021-12-27 | 报文转发路径的插入方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111621057.XA CN116366517A (zh) | 2021-12-27 | 2021-12-27 | 报文转发路径的插入方法、装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116366517A true CN116366517A (zh) | 2023-06-30 |
Family
ID=86936382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111621057.XA Pending CN116366517A (zh) | 2021-12-27 | 2021-12-27 | 报文转发路径的插入方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116366517A (zh) |
-
2021
- 2021-12-27 CN CN202111621057.XA patent/CN116366517A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110703817B (zh) | 一种统计流量的控制方法、装置和系统 | |
EP3531617B1 (en) | Message transmission method and apparatus, node and computer storage medium | |
EP4060961A1 (en) | Information synchronization method, apparatus, and system | |
CN113259239A (zh) | 一种在混合网络中转发报文的方法、设备和系统 | |
WO2021213507A1 (zh) | 数据包处理的方法及设备 | |
CN108600021B (zh) | 可灵活编程配置的隧道封装芯片实现方法和装置 | |
CN107342939A (zh) | 传输数据的方法和装置 | |
WO2020156090A1 (zh) | 一种建立跨域转发路径的方法、装置及系统 | |
CN112187648B (zh) | 组播报文转发方法及装置 | |
CN111355674A (zh) | 路由报文的处理方法及装置、存储介质和电子装置 | |
US20240154902A1 (en) | Packet forwarding method and system, storage medium, and electronic device | |
CN116319617A (zh) | 一种在sr网络中转发报文的方法、设备和系统 | |
CN112787922A (zh) | 一种报文处理的方法、网络节点和系统 | |
CN105099919A (zh) | 报文处理方法及装置 | |
CN101729420B (zh) | 一种数据处理方法及装置 | |
CN114650255B (zh) | 报文处理方法及网络设备 | |
CN111464440A (zh) | 一种通信方法及装置 | |
CN113141338B (zh) | 一种消息生成方法、处理方法及装置 | |
CN116366517A (zh) | 报文转发路径的插入方法、装置、存储介质及电子装置 | |
CN112491709A (zh) | 交叉SR/SRv6路径下发方法和装置、存储介质及电子装置 | |
US10110426B2 (en) | Method, apparatus, and system for implementing tunneling processing | |
CN103891211A (zh) | 控制装置、通信系统、虚拟网络的管理方法以及程序 | |
CN111464441A (zh) | 一种通信方法及装置 | |
CN108574637B (zh) | 一种地址自学习的方法、装置及交换机 | |
CN114079640B (zh) | 一种数据处理方法、用户面功能及装置 |
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 |