学位论文 > 优秀研究生学位论文题录展示

基于Netfilter的包分类优化技术的研究与实现

作 者: 周东浩
导 师: 王勇军
学 校: 国防科学技术大学
专 业: 军队指挥学
关键词: Netfilter防火墙 包分类 哈希算法 一次解码、多次匹配
分类号: TP393.08
类 型: 硕士论文
年 份: 2010年
下 载: 96次
引 用: 2次
阅 读: 论文下载
 

内容摘要


随着现代网络技术应用的不断深入,网络安全问题日益突出,人们对防火墙的功能、性能要求也越来越高。Linux操作系统从内核2.4开始配置Netfilter/IPtables软件作为防火墙,既提供了强大的过滤功能,同时又具有很强的功能扩展能力,方便用户自己定义和扩展新的过滤模块。随着防火墙规则集中规则数量越来越大,规则中包含的扩展模块日渐多样化,传统的Netfilter防火墙性能下降明显。针对这一现实需求,本文围绕Netfilter防火墙的性能优化技术展开了深入研究。首先通过对基于Netfilter/IPtables架构的防火墙进行深入分析,发现传统的Netfilter防火墙包分类系统采用顺序规则组织和线性规则匹配方法,随着规则数目的增大,其性能明显下降。本文提出了一个基于协议和端口的两级包分类技术以提高防火墙性能,该技术基于分治法原则,首先根据规则的传输层协议类型,将规则集分为TCP、UDP、ICMP和无协议规则四类。大量防火墙规则统计显示,80%以上的IPtables规则中包含端口这个域,所以在TCP、UDP和协议无关规则中根据源端口或目的端口对规则进行二级分类。实现上以源端口或者目的端口的哈希值作为分类依据,哈希冲突采用链表形式解决。数据包通过防火墙时,首先经过两级分类,只和其对应的二级规则链进行匹配,有效减少了规则匹配次数。对互联网IP流的分析显示,IP流具有本地性,即当前活跃的IP流很在近段时间继续活跃的概率较大。根据该统计规律,本文提出了动态规则调序算法,将最近匹配成功的规则在规则链表中的位置动态前移,以减少该流的后续包通过防火墙时规则匹配次数。实际性能测试表明,在400条规则下,采用了动态规则调序算法的包分类技术使报文处理吞吐率方面比传统的Netfilter系统提高110%以上。同时,该算法与同类算法相比对内存的占用较少,规则组织的空间复杂的也相对较低。随着网络应用种类增多、复杂性的提高,防火墙对报文中越来越多的协议域都有过滤需求,因此规则中匹配(match)模块的应用越来越广泛,也会导致防火墙性能下降。在具有较多扩展match模块的大规则集防火墙中,针对不同规则中的同一扩展match模块,本文提出了一种“一次解码,多次匹配”(One-Decoding, Much-Matching,缩写为缩写为ODMM)的优化算法。实际测试结果表明,在200条规则下,改进后算法的防火墙吞吐率比改进前提高30%以上。最后,本文基于以上关键技术,设计并实现了一个软件原型系统,通过系统测试,不仅检验了包分类功能的正确性,也充分验证了所提优化算法可有效提高系统吞吐量,降低包处理时延。

全文目录


摘要  8-9
ABSTRACT  9-11
第一章 绪论  11-17
  1.1 研究背景与意义  11
  1.2 防火墙概述  11-13
  1.3 防火墙性能优化技术的研究现状  13-15
  1.4 主要研究内容与贡献  15
  1.5 论文组织结构  15-17
第二章 基于Netfilter的防火墙机制  17-25
  2.1 Netfilter架构分析  17-20
    2.1.1 钩子函数的存储及管理  18-19
    2.1.2 规则匹配过程  19-20
  2.2 IPtables机制分析  20-22
  2.3 Netfilter与IPtables的交互  22-24
  2.4 本章小结  24-25
第三章 基于协议和端口的两级包分类优化技术  25-38
  3.1 包分类优化算法设计  25-31
    3.1.1 基于协议的第一级包分类  25-26
    3.1.2 基于端口的第二级包分类  26-29
    3.1.3 相关规则的预处理  29-31
  3.2 基于IP流特性的动态规则调序  31-32
  3.3 规则匹配过程  32-34
  3.4 规则匹配算法分析  34-37
  3.5 本章小结  37-38
第四章 基于协议和端口的两级包分类算法的实现  38-50
  4.1 总体设计  38-39
  4.2 核心数据结构  39-42
    4.2.1 规则  39-40
    4.2.2 哈希表  40
    4.2.3 IPtables表  40-42
  4.3 规则管理模块的实现  42-44
    4.3.1 规则组织的初始化  42
    4.3.2 规则的配置和管理  42-43
    4.3.3 节点的动态前置  43-44
  4.4 包分类核心算法实现  44-48
    4.4.1 数据包两级分类算法  44-46
    4.4.2 规则匹配过程算法实现  46-48
  4.5 本章小结  48-50
第五章 Netfilter扩展match模块匹配算法优化  50-57
  5.1 Netfilter扩展match模块机制  50-52
    5.1.1 内核空间的扩展  50-51
    5.1.2 用户空间的扩展  51-52
  5.2 扩展match模块匹配算法分析与改进  52-55
    5.2.1 扩展match模块匹配时间开销建模  52-54
    5.2.2 算法改进  54-55
  5.3 算法实现细节  55
  5.4 本章小结  55-57
第六章 性能测试与分析  57-63
  6.1 基于协议和端口的两级包分类系统性能测试  57-60
    6.1.1 测试环境  57
    6.1.2 吞吐率测试及分析  57-59
    6.1.3 时延测试及分析  59-60
  6.2 扩展match模块优化后性能测试  60-63
    6.2.1 测试环境和用例  60-61
    6.2.2 吞吐率测试及分析  61-62
    6.2.3 时延测试及分析  62-63
第七章 结束语  63-65
  7.1 研究工作总结  63-64
  7.2 未来工作展望  64-65
致谢  65-66
参考文献  66-68
作者在学期间取得的学术成果  68-69

相似论文

  1. 重复数据删除技术的研究与实现,TP333
  2. 基于半监督哈希算法的图像检索方法研究,TP391.41
  3. 基于SVD的抗协议攻击的数字图像水印算法研究,TP309.7
  4. 基于可扩展哈希算法的并行爬虫动态负载均衡实现,TP391.3
  5. 嵌入式Linux逆向解析技术研究,TP316.81
  6. 基于FPGA的SHA256高效数字加密系统,TP309.7
  7. 基于NDIS中间层的Windows平台下包分类算法的研究,TP393.08
  8. 支持快速增量更新的包分类算法研究,TP18
  9. 基于变步长Trie树的数据包分类技术的研究与实现,TP393.07
  10. 基于重复数据删除技术的数据容灾系统的研究,TP309.3
  11. 多维包分类算法的研究与仿真,TP301.6
  12. 基于流标签的IPv6包分类算法研究,TP393.04
  13. 基于降维的IPv6包分类算法的设计与实现,TP393.04
  14. 应用层协议快速识别的研究与实现,TP393.04
  15. 新一代数据库查询优化策略应用研究,TP311.13
  16. 网游用户行为数据分析与挖掘,TP311.13
  17. 快速包分类算法研究,TP393.01
  18. P2P网络中现存问题的研究与解决和P2P网络应用开发,TP393.02
  19. 适用于IPv6的包分类算法DRBE,TP393.02
  20. 包分类算法的研究及其在防火墙中的应用,TP393.08

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机的应用 > 计算机网络 > 一般性问题 > 计算机网络安全
© 2012 www.xueweilunwen.com