论文部分内容阅读
安全网关作为维护网络信息安全中的一种“过滤器”,在上网行为管理、内网安全等方面发挥着重要的作用。近几年,随着互网络在人们日常生活中的广泛应用,网络流量的爆炸性增长,由于受硬件水平发展的制约,传统的基于X86架构平台开发的安全网关已经不能满足日益增长的网络性能要求。基于多核开发的安全网关已经越来越广泛地应用到人们的生活中,但是在网络信息安全审计的过程中,需要对网络信息内容进行监测,匹配算法的性能就成为影响整个多核处理器处理性能的一个关键因素,为了使多核处理器的性能得到进一步提升,就必须开发性能更高的匹配算法或者对现有的匹配算法进行优化。另一方面,报文的分配策略也影响着多核处理器的处理性能。本文主要从面向多核安全网关多模匹配算法的优化和面向多核安全网关负载均衡算法的优化两个方向来提高多核处理器的性能。
一方面,本文对现有的模式匹配算法进行了分析,AC_BM算法和AC_SUNDAY算法结合了AC算法和对应的单模匹配算法的优点,在失配时匹配树移动的距离变大。在这一思想基础上提出了一种改进的变步长跳跃匹配算法AC_ID,在失配或者一次扫描结束时根据当前匹配窗口的前四个字符决定匹配树向前移动的距离,使得匹配树的最大的跳跃距离等于模式串集中最短模式串长度+4,并且每个节点增加了两个字段(模式串长度、初始位置),对带有锚定的模式串进行了处理。最后通过实验证明,改进的AC_ID算法在匹配树移动次数和匹配时间方面比AC_BM算法和AC_SUNDAY算法有了一定的提升,提升了系统的整体处理能力。
另一方面,本文对现有的负载均衡算法进行了分析,针对网络流量中出现的局部热点可能造成处理核出现“饥饿”或者过载现象,本文提出一个基于报文分类的多态负载均衡算法SDLBA。该算法对于非TCP报文采用静态的负载均衡算法,对TCP报文采用动态的负载均衡算法。静态负载均衡算法是采用传统的哈希算法进行负载,动态负载均衡算法采用轻度过载表和重度过载表相结合的思想,满足轻度负载阈值时采用新连接重映射策略,满足重度负载阈值时采用处理核连接迁移策略,定期更新各个处理核负载和轻度、重度负载表和其他数据表信息,使得在保证流完整的情况下各个处理核尽可能负载趋于均衡。
一方面,本文对现有的模式匹配算法进行了分析,AC_BM算法和AC_SUNDAY算法结合了AC算法和对应的单模匹配算法的优点,在失配时匹配树移动的距离变大。在这一思想基础上提出了一种改进的变步长跳跃匹配算法AC_ID,在失配或者一次扫描结束时根据当前匹配窗口的前四个字符决定匹配树向前移动的距离,使得匹配树的最大的跳跃距离等于模式串集中最短模式串长度+4,并且每个节点增加了两个字段(模式串长度、初始位置),对带有锚定的模式串进行了处理。最后通过实验证明,改进的AC_ID算法在匹配树移动次数和匹配时间方面比AC_BM算法和AC_SUNDAY算法有了一定的提升,提升了系统的整体处理能力。
另一方面,本文对现有的负载均衡算法进行了分析,针对网络流量中出现的局部热点可能造成处理核出现“饥饿”或者过载现象,本文提出一个基于报文分类的多态负载均衡算法SDLBA。该算法对于非TCP报文采用静态的负载均衡算法,对TCP报文采用动态的负载均衡算法。静态负载均衡算法是采用传统的哈希算法进行负载,动态负载均衡算法采用轻度过载表和重度过载表相结合的思想,满足轻度负载阈值时采用新连接重映射策略,满足重度负载阈值时采用处理核连接迁移策略,定期更新各个处理核负载和轻度、重度负载表和其他数据表信息,使得在保证流完整的情况下各个处理核尽可能负载趋于均衡。