CN106972982B - 一种基于fpga的网络报文匹配和接收单元 - Google Patents
一种基于fpga的网络报文匹配和接收单元 Download PDFInfo
- Publication number
- CN106972982B CN106972982B CN201710160937.9A CN201710160937A CN106972982B CN 106972982 B CN106972982 B CN 106972982B CN 201710160937 A CN201710160937 A CN 201710160937A CN 106972982 B CN106972982 B CN 106972982B
- Authority
- CN
- China
- Prior art keywords
- message
- module
- command
- information
- fpga
- 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
Links
Images
Classifications
-
- 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/50—Testing arrangements
-
- 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/04—Processing captured monitoring data, e.g. for logfile generation
-
- 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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种基于FPGA的网络报文匹配和接收单元。上位机通过PowerPc将用户的命令要求发送到FPGA,数据经过命令解析模块解析完毕后传递给报文抓取模块和信息返还模块;报文接收模块通过网口接收被测网络设备发送的报文,并将接收到的报文发送到报文抓取模块;报文抓取模块将从报文接收模块接收到的报文按照命令解析模块传递的命令进行匹配,然后将匹配正确的报文发送到报文存储模块;信息返还模块将从报文存储模块接收的数据按照命令解析模块的要求有序返还给PowerPc。本发明能实现网口报文的接收,适用于千兆百兆十兆速率的报文接收。
Description
技术领域
本发明属于一种网络报文接收单元,具体是一种基于FPGA的网络报文匹配和接收单元。
背景技术
网络测试仪是测试网络设备性能好坏的重要测量工具,很多网络设备包括交换机等性能的测试都需要依赖网络测试仪来进行测试。通常电脑的网口测试只能承受十几兆的数据传输速率,在速率过高之后会发生丢包、出现错乱报文的情况,目前市场上的以太网测试设备多出现在国外,成本较高。
发明内容
本发明的目的在于提供一种基于FPGA的网络报文匹配和接收单元,这种单元能实现网口报文的接收,适用于千兆百兆十兆速率的报文接收。
实现本发明目的的技术解决方案为:一种基于FPGA的网络报文匹配和接收单元,包括命令解析模块、报文接收模块、报文抓取模块、报文存储模块和信息返还模块,所述的命令解析模块由FIFO缓冲、计数器和命令比较模块构成,将从PowerPc接收到的数据在计数器计数的情况下和设定的命令条件进行比较,完成命令的解析,解析结果包括发送给信息返还模块的信息返还命令和发送给报文抓取模块的匹配抓包要求;所述的报文接收模块由网口IP核和时钟转换模块构成,被测设备的发送报文通过网口传输进来,利用FIFO对报文进行时钟域转换后送到报文抓取模块;所述的报文抓取模块由报文信息分析模块和报文匹配模块构成,将接收到的报文中的信息进行提取,按照解析模块传递的命令进行匹配,将匹配的报文送到报文存储模块;所述的报文存储模块由ram构成,将多个ram按照环回要求组成环回ram,将匹配得到的报文进行环回存储;所述的信息返还模块由字节转换和返还选择模块构成,返还的信息包括抓取的报文、报文的统计值和命令接收成功信息,根据命令解析模块的命令将信息有序的返还给PowerPC。
所述的命令解析模块将从PowerPC输入的命令信息进行卡板号和端口号的与判断之后存入fifo中缓冲,由计数器确定需要进判断的位置,和设定的条件比较判断后得到解析结果,包括信息返还命令和匹配抓包要求。
所述的报文接收模块收到从被测设备通过网口传输进来的报文,利用fifo对报文进行时钟域转换,然后将报文送到报文抓取模块。
报文抓取模块先统计接收到的报文数和字节数,然后将接收到的报文中的信息进行提取,按照解析模块传递的命令进行匹配,将匹配的报文送到报文存储模块中。
报文存储模块将多个ram按照环回要求组成环回ram,将匹配得到的报文进行环回存储,当收到返还要求就会输出一个报文到信息返还模块。
信息返还模块返还的信息包括抓取的报文、报文的统计值和命令接收成功信息,将所有返还信息统一转换成16字节,根据命令解析模块的命令将信息有序的返还给PowerPC。
本发明与现有技术相比,其显著优点:(1)本发明可以对千兆的数据速率进行接收处理,可以确保数据的不丢失,不发生错乱。(2)本发明对于以太网口数据的接收可以进行多方面的统计,可以通过软件设置不同模式的抓包方式对网口收到的数据进行处理,选择出符合各种要求的报文,时钟频率可达200MHz,能够对高速率报文进行准确处理。
附图说明
图1是接收单元的总体结构图。
图2是命令解析模块结构图。
图3是报文接收模块结构图。
图4是报文抓取模块结构图。
图5是报文存储模块结构图。
图6是信息返还模块结构图。
图7是信息分成提取。
图8是接收发送报文选择机制。
具体实施方式
下面结合附图对本发明作进一步的详细说明。
本发明提供了一种基于FPGA的网络报文匹配和接收单元,包括命令解析模块、报文接收模块、报文抓取模块、报文存储模块和信息返还模块,具体结构如图1所示。图1所示的接收单元能够处理十兆百兆千兆速率的数据,本发明以图1所示结构为例,说明发明的具体实施方式。其中上位机通过PowerPc将用户的命令要求发送到FPGA,数据经过命令解析模块解析完毕后传递给报文抓取模块和信息返还模块;报文接收模块通过网口接收被测网络设备发送的报文,并将接收到的报文发送到报文抓取模块;报文抓取模块将从报文接收模块接收到的报文按照命令解析模块传递的命令进行匹配,然后将匹配正确的报文发送到报文存储模块;信息返还模块将从报文存储模块接收的数据按照命令解析模块的要求有序返还给PowerPc。
上位机通过PowerPc将用户的命令要求发送到FPGA,数据经过命令解析模块解析完毕后传递给报文抓取模块和信息返还模块;报文接收模块通过网口接收被测网络设备发送的报文,并将接收到的报文发送到报文抓取模块;报文抓取模块将从报文接收模块接收到的报文按照命令解析模块传递的命令进行匹配,然后将匹配正确的报文发送到报文存储模块;信息返还模块将从报文存储模块接收的数据按照命令解析模块的要求有序返还给PowerPc。
下面对各部分结构进行详细介绍:
命令解析模块,如图2所示,由命令输入、卡板号端口号预判断、fifo缓冲区、计数器和比较判断组成。将从PowerPc接收到的数据进行卡板号和端口号进行预判断之后存入fifo中缓冲,在fifo非空时开始读操作,读出的数据进行计数,在指定位置将数据和预定数据进行比较判断,得到命令解析的结果,解析结果包括发送给信息返还模块的信息返还命令和发送给报文抓取模块的匹配抓包要求。
报文接收模块,如图3所示,将从被测设备通过网口传输进来的报文通过fifo对报文进行时钟域转换,转换成125MHz的时钟,然后将报文送到报文抓取模块,从网口收到的数据最高可达千兆。
报文抓取模块,如图 4 所示,先统计接收到的报文数和字节数,根据报文长度对接收到的报文进行分段统计,将统计结果送到信息返还模块,然后将接收到的报文中的信息进行提取,主要包括mac地址、IP和UDP等信息,按照解析模块传递的命令进行匹配,将匹配的报文送到报文存储模块中
报文存储模块,如图5所示,主要由ram构成,将多个ram按照环回要求组成环回ram,将匹配得到的报文进行环回存储,存满覆盖第一个ram继续存入,每次收到get命令按顺序读取一个报文到信息返还模块,读取之后继续存入报文,保证抓取的报文具有相邻近性。
信息返还模块,如图6所示,返还的信息包括抓取的报文、报文的统计值和命令接收成功信息,由于从网口抓取的报文位宽为8字节,报文的统计值为64字节,而返还经过serdes,要求将所有返还信息统一转换成16字节,根据命令解析模块的不同返还命令将信息有序的返还给PowerPC。
信息分层提取,如图7所示,可以对mac地址层、IP层、UDP层、payload层和FCS进行分层串行提取信息,首先提取mac的源地址和目的地址信息,其次提取IP报文头的长度信息、协议和目的、源地址信息,UDP的报文头长度、源、目的端口信息和UDP到payload的长度等,基于FPGA的串行数据处理可以增加到更多层的信息处理。
接收发送报文的选择,如图8所示,在收到同时抓取自己发送的报文和接收到的报文命令时,在存有这些报文的ram模块中各自输出一个计包数的寄存器,根据这个寄存器是否大于零来判断发送哪些报文,当同时不为零时,优先发送接收到的报文。
Claims (5)
1.一种基于FPGA的网络报文匹配和接收单元,其特征在于:包括基于FPGA命令解析模块、报文接收模块、报文抓取模块、报文存储模块和信息返还模块;命令解析模块,包括FIFO缓冲、计数器和命令比较模块,将从PowerPc接收到的数据在计数器计数的情况下和设定的命令条件进行比较,完成命令的解析,解析结果包括发送给信息返还模块的信息返还命令和发送给报文抓取模块的匹配抓包要求;
报文接收模块,由网口IP核和FIFO时钟转换模块构成,被测设备的发送报文通过网口传输进来,利用FIFO对报文进行时钟域转换,然后将报文发送到报文抓取模块;
报文抓取模块,由报文信息分析模块和报文匹配模块构成,将接收到的报文中的信息进行提取,按照命令解析模块传递的命令进行匹配,将匹配的报文送到报文存储模块;
报文存储模块,由ram构成,将多个ram按照环回要求组成环回ram,将匹配得到的报文进行环回存储;
信息返还模块,由字节转换和返还选择模块构成,返还的信息包括抓取的报文、报文的统计值和命令接收成功信息,根据命令解析模块的命令将信息有序的返还给PowerPC。
2.根据权利要求1所述的基于FPGA的网络报文匹配和接收单元,其特征在于:所述命令解析模块将从PowerPC输入的命令信息进行卡板号和端口号的预判断之后存入FIFO缓冲,由计数器确定需要进行判断的位置,和设定的条件比较判断后得到解析结果,包括信息返还命令和匹配抓包要求。
3.根据权利要求1所述的基于FPGA的网络报文匹配和接收单元,其特征在于:所述报文抓取模块先统计接收到的报文数和字节数,然后对接收到的报文中的信息进行提取,按照命令解析模块传递的命令进行匹配,将匹配的报文送到报文存储模块中。
4.根据权利要求1所述的基于FPGA的网络报文匹配和接收单元,其特征在于:所述报文存储模块,当收到返还要求则输出一个报文到信息返还模块。
5.根据权利要求1所述的基于FPGA的网络报文匹配和接收单元,其特征在于:所述信息返还模块,将所有返还信息统一转换成16字节,根据命令解析模块的命令将信息有序的返还给PowerPC。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710160937.9A CN106972982B (zh) | 2017-03-17 | 2017-03-17 | 一种基于fpga的网络报文匹配和接收单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710160937.9A CN106972982B (zh) | 2017-03-17 | 2017-03-17 | 一种基于fpga的网络报文匹配和接收单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106972982A CN106972982A (zh) | 2017-07-21 |
CN106972982B true CN106972982B (zh) | 2020-04-28 |
Family
ID=59330004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710160937.9A Active CN106972982B (zh) | 2017-03-17 | 2017-03-17 | 一种基于fpga的网络报文匹配和接收单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106972982B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099828A (zh) * | 2015-08-25 | 2015-11-25 | 南京理工大学 | 一种高性能网络测试仪及其实现方法 |
CN106291334A (zh) * | 2015-05-29 | 2017-01-04 | 上海鑫皇实业有限公司 | 一种通用fpga测试系统 |
CN106375158A (zh) * | 2016-10-25 | 2017-02-01 | 华为技术有限公司 | 一种丢包检测方法、网络设备及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8797880B2 (en) * | 2010-02-09 | 2014-08-05 | Juniper Networks, Inc. | Remote network device component testing |
US20130343181A1 (en) * | 2012-06-21 | 2013-12-26 | Jonathan Stroud | Systems and methods of data processing using an fpga-implemented hash function |
-
2017
- 2017-03-17 CN CN201710160937.9A patent/CN106972982B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106291334A (zh) * | 2015-05-29 | 2017-01-04 | 上海鑫皇实业有限公司 | 一种通用fpga测试系统 |
CN105099828A (zh) * | 2015-08-25 | 2015-11-25 | 南京理工大学 | 一种高性能网络测试仪及其实现方法 |
CN106375158A (zh) * | 2016-10-25 | 2017-02-01 | 华为技术有限公司 | 一种丢包检测方法、网络设备及系统 |
Non-Patent Citations (1)
Title |
---|
"网络性能测试系统功能模块的FPGA实现";赵硕;《万方学位论文》;20161110;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106972982A (zh) | 2017-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815112B (zh) | 一种基于深度包检测的海量数据监控系统及方法 | |
US8014295B2 (en) | Parallel packet processor with session active checker | |
US20120182891A1 (en) | Packet analysis system and method using hadoop based parallel computation | |
WO2001001272A2 (en) | Method and apparatus for monitoring traffic in a network | |
CN109450733B (zh) | 一种基于机器学习的网络终端设备识别方法及系统 | |
CN104750588A (zh) | 一种基于串口通信的压力测试方法 | |
CN102739457A (zh) | 一种基于dpi和svm技术的网络流量识别系统及方法 | |
CN107682311B (zh) | 一种硬件实现的多链接tcp数据重组系统 | |
EP3065343B1 (en) | Network monitoring method and apparatus, and packet filtering method and apparatus | |
WO2022176035A1 (ja) | 変換装置、変換方法及び変換プログラム | |
CN108833195B (zh) | 一种基于进程的网络数据流量分析方法 | |
CN102801586B (zh) | QoS粒度与精度的自动化测试方法及装置 | |
CN106972982B (zh) | 一种基于fpga的网络报文匹配和接收单元 | |
CN112822722B (zh) | 一种数据报文的传输方法和装置 | |
CN107360062B (zh) | Dpi设备识别结果的验证方法、系统及dpi设备 | |
CN105991353A (zh) | 故障定位的方法和装置 | |
CN109857359A (zh) | Mipi数据处理方法、装置和电路 | |
CN111988158B (zh) | 芯片级实现oam报文发送方法、装置、系统及存储介质 | |
CN209690900U (zh) | Mipi数据处理电路 | |
CN109842511B (zh) | 一种tcp性能参数的确定方法及系统 | |
Topor-Kaminski et al. | Selected methods of measuring the delay in data transmission systems with wireless network interfaces | |
CN103916286A (zh) | 用于检测网络设备的测试方法以及装置 | |
US9001670B2 (en) | Monitoring apparatus, monitoring method, and computer product | |
Lifu et al. | Technique for network performance measurement based on RFC 2544 | |
CN112422954A (zh) | Lvds视频采集检测传输系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |