论文部分内容阅读
面对日益增加的网络带宽和负载,如何提高网络安全程序的性能是当前安全系统所面临的挑战.Peder Jungck等人在[JSO4]提到,网络带宽与当前处理器能力矛盾是这一问题的根本.因此,近来的研究中,从体系结构的角度来分析网络程序的性能成为一种趋势.提高网络安全程序的性能,首先得分析网络安全系统在当前微处理器体系结构上的瓶颈所在.本文专著于寻找适当的工具和分析方法来评估网络安全系统的微体系结构行为特征,特别是评估访存行为特征.因此,本文的工作包括建立一套模拟平台来获得网络安全系统的性能数据;然后探讨了在该模拟平台下的性能分析方法学;最后,根据网络安全系统中任务的不同,将网络安全系统分为网络协议分析引擎和内容扫描引擎,进而对内容扫描引擎的行为特征进行深入的实验分析,网络协议分析将在下一步工作中深入分析.
从体系结构的角度分析网络处理程序的性能是最近较热的方向.而如何获得准确全面的运行期特征数据是分析的第一步,本文首先以M5模拟器为基础,构架了一套模拟测试平台,各种类型的程序均可在上面模拟执行,并获得丰富的特征数据.
内容扫描引擎的主要工作是按照指定规则库扫描协议内容.内容扫描算法的核心是多串匹配算法,在大规模规则库的情况下,串匹配算法的性能有比较大的下降,下降的原因与算法的实现原理和数据访问特征相关.当前比较常用的高性能多串匹配算法包括Aho-Corasick算法,Set Backward Oracle Match算法与Wu-Manber算法.虽然规则库的规模对这几种算法的影响各不一样,但是随着规则库规模的增大,在这几种算法中数据Cache和L2 Cache失效均导致了比较严重的性能下降.
另外,在多核处理器下,多个串匹配算法进程之间也由于对共享资源的竞争造成一定的性能损失,在4个进程同时执行时,Wu-Manber算法和Set Backward Oracle Match算法进程执行效率都有近1096的下降.
网络协议分析引擎,包括捕获网络包、协议还原等任务.其特点是:网络适配器访问频繁、中断和系统调用频繁、内存拷贝操作较多.这样的程序特点引起大量的操作系统消耗,而且由于较多外设和内存操作,程序的I/O操作时间要大于CPU操作时间.对这部分的详细实验是今后工作的重点.