基于Linux的千兆线速防火墙的设计与实现

基于Linux的千兆线速防火墙的设计与实现

论文摘要

随着互联网应用的日益普及,网络已成为主要的数据传输和信息交换平台,网络安全和信息安全是保障网上业务正常进行的关键。在构建安全网络环境的过程中,防火墙作为第一道安全防线,正受到越来越多用户的关注。目前防火墙仍然起着最基本的预防作用,仍然是保护网络安全所必须的工具。目前,传统的软件防火墙大多数是在Linux的Netfilter框架之下实现的。更准确地讲,Netfilter是Linux内核中一个包过滤框架,它实现了包过滤、状态检测、网络地址转换和包标记等多种功能。本文对Linux的Netfilter框架进行了深入的研究和探讨,利用Netfilter设计的开放性,在内核的数据链路层、网络层实现了自己的功能模块。本文在分析Netfilter框架的基础上,结合FPGA设计的灵活性,设计了一种具有可扩展性和高性能的硬件防火墙的体系结构。鉴于防火墙产品功能不断完善的发展趋势,交换功能和路由功能几乎成了防火墙产品不可或缺的组成部分。本文将在FPGA芯片内部实现交换功能和路由功能,但考虑到交换和路由功能的软件的复杂性,采取了一种折衷的处理方法:Linux内核完成路由表和交换表的创建,FPGA芯片以规则的形式把路由表和交换表存储下来。本文借鉴Linux内核提供的交换、路由以及Netfilter框架的设计及实现方法,在FPGA芯片内部实现了交换、路由以及防火墙功能。同时,利用Linux系统提供的动态模块加载机制,把对FPGA芯片的操作和驱动实现为动态模块加入Linux内核,从而成为Linux内核的一部分。通过在Linux内核适当位置挂接钩子函数,以及在动态模块中实现钩子函数的方式,使Linux内核的交换、路由及防火墙规则与FPGA硬件交换、路由及防火墙规则保持一致。最后,对该框架实现的防火墙的功能和性能进行了测试,从测试结果可以看出,该防火墙达到了千兆线速的要求。分析整个防火墙产品的框架设计和测试结果,最终得出结论:Linux内核和动态模块实现软硬件规则的一致性,FPGA芯片完成对数据包的处理,这使得该防火墙同时具有了软件的灵活性和硬件的高速性,突破了软件防火墙的性能瓶颈,从而为硬件防火墙的设计开辟了一条新的思路。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 课题研究背景
  • 1.2 研究现状
  • 1.3 本文的研究工作及创新点
  • 1.3.1 本文的研究工作
  • 1.3.2 本文的研究难点及创新点
  • 1.4 本文的组织结构
  • 1.5 本章小结
  • 第二章 防火墙技术分析
  • 2.1 防火墙的概念
  • 2.1.1 防火墙的目的
  • 2.1.2 防火墙的作用
  • 2.2 防火墙的拓扑图
  • 2.3 防火墙的分类
  • 2.3.1 软硬件形式划分
  • 2.3.2 发展趋势划分
  • 2.4 本章小结
  • 第三章 LINUX内核防火墙NETFILTER
  • 3.1 Linux编程技术介绍
  • 3.1.1 内核模块与应用程序的对比
  • 3.1.2 模块化编程技术介绍
  • 3.2 Netfilter组成
  • 3.3 Netfilter HOOK
  • 3.4 Netfilter工作流程
  • 3.4.1 数据包流向
  • 3.4.2 Netfilter/Iptables组件
  • 3.5 用户空间工具
  • 3.6 使用Netfilter和Iptables对数据包进行过滤
  • 3.7 利用Iptables和Netfilter进行NAT转换
  • 3.8 利用Iptables和Netfilter进行数据包处理(Packet mangling)
  • 3.8.1 针对数据包处理的目标扩展
  • 3.8.2 排队数据包到用户空间
  • 3.9 本章小结
  • 第四章 千兆线速防火墙总体设计及硬件实现
  • 4.1 总体设计及框架
  • 4.1.1 需求分析
  • 4.1.2 总体框架
  • 4.1.3 防火墙主要功能模块概述
  • 4.2 硬件平台设计思路
  • 4.2.1 芯片选择依据
  • 4.2.2 硬件平台结构框图
  • 4.2.3 FPGA外部接口
  • 4.2.4 FPGA芯片功能介绍
  • 4.2.5 FPGA内部结构框图
  • 4.2.6 模块说明
  • 4.2.7 FPGA处理流程
  • 4.3 本章小结
  • 第五章 千兆线速防火墙软件设计及实现
  • 5.1 软件框架结构设计
  • 5.2 Linux模块机制
  • 5.2.1 Linux模块分析
  • 5.2.2 模块加载
  • 5.2.3 模块卸载
  • 5.2.4 Linux模块编程
  • 5.3 动态模块实现
  • 5.4 路由模块实现
  • 5.4.1 Linux路由配置处理流程
  • 5.4.2 内核定义钩子函数
  • 5.4.3 调用路由钩子函数
  • 5.5 Iptables规则填写过程
  • 5.5.1 Iptables配置流程
  • 5.5.2 内核定义钩子函数
  • 5.5.3 内核Netfilter修改说明
  • rulectlhook实现'>5.5.4 xwallrulectlhook实现
  • 5.6 NAT模块实现
  • 5.6.1 NAT功能描述
  • 5.6.2 NAT模块实现函数
  • 5.6.3 NAT规则添加实现函数
  • 5.7 访问控制模块实现
  • 5.7.1 ACL功能描述
  • 5.7.2 ACL模块实现方式
  • 5.7.3 ACL模块实现函数
  • 5.7.4 ACL规则添加实现函数
  • 5.8 状态检测模块实现
  • 5.8.1 状态检测功能描述
  • 5.8.2 状态检测模块实现
  • 5.9 本章小结
  • 第六章 系统测试
  • 6.1 ACL硬件规则测试
  • 6.1.1 测试目的
  • 6.1.2 测试拓扑图
  • 6.1.3 测试过程
  • 6.1.4 测试结果分析
  • 6.2 NAT硬件规则测试
  • 6.2.1 测试目的
  • 6.2.2 测试过程(SNAT)
  • 6.2.3 测试结果分析
  • 6.3 硬件防火墙性能测试
  • 6.3.1 测试目的
  • 6.3.2 测试拓扑图
  • 6.3.3 测试过程
  • 6.3.4 测试结果分析
  • 6.4 本章小结
  • 第七章 结论与展望
  • 7.1 本论文研究总结
  • 7.2 前景展望
  • 致谢
  • 参考文献
  • 攻硕期间取得的研究成果
  • 相关论文文献

    • [1].Netfilter/Iptables在高级技师考试中应用及探索[J]. 网络安全技术与应用 2016(12)
    • [2].一种Netfilter/IPtables防火墙的实现研究[J]. 计算机安全 2013(11)
    • [3].Netfilter框架下多频入侵信号波束响应分布特征分析[J]. 科技通报 2016(05)
    • [4].Netfilter防火墙管理口防护的实现[J]. 河北软件职业技术学院学报 2013(02)
    • [5].基于Netfilter的防火墙原理分析[J]. 黑龙江科技信息 2011(15)
    • [6].Netfilter性能动态改善方法的研究与实现[J]. 计算机技术与发展 2010(04)
    • [7].基于Netfilter的网络地址转换研究与实现[J]. 武汉理工大学学报(信息与管理工程版) 2010(05)
    • [8].基于Netfilter防火墙的研究与实现[J]. 西藏大学学报(自然科学版) 2010(02)
    • [9].基于Netfilter的连接限制的研究与实现[J]. 计算机工程 2009(10)
    • [10].基于Netfilter的网络过滤系统[J]. 计算机时代 2009(06)
    • [11].Netfilter防火墙应用功能扩展的研究与实现[J]. 电脑学习 2009(03)
    • [12].Netfilter防火墙原理分析及其扩展应用[J]. 现代计算机(专业版) 2009(12)
    • [13].防火墙Netfilter内核分析及应用研究[J]. 惠州学院学报(自然科学版) 2009(06)
    • [14].Netfilter防火墙在校园网中的应用[J]. 光盘技术 2008(11)
    • [15].Netfilter/Iptables防火墙在中小型企业的应用研究[J]. 电脑与电信 2012(04)
    • [16].基于Netfilter的内网流量监控系统应用研究[J]. 山东理工大学学报(自然科学版) 2012(06)
    • [17].基于Netfilter L7-filter过滤系统的研究[J]. 电子科技 2011(03)
    • [18].Netfilter包过滤算法的分析[J]. 贵阳学院学报(自然科学版) 2008(02)
    • [19].Netfilter防火墙的设计与优化[J]. 广东技术师范学院学报 2013(03)
    • [20].Netfilter架构下数据包信息存储的应用[J]. 微计算机信息 2012(10)
    • [21].一种基于Netfilter和策略路由的负载均衡技术[J]. 电脑知识与技术 2010(15)
    • [22].基于Netfilter内核态网络流量分析研究[J]. 微计算机信息 2009(18)
    • [23].基于Netfilter框架的访问控制的动态实现[J]. 计算机工程与设计 2008(23)
    • [24].Netfilter框架结构分析[J]. 黑龙江科技信息 2012(10)
    • [25].基于Netfilter框架的连接管理模型的研究[J]. 计算机工程与设计 2008(11)
    • [26].基于Netfilter/Iptables的动态安全防御系统设计[J]. 通信学报 2018(S2)
    • [27].LINUX防火墙的分析与研究[J]. 电脑知识与技术 2017(08)
    • [28].基于Netfilter的网络防火墙的实现[J]. 科技信息(学术研究) 2008(19)
    • [29].零费用的Netfilter/Iptables防火墙技术[J]. 中国信息技术教育 2008(11)
    • [30].Netfilter数据转发性能测试与研究[J]. 计算机工程与应用 2011(03)

    标签:;  

    基于Linux的千兆线速防火墙的设计与实现
    下载Doc文档

    猜你喜欢