论文部分内容阅读
现代网络通信向宽带化发展,导致网络数据量激增,这一增长带来更多有价值的信息的同时,也对实时网络安全防护提出了更高要求。目前,国内外网络安全产品绝大多数面对低速的用户网络,只能完成对百兆以下数据的处理,不能应对越来越高的网络速度。 在TCP报文还原与分析技术研究基础上,本文设计并实现了基于宽带网络的TCP报文实时还原与分析系统,完成了从数据接入、IP包实时分析、TCP报文实时还原、TCP主流应用层协议分析和数据筛选等一系列工作。由于宽带数据速率高,对系统处理能力要求很高,本文重点从以下三个方面进行了深入研究,优化设计,使系统能够完成对300兆以上以太网数据的实时还原与分析处理。 1) 高速数据包微机捕获接口最优化设计。本文在Linux下实现了ZERO-COPY-SNIFF,达到了600Mbps的包截获速度;在WINDOWS下利用WinPcap,达到近300Mbps的包截获速度;并通过性能测试,定量分析了两种抓包方式对不同长度的包截获速率、CPU占用率; 2) 采用适当的算法管理繁杂的连接,并实现快速查找。笔者实践了三种不同的HASH算法,通过实验比对证实其中CRC32算法最适合用于连接维护和查找,并采用该算法,获得了300Mbps以上的TCP报文还原速度。 3) 内存管理。本文通过内存缓冲区的优化设计保证了高速数据缓存,并利用排队论相关理论,论证了内存分配与IP包类型的关系,从理论上证明了TCP数据处理速度的提高可使队列长度迅速降低,TCP数据处理速度是影响队列长度的主要因素; TCP报文还原后,系统还对应用层的主流协议进行分析:SMTP的协议解析,垃圾邮件的过滤方式;FTP的协议解析,控制端、数据端的配对,帐号、口令、下载文件名、下载内容等信息获取;HTTP协议解析等。 最后,本文从系统构架优化、CPU指令集使用、CPU超线程应用等方面探讨了进一步挖掘程序处理速度的潜力,最大限度利用计算机,以降低成本的方法。