论文部分内容阅读
互联网技术与人们的生活结合日益紧密,其本身的信息安全问题对用户影响也越来越严重。WEB安全网关作为互联网和用户网络的第一道安全闸门,在整个安全体系中占有着举足轻重的地位。作为一款部署在网络出入口的安全产品,其性能高低直接决定了用户网络与互联网通信的质量。本文主要有两个研究内容,其一针对WEB安全网关系统建立数学模型进行性能评价,合理评估系统资源分配情况。找出系统吞吐量最大时,其资源分配情况;其二针对内存管理方面进一步优化系统,提高系统性能。在WEB安全网关性能评价模型方面,当前研究主要以排队论理论为基础进行模型创建。国内外研究学者创建的模型有两处不足。其一,只是针对单服务台;其二,各服务阶段关联性较弱。针对这两种缺点,本文阐述了一种基于排队论的WEB安全网关性能评价模型。该模型分为两个层次,每个层次中都包含多个服务台。第一层为网络层,主要分析数据包的IP、TCP协议报文;第二层为应用层,主要分析数据包的应用层报文内容。本文在推导出第一层吞吐量的情况下,结合第二层的多服务台服务情况,利用排队论中的爱尔兰模型推导出系统的整体吞吐量。最后,本文使用模型进行了理论推导,并使用C语言编写了简单的安全网关系统,确认了通过模型获得的理论值和实验中的实验数据相互一致性。并得知在吞吐量性能上,理论值和实验值之间存在4%的误差范围。不论是数据包在WEB安全网关中进行排队等候服务台进行服务,还是服务台解析数据包,都涉及到内存操作。所以,本文主要是在内存管理方面对安全网关进行性能优化。由于WEB安全网关在应用层内容检测时需要对WEB数据进行解码、解压操作,导致其在数据包处理过程中使用内存区块大小不固定,因此在使用固定内存池时会存在大量内存浪费现象。而使用动态内存池时,又会在网络流量出现波动时,出现内存抖动现象。针对以上两点,本文阐述了一种面向非固定包长的WEB安全网关内存管理模型。该管理模型分为网络层与应用层两个层次,既可以动态分配内存块大小,提高内存使用率,也可以应对突发流量情况,防止内存池的抖动恶化。通过内存使用率和内存管理时间消耗两个实验可以知道。在内存使用率中,本文使用该模型与定长内存池的内存使用率作对比,最终比定长内存池的使用率高出20%左右。在管理内存的时间消耗方面,面向非固定包长的WEB安全网关内存管理远远低于Malloc、PTmalloc的时间消耗。