CN111031044A - 一种报文解析硬件装置及报文解析方法 - Google Patents
一种报文解析硬件装置及报文解析方法 Download PDFInfo
- Publication number
- CN111031044A CN111031044A CN201911285960.6A CN201911285960A CN111031044A CN 111031044 A CN111031044 A CN 111031044A CN 201911285960 A CN201911285960 A CN 201911285960A CN 111031044 A CN111031044 A CN 111031044A
- Authority
- CN
- China
- Prior art keywords
- message
- analysis
- network
- module
- hardware device
- 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
Images
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/22—Parsing 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
本申请公开了一种报文解析硬件装置,包括报文获取模块、报文重组模块和多个解析模块,每个解析模块对应各自的消息头标志,其中:报文获取模块获取网络报文;多个解析模块同时在网络报文中查找对应的消息头标志并进行报文解析,得到各自的报文解析结果;报文重组模块将多个报文解析结果按照预设格式重组后输出。与逐一解析每个消息头标志对应的报文消息不同,本申请中多个解析模块同时对网络报文进行报文解析并得到报文解析结果,不需进行单线等待,处理时延大幅下降,明显提高了对网络报文的解析速度,同时本申请中网络报文中出现的错误不会影响后续报文的解析,具有更高的系统容错性。本申请还相应公开了一种具有相同有益效果的报文解析方法。
Description
技术领域
本发明涉及报文解析领域,特别涉及一种报文解析硬件装置及报文解析方法。
背景技术
在因特网中,但凡涉及两个或多个实体的远程通信活动均受到协议制约。计算机网络广泛使用不同的协议来完成不同的通信任务,其中TCP(Transmission ControlProtocol,传输控制协议)、UDP(User Datagram Protocol,用户数据报协议)是使用最广泛的传输层协议,基于传输层协议,应用层协议的协议内容可由使用者自定义,自定义协议部分包括多个消息字段,FPGA(Field-Programmable Gate Array,现场可编程门阵列)因其出色的硬件计算能力,常被用于解析报文消息。
目前,FPGA在解析完报文头信息解析消息字段,通常先解析一个消息字段,再根据当前消息字段的消息头信息找到下一个消息字段的消息头,然后解析下一个消息字段,这种解析方法需要按顺序逐一查找每个消息字段后再解析,无法满足金融系统等对延时要求较严格的应用领域。
因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种报文解析硬件装置及报文解析方法,以便通过更低延时来完成报文解析。其具体方案如下:
一种报文解析硬件装置,包括报文获取模块、报文重组模块和多个解析模块,每个所述解析模块对应各自的消息头标志,其中:
所述报文获取模块获取网络报文;
多个所述解析模块同时在所述网络报文中查找对应的消息头标志并进行报文解析,得到各自的报文解析结果;
所述报文重组模块将多个所述报文解析结果按照预设格式重组后输出。
优选的,所述报文解析硬件装置还包括使能模块;
所述使能模块向对应预设报文规则的所述解析模块发送使能信号;
收到所述使能信号的所述解析模块,同时在所述网络报文中查找对应的消息头标志并进行报文解析,得到各自的报文解析结果。
优选的,多个所述解析模块具体用于:
同时在同一周期的所述网络报文中查找对应的消息头标志并进行报文解析,得到各自的报文解析结果。
优选的,多个所述解析模块具体为FPGA。
优选的,所述网络报文为传输层协议为TCP协议或UDP协议的网络报文。
优选的,所述报文获取模块具体用于:获取网络报文并解析TCP报文头或UDP报文头。
优选的,所述预设报文规则为基于MDQP协议或binary协议的预设报文规则。
相应的,本发明还公开了一种报文解析方法,应用于上文所述报文解析硬件装置,包括:
通过报文获取模块获取网络报文;
通过多个解析模块,同时在所述网络报文中查找每个所述解析模块对应的消息头标志并进行报文解析,得到各自的报文解析结果;
通过报文重组模块将多个所述报文解析结果按照预设格式重组后输出。
本申请公开了一种报文解析硬件装置,包括报文获取模块、报文重组模块和多个解析模块,每个所述解析模块对应各自的消息头标志,其中:所述报文获取模块获取网络报文;多个所述解析模块同时在所述网络报文中查找对应的消息头标志并进行报文解析,得到各自的报文解析结果;所述报文重组模块将多个所述报文解析结果按照预设格式重组后输出。与逐一解析每个消息头标志对应的报文消息不同,本申请中多个解析模块同时对网络报文进行报文解析并得到报文解析结果,不需进行单线等待,处理时延大幅下降,明显提高了对网络报文的解析速度,同时本申请中网络报文中出现的错误不会影响后续报文的解析,具有更高的系统容错性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例中一种报文解析硬件装置的结构分布图;
图2为本发明实施例中一种报文解析的流程示意图;
图3为本发明实施例中一种报文解析方法的步骤流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
FPGA在解析完报文头信息解析消息字段,通常先解析一个消息字段,再根据当前消息字段的消息头信息找到下一个消息字段的消息头,然后解析下一个消息字段,这种解析方法需要按顺序逐一查找每个消息字段后再解析,无法满足金融系统等对延时要求较严格的应用领域。
本申请中多个解析模块同时对网络报文进行报文解析并得到报文解析结果,不需进行单线等待,处理时延大幅下降,明显提高了对网络报文的解析速度,同时本申请中网络报文中出现的错误不会影响后续报文的解析,具有更高的系统容错性。
本发明实施例公开了一种报文解析硬件装置,参见图1所示,包括报文获取模块1、报文重组模块2和多个解析模块3,每个所述解析模块3对应各自的消息头标志,其中:
所述报文获取模块1获取网络报文;
多个所述解析模块3同时在所述网络报文中查找对应的消息头标志并进行报文解析,得到各自的报文解析结果;
所述报文重组模块2将多个所述报文解析结果按照预设格式重组后输出。
可以理解的是,所述报文获取模块1具体用于:获取网络报文并解析TCP报文头或UDP报文头。
参见图2所示,本发明实施例中不存在排队等待上一报文消息解析的延时,若忽略FPGA内部时序的因素,可以认为每个解析模块3零延时开始解析报文,因此系统延时明显小于现有技术。同时,由于多个解析模块3之间不会相互影响,网络报文中某一部分出错时,不会影响其他部分被正确解析,不同于现有技术中某一处错误导致后续内容全部解析错误,本实施例的系统容错率更高。
进一步的,所述报文解析硬件装置还包括使能模块;
所述使能模块向对应预设报文规则的所述解析模块3发送使能信号;
收到所述使能信号的所述解析模块3,同时在所述网络报文中查找对应的消息头标志并进行报文解析,得到各自的报文解析结果。
可以理解的是,出于报文解析硬件装置的拓展性和可通用性,报文解析硬件装置中可设置对应多种消息头标志的解析模块3,这些解析模块3未必会在每一次网络报文的协议中全部使用到,因此考虑FPGA的资源能耗,可以关掉与当前协议不相关的解析模块3,只对需要的解析模块3发送使能信号使之工作。
进一步的,多个所述解析模块3具体用于:
同时在同一周期的所述网络报文中查找对应的消息头标志并进行报文解析,得到各自的报文解析结果。
可以理解的是,以一个周期为单位,每个解析模块3对该周期内的网络报文进行消息头标志查找和报文解析。
通常情况下,本实施例由FPGA实现,多个所述解析模块3具体为FPGA。同时,本实施例所述网络报文为传输层协议为TCP协议或UDP协议的网络报文,TCP协议和UDP协议作为应用最广泛的传输层协议,支持许多类型的应用层协议,其中TCP协议支持的应用层协议包括远程终端协议Telnet、FTP(File Transfer Protocol,文件传输协议)、SMTP(Simple MailTransfer Protocol,简单邮件传输协议)等,UDP协议支持的应用层协议包括NFS(NetworkFile System,网络文件系统)、SNMP(Simple Network Management Protocol,简单网络管理协议)、DNS(Domain Name System,域名系统)、TFTP(Trivial File Transfer Protocol,简单文件传输协议)等,此外还有许多领域的行业自定义协议,如金融领域常用的MDQP协议和binary协议等,这些协议基于标准的TCP协议或UDP协议,应用层协议内容由行业自定义,自定义协议部分包括多个消息字段,每个消息字段都有唯一的消息头,包括当前消息字段的唯一标识、消息字段的长度等。因此,本实施例应用于金融等领域时,所述预设报文规则为基于MDQP协议或binary协议的预设报文规则。
在金融等领域,延时是衡量系统性能好坏的关键指标,而报文解析是金融数据处理的首要任务,报文解析处理的延时也成为系统延时的重要组成。同时随着大数据的爆炸式增长,100G网络已成为主流,甚至出现了400G等超高带宽网络,本实施例实现了高带宽下低延时的报文解析,提高了金融等领域延时敏感产品的产品竞争力。
具体的,以解析100G的网络报文为例,假设消息字段长度在8B~16B,其中消息头3B(消息头标志2B+报文长度1B),消息内容5B~13B之间,共有8个消息字段,设置8个解析模块3使能工作。
报文获取模块1接收100G的网络报文,时钟频率为500MHz,每个时钟周期为512bit,即一个时钟周期数据位宽为32B,也就是说一个时钟周期可能包含2~4个消息字段;
8个解析模块3对以时钟周期为单位全包范围的网络报文,一个时钟周期内可得到2~4个消息字段对应的报文解析结果,再由报文重组模块2将多个报文解析结果按照金融协议要求的预设格式重组后输出。
以FPGA现有解析方式,解析一个时钟周期的网络报文的四个消息字段,至少需要四个时钟周期,而本实施例中只需要一个时钟周期。当对应网络报文的消息字段个数很多时,本实施例中所需的解析模块3的个数也会相应增多,使得FPGA资源消耗增加,但目前FPGA资源较为充裕,而对低延时的要求较为迫切,因此能够满足因延时降低而导致地对FPGA资源的需求。
本申请公开了一种报文解析硬件装置,包括报文获取模块、报文重组模块和多个解析模块,每个所述解析模块对应各自的消息头标志,其中:所述报文获取模块获取网络报文;多个所述解析模块同时在所述网络报文中查找对应的消息头标志并进行报文解析,得到各自的报文解析结果;所述报文重组模块将多个所述报文解析结果按照预设格式重组后输出。与逐一解析每个消息头标志对应的报文消息不同,本申请中多个解析模块同时对网络报文进行报文解析并得到报文解析结果,不需进行单线等待,处理时延大幅下降,明显提高了对网络报文的解析速度,同时本申请中网络报文中出现的错误不会影响后续报文的解析,具有更高的系统容错性。
相应的,本发明还公开了一种报文解析方法,应用于上文所述报文解析硬件装置,参见图3所示,包括:
S1:通过报文获取模块获取网络报文;
S2:通过多个解析模块,同时在所述网络报文中查找每个所述解析模块对应的消息头标志并进行报文解析,得到各自的报文解析结果;
S3:通过报文重组模块将多个所述报文解析结果按照预设格式重组后输出。
与逐一解析每个消息头标志对应的报文消息不同,本申请中多个解析模块同时对网络报文进行报文解析并得到报文解析结果,不需进行单线等待,处理时延大幅下降,明显提高了对网络报文的解析速度,同时本申请中网络报文中出现的错误不会影响后续报文的解析,具有更高的系统容错性。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种报文解析硬件装置及报文解析方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种报文解析硬件装置,其特征在于,包括报文获取模块、报文重组模块和多个解析模块,每个所述解析模块对应各自的消息头标志,其中:
所述报文获取模块获取网络报文;
多个所述解析模块同时在所述网络报文中查找对应的消息头标志并进行报文解析,得到各自的报文解析结果;
所述报文重组模块将多个所述报文解析结果按照预设格式重组后输出。
2.根据权利要求1所述报文解析硬件装置,其特征在于,还包括使能模块;
所述使能模块向对应预设报文规则的所述解析模块发送使能信号;
收到所述使能信号的所述解析模块,同时在所述网络报文中查找对应的消息头标志并进行报文解析,得到各自的报文解析结果。
3.根据权利要求1所述报文解析硬件装置,其特征在于,多个所述解析模块具体用于:
同时在同一周期的所述网络报文中查找对应的消息头标志并进行报文解析,得到各自的报文解析结果。
4.根据权利要求1至3任一项所述报文解析硬件装置,其特征在于,多个所述解析模块具体为FPGA。
5.根据权利要求4所述报文解析硬件装置,其特征在于,所述网络报文为传输层协议为TCP协议或UDP协议的网络报文。
6.根据权利要求5所述报文解析硬件装置,其特征在于,所述报文获取模块具体用于:获取网络报文并解析TCP报文头或UDP报文头。
7.根据权利要求6所述报文解析硬件装置,其特征在于,所述预设报文规则为基于MDQP协议或binary协议的预设报文规则。
8.一种报文解析方法,其特征在于,应用于权利要求1至7任一项所述报文解析硬件装置,包括:
通过报文获取模块获取网络报文;
通过多个解析模块,同时在所述网络报文中查找每个所述解析模块对应的消息头标志并进行报文解析,得到各自的报文解析结果;
通过报文重组模块将多个所述报文解析结果按照预设格式重组后输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911285960.6A CN111031044A (zh) | 2019-12-13 | 2019-12-13 | 一种报文解析硬件装置及报文解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911285960.6A CN111031044A (zh) | 2019-12-13 | 2019-12-13 | 一种报文解析硬件装置及报文解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111031044A true CN111031044A (zh) | 2020-04-17 |
Family
ID=70210762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911285960.6A Pending CN111031044A (zh) | 2019-12-13 | 2019-12-13 | 一种报文解析硬件装置及报文解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111031044A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131161A (zh) * | 2020-09-14 | 2020-12-25 | 山东产研集成电路产业研究院有限公司 | 一种Binary协议数据流的硬件解析方法 |
WO2024164727A1 (zh) * | 2023-02-08 | 2024-08-15 | 天翼云科技有限公司 | 报文解析方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110153604A1 (en) * | 2009-12-17 | 2011-06-23 | Zhiqiang Yu | Event-level parallel methods and apparatus for xml parsing |
CN104618365A (zh) * | 2015-01-26 | 2015-05-13 | 华为技术有限公司 | 协议报文处理方法、装置及终端 |
CN106961445A (zh) * | 2017-04-28 | 2017-07-18 | 中国人民解放军信息工程大学 | 基于fpga硬件并行流水线的报文解析方法及其装置 |
CN108055202A (zh) * | 2017-12-07 | 2018-05-18 | 锐捷网络股份有限公司 | 一种报文处理设备和方法 |
CN108667733A (zh) * | 2018-03-29 | 2018-10-16 | 新华三信息安全技术有限公司 | 一种网络设备及报文处理方法 |
CN108833299A (zh) * | 2017-12-27 | 2018-11-16 | 北京时代民芯科技有限公司 | 一种基于可重构交换芯片架构的大规模网络数据处理方法 |
CN109525518A (zh) * | 2018-12-25 | 2019-03-26 | 北京物芯科技有限责任公司 | 一种基于fpga的ip报文网络地址转换方法及装置 |
-
2019
- 2019-12-13 CN CN201911285960.6A patent/CN111031044A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110153604A1 (en) * | 2009-12-17 | 2011-06-23 | Zhiqiang Yu | Event-level parallel methods and apparatus for xml parsing |
CN104618365A (zh) * | 2015-01-26 | 2015-05-13 | 华为技术有限公司 | 协议报文处理方法、装置及终端 |
CN106961445A (zh) * | 2017-04-28 | 2017-07-18 | 中国人民解放军信息工程大学 | 基于fpga硬件并行流水线的报文解析方法及其装置 |
CN108055202A (zh) * | 2017-12-07 | 2018-05-18 | 锐捷网络股份有限公司 | 一种报文处理设备和方法 |
CN108833299A (zh) * | 2017-12-27 | 2018-11-16 | 北京时代民芯科技有限公司 | 一种基于可重构交换芯片架构的大规模网络数据处理方法 |
CN108667733A (zh) * | 2018-03-29 | 2018-10-16 | 新华三信息安全技术有限公司 | 一种网络设备及报文处理方法 |
CN109525518A (zh) * | 2018-12-25 | 2019-03-26 | 北京物芯科技有限责任公司 | 一种基于fpga的ip报文网络地址转换方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131161A (zh) * | 2020-09-14 | 2020-12-25 | 山东产研集成电路产业研究院有限公司 | 一种Binary协议数据流的硬件解析方法 |
CN112131161B (zh) * | 2020-09-14 | 2022-03-29 | 山东产研集成电路产业研究院有限公司 | 一种Binary协议数据流的硬件解析方法 |
WO2024164727A1 (zh) * | 2023-02-08 | 2024-08-15 | 天翼云科技有限公司 | 报文解析方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8483056B2 (en) | Analysis apparatus and method for abnormal network traffic | |
US9800597B2 (en) | Identifying threats based on hierarchical classification | |
WO2016106591A1 (zh) | 一种抽取数据报文的方法及装置 | |
CN109714408B (zh) | 一种基于Handle标识的语义化工业网络服务接口系统 | |
CN111130946B (zh) | 一种深度报文识别的加速方法、装置和存储介质 | |
CN111031044A (zh) | 一种报文解析硬件装置及报文解析方法 | |
CN108153803A (zh) | 一种数据获取方法、装置及电子设备 | |
CN107896141B (zh) | 一种fc-ae-asm网络数据冗余方法 | |
US9917747B2 (en) | Problem detection in a distributed digital network through distributed packet analysis | |
CN111600915A (zh) | 一种证券行情tcp/ip报文快速处理装置和方法 | |
CN111315026B (zh) | 信道的选择方法、装置、网关及计算机可读存储介质 | |
US11770360B1 (en) | Correlating protocol data units transiting networks with differing addressing schemes | |
CN111988158B (zh) | 芯片级实现oam报文发送方法、装置、系统及存储介质 | |
US10812355B2 (en) | Record compression for a message system | |
CN116192527A (zh) | 攻击流量检测规则生成方法、装置、设备及存储介质 | |
CN112019393A (zh) | 一种确定时延的方法及装置 | |
US20190318036A1 (en) | Topic Based Publish and Parametric Subscribe Pattern | |
Lai et al. | Hardware‐assisted estimation of entropy norm for high‐speed network traffic | |
CN112640392B (zh) | 一种木马检测方法、装置和设备 | |
US10812601B2 (en) | Method and system for signaling and radio connection optimization over a cellular network | |
CN110569673A (zh) | 一种数据文件处理方法、装置、设备及储存介质 | |
CN112152915A (zh) | 消息转发网关系统和消息转发方法 | |
CN113691462B (zh) | 互联网组管理协议的应答方法及装置 | |
CN107835105B (zh) | 半连接端口扫描优化方法、装置及可读存储介质 | |
CN112328613B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200417 |
|
RJ01 | Rejection of invention patent application after publication |