CN106850559A - 一种可扩展的网络协议解析系统及方法 - Google Patents
一种可扩展的网络协议解析系统及方法 Download PDFInfo
- Publication number
- CN106850559A CN106850559A CN201611215269.7A CN201611215269A CN106850559A CN 106850559 A CN106850559 A CN 106850559A CN 201611215269 A CN201611215269 A CN 201611215269A CN 106850559 A CN106850559 A CN 106850559A
- Authority
- CN
- China
- Prior art keywords
- procotol
- expansible
- message
- analytic method
- packet parsing
- 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.)
- Granted
Links
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/03—Protocol definition or specification
-
- 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
- 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)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提出一种可扩展的网络协议解析系统及方法,涉及网络协议解析技术领域,该方法包括获取待解析的网络协议报文,根据协议查找表对所述待解析的网络报文中的指令进行译码,将译码结果进行储存;控制逻辑将所述译码结果进行解析,将所述解析结果进行储存,解析结束后通过协议类型编码表获取下一层网络协议报文的指令。本发明利用FPGA,在保证骨干网数据处理能力的前提下,提供了一种易于添加新的网络协议解析功能的方法,避免了传统高速网络处理设备在遇到新网络协议时更新周期长的问题。
Description
技术领域
本发明涉及网络协议解析技术领域,特别涉及一种可扩展的网络协议解析系统及方法。
背景技术
随着互联网的发展,骨干网的流量采集和处理也越来越多的应用在政府网络管理、大数据分析等领域,骨干网的流量采集对网络数据的实时处理能力有很高的要求,而且骨干网流量的协议种类繁多,网络设备需要同时满足处理性能和可扩展性的要求。
通用的网络协议处理流程,一般按照协议栈的层次结构依次进行解析,但骨干网的网络环境复杂,常常出现设计中未考虑的网络协议和协议组合(如隧道报文等),许多基于ASIC芯片的网络设备能够在设计时实现处理某种已知格式协议组合的功能,但设备上线运行后出现的新协议却难以得到及时支持。
通用CPU和软件能够解决新协议解析的灵活性问题,出现新协议时只需要改写代码并重新编译,开发周期短,但其在万兆及以上的网络报文处理方面存在严重的性能问题。
因此考虑一种基于FPGA的可扩展网络协议解析单元,以解决骨干网报文解析的性能和灵活性问题。
发明内容
针对现有技术的不足,本发明提出一种可扩展的网络协议解析系统及方法。
本发明提出一种可扩展的网络协议解析方法,包括:
步骤1,获取待解析的网络协议报文,根据协议查找表对所述待解析的网络报文中的指令进行译码,将译码结果进行储存;
步骤2,控制逻辑将所述译码结果进行解析,将所述解析结果进行储存,解析结束后通过协议类型编码表获取下一层网络协议报文的指令。
设置输入报文RAM,通过所述输入报文RAM储存所述待解析的网络协议报文。
设置报文解析状态机,所述报文解析状态机控制可扩展的网络协议解析方法的解析流程。
设置报文解析寄存器组,所述报文解析寄存器组储存所述译码结果以及网络协议报文解析所需的变量。
设置输出信息RAM,所述输出信息RAM储存所述解析结果。
本发明还提出一种可扩展的网络协议解析系统,包括:
译码模块,用于获取待解析的网络协议报文,根据协议查找表对所述待解析的网络报文中的指令进行译码,将译码结果进行储存;
解析模块,用于控制逻辑将所述译码结果进行解析,将所述解析结果进行储存,解析结束后通过协议类型编码表获取下一层网络协议报文的指令。
输入报文RAM,通过所述输入报文RAM储存所述待解析的网络协议报文。
报文解析状态机,所述报文解析状态机控制可扩展的网络协议解析方法的解析流程。
报文解析寄存器组,所述报文解析寄存器组储存所述译码结果以及网络协议报文解析所需的变量。
输出信息RAM,所述输出信息RAM储存所述解析结果。
由以上方案可知,本发明的优点在于:
本发明利用FPGA,在保证骨干网数据处理能力的前提下,提供了一种易于添加新的网络协议解析功能的方法,避免了传统高速网络处理设备在遇到新网络协议时更新周期长的问题。
附图说明
图1为本发明具体应用环境图;
图2为本发明系统的整体架构图;
图3为本发明的协议解析流程图;
图4为本发明的协议解析指令图;
图5为本发明的可扩展的网络协议解析指令图;
图6为本发明的另一种指令扩展方案图。
具体实施方式
本发明具体应用环境,如图1所示:
1前端需要有网络接口控制器,能够提供最外层为链路层或以上层次的报文。
2需要有主机或用户接口传输控制信息和状态信息。
3网络协议识别结果可送给后续模块做进一步处理,如规则过滤、报文转发等。
本发明系统的整体架构,如图2所示:
输入报文RAM:用于存放待解析的报文。
报文解析状态机:用于控制整个报文的解析流程。
协议类型编码表:每种协议报文对应一条编码指令,可通过协议类型编码表获取下一层协议的编码指令。
协议查找表:解析协议编码指令,得到的结果用于解析报文。
报文解析寄存器组:存放协议编码指令的译码结果以及其他报文解析所需的变量。
控制逻辑:解析报文并提取信息。
输出信息RAM:存放报文解析的结果。如IP地址、协议类型、应用层数据位置等。
本发明的协议解析流程(即控制逻辑),如图3所示:
取得协议解析指令后,利用协议查找表对指令进行译码,再将译码后的操作信息加载到报文解析寄存器组中,之后控制逻辑利用报文解析寄存器组中的信息对报文进行解析,解析结果存放在输出信息RAM中,解析结束后通过协议类型编码表得到下一层协议报文的解析指令。
本发明的协议解析指令,如图4所示:
协议解析指令包括直接操作(终止识别标记、未识别协议标记)和查表操作(协议组号、协议分类号、协议号)
对具有相同协议字段和协议头长度的协议进行分组,可以减少协议类型编码表和协议信息查找表的项数。
本发明的可扩展的网络协议解析指令,如图5所示:
使用可写的CAM和RAM组成协议类型编码表和协议信息查找表,则可通过用户配置接口对这些表进行修改和添加,以添加新的协议报文识别功能。
同时此实施例还包括一个软件工具将每种协议格式编码为表中的内容,并通过用户配置接口下发到FPGA中。
本发明的另一种指令扩展方案,如图6所示:
包含一个协议解析数据库,存放处理已知协议的代码。
代码描述了协议类型编码表和协议信息查找表的内容。
代码需要按照给定的编程模版编写,以便工具能够自动将新协议的代码插入到原有的网络协议解析单元代码中。
此实施例中,可将前一实施例中的部分CAM和RAM替换成寄存器或常量代码,以减少FPGA中的资源消耗,代价是代码需要重新编译并需要使用FPGA的在线升级功能。
还包括实现数据库搜索和代码自动插入功能的软件工具。
本发明还提出一种可扩展的网络协议解析系统,包括:
译码模块,用于获取待解析的网络协议报文,根据协议查找表对所述待解析的网络报文中的指令进行译码,将译码结果进行储存;
解析模块,用于控制逻辑将所述译码结果进行解析,将所述解析结果进行储存,解析结束后通过协议类型编码表获取下一层网络协议报文的指令。
输入报文RAM,通过所述输入报文RAM储存所述待解析的网络协议报文。
报文解析状态机,所述报文解析状态机控制可扩展的网络协议解析方法的解析流程。
报文解析寄存器组,所述报文解析寄存器组储存所述译码结果以及网络协议报文解析所需的变量。
输出信息RAM,所述输出信息RAM储存所述解析结果。
Claims (10)
1.一种可扩展的网络协议解析方法,其特征在于,包括:
步骤1,获取待解析的网络协议报文,根据协议查找表对所述待解析的网络报文中的指令进行译码,将译码结果进行储存;
步骤2,控制逻辑将所述译码结果进行解析,将所述解析结果进行储存,解析结束后通过协议类型编码表获取下一层网络协议报文的指令。
2.如权利要求1所述的可扩展的网络协议解析方法,其特征在于,设置输入报文RAM,通过所述输入报文RAM储存所述待解析的网络协议报文。
3.如权利要求1所述的可扩展的网络协议解析方法,其特征在于,设置报文解析状态机,所述报文解析状态机控制可扩展的网络协议解析方法的解析流程。
4.如权利要求1所述的可扩展的网络协议解析方法,其特征在于,设置报文解析寄存器组,所述报文解析寄存器组储存所述译码结果以及网络协议报文解析所需的变量。
5.如权利要求1所述的可扩展的网络协议解析方法,其特征在于,设置输出信息RAM,所述输出信息RAM储存所述解析结果。
6.一种可扩展的网络协议解析系统,其特征在于,包括:
译码模块,用于获取待解析的网络协议报文,根据协议查找表对所述待解析的网络报文中的指令进行译码,将译码结果进行储存;
解析模块,用于控制逻辑将所述译码结果进行解析,将所述解析结果进行储存,解析结束后通过协议类型编码表获取下一层网络协议报文的指令。
7.如权利要求6所述的可扩展的网络协议解析方法,其特征在于,输入报文RAM,通过所述输入报文RAM储存所述待解析的网络协议报文。
8.如权利要求6所述的可扩展的网络协议解析方法,其特征在于,报文解析状态机,所述报文解析状态机控制可扩展的网络协议解析方法的解析流程。
9.如权利要求6所述的可扩展的网络协议解析方法,其特征在于,报文解析寄存器组,所述报文解析寄存器组储存所述译码结果以及网络协议报文解析所需的变量。
10.如权利要求6所述的可扩展的网络协议解析方法,其特征在于,输出信息RAM,所述输出信息RAM储存所述解析结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611215269.7A CN106850559B (zh) | 2016-12-26 | 2016-12-26 | 一种可扩展的网络协议解析系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611215269.7A CN106850559B (zh) | 2016-12-26 | 2016-12-26 | 一种可扩展的网络协议解析系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106850559A true CN106850559A (zh) | 2017-06-13 |
CN106850559B CN106850559B (zh) | 2021-07-16 |
Family
ID=59136543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611215269.7A Active CN106850559B (zh) | 2016-12-26 | 2016-12-26 | 一种可扩展的网络协议解析系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106850559B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020087400A1 (zh) * | 2018-10-31 | 2020-05-07 | 华为技术有限公司 | 一种报头解析装置及方法 |
CN111277612A (zh) * | 2020-05-08 | 2020-06-12 | 常州楠菲微电子有限公司 | 一种网络报文处理策略生成方法、系统及介质 |
CN111556067A (zh) * | 2020-05-09 | 2020-08-18 | 中国航空无线电电子研究所 | 基于有穷状态机的网络数据协议描述结构及解析方法 |
CN112702303A (zh) * | 2019-10-23 | 2021-04-23 | 株洲中车时代电气股份有限公司 | 一种列车实时数据解析方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101001158A (zh) * | 2006-06-29 | 2007-07-18 | 华为技术有限公司 | 一种实现实时的内容及流量计费和控制的系统及方法 |
CN101056306A (zh) * | 2006-04-11 | 2007-10-17 | 中兴通讯股份有限公司 | 网络设备及其访问控制方法 |
CN101079836A (zh) * | 2006-12-21 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 一种基于非对称媒体的即时通信方法及系统 |
CN101547156A (zh) * | 2009-05-04 | 2009-09-30 | 华为技术有限公司 | 报文解析方法和装置 |
CN101610181A (zh) * | 2009-07-13 | 2009-12-23 | 华为技术有限公司 | 实现故障检测的方法、装置及系统 |
CN101742358A (zh) * | 2009-12-22 | 2010-06-16 | 重庆重邮东电通信技术有限公司 | 网络电视质量的测试方法及装置 |
CN103929358A (zh) * | 2014-05-06 | 2014-07-16 | 大连梯耐德网络技术有限公司 | 一种可配逻辑关系的报文分配系统和方法 |
CN104009923A (zh) * | 2014-05-12 | 2014-08-27 | 中国人民解放军信息工程大学 | 一种基于指针迭代的ipv6报文硬件解析方法 |
CN104023000A (zh) * | 2013-09-05 | 2014-09-03 | 田玥 | 一种网络入侵检测方法 |
CN104363131A (zh) * | 2014-10-14 | 2015-02-18 | 国家电网公司 | 基于有限状态机动态可扩展的电力通信协议异常检测方法 |
-
2016
- 2016-12-26 CN CN201611215269.7A patent/CN106850559B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056306A (zh) * | 2006-04-11 | 2007-10-17 | 中兴通讯股份有限公司 | 网络设备及其访问控制方法 |
CN101001158A (zh) * | 2006-06-29 | 2007-07-18 | 华为技术有限公司 | 一种实现实时的内容及流量计费和控制的系统及方法 |
CN101079836A (zh) * | 2006-12-21 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 一种基于非对称媒体的即时通信方法及系统 |
CN101547156A (zh) * | 2009-05-04 | 2009-09-30 | 华为技术有限公司 | 报文解析方法和装置 |
CN101610181A (zh) * | 2009-07-13 | 2009-12-23 | 华为技术有限公司 | 实现故障检测的方法、装置及系统 |
CN101742358A (zh) * | 2009-12-22 | 2010-06-16 | 重庆重邮东电通信技术有限公司 | 网络电视质量的测试方法及装置 |
CN104023000A (zh) * | 2013-09-05 | 2014-09-03 | 田玥 | 一种网络入侵检测方法 |
CN103929358A (zh) * | 2014-05-06 | 2014-07-16 | 大连梯耐德网络技术有限公司 | 一种可配逻辑关系的报文分配系统和方法 |
CN104009923A (zh) * | 2014-05-12 | 2014-08-27 | 中国人民解放军信息工程大学 | 一种基于指针迭代的ipv6报文硬件解析方法 |
CN104363131A (zh) * | 2014-10-14 | 2015-02-18 | 国家电网公司 | 基于有限状态机动态可扩展的电力通信协议异常检测方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020087400A1 (zh) * | 2018-10-31 | 2020-05-07 | 华为技术有限公司 | 一种报头解析装置及方法 |
CN112702303A (zh) * | 2019-10-23 | 2021-04-23 | 株洲中车时代电气股份有限公司 | 一种列车实时数据解析方法、装置、设备及存储介质 |
CN111277612A (zh) * | 2020-05-08 | 2020-06-12 | 常州楠菲微电子有限公司 | 一种网络报文处理策略生成方法、系统及介质 |
CN111277612B (zh) * | 2020-05-08 | 2020-08-07 | 常州楠菲微电子有限公司 | 一种网络报文处理策略生成方法、系统及介质 |
CN111556067A (zh) * | 2020-05-09 | 2020-08-18 | 中国航空无线电电子研究所 | 基于有穷状态机的网络数据协议描述结构及解析方法 |
CN111556067B (zh) * | 2020-05-09 | 2022-05-20 | 中国航空无线电电子研究所 | 基于有穷状态机的网络数据协议描述结构及解析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106850559B (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103347013B (zh) | 一种增强可编程能力的OpenFlow网络系统和方法 | |
CN106850559A (zh) | 一种可扩展的网络协议解析系统及方法 | |
CN106209506B (zh) | 一种虚拟化深度包检测流量分析方法及系统 | |
CN105578488B (zh) | 网络数据采集系统及方法 | |
RU2608464C2 (ru) | Устройство, способ и сетевой сервер для обнаружения структур данных в потоке данных | |
CN106970820A (zh) | 代码存储方法及代码存储装置 | |
CN105068854B (zh) | 一种使用相同规则实现对不同产品的控制的方法 | |
CN104899085B (zh) | 一种数据处理方法和装置 | |
CN103004158A (zh) | 具有可编程内核的网络设备 | |
CN106549817A (zh) | 报文识别方法及装置 | |
CN1433543A (zh) | 帧和协议分类的方法和系统 | |
CN102571946B (zh) | 一种基于对等网络的协议识别与控制系统的实现方法 | |
CN103997514A (zh) | 一种文件并行传输的方法及系统 | |
CN103401850A (zh) | 一种报文过滤方法及装置 | |
CN109639737A (zh) | 协议发生装置、数据采集终端的协议转换方法和配置方法 | |
CN101848239B (zh) | 一种高时效性的分布式服务集成调用系统 | |
WO2013137864A1 (en) | Submatch extraction | |
CN104333483A (zh) | 互联网应用流量识别方法、系统及识别装置 | |
CN108628966A (zh) | 一种基于字符串的快速匹配识别方法和装置 | |
CN110865970A (zh) | 一种基于fpga平台的压缩流量模式匹配引擎及模式匹配方法 | |
CN108964979A (zh) | 一种网络数据流显示系统及其工作方法 | |
CN106405577A (zh) | 一种rtcm电文转换方法及装置 | |
CN102270223B (zh) | 消息解码库的生成方法、装置及消息解码方法、装置 | |
CN106572085A (zh) | 一种从udf应用角度出发的芯片及匹配方法 | |
CN104767710A (zh) | 基于dfa的http分块传输编码的传输载荷提取方法 |
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 |