论文摘要
随着计算机和网络通信技术的飞速发展,计算机网络已经成为最重要的信息基础设施,截至2008年6月底,中国网民数量达到2.53亿人,跃居世界第一位。然而,由于网络协议、操作系统等设计和实现过程中的缺陷,以及系统配置错误或使用不当,网络安全成为越来越严重的社会问题。同时链路速度指数增长,从10Gbps到现在的40Gbps,以及正在研究部署100Gbps。在高速主干网上研究布置一套高效实时的入侵检测系统,对于掌握全网的安全态势具有举足轻重的作用。但基于通用计算机系统实现的入侵检测系统由于其不可逾越的软件开销瓶颈,一般只能处理100Mbps的链路速度。因此在主干网上研究部署基于现有检测引擎的并行入侵检测系统成为热点。本文对入侵检测系统进行了概述,分析了现有的多种并行入侵检测结构,在此基础上针对同一个攻击上下文的分组报文可能经过不同路径到达攻击目的,提出了多路汇聚层次交换结构。如何设计符合入侵检测要求的负载均衡算法成为影响并行入侵检测系统性能的关键。入侵检测对负载均衡的要求主要有五点:保证攻击上下文、最小化丢包率、负载均衡、负载均衡器自身的安全性以及最小化报文乱序。本文对通用的负载均衡算法以及应用于并行入侵检测这种特殊环境下的负载均衡算法进行了详细介绍。另外,本文就如何提取五元组信息的负载均衡预处理技术进行了研究,包括POS报文解析和IP分片报文处理。通过分析真实网络流量trace的分片特性,发现同时处于分片状态的IP报文数目极少,因而提出了一种低存储空间消耗的冲突尝试分片处理方法,该方法利用hash函数将源IP、目的IP、标志ID、协议域映射到一个较小的分片RAM,当发生冲突时采用素数间隔尝试其他位置。试验模拟验证该方法存储开销小,相对于无冲突处理方式,性能损失很小。通过分析真实网络流量trace特性,发现网络流量中流量较大的流数目少,但其所占的流量比重大的现象,基于此本文提出在负载不均衡时只调整那些流量较大的密集流的HAIF算法。该算法由于只调整为数不多的密集流,流破坏率低,同时采用阈值方式识别密集流并即时将其加入到密集流表作为调整对象,能够适应流量突发,从而丢包率极低,符合并行入侵检测负载均衡要求。通过模拟试验,与两种静态hash算法进行比较,HAIF算法体现了其在减少丢包以及均衡负载上的显著优越性,性能大致提高2个数量级,与Weiguang Shi提出的SHI算法相比较,HAIF在增加可以容忍的存储开销内达到了更好的性能。最后,采用FPGA实现了基于HAIF算法的负载均衡器。它能够线速将40Gbps主干链路流量均衡为4路10Gbps流量,作为后端早期开发的10Gbps入侵检测系统的输入。负载均衡器已在实际项目中应用。