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

基于Netfilter的包分类研究与设计

作 者: 雷渊明
导 师: 张大方
学 校: 湖南大学
专 业: 软件工程
关键词: 包分类 Netfilter机制 Linux操作系统
分类号: TP393.09
类 型: 硕士论文
年 份: 2009年
下 载: 174次
引 用: 10次
阅 读: 论文下载
 

内容摘要


未来网络的发展趋势需要为用户提供更好的服务质量,而诸如防火墙、虚拟专网VPN、基于策略的路由、高层交换等提高服务质量的机制都是建立在高效包分类技术基础之上的。此外,出于对安全性的考量或源码开放等特点,众多应用都选择Linux作为其载体。Netfilter/iptables框架在这一背景下应运而生,成为第一个集成到Linux内核的包过滤解决方案。但其并不完善,一是iptables的核心包分类算法在面对大规模规则集时,性能急剧下降;二是在其实现细节上也存在一定的问题,特别是它所采用的Netlink交互方式,会造成包分类中断。在网络应用越来越丰富的情形之下,Netfilter/iptables越来越不能满足当前需求,亟待出现一种基于Linux内核的高效包分类系统。本文在研究现有的通用包分类算法和基于iptables的改进基础上,透过对Netfilter/iptables框架的深入探索和源码分析,构造出一个新的基于Netfilter的包分类系统。包括如下工作点:1.在Linux内核空间中实现了一个高效的基于多维包分类问题到范围定位问题的包分类算法。同时,本文还对该算法进行了扩展,使其能进一步解决iptables中引入的非终态包分类问题。2.构建高效的用户内核交互机制。使用Netlink做为内核空间与用户空间的接口,每次更新时仅向内核提交一条规则而非整个规则集,达到不中断包分类的目的。通过proc I/O,用户还可获取算法统计数据,并可设置最大内存使用率。3.保障系统的稳定性和兼容性。充分利用Netfilter机制并大量使用内核已有数据结构。采用这种方式一方面能使新系统尽量少的更改内核,保障系统的高稳定性;另一方面,有利于实现基于Netfilter的包分类系统与iptables的兼容。最终的测试结果表明,基于Netfilter的包分类系统在性能上保持了相对的稳定性,特别在小包和大规则集时,其性能明显优于iptables。

全文目录


摘要  5-6
ABSTRACT  6-12
第1章 绪论  12-19
  1.1 研究背景及意义  12-13
  1.2 研究现状  13-16
  1.3 本文的研究内容及主要工作  16-17
  1.4 论文结构  17-19
第2章 NETFILTER/IPTABLES 框架  19-36
  2.1 LINUX 操作系统及其网络处理过程  19-21
  2.2 NETFILTER 机制  21-26
  2.3 IPTABLES 的概念及其设计  26-35
    2.3.1 iptables 的功能  26-29
    2.3.2 iptables 的设计  29-31
    2.3.3 iptables 的实现  31-34
    2.3.4 包分类问题与iptables 的比较  34-35
  2.4 小结  35-36
第3章 基于 NETFILTER 的包分类系统设计与实现  36-48
  3.1 基于 NETFILTER 的包分类系统的总体设计  36-38
  3.2 包分类系统中用户与内核交互机制的设计与实现  38-47
    3.2.1 设计基础与缘由  38-39
    3.2.2 Netlink 交互  39-42
    3.2.3 Proc 用户接口  42-45
    3.2.4 接口字符串匹配仿真  45-46
    3.2.5 用户空间整合  46-47
  3.3 小结  47-48
第4章 包分类系统中核心包分类算法的设计与实现  48-61
  4.1 包分类算法基础  48-53
  4.2 非终态包分类问题  53-54
  4.3 核心包分类算法设计总览  54-58
    4.3.1 内核空间与用户空间的兼容  55-56
    4.3.2 增量hash  56
    4.3.3 范围定位问题层  56
    4.3.4 多维范围定位问题层  56-57
    4.3.5 链层  57-58
  4.4 核心包分类算法实现细节  58-60
    4.4.1 多维范围定位问题树的恢复  58
    4.4.2 锁机制  58-59
    4.4.3 原子计数器快照  59
    4.4.4 本地匹配取反  59-60
  4.5 小结  60-61
第5章 性能测试与实验结果分析  61-67
  5.1 性能测试依据  61-62
  5.2 性能测试初始化及测试环境的搭建  62-64
  5.3 性能测试结果  64-65
  5.4 性能测试结果分析  65-67
结论  67-69
参考文献  69-72
致谢  72-73
附录 A 攻读学位期间发表的论文  73-74
附录 B 攻读学位期间参与的项目与获得的成果  74-75
附录 C LINUX 内核数据结构  75-76

相似论文

  1. 基于嵌入式Web服务器的便携式卫星通信地球站监控系统的设计与实现,TN927.2
  2. 基于Netfilter的包分类优化技术的研究与实现,TP393.08
  3. 移动无线网络集成平台的设计与实现,TN929.5
  4. 基于NDIS中间层的Windows平台下包分类算法的研究,TP393.08
  5. 支持快速增量更新的包分类算法研究,TP18
  6. 基于变步长Trie树的数据包分类技术的研究与实现,TP393.07
  7. 多维包分类算法的研究与仿真,TP301.6
  8. 基于流标签的IPv6包分类算法研究,TP393.04
  9. 基于降维的IPv6包分类算法的设计与实现,TP393.04
  10. 应用层协议快速识别的研究与实现,TP393.04
  11. 管道漏磁检测实时数据压缩算法的实现,TP29-A2
  12. 快速包分类算法研究,TP393.01
  13. 适用于IPv6的包分类算法DRBE,TP393.02
  14. 包分类算法的研究及其在防火墙中的应用,TP393.08
  15. 快速包分类算法的研究,TP393.08
  16. 基于包分类的网络隐蔽信道研究,TP393.08
  17. 基于决策树的防火墙策略算法研究,TP393.08
  18. 快速的包分类算法的研究,TP393.01
  19. 利用决策树提高防火墙过滤能力的研究,TP393.08
  20. 基于多核处理器的可扩放包分类算法研究,TP393.01

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