CN111030998B - 一种可配置的协议解析方法及系统 - Google Patents

一种可配置的协议解析方法及系统 Download PDF

Info

Publication number
CN111030998B
CN111030998B CN201911116565.5A CN201911116565A CN111030998B CN 111030998 B CN111030998 B CN 111030998B CN 201911116565 A CN201911116565 A CN 201911116565A CN 111030998 B CN111030998 B CN 111030998B
Authority
CN
China
Prior art keywords
information
module
header
protocol
extracting
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.)
Active
Application number
CN201911116565.5A
Other languages
English (en)
Other versions
CN111030998A (zh
Inventor
张文建
刘勤让
吕平
沈剑良
宋克
李沛杰
刘冬培
陈艇
赵博
汤先拓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN201911116565.5A priority Critical patent/CN111030998B/zh
Publication of CN111030998A publication Critical patent/CN111030998A/zh
Application granted granted Critical
Publication of CN111030998B publication Critical patent/CN111030998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于协议解析处理技术领域,公开一种可配置的协议解析方法及系统,该方法包括:缓存协议数据;报头解析和提取,键值生成,CAM精确匹配,表项查找,中间信息和最终信息更新,语义解析和处理;该系统包括:报文缓存模块、报头解析和提取模块、键值生成模块、CAM模块、表项管理模块、中间信息和最终信息更新模块、语义解析及处理模块。本发明通过自定义配置CAM和表项数据,可自定义支持的协议解析类型,且处理速度快,协议解析通过环回的方式进行解析,节省了额外的硬件资源,相比常规的可编程协议解析平台,本发明仅需要按照约定数据格式向对应的CAM和RAM进行配置。

Description

一种可配置的协议解析方法及系统
技术领域
本发明属于协议解析处理技术领域,尤其涉及一种可配置的协议解析方法及系统。
背景技术
随着网络安全技术的发展,拟态防御技术逐渐成为热门安全技术。拟态防御要求系统具备动态异构冗余性,即动态调度异构执行体,通过拟态判决异构执行的输出来判断系统的安全状态(邬江兴. 网络空间拟态防御研究[J]. 信息安全学报, 2016, 1(4):1-10.)。当前,有很多应用于交换路由领域的拟态防御技术,很多技术都采用了异构协议栈,异构操作系统,异构处理器来构造拟态系统,并引入拟态判决来裁决异构执行体的输出数据(魏帅, 于洪, 顾泽宇 ,等. 面向工控领域的拟态安全处理机架构[J]. 信息安全学报,2017,2(1): 54-73.)。
在进行判决时,需要判决数据严格一致。但受制于协议的灵活性以及各个协议栈封装协议数据的算法不同,来自不同协议栈相同功能的协议数据可能存在数据不一致的情况,具体分为以下几种情况:
1.协议数据乱序,受制于协议栈以及处理器不同,协议栈下发相同语义的协议数据时可能存在同一个数据帧中数据的乱序,比如,在下发路由表信息时,在不同协议栈的路由分发算法中,承载路由信息的OSPF协议的LSU消息的路由条目数据顺序可能不一样。如此以来,进行拟态判决时,必须先解析协议数据,调整路由条目数据后再进行判决;
2.保留字段或自定义字段,为了协议的可扩展性,大多数协议都规定了保留字段或者自定义字段,不同的协议栈如果存在使用保留字段或者自定义字段的情况时,如果使用方式不同,或者部分不使用,则此类协议数据在进行拟态判决时,必须将这些字段进行掩码处理,才能进行判决;
3.可选字段,该字段也是为了协议可扩展性的考虑,部分协议报头中存在可选字段,当不同的协议栈对可选字段的使用不同时,此类协议数据在进行拟态判决前,必须剔除可选字段,才能进行判决;
针对以上情况,拟态判决模块需要对协议数据进行解析,解析的目的是提取协议数据的语义,解决乱序问题,并将冗余信息删除,将不一致字段进行归一化处理等操作,即,对协议数据进行切包、掩码以及截断操作。切包完成协议数据包的分解,得到元数据;掩码是对保留字段或者自定义字段的操作,消除不一致性;截断操作是去除可选字段,删除冗余信息。
目前,协议解析主要分以下几种实现方式:1.硬件逻辑实现,大多数协议解析通过硬件逻辑实现,但是硬件逻辑实现的专用包解析的灵活性不高,无法支持扩展协议;2.当前可配置包解析,比如,p4等(刘中金, 李勇, 苏厉, 等. 弹性协议可定制的网络数据平面结构及其映射算法[J]. 电子与信息学报, 2014, 36(7): 1713-1719.)(Wang H, Soulé R,Dang H T, et al. P4FPGA: A rapid prototyping framework for P4[C]//Proceedingsof the Symposium on SDN Research. ACM, 2017: 122-135.)。但是,这些可配置设计是针对交换机数据转发层设计的,更注重数据转发行为以及转发策略的可配置化,其解析架构比较复杂。3.软件实现,即,通过处理器进行解析,灵活度高,但该方案需要通过处理器进行计算解析,效率较低。因此,需要从拟态判决的实际包解析需求出发,即如何解决划分子包,掩码不一致字段以及截断冗余的可选字段等,设计面向拟态判决的可配置协议解析方法。
发明内容
本发明针对现有的协议解析方法存在的解析架构比较复杂、且效率较低的问题,提出一种可配置的协议解析方法及系统。
为了实现上述目的,本发明采用以下技术方案:
一种可配置的协议解析方法,包括:
步骤1:缓存整体的协议数据;
步骤2:从协议数据中提取报头信息,首次提取时,定义描述符格式,描述符用于后续中间信息的传递以及最终信息的生成,并从描述符中提取比较指示和偏移指针;所述中间信息包括环回指示、比较指示和偏移指针;所述最终信息包括报头长度、负载头长度偏移指针、掩码指针、掩码长度、截断指针及截断长度;非首次提取时,从描述符中提取比较指示和偏移指针;
步骤3:通过偏移指针对报头的报文类型数据进行提取,根据比较指示决定是否将报头的报文类型数据与立即数进行对比,并生成键值;
步骤4:根据生成的键值对CAM进行精确匹配,得到协议解析相关表项的索引值;
步骤5:根据表项的索引值,查找对应的表项,获得中间信息,如果是最后一级查找,则获得最终信息;
步骤6:根据表项查找获得的中间信息或最终信息进行中间信息或最终信息的更新,更新环回指示、偏移指针、报头长度、负载头长度偏移指针,如果环回指示为1,则转至步骤3,如果环回指示为0,则输出最终信息,执行下一步;
步骤7:根据步骤6获得的最终信息,读取缓存的协议数据,根据所述最终信息对缓存的协议数据中各协议数据包进行切包、掩码和截断操作;提取各协议数据包各子包的特征信息以及特征地址,并按照特征地址存放特征信息,将不同子包的特征存放在不同的ram模块,针对ram模块里的特征数据做拟态判决。
进一步地,所述CAM采用分级的方式实现。
进一步地,所述对缓存的协议数据中各协议数据包进行切包、掩码和截断操作包括:
根据最终信息中的报头长度,向缓存的协议数据中各协议数据包的报头尾部插入一个周期的last信号,截取数据报头;
根据最终信息中的负载头长度偏移指针,提取负载长度,切分成协议子包,在负载头尾部插入last信号;
根据最终信息中的掩码指针以及掩码长度对各协议数据包中的相应位进行掩码操作,消除干扰拟态判决的干扰域;
根据最终信息中的截断指针以及截断长度对各协议数据包中的相应位进行截断操作。
一种可配置的协议解析系统,包括报文缓存模块、报头解析和提取模块、键值生成模块、CAM模块、表项管理模块、中间信息和最终信息更新模块、语义解析及处理模块;
所述报文缓存模块用于缓存整体的协议数据;
所述报头解析和提取模块用于从协议数据中提取报头信息,首次提取时,定义描述符格式,描述符用于后续中间信息的传递以及最终信息的生成,并从描述符中提取比较指示和偏移指针;所述中间信息包括环回指示、比较指示和偏移指针;所述最终信息包括报头长度、负载头长度偏移指针、掩码指针、掩码长度、截断指针及截断长度;非首次提取时,从描述符中提取比较指示和偏移指针;
所述键值生成模块用于通过偏移指针对报头的报文类型数据进行提取,根据比较指示决定是否将报头的报文类型数据与立即数进行对比,并生成键值;
所述CAM模块用于根据生成的键值对CAM进行精确匹配,得到协议解析相关表项的索引值;
所述表项管理模块用于根据表项的索引值,查找对应的表项,获得中间信息,如果是最后一级查找,则获得最终信息;
所述中间信息和最终信息更新模块用于根据表项查找获得的中间信息或最终信息进行中间信息或最终信息的更新,更新环回指示、偏移指针、报头长度、负载头长度偏移指针,如果环回指示为1,则转至键值生成模块,如果环回指示为0,则输出最终信息,转至语义解析及处理模块;
所述语义解析及处理模块用于根据中间信息和最终信息更新模块获得的最终信息,读取缓存的协议数据,根据所述最终信息对缓存的协议数据中各协议数据包进行切包、掩码和截断操作;提取各协议数据包各子包的特征信息以及特征地址,并按照特征地址存放特征信息,将不同子包的特征存放在不同的ram模块,针对ram模块里的特征数据做拟态判决。
与现有技术相比,本发明具有的有益效果:
本发明提供的一种可配置的协议解析方法,可配置的协议解析的思想,对协议数据进行层层解析,用表项定义报头的解析方式以及解析深度来实现,并定义协议数据的子包划分方式、掩码以及截断方式,最终完成协议数据的解析。具有以下优势:
1.协议可配置,通过自定义配置CAM和表项数据,自定义支持的协议解析类型;
2.处理速度快,一般的协议解析都是用软件实现,相比之下,本方法的处理速度较快;
3.环回操作,协议解析通过环回的方式进行解析,节省了额外的硬件资源;
4.简单易行,相比常规的可编程协议解析平台,如P4,本方法仅需要按照约定数据格式向对应的CAM和RAM进行配置。
附图说明
图1为本发明实施例一种可配置的协议解析方法的基本流程图;
图2为本发明实施例一种可配置的协议解析系统的结构示意图;
图3为本发明实施例另一种可配置的协议解析系统的结构示意图;
图4为本发明实施例另一种可配置的协议解析系统的可编程Slice模块结构示意图;
图5为本发明实施例另一种可配置的协议解析系统的语义解析及处理模块功能流程图。
具体实施方式
下面结合附图和具体的实施例对本发明做进一步的解释说明:
实施例1
如图1所示,一种可配置的协议解析方法,包括:
步骤S101:缓存整体的协议数据,具体地,维持输入时的时序;
步骤S102:从协议数据中提取报头信息,首次提取时,定义描述符(metaframe)格式,描述符(metaframe)用于后续中间信息的传递以及最终信息的生成,并从描述符中提取比较指示和偏移指针;所述中间信息包括环回指示、比较指示和偏移指针;环回指示用于表示是否需要进行循环,数据报文都是多层协议封装的,因为每层协议解析都是一个过程,每层协议解析都执行一次;偏移指针用于提取报头的报文类型数据;比较指示用于决定在键值生成前是否进行比较操作;所述最终信息包括报头长度、负载头长度偏移指针、掩码指针、掩码长度、截断指针及截断长度等信息;非首次提取时,从描述符中提取比较指示和偏移指针;
步骤S103:通过偏移指针对报头的报文类型数据进行提取,根据比较指示决定是否将报头的报文类型数据与立即数进行对比,并生成键值;
步骤S104:根据生成的键值对CAM进行精确匹配,得到协议解析相关表项的索引值;
步骤S105:根据表项的索引值,查找对应的表项,获得中间信息,如果是最后一级(层)查找,即环回指示为0,则获得最终信息;
步骤S106:根据表项查找获得的中间信息或最终信息进行中间信息或最终信息的更新,更新环回指示、偏移指针、报头长度、负载头长度偏移指针,如果环回指示为1,则转至步骤S103,如果环回指示为0,则输出最终信息,执行下一步;
步骤S107:根据步骤S106获得的最终信息,读取缓存的协议数据,根据所述最终信息对缓存的协议数据中各协议数据包进行切包、掩码和截断操作;提取各协议数据包各子包的特征信息以及特征地址,并按照特征地址存放特征信息,将不同子包的特征存放在不同的ram模块,针对ram模块里的特征数据做拟态判决。
具体地,由于CAM的深度与时序紧相关,所以CAM深度不易过深,CAM可采用分级的方式实现,从而规避时序紧张问题。
具体地,所述对缓存的协议数据中各协议数据包进行切包、掩码和截断操作包括:
根据最终信息中的报头长度,向缓存的协议数据中各协议数据包的报头尾部插入一个周期的last信号,截取数据报头;
根据最终信息中的负载头长度偏移指针,提取负载长度,切分成协议子包,在负载头尾部插入last信号;
根据最终信息中的掩码指针以及掩码长度对各协议数据包中的相应位进行掩码操作,消除干扰拟态判决的干扰域;
根据最终信息中的截断指针以及截断长度对各协议数据包中的相应位进行截断操作。
具体地,使用诸如CRC校验算法等特征提取算法,将子包信息的特征提取出来,同步的为每个子包打上特定的标签,标识特征信息,为每路协议数据分配一个ram模块来存储特征信息,地址按照标签分配。
由于特征信息表征子包,特征标签标识特征信息的内存(RAM)地址,因此,在将特征信息存入ram模块时,含有相同特征的子包将存于对应ram模块相同的内存地址中,这样就可以通过对比写入对应ram模块相同内存地址的特征信息来进行拟态判决。
本发明提供的一种可配置的协议解析方法,可配置的协议解析的思想,对协议数据进行层层解析,用表项定义报头的解析方式以及解析深度来实现,并定义协议数据的子包划分方式、掩码以及截断方式,最终完成协议数据的解析。具有以下优势:
1.协议可配置,通过自定义配置CAM和表项数据,自定义支持的协议解析类型;
2.处理速度快,一般的协议解析都是用软件实现,相比之下,本方法的处理速度较快;
3.环回操作,协议解析通过环回的方式进行解析,节省了额外的硬件资源;
4.简单易行,相比常规的可编程协议解析平台,如P4,本方法仅需要按照约定数据格式向对应的CAM和RAM进行配置。
所提到的RAM形式可以是多个ram块,也可以是整个ram块,然后做调度。
实施例2
如图2所示,一种可配置的协议解析系统,包括报文缓存模块、表项管理模块、键值生成模块、CAM模块、报文预解析模块、中间信息和最终信息更新模块、语义解析及处理模块;
所述报文缓存模块用于缓存整体的协议数据;
所述表项管理模块用于从协议数据中提取报头信息,首次提取时,定义描述符格式,描述符用于后续中间信息的传递以及最终信息的生成,并从描述符中提取比较指示和偏移指针;所述中间信息包括环回指示、比较指示和偏移指针;所述最终信息包括报头长度、负载头长度偏移指针、掩码指针、掩码长度、截断指针及截断长度;非首次提取时,从描述符中提取比较指示和偏移指针;
所述键值生成模块用于通过偏移指针对报头的报文类型数据进行提取,根据比较指示决定是否将报头的报文类型数据与立即数进行对比,并生成键值;
所述CAM模块用于根据生成的键值对CAM进行精确匹配,得到协议解析相关表项的索引值;
所述表项管理模块用于根据表项的索引值,查找对应的表项,获得中间信息,如果是最后一级查找,则获得最终信息;
所述中间信息和最终信息更新模块用于根据表项查找获得的中间信息或最终信息进行中间信息或最终信息的更新,更新环回指示、偏移指针、报头长度、负载头长度偏移指针,如果环回指示为1,则转至键值生成模块,如果环回指示为0,则输出最终信息,转至语义解析及处理模块;
所述语义解析及处理模块用于根据中间信息和最终信息更新模块获得的最终信息,读取缓存的协议数据,根据所述最终信息对缓存的协议数据中各协议数据包进行切包、掩码和截断操作;提取各协议数据包各子包的特征信息以及特征地址,并按照特征地址存放特征信息,将不同子包的特征存放在不同的ram模块,针对ram模块里的特征数据做拟态判决。
实施例3
如图3所示,另一种可配置的协议解析系统,包括:报文缓存模块、报头解析和提取模块、可编程Slice模块、表项管理模块以及语义解析及处理模块。
报文缓存模块负责缓存报文数据;
表项管理模块负责为中间信息和最终信息的更新提供数据;
报头解析和提取模块主要负责报头解析和提取,以便于进行Slice的进一步解析;
可编程Slice模块主要是按照既定的报头数据提取方法,提取相应的信息,然后进一步提取报文分解、冗余信息去除等特征信息,为下一步的报文处理提供支持;
语义解析及处理模块主要负责根据可编程Slice模块提取的中间信息和最终信息等信息,对数据包进行切包、掩码以及截断等功能。
具体地:
报文缓存模块缓存整体的协议数据,并维持输入时的时序,可使用FIFO来实现,FIFO大小的设置原则为满足可编程处理的时序要求,不能出现FIFO满状态,否则会出现数据丢失,该部分可以用逻辑实现保护;
报头解析和提取模块用于从协议数据中提取报头信息,首次提取时,定义描述符格式,描述符用于后续中间信息的传递以及最终信息的生成,并从描述符中提取比较指示和偏移指针;所述中间信息包括环回指示、比较指示和偏移指针;所述最终信息包括报头长度、负载头长度偏移指针、掩码指针、掩码长度、截断指针及截断长度;非首次提取时,从描述符中提取比较指示和偏移指针;
可编程Slice模块包括键值生成模块、CAM模块以及中间信息和最终信息更新模块,其结构如图4所示。键值生成模块通过报头解析和提取模块得到偏移指针和比较指示,通过偏移指针对报头的报文类型数据进行提取,根据比较指示决定是否将报头的报文类型数据与立即数进行对比,并产生键值,以用于CAM精确匹配。CAM模块根据生成的键值对CAM进行精确匹配,得到协议解析相关表项的索引值;由于CAM的深度与时序紧相关,所以CAM深度不易过深,CAM可采用分级的方式实现,从而规避时序紧张问题。中间信息和最终信息更新模块根据表项查找获得的信息进行中间信息更新,更新环回指示、偏移指针、报头长度、负载头长度偏移指针等信息,如果环回指示为1,再次进行键值生成,进行再次协议解析,如果环回指示为0,则将更新的最终信息发送给语义解析及处理模块;
表项管理模块负责为中间信息和最终信息的更新提供数据,提供的中间信息有环回指示,比较指示,偏移指针;提供的最终信息有报头长度、负载头长度偏移指针、掩码指针、掩码长度、截断指针及截断长度等。
语义解析及处理模块具体功能如图5所示,包括:
1.按照输入协议数据的时序从数据缓存模块读取数据流;
2.协议数据切包、掩码、截断处理,根据最终信息中的报头长度信息,截取数据报头,即向原数据流中的报头尾部插入一个周期的last信号;根据最终信息中的负载头长度偏移指针信息,提取负载头长度信息,切分成协议子包,在负载头尾部插入last信号;根据最终信息中的掩码指针以及掩码长度等信息对数据包中的相应位进行掩码操作,消除干扰拟态判决的干扰域;根据最终信息中的截断指针以及截断长度等信息对数据包中的相应为进行截断操作;
3.特征提取与存储,使用诸如CRC校验算法等特征提取算法,将子包信息的特征提取出来,同步的为每个子包打上特定的标签,标识特征信息,为每路协议数据分配一个ram模块来存储特征信息,地址按照标签分配。
由于特征信息表征子包,特征标签标识特征信息的内存(RAM)地址,因此,在将特征信息存入ram模块时,含有相同特征的子包将存于对应ram模块相同的地址中,这样就可以通过对比写入对应ram模块相同内存地址的特征信息来进行拟态判决。
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (4)

1.一种可配置的协议解析方法,其特征在于,包括:
步骤1:缓存整体的协议数据;
步骤2:从协议数据中提取报头信息,首次提取时,定义描述符格式,描述符用于后续中间信息的传递以及最终信息的生成,并从描述符中提取比较指示和偏移指针;所述中间信息包括环回指示、比较指示和偏移指针;所述最终信息包括报头长度、负载头长度偏移指针、掩码指针、掩码长度、截断指针及截断长度;非首次提取时,从描述符中提取比较指示和偏移指针;
步骤3:通过偏移指针对报头的报文类型数据进行提取,根据比较指示决定是否将报头的报文类型数据与立即数进行对比,并生成键值;
步骤4:根据生成的键值对CAM进行精确匹配,得到协议解析相关表项的索引值;
步骤5:根据表项的索引值,查找对应的表项,获得中间信息,如果是最后一级查找,则获得最终信息;
步骤6:根据表项查找获得的中间信息或最终信息进行中间信息或最终信息的更新,更新环回指示、偏移指针、报头长度、负载头长度偏移指针,如果环回指示为1,则转至步骤3,如果环回指示为0,则输出最终信息,执行下一步;
步骤7:根据步骤6获得的最终信息,读取缓存的协议数据,根据所述最终信息对缓存的协议数据中各协议数据包进行切包、掩码和截断操作;提取各协议数据包各子包的特征信息以及特征地址,并按照特征地址存放特征信息,将不同子包的特征存放在不同的ram模块,针对ram模块里的特征数据做拟态判决。
2.根据权利要求1所述的一种可配置的协议解析方法,其特征在于,所述CAM采用分级的方式实现。
3.根据权利要求1所述的一种可配置的协议解析方法,其特征在于,所述对缓存的协议数据中各协议数据包进行切包、掩码和截断操作包括:
根据最终信息中的报头长度,向缓存的协议数据中各协议数据包的报头尾部插入一个周期的last信号,截取数据报头;
根据最终信息中的负载头长度偏移指针,提取负载长度,切分成协议子包,在负载头尾部插入last信号;
根据最终信息中的掩码指针以及掩码长度对各协议数据包中的相应位进行掩码操作,消除干扰拟态判决的干扰域;
根据最终信息中的截断指针以及截断长度对各协议数据包中的相应位进行截断操作。
4.一种可配置的协议解析系统,其特征在于,包括报文缓存模块、报头解析和提取模块、键值生成模块、CAM模块、表项管理模块、中间信息和最终信息更新模块、语义解析及处理模块;
所述报文缓存模块用于缓存整体的协议数据;
所述报头解析和提取模块用于从协议数据中提取报头信息,首次提取时,定义描述符格式,描述符用于后续中间信息的传递以及最终信息的生成,并从描述符中提取比较指示和偏移指针;所述中间信息包括环回指示、比较指示和偏移指针;所述最终信息包括报头长度、负载头长度偏移指针、掩码指针、掩码长度、截断指针及截断长度;非首次提取时,从描述符中提取比较指示和偏移指针;
所述键值生成模块用于通过偏移指针对报头的报文类型数据进行提取,根据比较指示决定是否将报头的报文类型数据与立即数进行对比,并生成键值;
所述CAM模块用于根据生成的键值对CAM进行精确匹配,得到协议解析相关表项的索引值;
所述表项管理模块用于根据表项的索引值,查找对应的表项,获得中间信息,如果是最后一级查找,则获得最终信息;
所述中间信息和最终信息更新模块用于根据表项查找获得的中间信息或最终信息进行中间信息或最终信息的更新,更新环回指示、偏移指针、报头长度、负载头长度偏移指针,如果环回指示为1,则转至键值生成模块,如果环回指示为0,则输出最终信息,转至语义解析及处理模块;
所述语义解析及处理模块用于根据中间信息和最终信息更新模块获得的最终信息,读取缓存的协议数据,根据所述最终信息对缓存的协议数据中各协议数据包进行切包、掩码和截断操作;提取各协议数据包各子包的特征信息以及特征地址,并按照特征地址存放特征信息,将不同子包的特征存放在不同的ram模块,针对ram模块里的特征数据做拟态判决。
CN201911116565.5A 2019-11-15 2019-11-15 一种可配置的协议解析方法及系统 Active CN111030998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911116565.5A CN111030998B (zh) 2019-11-15 2019-11-15 一种可配置的协议解析方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911116565.5A CN111030998B (zh) 2019-11-15 2019-11-15 一种可配置的协议解析方法及系统

Publications (2)

Publication Number Publication Date
CN111030998A CN111030998A (zh) 2020-04-17
CN111030998B true CN111030998B (zh) 2021-10-01

Family

ID=70200231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911116565.5A Active CN111030998B (zh) 2019-11-15 2019-11-15 一种可配置的协议解析方法及系统

Country Status (1)

Country Link
CN (1) CN111030998B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651270B (zh) * 2020-05-19 2021-07-20 南京擎盾信息科技有限公司 对法律数据完成多任务语义标注的可视化方法和装置
CN111510465B (zh) * 2020-06-30 2020-10-13 之江实验室 一种基于混合数据类型工业协议的拟态裁决方法及裁决器
CN111858166B (zh) * 2020-07-06 2023-07-07 河南信大网御科技有限公司 可纠错快速拟态裁决方法、裁决器、系统及介质
CN114006956A (zh) * 2021-10-29 2022-02-01 杭州迪普信息技术有限公司 报文数据解析方法、装置及设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1287570C (zh) * 2004-03-25 2006-11-29 上海复旦光华信息科技股份有限公司 保持连接特性的高速过滤分流方法
US9444914B2 (en) * 2013-09-16 2016-09-13 Annapurna Labs Ltd. Configurable parser and a method for parsing information units
CN107529352B (zh) * 2015-03-13 2020-11-20 马维尔亚洲私人有限公司 用于软件定义的数据中心网络的协议独立的可编程交换机(pips)
US20160316045A1 (en) * 2015-04-24 2016-10-27 Freescale Semiconductor, Inc. Method for Coding Packet Classification Key Composition Rules Using Variable Length Commands
CN109450900B (zh) * 2018-11-09 2020-12-01 天津市滨海新区信息技术创新中心 拟态判决方法、装置及系统
CN110177046B (zh) * 2019-04-18 2021-04-02 中国人民解放军战略支援部队信息工程大学 基于拟态思想的安全交换芯片、实现方法及网络交换设备

Also Published As

Publication number Publication date
CN111030998A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
CN111030998B (zh) 一种可配置的协议解析方法及系统
US11038993B2 (en) Flexible processing of network packets
US9154442B2 (en) Concurrent linked-list traversal for real-time hash processing in multi-core, multi-thread network processors
CN108809854B (zh) 一种用于大流量网络处理的可重构芯片架构
US8949838B2 (en) Multi-threaded processing with hardware accelerators
US8924687B1 (en) Scalable hash tables
US8407707B2 (en) Task queuing in a network communications processor architecture
US6742107B2 (en) Dynamically configured processing of composite stream input data using next conversion determining state transition table searched by converted input data
US8321385B2 (en) Hash processing in a network communications processor architecture
CN109450900B (zh) 拟态判决方法、装置及系统
US8539199B2 (en) Hash processing in a network communications processor architecture
US9444737B2 (en) Packet data processor in a communications processor architecture
US7921241B2 (en) Instruction set for programmable queuing
US11258726B2 (en) Low latency packet switch architecture
US9584332B2 (en) Message processing method and device
CN105573711B (zh) 一种数据缓存方法及装置
Fu et al. FAS: Using FPGA to accelerate and secure SDN software switches
CN108614792A (zh) 1394事务层数据包存储管理方法及电路
CN112416820B (zh) 一种数据包分类存储方法及系统
US7751422B2 (en) Group tag caching of memory contents
CN114079634A (zh) 一种报文转发方法、装置及计算机可读存储介质
CN111222018A (zh) 一种基于tcam实现浮动字符串高速匹配方法
CN116992966B (zh) 用于人工智能模型推理平台的方法及计算设备
Xu et al. OD-REM: On-Demand Regular Expression Matching on FPGAs for Efficient Deep Packet Inspection
CN117675974A (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
GR01 Patent grant
GR01 Patent grant