论文部分内容阅读
随着网络技术的发展,网络速度越来越快,网络服务越来越多,同时产生的网络安全问题也越来越多。考虑到网络的管理和安全,需要对网络中的数据进行监控。由于网络速率和数据流量的快速增长,传统的数据包捕获技术不适合进行高速网络数据捕获。此外,实时将网络中传输的数据包存储起来,有助于重现某一个时刻的网络状态。因此,数据包捕获与存储方面的研究在网络安全与网络服务方面都有实际意义。 本文研究并设计了一种基于FPGA的网络数据包捕获与存储系统,用于共享网络中的数据包捕获与存储。 首先通过对系统应用环境和系统需求的分析,进行了总体设计,然后在此基础上设计并构建了基于FPGA的SoPC系统,以此作为网络数据捕获与存储系统的硬件系统,并在其上搭建了软件环境。 通过分析数据包捕获原理与传输网络数据包捕获技术,在阅读大量文献的基础上,设计了适合网络数据包捕获的内存分配机制、中断轮询切换机制和DMA传输机制。然后设计了简单的数据包分析机制,能够将捕获到的数据包分类。 设计了ATA硬盘的驱动程序,并在此基础上设计了文件系统,使捕获到的数据包能够以文件的形式存储在硬盘中。通过分析,采用按时间存储的数据包存储策略,并设计了管理大量数据包文件的文件管理机制。 设计了用于控制网络数据捕获与存储系统的通信规约,主要包括对系统的控制命令和命令同步机制。 本文设计的网络数据捕获与存储系统作为嵌入式系统,虽然在网络数据包捕获性能上低于PC系统,但是具有体积小、功耗低、环境适应性强的优点,尤其在具有很强的可扩展性和重构性,能够为网络监听、入侵检测、故障分析等应用场景提供良好的支持。