论文部分内容阅读
互联网络飞速发展的同时网络安全事件日益增多,对于高性能网络入侵防御系统的需求日趋强烈。基于硬件加速的入侵防御系统不能满足不断变化的攻击手段。网络流量的不断增加对入侵防御系统的性能提出了新的要求。多核网络处理器的出现,使得构建一款高性能的适应新的需求的入侵防御系统成为可能。多核处理器自诞生以来,经历了双核、多核到众核的发展。单芯片上集成的核数量越来越多。多核的优势是核多,CPU资源丰富。因此,要想发挥多核的优势,就需要尽可能让多个核并行处理。同时,需要设计一套易扩展的软件方案来适应越来越多的核数量,以便当核数量增加时软件方案不需要做改变。这给软件设计者带来了挑战.对于不同的应用领域,多核的软件设计方案是不一样的。为了达到高性能,软件设计需要针对特定的应用进行优化。本文重点研究了多核网络处理器在入侵防御系统中的应用。
本文分析了入侵防御系统的体系结构,处理流程特点。围绕软件方案设计,研究了多核处理器应用的各种软件架构的优缺点及影响系统性能的因素。分析了Cavium Networks的多核处理器OCTEON Plus CN5860特点,基于负载均衡,高性能和易扩展性要求,提出了基于该处理器的入侵防御系统的软件方案及实现细节。主要研究内容包括:⑴针对多核在入侵防御系统中的应用,提出一种易扩展的软件方案。该方案利用OCTEON Plus CN5860的硬件单元POW来进行基于流的数据包分发。各个核采用轮询的方式从共享的硬件队列取数据包进行处理。轮询方式和共享队列确保该方案具有良好的负载均衡。基于流的数据包分发确保各核的共享区访问冲突率很低,从而提高了系统的性能。测试数据表明该方案下核之间取得了较充分的并行化,性能随着核数量的增加而线性增长。⑵为了提高入侵防御系统在多核下的性能,改进了协议解析模块和探测引擎模块的实现。基于会话记录探测上下文,并用HASH查找表来查找会话数据结构。一方面数据包能够快速找到会话记录以进行后续处理,另一方面,在基于流的分发方式下,各核对会话记录的访问冲突率很低。⑶对基于CN5860的入侵防御系统的性能进行了测试和分析。