CN102970190B - 一种网络流量监测系统 - Google Patents
一种网络流量监测系统 Download PDFInfo
- Publication number
- CN102970190B CN102970190B CN201210528008.6A CN201210528008A CN102970190B CN 102970190 B CN102970190 B CN 102970190B CN 201210528008 A CN201210528008 A CN 201210528008A CN 102970190 B CN102970190 B CN 102970190B
- Authority
- CN
- China
- Prior art keywords
- module
- processor
- packet
- data packet
- monitoring system
- 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
Abstract
本发明公开了一种网络流量监测系统,主要包括控制管理模块,视频显示模块,通用网络接口模块,DMA模块,数据包预处理模块,数据包分析模块,以及NAND Flash存储控制模块。其中控制管理模块运行在双核处理器上,视频显示模块,通用网络接口模块,数据包预处理模块,数据包分析模块,以及NAND Flash存储控制模块均运行在片内现场可编程门阵列上。该系统充分发挥双核处理器与FPGA各自的特点,软硬件协同工作,完成对千兆,甚至万兆网络数据流量的监测以及存储。本发明由于采用上述设计,具有体积小,功耗、成本低,配置灵活等一系列显著优点。
Description
技术领域
本发明涉及信息技术领域中的网络流量监测系统,尤其涉及一种在线可重配置网络流量监测系统。
背景技术
随着Internet网络技术的发展,网络安全以及网络信息统计、行为分析越来越受到人们的关注。通过网络流量的采集、存储、分析能有效的获得用户的网络行为,分析潜在网络安全隐患;同时可分析该局域网络中热点应用,提高其响应等级等一系列有助于网络应用的措施。
目前大多数网络流量采集采用软件的方式完成,如Sniff,Libcap等,一般都运行在PC机或者服务器上,其硬件接口相对固定,处理器能力有限,响应速度较慢,上报监听结果至上层服务器分析不能做到实时分析。为了减轻服务器处理器的负担,也有利用网络数据流量采集卡与服务器结合完成数据流量的采集与分析的应用。但这两种方案均以服务器为主,其成本、功耗均较高,且均是固定硬件,当接口改变时需更换流量采集卡,增加成本和配置复杂度。而为了完成数据流量的实时回放,一般在千兆网络以上的网络流量监测系统中都采用大型的RAID控制器和磁盘阵列完成高速数据的分流和存储,其成本、体积均较高。
发明内容
发明目的:针对现有技术中存在的问题与不足,本发明提供一种网络流量监测系统,其在单芯片内即可完成网络流量采集、监测及存储以取代传统的通过服务器实现的监测系统。
技术方案:一种网络流量监测系统,用于对网络流量进行采集、监测以及存储,其包括控制管理模块、视频显示模块、通用网络接口模块、DMA模块、数据包预处理模块、数据包分析模块以及NAND Flash存储控制模块,其中控制管理模块由双核处理器实现,视频显示模块、通用网络接口模块、DMA模块、数据包预处理模块、数据包分析模块以及NAND Flash存储控制模块由现场可编程门阵列(FPGA)实现;所述双核处理器包括第一处理器和第二处理器,第一处理器运行监测系统所需求的操作系统,通过操作系统完成本监测系统中显示,网络接口,数据包预处理,数据包分析等硬件模块的控制管理通过操作系统完成本监测系统中显示,网络接口,数据包预处理,数据包分析等硬件模块的控制管理以及与管理员的人机交互;第二处理器通过运行正则表达式运算辅助FPGA完成数据包采集、预处理、分析以及NAND Flash存储控制模块对应的NAND Flash存储阵列的文件系统管理,上述双核处理器和现场可编程门阵列由单一芯片实现。
所述与管理员的人机交互包括通过视频显示模块显示实时流量中流量的大小,数据包类型分类,潜在威胁等分析结果,或通过网络报给远程管理员。
所述通用网络接口模块,用于实现网络流量采集,并将采集到的数据包送至DMA模块。
所述通用网络接口模块能够根据被监测网络接口情况,通过可编程逻辑器件提供的部分可重配置技术 (Partial Reconfiguration)实时重配置成相应的网络接口,并提供相应的MAC IP核,其接口可重配置文件预存在外接的Flash存储器中,或由管理员通过网络远程上传。
所述的相应的网络接口包括GMII、SGMII、 RGMII、或1000Base-X。
所述 DMA模块,将来自通用网络接口模块的数据包通过所述DMA模块直接存储至外部DDR中,当数据包存储完成后,再由所述DMA模块将完整数据包读出,提交至所述数据包预处理模块;所述数据包预处理模块,其可实现完整数据包的五元组信息以及数据包有效载荷提取,并提供给数据包分析模块;所述数据包分析模块,其完成对数据包的五元组信息的匹配、以及字符串匹配,并将上述匹配结果送至所述第二处理器供进一步分析,所述第二处理器利用预先存储的处理规则分析所述匹配结果中数据包的关联性、数据包的特征值等,判断是否有潜在威胁,并将分析结果反馈至所述第一处理器;所述第一处理器完成人机交互。
若所述第二处理器分析发现匹配结果对应的数据包有潜在风险,或者分析结果数据需要存储,所述第二处理器控制所述数据包分析模块将有潜在风险的数据包以及分析结果写入到所述NAND Flash存储控制模块中,所述NAND FLASH存储控制模块直接控制NAND Flash存储阵列。
有益效果:本发明的方法与现有技术相比,本发明提供的网络流量监测系统,充分发挥双核处理器与FPGA各自的特点,软硬件协同工作,完成对千兆,甚至万兆网络数据流量的监测以及存储,具有体积小,功耗、成本低,配置灵活等一系列显著优点。
附图说明
图1为本发明实施例的系统结构框图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,控制管理模块2由双核处理器实现,双核处理器包括第一处理器21和第二处理器22,视频显示模块3、通用网络接口模块4、DMA模块5、数据包预处理模块6、数据包分析模块7以及NAND Flash存储控制模块8由现场可编程门阵列实现。
第一处理器21运行监测系统所需求的操作系统,完成监测系统的控制管理以及与管理员的人机交互;第二处理器22辅助FPGA完成数据包采集、预处理、分析以及NAND Flash存储控制模块8对应的NAND Flash存储阵列9的文件系统管理;双核处理器和现场可编程门阵列由单一芯片实现。
优选的,网络流量监测系统1基于赛灵思公司的Zynq系列可编程SOC实现。Zynq系列可编程SOC中包括双核处理器ARM Cortex-A9 与现场可编程门阵列。Cortex-A9在Zynq中可达到1GHz,FPGA与Cortex-A9在片内的融合可实现高数据带宽的传输,低功耗以及灵活的配置。
优选的,控制管理模块2由Zynq系列可编程SOC中的双核处理器ARM Cortex-A9实现,第一处理器21上运行嵌入式Linux操作系统,并移植QT界面软件,实现嵌入式环境下的用户界面显示。其显示通过FPGA中的视频显示模块3完成,该视频显示模块3可提供VGA、DVI/HDMI等显示接口;同时网络接口11也通过AMBA Switch与第一处理器21相连,提供远程管理员控制接口。
优选的,被监测的网络数据通过片内FPGA上实现的通用网络接口模块4输入,实现网络流量采集。该通用网络接口模块4可根据被监测网络接口情况,实时重配置成相应的网络接口,如GMII、SGMII、RGMII、1000Base-X等,并提供相应的MAC IP核。其接口可重配置文件可预存在Cortex-A9 SOC外接的Flash存储器211中,也可以由管理员通过网络远程上传。
网络数据流程采集完成后,通过DMA模块5直接存储至外部DDR 51中,第一处理器21只需通过AXI Interconnect数据交换模块10配置DMA参数,而不需参与数据传输。当数据包存储完成后,再由DMA模块将完整数据包读出,提交至数据包预处理模块6。
数据包预处理模块6也在片内FPGA中实现,其可实现数据包的五元组(源IP地址,源端口,目的IP地址,目的端口,传输层协议号)信息以及数据包有效载荷(Payload)提取,通过AXI Interconnect数据交换模块10供数据包分析模块7使用。
数据包分析模块7主要利用FPGA片内块RAM(BRAM)资源实现了内容可寻址存储器(CAM),完成对五元组信息的匹配,同时利用FPGA逻辑实现了硬件化的字符串匹配引擎,其采用的算法可为基于哈希(hash)算法的 bloom filter引擎。以上匹配结果通过AXI Interconnect数据交换模块10以及AMBA Switch上报至第二处理器22供进一步复杂规则分析,目前可实现10Gbps以上的网络流量线速匹配。
第二处理器22上运行复杂规则分析,其规则文件存储在Zynq系列可编程SOC的存储控制器中,远程管理员可通过第一处理器21控制的网络接口及时更新规则文件。第二处理器22的分析结果反馈至第一处理器21,并通过视频显示模块3在显示器上显示,或通过网络接口11上报给远程管理员。
若第二处理器22分析发现该数据包中数据特征符合预定义规则中的特征值,则认为该数据包有潜在威胁;或者分析的结果数据需要存储,第二处理器22将通过AXI Interconnect数据交换模块10控制数据包分析模块7,将有潜在风险的数据包以及分析结果写入到NAND Flash存储控制模块8中,该模块8直接控制NAND Flash存储阵列9。每片NAND Flash最高写入速度可达500Mbps以上,因为FPGA部分有300多个管脚,因此只要有20片NAND Flash并行,即可完成10Gbps以上的高速数据写入,这是普通的磁盘所无法实现的。同时数据的传输在片内自定义接口实现,不需原来的IDE/SATA等协议转换,提高数据的传输效率,降低了延时。
上述网络数据的存储文件系统由第二处理器22管理,负责地址映射和负载均衡与坏块管理。地址映射,即将文件系统中以逻辑地址来划分的数据映射到以NAND Flash物理地址划分的空间中。负载均衡(Wear-leveling)与坏块管理,由于NAND Flash有其寿命(擦除/写入次数)限制,必须以轮询、比率和优先权这三种静态负载均衡算法对写入的数据进行平衡,避免对同一块进行反复擦写。一旦发现某一块即将达到其寿命时,或者已经出现损坏,需及时屏蔽,并更新地址映射。缓存的优化管理,即建立一套缓存管理机制,降低NAND Flash的实际操作次数以提高IO读写性能,提高NAND Flash空间利用率。
综上,本发明提出了一种网络流量监测系统,利用单芯片方案,软硬件合理分配协同工作实现了网络数据流量的采集、监测、存储等功能。该系统在Zynq器件上实施,其功耗在10瓦以下。而以往通过PC机、服务器、RAID控制器以及磁盘阵列等设备实现的网络流量监测系统,功耗远超100瓦。同时通过本发明架构可实现系统小型化,大大减少了所需设备,大幅降低了系统成本,使该专业设备可推广至个人或小型局域网的环境中。同时本架构可根据被监测网络接口情况,在线重配置网络接口,增加了系统的灵活性。因此本发明提出的硬件架构与现有系统比,在系统成本(BOM),运营成本(功耗),小型化以及灵活配置上都有其显著的优点。
Claims (7)
1.一种网络流量监测系统,用于对网络流量进行采集、监测以及存储,其特征在于:包括控制管理模块(2)、视频显示模块(3)、通用网络接口模块(4)、DMA模块(5)、数据包预处理模块(6)、数据包分析模块(7)以及NAND Flash存储控制模块(8);
其中控制管理模块(2)包括由第一处理器(21)和第二处理器(22)组成的双核处理器;视频显示模块(3)、通用网络接口模块(4)、DMA模块(5)、数据包预处理模块(6)、数据包分析模块(7)以及NAND Flash存储控制模块(8)由现场可编程门阵列实现;
所述第一处理器(21)运行监测系统所需求的操作系统,通过操作系统完成本监测系统中视频显示模块(3)、通用网络接口模块(4)、DMA模块(5)、数据包预处理模块(6)和数据包分析模块(7)的控制管理以及与管理员的人机交互;第二处理器(22)上运行正则表达式运算辅助现场可编程门阵列完成数据包采集、预处理、分析以及NAND Flash存储控制模块(8)对应的NAND Flash存储阵列(9)的文件系统管理,所述双核处理器和现场可编程门阵列由单一芯片实现。
2.根据权利要求1所述的网络流量监测系统,其特征在于:所述与管理员的人机交互包括通过视频显示模块(3)显示分析结果,或通过网络报给远程管理员。
3.根据权利要求1所述的网络流量监测系统,其特征在于:所述通用网络接口模块(4),用于实现网络流量采集,并将采集到的数据包送至DMA模块(5)。
4.根据权利要求3所述的网络流量监测系统,其特征在于:所述通用网络接口模块(4)根据被监测网络接口情况,通过可编程逻辑器件提供的部分可重配置技术实时重配置成相应的网络接口,并提供相应的MAC IP核,所述网络接口重配置的文件预存在外接的Flash存储器中,或由管理员通过网络远程上传。
5.根据权利要求4所述的网络流量监测系统,其特征在于:所述的相应的网络接口包括GMII、SGMII、 RGMII、或1000Base-X。
6.根据权利要求3所述的网络流量监测系统,其特征在于:所述 DMA模块(5),将来自通用网络接口模块(4)的数据包通过所述DMA模块(5)直接存储至外部DDR中,当数据包存储完成后,再由所述DMA模块(5)将完整数据包读出,提交至所述数据包预处理模块(6);所述数据包预处理模块(6),其可实现完整数据包的五元组信息以及数据包有效载荷提取,并提供给数据包分析模块(7);所述数据包分析模块(7),其完成对数据包的五元组信息的匹配、以及字符串匹配,并将上述匹配结果送至所述第二处理器(22)供进一步分析,所述第二处理器(22)利用预先存储的处理规则对所述匹配结果进行分析,并将分析结果反馈至所述第一处理器(21);所述第一处理器(21)完成人机交互。
7.根据权利要求6所述的网络流量监测系统,其特征在于:若所述第二处理器(22)分析发现匹配结果对应的数据包有潜在风险,或者分析结果数据需要存储,所述第二处理器(22)控制所述数据包分析模块(7)将有潜在风险的数据包以及分析结果写入到所述NAND Flash存储控制模块(8)中,所述NAND FLASH存储控制模块(8)直接控制NAND Flash存储阵列(9)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210528008.6A CN102970190B (zh) | 2012-12-10 | 2012-12-10 | 一种网络流量监测系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210528008.6A CN102970190B (zh) | 2012-12-10 | 2012-12-10 | 一种网络流量监测系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102970190A CN102970190A (zh) | 2013-03-13 |
CN102970190B true CN102970190B (zh) | 2015-05-06 |
Family
ID=47800081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210528008.6A Active CN102970190B (zh) | 2012-12-10 | 2012-12-10 | 一种网络流量监测系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102970190B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103856761B (zh) * | 2014-03-14 | 2017-02-15 | 山东大学 | 基于Zynq‑7000的图像监控系统 |
CN104753931B (zh) * | 2015-03-18 | 2018-02-06 | 中国人民解放军信息工程大学 | 一种基于正则表达式的深度报文检测方法 |
CN108806243B (zh) * | 2018-04-24 | 2020-09-29 | 东南大学 | 一种基于Zynq-7000的交通流量信息采集终端 |
CN111245773B (zh) * | 2018-11-29 | 2023-04-18 | 厦门雅迅网络股份有限公司 | 一种汽车以太网流量监控方法、终端设备及存储介质 |
CN110798345A (zh) * | 2019-10-25 | 2020-02-14 | 华东师范大学 | 一种基于zynq的网络流量监控分析设备 |
CN111324063B (zh) * | 2020-01-21 | 2021-07-30 | 南方电网科学研究院有限责任公司 | 一种用于芯片化dtu的采集处理装置及其执行方法 |
CN112347030A (zh) * | 2020-09-24 | 2021-02-09 | 深圳市紫光同创电子有限公司 | 基于fpga的数据处理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101695034A (zh) * | 2009-10-09 | 2010-04-14 | 清华大学 | 一种web服务监控参数的调整装置和方法 |
CN102378133A (zh) * | 2011-12-02 | 2012-03-14 | 中国科学院上海微系统与信息技术研究所 | 基于omap的传感网多媒体信息处理系统及方法 |
CN102387045A (zh) * | 2011-09-30 | 2012-03-21 | 北京信息科技大学 | 嵌入式p2p流量监控系统及方法 |
-
2012
- 2012-12-10 CN CN201210528008.6A patent/CN102970190B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101695034A (zh) * | 2009-10-09 | 2010-04-14 | 清华大学 | 一种web服务监控参数的调整装置和方法 |
CN102387045A (zh) * | 2011-09-30 | 2012-03-21 | 北京信息科技大学 | 嵌入式p2p流量监控系统及方法 |
CN102378133A (zh) * | 2011-12-02 | 2012-03-14 | 中国科学院上海微系统与信息技术研究所 | 基于omap的传感网多媒体信息处理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102970190A (zh) | 2013-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102970190B (zh) | 一种网络流量监测系统 | |
US10212092B2 (en) | Architectures and methods for processing data in parallel using offload processing modules insertable into servers | |
Kant | Data center evolution: A tutorial on state of the art, issues, and challenges | |
DE102018004327A1 (de) | Systeme und Verfahren zum Zugreifen auf Massenspeicher als Arbeitsspeicher | |
CN103150279B (zh) | 一种主机与基板管理控制器共享设备的方法 | |
US20210266253A1 (en) | Pooling of network processing resources | |
CN101902504A (zh) | 航空电子全双工交换式以太网网卡及其集成化方法 | |
CN107241305B (zh) | 一种基于多核处理器的网络协议分析系统及其分析方法 | |
US20080270653A1 (en) | Intelligent resource management in multiprocessor computer systems | |
CN106293944A (zh) | 虚拟化多核环境下基于非一致性i/o访问系统和优化方法 | |
CN105681402A (zh) | 一种基于PCIe闪存卡的分布式高速数据库集成系统 | |
CN110059024A (zh) | 一种内存空间数据缓存方法及装置 | |
Shen et al. | Learning-based adaptation to applications and environments in a reconfigurable network-on-chip | |
CN104598202A (zh) | 命令行管理装置及方法 | |
CN107666510A (zh) | 一种空气源热泵远程管理云服务系统 | |
CN102902593A (zh) | 基于缓存机制的协议分发处理系统 | |
DE102022120128A1 (de) | Speicherzugriffs-nachverfolgung | |
CN214122946U (zh) | 一种基于fpga的高速国密算法密码卡 | |
CN206863739U (zh) | 一种带存储的数据通讯机 | |
Egi et al. | Understanding the packet processing capability of multi-core servers | |
CN206226471U (zh) | 智能云网关 | |
CN102445978B (zh) | 一种管理数据中心的方法及设备 | |
Lin et al. | Efficient low-latency packet processing using On-GPU Thread-Data Remapping | |
CN109408453B (zh) | 一种高性能多节点互联并行传输控制方法 | |
CN103064697B (zh) | 管理引擎的配置方法和计算机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |