论文部分内容阅读
随着互联网的高速发展,各种网络应用类型层次不穷,信息量以摩尔定律的速度快速增长,信息安全日益成为信息系统的关键点之一。为解决病毒、网络攻击等带来安全问题,数据包过滤技术应运而生。对于网络带宽快速升级,现有软件方式的数据包过滤方法难以适应高速网络过滤需求,因此,人们提出了基于硬件的过滤方法。但对于硬件实现而言,存储空间不足是一个瓶劲。为此,本文将设计一种基于FPGA的网络数据包过滤系统,该系统采用位存储和双CAM存储方法解决了存储空间不足问题。 本文的基于FPGA的网络数据包过滤系统采用两级串行过滤方式。第一级根据数据包IP地址进行过滤,采用位存储过滤规则集。采用IP地址直接寻址方式读取过滤控制位,上位机实时在线配置过滤规则集,同时网络特征从FPGA传输到上位机实时显示,使得系统具有较强的灵活性,可以快速过滤网络数据包;第二级通过检测TCP流状态完整性进行过滤,设计出一种双CAM存储TCP流状态信息的方法以实现状态完整性检测,其中双CAM的内容和地址相互访问,充分高效利用有限的CAM空间,实现海量TCP流的完整性检测。 本论文的主要工作内容和创新点如下: (1)论述安全过滤系统的背景及国内外研究现状,分析和比较各种网络数据包过滤方法优缺点。 (2)介绍斯坦福大学设计NetFPGA硬件平台上网络数据处理模型思想及关键技术。 (3)设计一种采用基于IP地址直接寻址位存储空间的网络数据包过滤方法,上位机可在线配置过滤规则集和实时统计显示网络特征。 (4)提出一种基于双CAM的TCP流状态完整性检测方法,双CAM的地址和内容相互访问,提高了CAM存储空间利用效率,可满足大量流状态检测。 (5)在斯坦福大学开发的NetFPGA2.1平台上实现了基于IP直接寻址位存储过滤规则集的数据包过滤和网络特征实时显示。 (6)搭建测试环境,对实现的数据包过滤过滤系统进行测试,分析和总结了测试结果,最后总结本论文所完成的工作及展望。 本文是在斯坦福大学设计的NetFPGA2.1平台上进行原型系统设计与实现,从系统设计到各个模块的硬件实现细节进行了详细的描述,测试结果显示,与纯软件相比具有较高的吞吐量,过滤正确率较高,延时小,在千兆网络环境下可实时在线过滤。