CN116455994A - 数据包的解析方法和装置、存储介质及电子装置 - Google Patents
数据包的解析方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN116455994A CN116455994A CN202310505041.5A CN202310505041A CN116455994A CN 116455994 A CN116455994 A CN 116455994A CN 202310505041 A CN202310505041 A CN 202310505041A CN 116455994 A CN116455994 A CN 116455994A
- Authority
- CN
- China
- Prior art keywords
- network protocol
- target
- data packet
- protocol layer
- layer
- 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 41
- 230000005540 biological transmission Effects 0.000 claims abstract description 67
- 238000004590 computer program Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种数据包的解析方法和装置、存储介质及电子装置,该方法包括:检测目标数据包在网络协议架构中包括的多个网络协议层中所属的目标网络协议层,其中,网络协议架构用于指示数据包在网络中的传输格式;从目标网络协议层所支持的参考网络协议中查找目标数据包在目标网络协议层中所使用的目标网络协议,其中,参考网络协议用于指示数据包在目标网络协议层内传输的传输格式;按照目标网络协议对目标数据包进行解析,采用上述技术方案,解决了相关技术中数据包的解析效率较低等问题。
Description
技术领域
本申请涉及通信领域,具体而言,涉及一种数据包的解析方法和装置、存储介质及电子装置。
背景技术
解析器(Parser)是包处理引擎(Packet Processor,PP)至关重要的一环,需要识别出所有可能需要处理的字段,以供后续节点匹配使用。
传统PP中,如果数据包所包含的协议层数或协议类型不同,则对应parser的结构也不同,每一种结构,代表一种解析格式,交换机中Parser一般支持按序解析到第四层网络模型,L2、L3、L4,且每层又支持不同的协议格式,每个协议格式组合,就是Parser支持的解析格式,解析格式越多,代表Parser能力越强,但Parser能够解析的格式是有限的,互联网技术是不断发展的,需要支持解析的协议类型会不断增多,为了使用解析格式的需求,只能通过在Parser中不断增加固定解析格式的方式。这种方式虽然保证了Parser的解析功能,但是不断增加的固定解析格式使得Parser结构变得臃肿。
针对相关技术中数据包的解析效率较低等问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据包的解析方法和装置、存储介质及电子装置,以至少解决相关技术中数据包的解析效率较低等问题。
根据本申请实施例的一个实施例,提供了一种数据包的解析方法,包括:检测目标数据包在网络协议架构中包括的多个网络协议层中所属的目标网络协议层,其中,所述网络协议架构用于指示数据包在网络中的传输格式;从所述目标网络协议层所支持的参考网络协议中查找所述目标数据包在所述目标网络协议层中所使用的目标网络协议,其中,所述参考网络协议用于指示数据包在所述目标网络协议层内传输的传输格式;按照所述目标网络协议对所述目标数据包进行解析。
可选的,检测所述目标数据包在网络协议架构中包括的多个网络协议层中所属的目标网络协议层,包括:检测所述目标数据包在所述网络协议架构中的解析状态;根据所述解析状态确定所述目标数据包所属的所述目标网络协议层。
可选的,所述根据所述解析状态确定所述目标数据包所属的所述目标网络协议层,包括:在所述解析状态用于指示所述目标数据包为首次在所述网络协议架构中进行解析的数据包的情况下,根据所述目标数据包的传输信息确定所述目标网络协议层,其中,所述传输信息用于指示所述目标数据包在交换机之间的传输方式;在所述解析状态用于指示所述目标数据包为非首次在所述网络协议架构中进行解析的数据包的情况下,根据参考数据包的解析结果确定所述目标网络协议层,其中,所述目标数据包为在参考网络协议层对所述参考数据包进行解析得到的数据包,多个所述网络协议层包括所述参考网络协议层。
可选的,所述根据所述目标数据包的传输信息确定所述目标网络协议层,包括:确定所述交换机上用于接收所述目标数据包的接收端口的目标端口信息,其中,所述传输信息包括所述目标端口信息;从具有对应关系的端口信息和网络协议层中确定与所述目标端口信息对应的所述目标网络协议层。
可选的,所述根据参考数据包的解析结果确定所述目标网络协议层,包括:提取所述参考数据包中候选字段的候选字段值,其中,所述候选字段为用于表征所述目标数据包所属的网络协议层的字段,所述解析结果包括所述候选字段值;将所述候选字段值所指示的网络协议层确定为所述目标网络协议层。
可选的,所述从所述目标网络协议层所支持的参考网络协议中查找所述目标数据包在所述目标网络协议层中所使用的目标网络协议,包括:提取所述目标数据包中的目标报文字段,其中,所述目标报文字段为用于表征网络协议的协议类型的字段;将所述目标报文字段和所述参考网络协议对应的参考报文字段进行匹配;将与所述目标报文字段匹配一致的所述参考报文字段对应的所述参考网络协议确定为所述目标网络协议。
可选的,所述按照所述目标网络协议对所述目标数据包进行解析,包括:确定所述目标网络协议对应的目标解析格式;将所述目标解析格式发送至所述目标网络协议层对应的解析引擎,其中,所述解析引擎用于按照所述目标解析格式对所述目标数据包进行解析。
根据本申请实施例的另一个实施例,还提供了一种数据包的解析装置,包括:检测模块,用于检测目标数据包在网络协议架构中包括的多个网络协议层中所属的目标网络协议层,其中,所述网络协议架构用于指示数据包在网络中的传输格式;查找模块,用于从所述目标网络协议层所支持的参考网络协议中查找所述目标数据包在所述目标网络协议层中所使用的目标网络协议,其中,所述参考网络协议用于指示数据包在所述目标网络协议层内传输的传输格式;解析模块,用于按照所述目标网络协议对所述目标数据包进行解析。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据包的解析方法。
根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述数据包的解析方法。
在本申请实施例中,检测目标数据包在网络协议架构中包括的多个网络协议层中所属的目标网络协议层,其中,所述网络协议架构用于指示数据包在网络中的传输格式;从所述目标网络协议层所支持的参考网络协议中查找所述目标数据包在所述目标网络协议层中所使用的目标网络协议,其中,所述参考网络协议用于指示数据包在所述目标网络协议层内传输的传输格式;按照所述目标网络协议对所述目标数据包进行解析,即在对目标数据包进行解析时,通过检测目标数据包所述的目标网络协议层,进而能够确定出在目标网络协议层中所支持的全部参考网络协议,进而可以从目标网络协议层支持的全部参考网络协议层中查找出目标数据包在目标网络协议层中所使用的目标网络协议,从而通过使用目标网络协议对目标数据包进行解析,实现在数据包进行解析的过程中,灵活的确定出目标数据包在对应的目标网络协议层的解析方式,使得在数据包进行解析过程中,可以支持对包括不同协议层以及不同的协议类型的数据包进行解析,实现了对解析能力的扩展。采用上述技术方案,解决了相关技术中数据包的解析效率较低等问题,实现了提高对数据包的解析效率的技术效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种数据包的解析方法的硬件环境示意图;
图2是根据本申请实施例的一种数据包的解析方法的流程图;
图3是根据本申请实施例的一种可选的参考网络协议配置示意图;
图4是根据本申请实施例的一种可选的解析器的数据包解析示意图;
图5是根据本申请实施例的一种可选的网络设备端口配置示意图一;
图6是根据本申请实施例的一种可选的网络设备端口配置示意图二;
图7是根据本申请实施例的一种可选的数据包解析流程图;
图8是根据本申请实施例的一种数据包的解析装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例所提供的方法实施例可以在计算机终端、设备终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是根据本申请实施例的一种数据包的解析方法的硬件环境示意图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的消息推送的发送方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据包的解析方法,应用于上述计算机终端,图2是根据本申请实施例的一种数据包的解析方法的流程图,该流程包括如下步骤:
步骤S202,检测目标数据包在网络协议架构中包括的多个网络协议层中所属的目标网络协议层,其中,所述网络协议架构用于指示数据包在网络中的传输格式;
步骤S204,从所述目标网络协议层所支持的参考网络协议中查找所述目标数据包在所述目标网络协议层中所使用的目标网络协议,其中,所述参考网络协议用于指示数据包在所述目标网络协议层内传输的传输格式;
步骤S206,按照所述目标网络协议对所述目标数据包进行解析。
通过上述步骤,在对目标数据包进行解析时,通过检测目标数据包所述的目标网络协议层,进而能够确定出在目标网络协议层中所支持的全部参考网络协议,进而可以从目标网络协议层支持的全部参考网络协议层中查找出目标数据包在目标网络协议层中所使用的目标网络协议,从而通过使用目标网络协议对目标数据包进行解析,实现在数据包进行解析的过程中,灵活的确定出目标数据包在对应的目标网络协议层的解析方式,使得在数据包进行解析过程中,可以支持对包括不同协议层以及不同的协议类型的数据包进行解析,实现了对解析能力的扩展。采用上述技术方案,解决了相关技术中数据包的解析效率较低等问题,实现了提高对数据包的解析效率的技术效果。
在上述步骤S202提供的技术方案中,网络协议架构中可以包括多个网络协议层,每个网络协议中可以支持多种不同的网络协议,这些网络协议决定了数据包在该网络协议层的数据包封装或者解析格式。
可选地,在本实施例中,目标网络协议层可以是传统的网络协议架构中的任意网络协议层,或者还可以是用户根据自定义需求增加的自定义网络协议层,比如,传统网络协议架构中包括L1层(物理层)、L2层(数据链路层)、L3层(网络层)等协议层,可以根据需求新增网络协议层,例如为了满足对数据传输的需求在L2层和L3层之间新增一个中间层L2.5层,并且在该中间层中设置对应护具传输需求的数据传输协议,本方案对此不做限定。
可选地,在本实施例中,目标数据包所属的目标网络协议层可以是根据目标数据包的属性信息确定的,属性信息用于指示目标数据包在交换机之间的传输方式,比如目标属性信息可以是交换机中发送或者接收该目标数据包的端口信息,通过设置端口信息和网络协议层的对应关系,从而确定出目标数据包所属的目标网络协议层。
可选地,在本实施例中,目标数据包所属的目标网络协议层还可以是根据参考数据包的解析结果确定的,目标数据包为对参考数据包在对应的网络协议层中按照对应的网络协议进行解析得到的数据包,比如,根据参考数据包所处的网络协议层确定出目标数据包的目标网络协议层,或者还可以是根据参考数据包解析得到的候选字段的候选字段值,从而确定该候选字段值所指示的网络协议层,其中,候选字段值为用于指示目标网络协议层的字段。
在上述步骤S204提供的技术方案中,参考网络协议可以是在目标网络协议从中配置的通用网络协议,或者还可以是根据用户对网络协议的需求个性化配置的,比如,通常网络层中支持的网络协议包括IP协议、IPV6协议以及MPLS协议,出了这些协议外,用户还可以根据需要自定义网络协议,从而实现网络传输设备(如交换机)的报文数据传输需求,本方案对目标网络协议层中支持的参考网络协议类型不做限定。
图3是根据本申请实施例的一种可选的参考网络协议配置示意图,如图3所示,在不同的网络协议层配置了对应的网络协议层支持的全部参考网络协议,,在L2层可以配置常用的如Ethernet、Vlan、QinQ等网络协议,或者还可以在L2层配置其他用户自定义的网络协议,从而满足用户对数据传输的需求;在L3层可以配置常用的如IP、IPV6、MPLS等网络协议,或者还可以在L3层配置其他用户自定义的网络协议,从而满足用户对数据传输的需求;在L4层可以配置常用的如TCP、UDP、SCTP等网络协议,或者还可以在L4层配置其他用户自定义的网络协议,从而满足用户对数据传输的需求;同理,还可以根据用户需求自定义配置网络协议层,并且在自定义网络协议层(自定义层)中根据用户需求自定义配置需要的网络协议(自定义网络协议),从而满足用户对数据的传输需求,本方案对此不做限定。
可选地,在本实施例中,可以但不限于通过关键字的进行匹配的方式,从而从能参考网络协议中筛选出目标网络协议,比如,将从目标数据包中挑选出用于表征网络协议类型的目标关键字,将目标关键字与参考网络协议对应的参考关键字进行匹配,从而在参考网络协议中确定出目标网络协议,或者,还可以对目标数据包中全部字段与参考网络协议进行匹配,得到字段的匹配度,将字段的匹配度大于或者等于目标匹配度的参考网络协议作为目标网络协议,本方案对此不做限定。
在上述步骤S206提供的技术方案中,按照目标网络协议对目标数据包进行解析可以是通过将目标网络协议发送至与目标网络协议层对应的解析引擎的方式,用于指示该解析引擎通过与网络协议匹配的解析方式对数据包进行解析。
图4是根据本申请实施例的一种可选的解析器的数据包解析示意图,如图4所示,至少可以包括如下步骤:
在解析器具有对目标数据包的解析格式的灵活配置的功能,针对于不同的网络协议层配置了该网络协议层能够支持的全部参考网络协议,进而通过抽取目标数据包中的报文字段与参考网络协议的参考报文字段进行灵活匹配的方式,从而确定出目标数据包在当前网络协议层的数据解析格式,实现对数据包的灵活解析,得到灵活解析数据。
作为一种可选的实施例,检测所述目标数据包在网络协议架构中包括的多个网络协议层中所属的目标网络协议层,包括:
检测所述目标数据包在所述网络协议架构中的解析状态;
根据所述解析状态确定所述目标数据包所属的所述目标网络协议层。
可选地,在本实施例中,解析状态用于指示目标数据包是否是对参考数据包在网络协议架构中进行解析得到的数据包,比如,目标数据包可以是对参考数据包进行解析得到的,或者目标数据包还可以是网络传输设备刚刚接收到的数据包,该数据包并未在网络协议架构中存在解析的记录。
可选地,在本实施例中,不同的解析状态对应着不同的确定网络协议层的方式,比如,当目标数据包是对参考数据包进行解析得到的数据包时,可以是根据参考数据包所属的参考网络协议层确定出位于参考网络协议层之后是哪个网络协议层,从而确定出目标网络协议层,或者还可以是根据对参考数据包的解析结果,从而对参考数据包进行解析得到的候选字段的候选字段值从而确定出候选字段值所指示的目标网络协议层,其中,候选字段为用于指示目标网络协议层的字段。或者当目标数据包是在网络协议架构中未经过解析的数据包的情况下,可以根据目标数据包的传输属性从而确定出所述传输属性所指示的目标网络协议层。
作为一种可选的实施例,所述根据所述解析状态确定所述目标数据包所属的所述目标网络协议层,包括:
在所述解析状态用于指示所述目标数据包为首次在所述网络协议架构中进行解析的数据包的情况下,根据所述目标数据包的传输信息确定所述目标网络协议层,其中,所述传输信息用于指示所述目标数据包在交换机之间的传输方式;
在所述解析状态用于指示所述目标数据包为非首次在所述网络协议架构中进行解析的数据包的情况下,根据参考数据包的解析结果确定所述目标网络协议层,其中,所述目标数据包为在参考网络协议层对所述参考数据包进行解析得到的数据包,多个所述网络协议层包括所述参考网络协议层。
可选地,在本实施例中,传输信息可以但不限于包括数据包的大小、发送该数据包的网络设备的设备信息、目标数据包在用于发送该目标数据包的网络设备上的输出端口,接收目标数据包的接收端口等等,本方案对此不做限定。
图5是根据本申请实施例的一种可选的网络设备端口配置示意图一,如图5所示,该网络设备是用于发送数据包的网络设备,在该网络设备上,数据包发送端口进行了规划,不同的网络端口用于发送属于不同网络协议层的数据包,包括对网络协议架构中常规的网络协议层的数据包的发送端口,还包括用于发送用户自定义的网络协议层的数据包发送端口,当该网络设备完成对数据包的封装后,并准备发送给其他网络设备后,可以根据封装后的数据包当前所属的网络协议层使用对应的发送端口进行发送,当接收该数据包的网络设备在接收到该数据包后,可以根据发送该数据包的网络端口快速确定出数据包所属于的网络协议层,从而实现对数据包的快速解析。
图6是根据本申请实施例的一种可选的网络设备端口配置示意图二,如图6所示,该网络设备是用于接收数据包的网络设备,在该网络设备上,对端口的数据包接收功能进行了规划,即不同的端口用于接收属于不同网络协议层的数据包,包括网络协议架构中常规的网络协议层的数据包的接收端口,还包括用于接收用户自定义的网络协议层的数据包接收端口,当网络发送设备完成对数据包的封装后,可以但不限于执行确定接收数据包的网络设备上的端口配置情况,从而将数据包发送至对应的端口,从而实现接收数据包的网络设备能够根据数据包的接收端口快速的定位出数据包所述的网络协议层,从而实现对数据包的快速解析。
可选地,在本实施例中,传输信息和数据包所属的网络协议层之间具有对应关系,目标数据包的传输信息不同,则对应着不同的目标网络协议层。
可选地,在本实施例中,解析结果可以是参考数据包所述的网络协议层,或者还可以是对参考数据包进行解析得到的相关字段的字段值。
作为一种可选的实施例,所述根据所述目标数据包的传输信息确定所述目标网络协议层,包括:
确定所述交换机上用于接收所述目标数据包的接收端口的目标端口信息,其中,所述传输信息包括所述目标端口信息;
从具有对应关系的端口信息和网络协议层中确定与所述目标端口信息对应的所述目标网络协议层。
可选地,在本实施例中,在网络传输设备中,为数据包的传输端口进行了规划,不同的接收端口用于接收属于不同网络协议层的数据包,比如一个数据包所属的网络协议层为网络层,则将端口1配置为接收属于网络层的数据包的端口。
作为一种可选的实施例,所述根据参考数据包的解析结果确定所述目标网络协议层,包括:
提取所述参考数据包中候选字段的候选字段值,其中,所述候选字段为用于表征所述目标数据包所属的网络协议层的字段,所述解析结果包括所述候选字段值;
将所述候选字段值所指示的网络协议层确定为所述目标网络协议层。
可选地,在本实施例中,在目标数据包中设置有候选报文字段,该候选报文字段用于指示下一层的数据包所属于的网络协议层,进而根据候选字段的候选字段值确定出候选字段值所属的网络协议层。
作为一种可选的实施例,所述从所述目标网络协议层所支持的参考网络协议中查找所述目标数据包在所述目标网络协议层中所使用的目标网络协议,包括:
提取所述目标数据包中的目标报文字段,其中,所述目标报文字段为用于表征网络协议的协议类型的字段;
将所述目标报文字段和所述参考网络协议对应的参考报文字段进行匹配;
将与所述目标报文字段匹配一致的所述参考报文字段对应的所述参考网络协议确定为所述目标网络协议。
可选地,在本实施例中,参考报文字段是用于指示参考网络协议的协议类型的字段,不同的参考网络协议的参考报文字段是不同的。
作为一种可选的实施例,所述按照所述目标网络协议对所述目标数据包进行解析,包括:
确定所述目标网络协议对应的目标解析格式;
将所述目标解析格式发送至所述目标网络协议层对应的解析引擎,其中,所述解析引擎用于按照所述目标解析格式对所述目标数据包进行解析。
可选地,在本实施例中,各个网络协议层配置有对应的解析引擎,当将目标解析格式发送至对应的解析引擎后,解析引擎就会按照解析格式对数据包进行解析。
图7是根据本申请实施例的一种可选的数据包解析流程图,如图7所示,至少包括如下步骤:
Step1:目标数据包进入芯片,从而确定数据包的传输信息,不同的传输信息指示目标数据包当前所属的网络协议层不同,比如,传输信息可以是网络传输设备接收到目标数据包的端口,不同的端口用于接收属于不同网络协议层的目标数据包。
Step2:进入灵活解析引擎,查看是否使能引擎,如果是,则灵活挑选当前网络协议层配置的参考网络协议对应的参考报文字段进行匹配,在匹配成功后,确定该参考网络协议是目标数据包在当前网络协议层中所使用的目标网络协议,从而确定出目标数据包在该网络协议层中的解析格式,在解析结束后,得到解析后的第一数据包,并且制定该网络协议层对目标数据包进行解析得到的第一数据包的,并指定后续解析第一数据包的解析引擎,L2进入Step3,L3进入Step5,L4进入Step7;否则,进入Step3。
Step3:进入L2解析引擎,解析能够支持的参考网络协议的协议类型,例如Ethernet、VLAN、QinQ等。
Step4:进入L2灵活解析引擎,查看是否使能引擎,如果是,则灵活挑选当前网络协议层配置的参考网络协议对应的参考报文字段进行匹配,匹配成功后,确定该参考网络协议是目标数据包在当前网络协议层中所使用的目标网络协议,从而确定出目标数据包在该网络协议层中的解析格式,在解析结束后,得到解析后的第二数据包,并且制定该网络协议层对目标数据包进行解析得到的第二数据包的,并指定后续解析第为数据包的解析引擎,L3进入Step5,L4进入Step7;否则,进入Step5。
Step5:进入L3解析引擎,解析能够支持的参考网络协议的协议类型,例如IP、IPV6、MPLS等。
Step6:进入L3灵活解析引擎,查看是否使能引擎,如果是,则灵活挑选当前网络协议层配置的参考网络协议对应的参考报文字段进行匹配,匹配成功后,确定该参考网络协议是目标数据包在当前网络协议层中所使用的目标网络协议,从而确定出目标数据包在该网络协议层中的解析格式,在解析结束后,得到解析后的第三数据包,并且制定该网络协议层对目标数据包进行解析得到的第三数据包的,并指定后续解析第为数据包的解析引擎,L4进入Step7;否则,进入Step7。
Step7:进入L4解析引擎,解析能够支持的参考网络协议的协议类型,例如UDP、TCP等
Step8:进入L4灵活解析引擎,查看是否使能引擎,如果是,则灵活挑选当前网络协议层配置的参考网络协议对应的参考报文字段进行匹配,匹配成功后,确定该参考网络协议是目标数据包在当前网络协议层中所使用的目标网络协议,从而确定出目标数据包在该网络协议层中的解析格式,在解析结束后,得到解析后的第四数据包,并且制定该网络协议层对目标数据包进行解析得到的第四数据包的,并指定后续解析第为数据包的解析引擎,L2进入Step3,L3进入Step,L4进入Step;否则,结束。
通过本发明方法,可以实现如下功能:固有解析节点都支持接入灵活解析引擎;支持用户自定义,指定是否解析扩展或自定义的报文内容;支持用户自定义,指定报文解析格式。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件和必需的通用硬件平台的方式来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
图8是根据本申请实施例的一种数据包的解析装置的结构框图;如图8所示,包括:检测模块82,用于检测目标数据包在网络协议架构中包括的多个网络协议层中所属的目标网络协议层,其中,所述网络协议架构用于指示数据包在网络中的传输格式;查找模块84,用于从所述目标网络协议层所支持的参考网络协议中查找所述目标数据包在所述目标网络协议层中所使用的目标网络协议,其中,所述参考网络协议用于指示数据包在所述目标网络协议层内传输的传输格式;解析模块86,用于按照所述目标网络协议对所述目标数据包进行解析。
通过上述实施例,在对目标数据包进行解析时,通过检测目标数据包所述的目标网络协议层,进而能够确定出在目标网络协议层中所支持的全部参考网络协议,进而可以从目标网络协议层支持的全部参考网络协议层中查找出目标数据包在目标网络协议层中所使用的目标网络协议,从而通过使用目标网络协议对目标数据包进行解析,实现在数据包进行解析的过程中,灵活的确定出目标数据包在对应的目标网络协议层的解析方式,使得在数据包进行解析过程中,可以支持对包括不同协议层以及不同的协议类型的数据包进行解析,实现了对解析能力的扩展。采用上述技术方案,解决了相关技术中数据包的解析效率较低等问题,实现了提高对数据包的解析效率的技术效果。
可选的,所述检测模块,包括:检测单元,用于检测所述目标数据包在所述网络协议架构中的解析状态;第一确定单元,用于根据所述解析状态确定所述目标数据包所属的所述目标网络协议层。
可选的,所述第一确定单元,用于:在所述解析状态用于指示所述目标数据包为首次在所述网络协议架构中进行解析的数据包的情况下,根据所述目标数据包的传输信息确定所述目标网络协议层,其中,所述传输信息用于指示所述目标数据包在交换机之间的传输方式;在所述解析状态用于指示所述目标数据包为非首次在所述网络协议架构中进行解析的数据包的情况下,根据参考数据包的解析结果确定所述目标网络协议层,其中,所述目标数据包为在参考网络协议层对所述参考数据包进行解析得到的数据包,多个所述网络协议层包括所述参考网络协议层。
可选的,所述确定单元,用于:确定所述交换机上用于接收所述目标数据包的接收端口的目标端口信息,其中,所述传输信息包括所述目标端口信息;从具有对应关系的端口信息和网络协议层中确定与所述目标端口信息对应的所述目标网络协议层。
可选的,所述确定单元,用于:提取所述参考数据包中候选字段的候选字段值,其中,所述候选字段为用于表征所述目标数据包所属的网络协议层的字段,所述解析结果包括所述候选字段值;将所述候选字段值所指示的网络协议层确定为所述目标网络协议层。
可选的,所述查找模块,包括:提取单元,用于提取所述目标数据包中的目标报文字段,其中,所述目标报文字段为用于表征网络协议的协议类型的字段;匹配单元,用于将所述目标报文字段和所述参考网络协议对应的参考报文字段进行匹配;第二确定单元,用于将与所述目标报文字段匹配一致的所述参考报文字段对应的所述参考网络协议确定为所述目标网络协议。
可选的,所述解析模块,包括:第三确定单元,用于确定所述目标网络协议对应的目标解析格式;发送单元,用于将所述目标解析格式发送至所述目标网络协议层对应的解析引擎,其中,所述解析引擎用于按照所述目标解析格式对所述目标数据包进行解析。
本申请的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项数据包的解析方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:检测目标数据包在网络协议架构中包括的多个网络协议层中所属的目标网络协议层,其中,所述网络协议架构用于指示数据包在网络中的传输格式;从所述目标网络协议层所支持的参考网络协议中查找所述目标数据包在所述目标网络协议层中所使用的目标网络协议,其中,所述参考网络协议用于指示数据包在所述目标网络协议层内传输的传输格式;按照所述目标网络协议对所述目标数据包进行解析。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项数据包的解析方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:检测目标数据包在网络协议架构中包括的多个网络协议层中所属的目标网络协议层,其中,所述网络协议架构用于指示数据包在网络中的传输格式;从所述目标网络协议层所支持的参考网络协议中查找所述目标数据包在所述目标网络协议层中所使用的目标网络协议,其中,所述参考网络协议用于指示数据包在所述目标网络协议层内传输的传输格式;按照所述目标网络协议对所述目标数据包进行解析。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种数据包的解析方法,其特征在于,包括:
检测目标数据包在网络协议架构中包括的多个网络协议层中所属的目标网络协议层,其中,所述网络协议架构用于指示数据包在网络中的传输格式;
从所述目标网络协议层所支持的参考网络协议中查找所述目标数据包在所述目标网络协议层中所使用的目标网络协议,其中,所述参考网络协议用于指示数据包在所述目标网络协议层内传输的传输格式;
按照所述目标网络协议对所述目标数据包进行解析。
2.根据权利要求1所述的方法,其特征在于,检测所述目标数据包在网络协议架构中包括的多个网络协议层中所属的目标网络协议层,包括:
检测所述目标数据包在所述网络协议架构中的解析状态;
根据所述解析状态确定所述目标数据包所属的所述目标网络协议层。
3.根据权利要求2所述的方法,其特征在于,所述根据所述解析状态确定所述目标数据包所属的所述目标网络协议层,包括:
在所述解析状态用于指示所述目标数据包为首次在所述网络协议架构中进行解析的数据包的情况下,根据所述目标数据包的传输信息确定所述目标网络协议层,其中,所述传输信息用于指示所述目标数据包在交换机之间的传输方式;
在所述解析状态用于指示所述目标数据包为非首次在所述网络协议架构中进行解析的数据包的情况下,根据参考数据包的解析结果确定所述目标网络协议层,其中,所述目标数据包为在参考网络协议层对所述参考数据包进行解析得到的数据包,多个所述网络协议层包括所述参考网络协议层。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标数据包的传输信息确定所述目标网络协议层,包括:
确定所述交换机上用于接收所述目标数据包的接收端口的目标端口信息,其中,所述传输信息包括所述目标端口信息;
从具有对应关系的端口信息和网络协议层中确定与所述目标端口信息对应的所述目标网络协议层。
5.根据权利要求3所述的方法,其特征在于,所述根据参考数据包的解析结果确定所述目标网络协议层,包括:
提取所述参考数据包中候选字段的候选字段值,其中,所述候选字段为用于表征所述目标数据包所属的网络协议层的字段,所述解析结果包括所述候选字段值;
将所述候选字段值所指示的网络协议层确定为所述目标网络协议层。
6.根据权利要求1所述的方法,其特征在于,所述从所述目标网络协议层所支持的参考网络协议中查找所述目标数据包在所述目标网络协议层中所使用的目标网络协议,包括:
提取所述目标数据包中的目标报文字段,其中,所述目标报文字段为用于表征网络协议的协议类型的字段;
将所述目标报文字段和所述参考网络协议对应的参考报文字段进行匹配;
将与所述目标报文字段匹配一致的所述参考报文字段对应的所述参考网络协议确定为所述目标网络协议。
7.根据权利要求1所述的方法,其特征在于,所述按照所述目标网络协议对所述目标数据包进行解析,包括:
确定所述目标网络协议对应的目标解析格式;
将所述目标解析格式发送至所述目标网络协议层对应的解析引擎,其中,所述解析引擎用于按照所述目标解析格式对所述目标数据包进行解析。
8.一种数据包的解析装置,其特征在于,包括:
检测模块,用于检测目标数据包在网络协议架构中包括的多个网络协议层中所属的目标网络协议层,其中,所述网络协议架构用于指示数据包在网络中的传输格式;
查找模块,用于从所述目标网络协议层所支持的参考网络协议中查找所述目标数据包在所述目标网络协议层中所使用的目标网络协议,其中,所述参考网络协议用于指示数据包在所述目标网络协议层内传输的传输格式;
解析模块,用于按照所述目标网络协议对所述目标数据包进行解析。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至7中任一项所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310505041.5A CN116455994A (zh) | 2023-05-06 | 2023-05-06 | 数据包的解析方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310505041.5A CN116455994A (zh) | 2023-05-06 | 2023-05-06 | 数据包的解析方法和装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116455994A true CN116455994A (zh) | 2023-07-18 |
Family
ID=87125645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310505041.5A Pending CN116455994A (zh) | 2023-05-06 | 2023-05-06 | 数据包的解析方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116455994A (zh) |
-
2023
- 2023-05-06 CN CN202310505041.5A patent/CN116455994A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324245B (zh) | 一种基于集成流表转发报文的方法及装置 | |
CN106330483B (zh) | 信息获取方法、客户端设备和服务端设备 | |
CN112165408B (zh) | 一种模拟客户串联部署环境的测试方法和装置 | |
CN102035694A (zh) | 链路检测装置及方法 | |
CN113746714B (zh) | 基于主从站的通信方法、通信系统及装置 | |
CN108076058A (zh) | 基于自适应可变长编码的异构网络通讯协议融合处理方法 | |
CN110087226B (zh) | 流量统计方法、装置、存储介质及电子装置 | |
CN111726258A (zh) | 网络性能检测方法及相关装置 | |
CN111315026B (zh) | 信道的选择方法、装置、网关及计算机可读存储介质 | |
CN103581020B (zh) | 一种报文转发的方法、装置及系统 | |
CN112910838B (zh) | 复合协议解析方法、装置、设备、系统和存储介质 | |
CN115883466B (zh) | 交换机的控制方法及装置、存储介质及电子装置 | |
CN116455994A (zh) | 数据包的解析方法和装置、存储介质及电子装置 | |
WO2023125056A1 (zh) | 网络数据的控制方法、装置和存储介质及电子设备 | |
US9577669B2 (en) | Methods, systems, and computer readable media for optimized message decoding | |
CN110581792A (zh) | 一种报文传输方法及装置 | |
CN112350844A (zh) | 用于数据传输的方法和装置 | |
CN110493818B (zh) | 无线保真模块的检测方法、装置、存储介质及电子装置 | |
CN113783755A (zh) | 网络监测方法、装置、存储介质及电子装置 | |
CN118317009A (zh) | 报文的传输方法和装置、存储介质及电子装置 | |
CN116708609A (zh) | 报文字符数据的提取方法和装置、存储介质及电子装置 | |
CN109729026B (zh) | 一种sdn网络的控制方法和sdn控制器 | |
CN113132986B (zh) | 基于DPP协议实现WiFi的mesh网络的实现方法及装置、存储介质 | |
CN112165465B (zh) | 外发第三方平台的数据处理方法、装置和电子装置 | |
CN114827288B (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 |