CN118175129A - 一种报文封装方法、装置、电子设备和存储介质 - Google Patents
一种报文封装方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN118175129A CN118175129A CN202211538528.5A CN202211538528A CN118175129A CN 118175129 A CN118175129 A CN 118175129A CN 202211538528 A CN202211538528 A CN 202211538528A CN 118175129 A CN118175129 A CN 118175129A
- Authority
- CN
- China
- Prior art keywords
- compressed domain
- compressed
- sid
- domain
- complete
- 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
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000005538 encapsulation Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 54
- 230000009467 reduction Effects 0.000 claims abstract description 13
- 238000004806 packaging method and process Methods 0.000 claims abstract description 11
- 230000015654 memory Effects 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 9
- 238000003780 insertion Methods 0.000 claims description 8
- 230000037431 insertion Effects 0.000 claims description 8
- 238000012795 verification Methods 0.000 abstract description 6
- 230000006835 compression Effects 0.000 description 16
- 238000007906 compression Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 101100063258 Mus musculus Dstn gene Proteins 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 101100256921 Ajellomyces capsulatus SID3 gene Proteins 0.000 description 1
- 101100064323 Arabidopsis thaliana DTX47 gene Proteins 0.000 description 1
- 101000840469 Arabidopsis thaliana Isochorismate synthase 1, chloroplastic Proteins 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 101150026676 SID1 gene Proteins 0.000 description 1
- 101100366400 Schizosaccharomyces pombe (strain 972 / ATCC 24843) spg1 gene Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种报文封装方法、装置、电子设备和存储介质,用于减少报文开销,提升抓包检验正确率。本申请中,针对待封装报文从首个压缩域开始,依序对指定数量的压缩域中的首个SID进行还原处理,得到完整SID;针对完整SID,将该SID插入该完整SID对应的压缩域与对应的压缩域的前一节点之间;针对每个压缩域,对剩余SID进行左移处理;对每个移动后的压缩域以及各个完整SID进行封装处理。通过对SID进行还原处理,进而可以得到该压缩域的DIP,在通过抓包工具进行抓包时通过DIP进行抓包,提升了抓包检验正确率;且仅对指定数量的压缩域中的首个SID进行还原,其余压缩域仍为压缩状态,大大降低了报文开销。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文封装方法、装置、电子设备和存储介质。
背景技术
互联网协议第6版段路由(英文:Segment Routing over InternetProtocolVersion 6,缩写为:SRv6)是新一代网际互联协议(英文:Internet Protocol,缩写为:IP)承载协议。其采用现有的互联网协议第6版(英文:Internet ProtocolVersion 6,缩写为:IPv6)转发技术,通过灵活的IPv6扩展头,实现网络可编程。
SRv6使用128比特(英文:bit)的IPv6地址作为段标识(英文:SegmentInternetProtocol,缩写为:SID),如果段路由扩展报文头(英文:SegmentRouting Header,缩写为:SRH)需要封装的SID较多,则会使得SRv6报文头增大。例如:在严格规划转发路径的多跳场景中,SRv6 SRH中携带多个SRv6SID会带来较大的报文开销,从而影响传输效率和转发性能,也对网络设备的硬件能力要求较高。
相关技术中,为了解决SRv6报文头开销过大的问题,采用通用SRv6(英文:Generalized Segment Routing over IPv6,缩写为:G-SRv6)技术。但是该方法在通过抓包工具进行抓包时会出现校验错误的问题。
发明内容
本申请的目的是提供一种报文封装方法、装置、电子设备和存储介质,用于减少报文开销,提升抓包检验正确率。
第一方面,本申请实施例提供了一种报文封装方法,所述方法包括:
针对待封装报文,从首个压缩域开始,依序对指定数量的压缩域中的首个段标识SID进行还原处理,得到所述指定数量的压缩域对应的完整SID;
针对任意一个完整SID,在所述任意一个完整的SID对应的压缩域与所述对应的压缩域的前一节点之间,插入所述任意一个完整的SID;所述前一节点为所述压缩域的前一压缩域或入口节点;
针对每个压缩域,将所述压缩域中剩余SID进行左移处理,得到移动后的压缩域;
对每个所述移动后的压缩域以及各个完整SID进行封装处理,得到目标报文。
在本申请中,通过对首个压缩域中的首个SID进行还原处理,进而可以得到该压缩域的DIP,在通过抓包工具进行抓包时即可通过DIP进行抓包,提升了抓包检验正确率;且本申请中仅对指定数量的压缩域中的首个SID进行还原,其余压缩域仍为压缩状态,因此降低了报文开销。
在一些可能的实施例中,所述从首个压缩域开始,依序对指定数量的压缩域中的首个段标识SID进行还原处理,得到各个压缩域对应的完整SID,包括:
针对参与还原处理的每个压缩域,执行:
将SID的公共前缀与所述首个SID进行整合处理,得到所述完整SID;其中,所述公共前缀为存储在存储器中预先配置好的。
在一些可能的实施例中,针对每个压缩域,将所述压缩域中剩余SID进行左移处理,得到移动后的压缩域,包括:
若所述压缩域为所述待封装报文中的最后一个压缩域,则基于所述压缩域的前一压缩域进行左移处理;
若所述压缩域不是所述待封装报文中的最后一个压缩域,则基于所述压缩域的后一压缩域进行左移处理。
在本申请中,通过左移处理,避免了压缩域中有空位进而导致的乱码。
在一些可能的实施例中,所述基于所述压缩域的后一压缩域进行左移处理,包括:
若所述压缩域为所述待封装报文中的首个压缩域,则基于所述压缩域中的空位,将所述压缩域的后一压缩域中的剩余SID基于所述空位进行左移;
若所述压缩域不是所述待封装报文中的首个压缩域,则基于所述压缩域的前一压缩域中的空位,对剩余SID进行左移处理。
在一些可能的实施例中,所述将每个完整SID插入所述完整SID对应的压缩域与所述对应的压缩域的前一节点之间,包括:
若所述完整SID对应的压缩域为首个压缩域,则将所述完整SID插入首个压缩域与入口节点之间;
若所述完整SID对应的压缩域不是首个压缩域,则将所述完整SID插入对应压缩域与所述对应的压缩域的前一压缩域之间。
第二方面,本申请还提供了一种报文封装装置,所述装置包括:
还原模块,用于针对待封装报文,从首个压缩域开始,依序对指定数量的压缩域中的首个段标识SID进行还原处理,得到所述指定数量的压缩域对应的完整SID;
插入模块,用于针对任意一个完整SID,在所述任意一个完整的SID对应的压缩域与所述对应的压缩域的前一节点之间,插入所述任意一个完整的SID;所述前一节点为所述压缩域的前一压缩域或入口节点;
左移模块,用于针对每个压缩域,将所述压缩域中剩余SID进行左移处理,得到移动后的压缩域;
封装模块,用于对每个所述移动后的压缩域以及各个完整SID进行封装处理,得到目标报文。
在一些可能的实施例中,所述还原模块执行从首个压缩域开始,依序对指定数量的压缩域中的首个段标识SID进行还原处理,得到各个压缩域对应的完整SID时,具体用于:
针对参与还原处理的每个压缩域,执行:
将SID的公共前缀与所述首个SID进行整合处理,得到所述完整SID;其中,所述公共前缀为存储在存储器中预先配置好的。
在一些可能的实施例中,所述左移模块执行针对每个压缩域,将所述压缩域中剩余SID进行左移处理,得到移动后的压缩域时,具体用于:
若所述压缩域为所述待封装报文中的最后一个压缩域,则基于所述压缩域的前一压缩域进行左移处理;
若所述压缩域不是所述待封装报文中的最后一个压缩域,则基于所述压缩域的后一压缩域进行左移处理。
在一些可能的实施例中,所述左移模块执行基于所述压缩域的后一压缩域进行左移处理时,具体用于:
若所述压缩域为所述待封装报文中的首个压缩域,则基于所述压缩域中的空位,将所述压缩域的后一压缩域中的剩余SID基于所述空位进行左移;
若所述压缩域不是所述待封装报文中的首个压缩域,则基于所述压缩域的前一压缩域中的空位,对剩余SID进行左移处理。
在一些可能的实施例中,所述插入模块执行将每个完整SID插入所述完整SID对应的压缩域与所述对应的压缩域的前一节点之间时,具体用于:
若所述完整SID对应的压缩域为首个压缩域,则将所述完整SID插入首个压缩域与入口节点之间;
若所述完整SID对应的压缩域不是首个压缩域,则将所述完整SID插入对应压缩域与所述对应的压缩域的前一压缩域之间。
第三方面,本申请另一实施例还提供了一种电子设备,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请第一方面实施例提供的任一方法。
第四方面,本申请另一实施例还提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使计算机执行本申请第一方面实施例提供的任一方法。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中提供的一种报文封装方法的应用场景示意图;
图2为本申请实施例中提供的一种报文封装方法的整体流程示意图;
图3为本申请实施例中提供的一种报文封装方法的左移处理的流程示意图;
图4为本申请实施例中提供的一种报文封装方法的左移处理的另一流程示意图;
图5为本申请实施例中提供的一种报文封装方法的插入完整SID的流程示意图;
图6为本申请实施例中提供的一种报文封装方法的装置示意图;
图7为本申请实施例中提供的一种报文封装方法的电子设备示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以按不同于此处的顺序执行所示出或描述的步骤。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多,本申请实施例不做限制。
名词解释:
END.X:代表网络中的一个邻接,END.X发送给设备的指令为处理SRH,更新IPv6目的地址字段,然后从End.X SID指定的出接口转发报文。
发明人研究发现,SRv6是新一代IP承载协议。其采用现有的IPv6转发技术,通过灵活的IPv6扩展头,实现网络可编程。
SRv6使用128bit的IPv6地址作为SID,如果SRH需要封装的SID较多,则会使得SRv6报文头增大。例如:在严格规划转发路径的多跳场景中,SRv6SRH中携带多个SRv6 SID会带来较大的报文开销,从而影响传输效率和转发性能,也对网络设备的硬件能力要求较高。
相关技术中,为了解决SRv6报文头开销过大的问题,采用通用SRv6技术。G-SRv6是一种兼容SRv6的通用机制,支持携带多种类型不同长度的SID,这些SID称为通用G-SID(英文:Generalized SID,缩写为:G-SID)。G-SRv6通过携带压缩类型的通用SID,最多可减少75%的开销,从而解决SRv6的报文头开销问题。
根据移动企标,需支持SRv6/G-SRv6政策(英文:Policy)的SRH封装包含和不包含入口节点END.X类型SID两种方式,并可支持通过配置选择不同方式。
其中,在配置了G-SRv6 Policy的SRH包含入口节点END.X类型的SID后,此时如果报文转发路径表(英文:Segment List)的配置首跳为入口节点END.X的SID,按照正常封装方式进行封装,因此通过抓包工具抓包会出现校验和错误的问题。
有鉴于此,本申请提出了一种报文封装方法、装置、电子设备和存储介质,用于解决上述问题。本申请的发明构思可概括为:针对待封装报文,从首个压缩域开始,依序对指定数量的压缩域中的首个段标识SID进行还原处理,得到指定数量的压缩域对应的完整SID;针对任意一个完整SID,在任意一个完整的SID对应的压缩域与对应的压缩域的前一节点之间,插入任意一个完整的SID;前一节点为压缩域的前一压缩域或入口节点;针对每个压缩域,将压缩域中剩余SID进行左移处理,得到移动后的压缩域;对每个移动后的压缩域以及各个完整SID进行封装处理,得到目标报文。
为了便于理解,下面结合附图对本申请实施例提供的一种报文封装方法进行详细说明:
如图1所示,为本申请实施例中的一种报文封装方法的应用场景图。图中包括:服务器10、存储器20、终端设备30;其中:
服务器10针对存储器20中的待封装报文,从首个压缩域开始,依序对指定数量的压缩域中的首个段标识SID进行还原处理,得到指定数量的压缩域对应的完整SID;针对任意一个完整SID,在任意一个完整的SID对应的压缩域与对应的压缩域的前一节点之间,插入任意一个完整的SID;前一节点为压缩域的前一压缩域或入口节点;针对每个压缩域,将压缩域中剩余SID进行左移处理,得到移动后的压缩域;对每个移动后的压缩域以及各个完整SID进行封装处理,得到目标报文,并将目标报文发送至终端设备30。
本申请中的描述仅就单个服务器10、存储器20、终端设备30加以详述,但是本领域技术人员应当理解的是,示出的服务器10、存储器20、终端设备30旨在表示本申请的技术方案涉及的服务器10、存储器20、终端设备30的操作。而非暗示对服务器10、存储器20、终端设备30的数量、类型或是位置等具有限制。应当注意,如果向图示环境中添加附加模块或从其中去除个别模块,不会改变本申请的示例实施例的底层概念。另外,虽然为了方便说明而在图1中示出了从存储器20到服务器10的双向箭头,但本领域技术人员可以理解的是,上述数据的收发也是需要通过网络实现的。
需要说明的是,本申请实施例中的存储器例如可以是缓存系统、也可以是硬盘存储、内存存储等等。此外,本申请提出的一种报文封装方法不仅适用于图1所示的应用场景,还适用于任何有报文封装需求的装置。
如图2所示,为本申请实施例提供的一种报文封装方法的整体流程图,其中:
步骤201中:针对待封装报文,从首个压缩域开始,依序对指定数量的压缩域中的首个段标识SID进行还原处理,得到指定数量的压缩域对应的完整SID;
步骤202中:针对任意一个完整SID,在任意一个完整的SID对应的压缩域与对应的压缩域的前一节点之间,插入任意一个完整的SID;前一节点为压缩域的前一压缩域或入口节点;
步骤203中:针对每个压缩域,将压缩域中剩余SID进行左移处理,得到移动后的压缩域;
步骤204中:对每个移动后的压缩域以及各个完整SID进行封装处理,得到目标报文。
在本申请中,通过对首个压缩域中的首个SID进行还原处理,进而可以得到该压缩域的DIP,在通过抓包工具进行抓包时即可通过DIP进行抓包,提升了抓包检验正确率;且本申请中仅对首个压缩域中的首个SID进行还原,其余压缩域仍为压缩状态,因此降低了报文开销。
为了便于进一步的理解本申请实施例提供的一种报文封装方法,下面对图2中的几部分分别进行说明:
在一些可能的实施例中,为了在通过抓包工具进行抓包时可以通过DIP进行抓包,因此需要对压缩域进行还原处理,从首个压缩域开始,依序对指定数量的压缩域中的首个段标识SID进行还原处理,得到各个压缩域对应的完整SID时,具体可实施为:针对参与还原处理的每个压缩域,执行:将SID的公共前缀与首个SID进行整合处理,得到完整SID;其中,公共前缀为存储在存储器中预先配置好的。需要知道的是,本申请中完整SID中包括DIP,但是该完整SID中不包含业务信息(英文:SID Index缩写为:SI)。
例如:参与还原处理的压缩域分别为压缩域1,压缩域2,压缩域3,且每个压缩域均包括4个SID,SID的公共前缀为XXX,压缩域1的首个SID为SID1,则压缩域1的首个压缩域对应的完整SID为XXXSID1;压缩域2的首个SID为SID2,则压缩域2的首个压缩域对应的完整SID为XXXSID2;压缩域3的首个SID为SID3,则压缩域3的首个压缩域对应的完整SID为XXXSID3。
需要知道的是,本申请中为了避免报文开销过大,因此指定数量需要小于待封装报文中的压缩域的总量。在本申请中,为了尽可能的减少报文开销,因此指定数量可以为1,即仅对首个压缩域进行还原处理,仅得到首个压缩域的首个SID的DIP即可。
在一些可能的实施例中,在针对每个压缩域,将压缩域中剩余SID进行左移处理,得到移动后的压缩域时,具体可实施为如图3所示的步骤:
步骤301中:确定压缩域是否为最后一个压缩域,若是则进入步骤302,否则进入步骤303中:
步骤302中:基于压缩域的前一压缩域进行左移处理;
步骤303中:基于压缩域的后一压缩域进行左移处理。
例如:针对待封装报文1,该待封装报文1具有压缩域1,压缩域2,……,压缩域n,针对压缩域n,确定该压缩域为最后一个压缩域,则对压缩域n进行左移处理时,需要基于该压缩域n的前一压缩域(压缩域n-1)进行左移处理;针对压缩域3,确定该压缩域不是最后一个压缩域,则对压缩域3进行左移处理时,需要基于该压缩域3的后一压缩域(压缩域4)进行左移处理。
在一些可能的实施例中,在基于所述压缩域的后一压缩域进行左移处理时,具体可实施为如图4所示的步骤,其中:
步骤401中:确定压缩域是否为待封装报文的首个压缩域,若是则进入步骤402中,否则进入步骤403中;
步骤402中:基于压缩域中的空位,将压缩域的后一压缩域中的剩余SID基于空位进行左移;
步骤403中:基于压缩域的前一压缩域中的空位,对剩余SID进行左移处理。
例如:针对待封装报文1,该待封装报文1具有压缩域1,压缩域2,……,压缩域n,其中压缩域1为首个压缩域,该压缩域包括4个SID,分别为SID11、SID12、SID13、SID14,其中该压缩域中的首个SID11被还原为了完整SID,则对其剩余SID进行左移处理,即左移后为:SID12、SID13、SID14、__,此时压缩域1中有一个空位,则需要将压缩域2中的SID左移至该空位中,假设压缩域2未进行还原处理,则压缩域2中此时包括的SID分别为:SID21、SID22、SID23、SID24,则将压缩域2中的SID21左移至压缩域1中的空位中,此时压缩域1中的SID为:SID12、SID13、SID14、SID21,压缩域2中的SID为:SID22、SID23、SID24、__,此时压缩域2中有一个空位,针对压缩域3,压缩域3中此时包括的SID分别为:SID31、SID32、SID33、SID34,进行左移处理时,基于压缩域2中的空位进行,将SID31左移至压缩域2中的空位中,此时压缩域2中的SID为:SID22、SID23、SID24、SID31。
在另一些实施例中,对有多个压缩域被还原的情况进行说明,例如:针对待封装报文1,该待封装报文1具有压缩域1,压缩域2,……,压缩域n,其中压缩域1为首个压缩域,该压缩域包括4个SID,分别为SID11、SID12、SID13、SID14,其中该压缩域中的首个SID11被还原为了完整SID,则对其剩余SID进行左移处理,即左移后为:SID12、SID13、SID14、__,此时压缩域1中有一个空位,则需要将压缩域2中的SID左移至该空位中,假设压缩域2中的首个SID进行了还原处理,则压缩域2中此时包括的SID分别为:SID22、SID23、SID24,则将压缩域2中的SID22左移至压缩域1中的空位中,此时压缩域1中的SID为:SID12、SID13、SID14、SID22,压缩域2中的SID为:SID23、SID24、__、__,此时压缩域2中有两个空位,针对压缩域3,压缩域3中的首个压缩域未被进行还原处理,则压缩域3中此时包括的SID分别为:SID31、SID32、SID33、SID34,进行左移处理时,基于压缩域2中的空位进行,将SID31、SID32左移至压缩域2中的空位中,此时压缩域2中的SID为:SID23、SID24、SID31、SID32;对后续压缩域依序进行左移,在此不再进行赘述,直至最后一个压缩域完成左移。
在一些可能的实施例中,将每个完整SID插入完整SID对应的压缩域与对应的压缩域的前一节点之间,具体可实施为如图5所示的步骤:
步骤501中:确定完整SID对应的压缩域是否为首个压缩域,若是则进入步骤502,否则进入步骤503中;
步骤502中:将完整SID插入首个压缩域与入口节点之间;
步骤503中:将完整SID插入对应压缩域与对应的压缩域的前一压缩域之间。
例如:针对待封装报文1,该待封装报文1具有压缩域1,压缩域2,……,压缩域n,其中压缩域1为首个压缩域,该压缩域包括4个SID,分别为SID11、SID12、SID13、SID14,其中该压缩域中的首个SID11被还原为了完整SID11’,则将完整SID11’插入压缩域1与入口节点之间,假设压缩域2进行了还原处理,则将压缩域2中的被还原的首个SID21’插入压缩域1与压缩域2之间;针对后续还原处理得到的完整SID均与压缩域2的插入方法相同,在此不再进行赘述。
如图6所示,基于相同的发明构思,提出一种报文封装装置600,所述装置包括:
还原模块6001,用于针对待封装报文,从首个压缩域开始,依序对指定数量的压缩域中的首个段标识SID进行还原处理,得到所述指定数量的压缩域对应的完整SID;
插入模块6002,用于针对任意一个完整SID,在所述任意一个完整的SID对应的压缩域与所述对应的压缩域的前一节点之间,插入所述任意一个完整的SID;所述前一节点为所述压缩域的前一压缩域或入口节点;
左移模块6003,用于针对每个压缩域,将所述压缩域中剩余SID进行左移处理,得到移动后的压缩域;
封装模块6004,用于对每个所述移动后的压缩域以及各个完整SID进行封装处理,得到目标报文。
在一些可能的实施例中,所述还原模块执行从首个压缩域开始,依序对指定数量的压缩域中的首个段标识SID进行还原处理,得到各个压缩域对应的完整SID时,具体用于:
针对参与还原处理的每个压缩域,执行:
将SID的公共前缀与所述首个SID进行整合处理,得到所述完整SID;其中,所述公共前缀为存储在存储器中预先配置好的。
在一些可能的实施例中,所述左移模块执行针对每个压缩域,将所述压缩域中剩余SID进行左移处理,得到移动后的压缩域时,具体用于:
若所述压缩域为所述待封装报文中的最后一个压缩域,则基于所述压缩域的前一压缩域进行左移处理;
若所述压缩域不是所述待封装报文中的最后一个压缩域,则基于所述压缩域的后一压缩域进行左移处理。
在一些可能的实施例中,所述左移模块执行基于所述压缩域的后一压缩域进行左移处理时,具体用于:
若所述压缩域为所述待封装报文中的首个压缩域,则基于所述压缩域中的空位,将所述压缩域的后一压缩域中的剩余SID基于所述空位进行左移;
若所述压缩域不是所述待封装报文中的首个压缩域,则基于所述压缩域的前一压缩域中的空位,对剩余SID进行左移处理。
在一些可能的实施例中,所述插入模块执行将每个完整SID插入所述完整SID对应的压缩域与所述对应的压缩域的前一节点之间时,具体用于:
若所述完整SID对应的压缩域为首个压缩域,则将所述完整SID插入首个压缩域与入口节点之间;
若所述完整SID对应的压缩域不是首个压缩域,则将所述完整SID插入对应压缩域与所述对应的压缩域的前一压缩域之间。
在介绍了本申请示例性实施方式的报文封装方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的电子设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的报文封装方法中的步骤。
下面参照图7来描述根据本申请的这种实施方式的电子设备130。图7显示的电子设备130仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子设备130以通用电子设备的形式表现。电子设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。
存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备130交互的设备通信,和/或与使得该电子设备130能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,电子设备130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备130的其它模块通信。应当理解,尽管图7中未示出,可以结合电子设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的一种报文封装方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种报文封装方法中的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于报文封装的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务端上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种报文封装方法,其特征在于,所述方法包括:
针对待封装报文,从首个压缩域开始,依序对指定数量的压缩域中的首个段标识SID进行还原处理,得到所述指定数量的压缩域对应的完整SID;
针对任意一个完整SID,在所述任意一个完整的SID对应的压缩域与所述对应的压缩域的前一节点之间,插入所述任意一个完整的SID;所述前一节点为所述压缩域的前一压缩域或入口节点;
针对每个压缩域,将所述压缩域中剩余SID进行左移处理,得到移动后的压缩域;
对每个所述移动后的压缩域以及各个完整SID进行封装处理,得到目标报文。
2.根据权利要求1所述的方法,其特征在于,所述从首个压缩域开始,依序对指定数量的压缩域中的首个段标识SID进行还原处理,得到各个压缩域对应的完整SID,包括:
针对参与还原处理的每个压缩域,执行:
将SID的公共前缀与所述首个SID进行整合处理,得到所述完整SID;其中,所述公共前缀为存储在存储器中预先配置好的。
3.根据权利要求1所述的方法,其特征在于,针对每个压缩域,将所述压缩域中剩余SID进行左移处理,得到移动后的压缩域,包括:
若所述压缩域为所述待封装报文中的最后一个压缩域,则基于所述压缩域的前一压缩域进行左移处理;
若所述压缩域不是所述待封装报文中的最后一个压缩域,则基于所述压缩域的后一压缩域进行左移处理。
4.根据权利要求3所述的方法,其特征在于,所述基于所述压缩域的后一压缩域进行左移处理,包括:
若所述压缩域为所述待封装报文中的首个压缩域,则基于所述压缩域中的空位,将所述压缩域的后一压缩域中的剩余SID基于所述空位进行左移;
若所述压缩域不是所述待封装报文中的首个压缩域,则基于所述压缩域的前一压缩域中的空位,对剩余SID进行左移处理。
5.根据权利要求1所述的方法,其特征在于,所述将每个完整SID插入所述完整SID对应的压缩域与所述对应的压缩域的前一节点之间,包括:
若所述完整SID对应的压缩域为首个压缩域,则将所述完整SID插入首个压缩域与入口节点之间;
若所述完整SID对应的压缩域不是首个压缩域,则将所述完整SID插入对应压缩域与所述对应的压缩域的前一压缩域之间。
6.一种报文封装装置,其特征在于,所述装置包括:
还原模块,用于针对待封装报文,从首个压缩域开始,依序对指定数量的压缩域中的首个段标识SID进行还原处理,得到所述指定数量的压缩域对应的完整SID;
插入模块,用于针对任意一个完整SID,在所述任意一个完整的SID对应的压缩域与所述对应的压缩域的前一节点之间,插入所述任意一个完整的SID;所述前一节点为所述压缩域的前一压缩域或入口节点;
左移模块,用于针对每个压缩域,将所述压缩域中剩余SID进行左移处理,得到移动后的压缩域;
封装模块,用于对每个所述移动后的压缩域以及各个完整SID进行封装处理,得到目标报文。
7.根据权利要求6所述的装置,其特征在于,所述还原模块执行从首个压缩域开始,依序对指定数量的压缩域中的首个段标识SID进行还原处理,得到各个压缩域对应的完整SID时,具体用于:
针对参与还原处理的每个压缩域,执行:
将SID的公共前缀与所述首个SID进行整合处理,得到所述完整SID;其中,所述公共前缀为存储在存储器中预先配置好的。
8.根据权利要求6所述的装置,其特征在于,所述左移模块执行针对每个压缩域,将所述压缩域中剩余SID进行左移处理,得到移动后的压缩域时,具体用于:
若所述压缩域为所述待封装报文中的最后一个压缩域,则基于所述压缩域的前一压缩域进行左移处理;
若所述压缩域不是所述待封装报文中的最后一个压缩域,则基于所述压缩域的后一压缩域进行左移处理。
9.根据权利要求8所述的装置,其特征在于,所述左移模块执行基于所述压缩域的后一压缩域进行左移处理时,具体用于:
若所述压缩域为所述待封装报文中的首个压缩域,则基于所述压缩域中的空位,将所述压缩域的后一压缩域中的剩余SID基于所述空位进行左移;
若所述压缩域不是所述待封装报文中的首个压缩域,则基于所述压缩域的前一压缩域中的空位,对剩余SID进行左移处理。
10.根据权利要求6所述的装置,其特征在于,所述插入模块执行将每个完整SID插入所述完整SID对应的压缩域与所述对应的压缩域的前一节点之间时,具体用于:
若所述完整SID对应的压缩域为首个压缩域,则将所述完整SID插入首个压缩域与入口节点之间;
若所述完整SID对应的压缩域不是首个压缩域,则将所述完整SID插入对应压缩域与所述对应的压缩域的前一压缩域之间。
11.一种电子设备,其特征在于,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以实现如权利要求1至5中任一项所述的方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序用于使计算机能够执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211538528.5A CN118175129A (zh) | 2022-12-01 | 2022-12-01 | 一种报文封装方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211538528.5A CN118175129A (zh) | 2022-12-01 | 2022-12-01 | 一种报文封装方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118175129A true CN118175129A (zh) | 2024-06-11 |
Family
ID=91353635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211538528.5A Pending CN118175129A (zh) | 2022-12-01 | 2022-12-01 | 一种报文封装方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118175129A (zh) |
-
2022
- 2022-12-01 CN CN202211538528.5A patent/CN118175129A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10735373B2 (en) | Communications over multiple protocol interfaces in a computing environment | |
US8903972B2 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
CN111382115B (zh) | 一种用于片上网络的路径创建方法、装置及电子设备 | |
CN113992733A (zh) | 边缘网关接入物联网设备的方法、装置、电子设备和介质 | |
CN112968919B (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN101803289B (zh) | 基于适合度的路由 | |
CN112769738A (zh) | DetNet数据包处理方法及装置 | |
EP3893435B1 (en) | Method and apparatus for processing ioam information | |
CN114828140B (zh) | 业务流量报文转发方法及装置、存储介质及电子设备 | |
CN118175129A (zh) | 一种报文封装方法、装置、电子设备和存储介质 | |
CN115486041B (zh) | 跨不同网络进行通信的数据报文格式 | |
CN107360594B (zh) | 一种信息处理方法及装置 | |
CN111988221B (zh) | 数据传输方法、数据传输装置、存储介质与电子设备 | |
CN111447131B (zh) | 报文解封装方法及装置、报文封装方法及装置 | |
CN116418726A (zh) | 源路由编码方法、数据包路由方法、装置、设备及介质 | |
JP6929436B2 (ja) | ビット・ブロック・ストリームを処理する方法及び装置、ビット・ブロック・ストリームのレート・マッチングのための方法及び装置、並びにビット・ブロック・ストリームを切り替える方法及び装置 | |
CN102868606B (zh) | Vrrp心跳报文发送的方法、主用路由器和系统 | |
WO2014183525A1 (zh) | 报文的处理方法和级联芯片 | |
CN113497767A (zh) | 传输数据的方法、装置、计算设备及存储介质 | |
CN114567410B (zh) | 一种信号帧的处理方法及相关设备 | |
CN115766557A (zh) | 一种路由系统、会话保持表的表项生成方法及相关装置 | |
CN116155789A (zh) | 报文传输方法、装置、电子设备及计算机可读存储介质 | |
CN116032862A (zh) | Tte系统低延迟传输be数据的方法、tte系统 | |
CN117615042A (zh) | 数据通信方法、装置、计算机设备及存储介质 | |
CN118175166A (zh) | 一种有线串行总线数据传输方法、系统及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |