论文部分内容阅读
信息技术飞速发展,特别是智能家居的出现,使得现在家庭内部接入互联网的设备越来越多,同时对位于家庭网络和英特网之间的网关设备的安全性提出了更高的要求。企业网、核心骨干网等网络对吞吐率要求较高,防火墙系统通常会采用硬件加速器。基于家庭用户对成本敏感的特性,本论文研究设计一种适用于家庭网关的防火墙系统。
考虑到基于端口号的过滤技术准确率较低,家庭网关防火墙在应用层通过正则表达式识别应用程序类型。通过分析应用层识别技术L7-filter的实现原理,挖掘其中的性能瓶颈,对L7-filter进行有效改良后设计家庭网关防火墙系统,最后对系统进行验证测试。
论文对防火墙实现技术紧密相关的知识进行了重点介绍,包括Linux系统的移植技术、TCP/IP协议栈在Linux系统中的实现技术、Linux防火墙架构Netfilter。其中防火墙架构Netfilter的nf_queue机制主要用来为L7-filter提供网络数据包,充分分析nf_queue的实现技术为评估nf_queue机制对防火墙系统性能所带来的影响提供理论依据。编写测试用例,测试L7-filter获取数据包的核心技术nf_queue机制对性能的影响,提出共享内存机制以改良nf_queue对系统性能造成的影响。
本论文通过在物理内存中划出一片内存空间用于共享内存,使其脱离操作系统的管理。将共享内存空间分别映射至某一进程的用户空间和内核空间,使其在内核空间和用户空间都能得到访问,避免大量的数据在用户空间和内核空间的反复拷贝,解决nf_queue机制对性能造成的影响。在内核空间将同一连接的数据包拷贝至共享内存的缓存区域,在用户空间则采用表达式进行匹配。
本论文最后通过Wireshark和dumeter对基于共享内存的防火墙技术在功能和系统性能方面进行测试。测试结果表明基于共享内存的防火墙实现技术能够完成L7-filter的所有功能,在相同硬件条件下数据转发速率可以提高20%。