下载此文档

linux防火墙中rfc算法的应用.doc


文档分类:IT计算机 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
Linux防火墙中RFC算法的应用[摘要]随着网络的不断发展,互联网已成为世界上规模最大、拥有用户数最多、数据资源最为丰富的一个超大型计算机网络。互联网的商业化发展也为人们提供着各种各样的服务,随着宽带业务进入人们的日常生活,人们对网络的要求也越来越高,要求它能为人们提供更加安全、可靠、快速和多样化的服务。数据包分类技术也是现在网络多样化服务的基础,并且成为防火墙、路由器等一些网络核心设备中最为关键的技术,它对网络的控制、性能和安全会产生直接的影响。因此,会对高性能数据包分类算法的研究仍然是一个非常重要的课题。[关键词]Linux防火墙RFC算法一、,该框架使得网络协议代码和防火墙之间有了比较清晰的界限。,位于Linux网络层和防火墙内核功能模块之间。,,filter结构把防火墙对数据包的处理过程引入IP层,防火墙的代码与实现IP层的代码完全分离,使得防火墙与网络层在结构上很清晰;对防火墙的修改和功能扩充更加容易。每一种协议都可以设定自己的防火墙。在Linux内核中是由firewall-Ps结构体定义的。firewall-ops可以为各种协议的防火墙提供统一的接口,每个协议可以对应多级防火墙,每个防火墙有各自的优先级,按照从高到低的优先级顺序可以将firewall-ps连接到Linux内核与防火墙接口的链表。当数据包经过IP层进行处理时,对相应的钩子函数链表中是否存在注册的HOOK函数进行检查,如果存在,各级防火墙会顺着其链表一一进行处理。二、RFC算法的查找过程 RFC算法被分为P个阶段(Phase),每一个阶段是由可并行查找的散列表组成。每次查找结果的返回值都比内存数据索引值要小。操作如下:在第一个阶段(Phase0),将包头中F个字段分成许多个块,每个块被用来作为并行查找的索引。例如有七个相等的块(chunk),一个数据包的字段在内存中是怎样被划分的。每次查表的输出值被称为eqcID。其中存储eqcID所需的比特数比索引值的比特数要小,即需要较少的bit。下一个阶段,每次用于查找散列映射表的索引值是由前几个阶段的查找结果按某种方式合并而成,并放入内存中。在最后阶段,所得到的结果就是与数据包相匹配的最佳规则标识符classID。RFC算法是个通用性强、速度快的多维数据包分类算法,对规则的宽度和维数有较好的扩展性;在进行分类查找时,查找性能不受规则数量和规则特征的影响。处于同一阶段(Phase)的预处理表或索引交叉乘积表可以被并行地索引,并且这些表又是各自独立的。处于不同阶段的预处理表或索引交叉乘积表也能够互不干扰地并行进行索引。算法的存储空间消耗会随规则集中规则数量的增加而增大,限制了算法的应用范围。由于索引交叉乘积表的长度等于各预处理表中等价类(eqID)数量的乘积,所以预处理表和索引交叉乘积表中eqID的数量与规则库的规则成正比,其中IPT表中总是存在着相同的eqID连续重复存储的问题。我们从表IPTI中可以看出,前8项中都存放了相同的eqID值。如果相同的元素过多会造成内存中存在大量的冗余信息。虽然在预处理表中也有这样的问题,但它所占空间非常小,如果想解决RFC算

linux防火墙中rfc算法的应用 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息