- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于netgraph机制的内容过滤防火墙体系架构.pdf
计算机时代2004年第8期 ·29·
基于netgraph机制的内容过滤防火墙体系架构
周安顺1,罗少贤2
(1.中山大学计算机应用研究所,广东广州510275;2.中山大学电子系)
摘要:目前防火墙实现技术中关于数据包的处理方法,基本上都是采用BPF的包过滤算法,数据包的传送采用复制的
机制的内容过滤防火墙体系架构,并且在操作系统内核实现了内容过滤核心算法。最后通过实验数据验证了体系结构的
合理性。
关键词:netgraph;内容过滤;防火墙;操作系统内核;体系架构
1引言 作,然后转发数据包到另外一个node。在这个数据包处理操作
随着因特网的广泛使用,网络安全成为一个很重要的问 中,可以是简单的添加和删除数据包头,也可以添加更具体的
题。由于IPv4协议栈本身存在缺陷,人们对防火墙进行了深入处理操作(例如数据包的内容合成,校验等)。netgraph子系统设
的研究,希望通过使用防火墙能够使运行于不安全的协议之上 计思想采用了SystemV的流技术,因此具有更快的速度、灵活
的网络变得安全。而目前主流防火墙产品都是建立在Unix操性和更高的处理效率。
作系统下的TCP/IP协议栈的基础上,利用BPF技术进行数据
包的过滤操作。BPF具有灵活以及使用方便的优点,也具有较
快的运行速度,但是如果我们需要对内容进行过滤的时候,传
我们利用内核的高优先级,在尽可能的低层截获数据包进行处
统的BPF和应用代理(例如squid)实现起来在速度和性能方
面并不是很好,而且也缺乏灵活性。为了增强多协议的支持以 理。另外它还在设计的时候采用了函数式调用,数据包在从一
个node传递到另外一个node的时候不需要数据包的复制操
及提高处理速度和系统的灵活性,我们在netgmph机制下提出
了新的体系结构,并且进行系统的实现,最后对三种实现技术 作,而只是传递了存放数据包内容的内存的地址,这样就增加
的性能进行了比较。 了系统设计的灵活性同时也提高了运行速度。在网卡接收到数
据包以后,进行合法性检查,如果是合法数据,使用malloc分配
本文首先简单论述了netgraph机制,然后详细讨论了基于
M_NETGRAPH类型的mbuf结构。
netgraph机制的防火墙体系结构设计,最后结合FreeBSD操作
系统,进行了实现和配置,重点讨论实现过程中的几项关键技
术,并进行了性能的比较。 定义为一个指向不同函数的指针数组。每一个函数实现特定的
功能。如果我们想实现特定的功能,只需要在函数的实现里加
2netgraph机制
入特定的功能就可以了,但是需要保持函数输入、输出的一致。
2.1概述
netgraph机制是一个遵循Unix规范的内核子系统,它由许
个到node或者hook的引用当作一次计数。通过这种方式对内
多模块组成,每个模块完成一定的功能。直观来说,它是由
存进行合理的管理和分配。因为netgraph运行在内核中,所以
nodes和edges组成。数据流沿着edge从一个node流向另外一
个node。当node收到数据包的时候,执行一定的数据包处理操
Web
PowerDynamo附带的PersonalServer。启动浏览器,假定设和EAServer的结合为多层应用建立了一个战略性的基础和功
置主页为index.htm,输入如下URL地址:http:
//localhost/sjwork/index.htm,就可以访问应用系统了。当然,的老的应用系
文档评论(0)