linux2.6.35内核QoS源码分析之fw分类器.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本文档的Copyleft归wwwlkk所有,使用GPL发布,可以自由拷贝、转载,转载时请保持文档的完整性,严禁用于任何商业用途。 E-mail: wwwlkk@126.com 来源: /?businessaid=6un=wwwlkk#7 linux2.6.35内核QoS源码分析之fw分类器 前言:上周分析了u32分类器,u32是结构最复杂的分类器,相对而言fw分类器就简单多了,简单的东西有利于实现高性能的架构,最新版fw分类器使用了哈希算法,使得分类查找非常高效。从这里可以得出,经常关注linux内核的更新,总会发现一些好东西。下面分析一下fw分类器的逻辑结构,不讨论细节。(为什么不讨论细节,主要是由于linux内核或者iptables等软件都在不断的更新,细节的实现可能在不同版本中是不同的,所以直接看当前版本的源代码是最理想的) 图1 图1就是fw分类器的结构。 遍历过程是: 先到达第一级分类器struct tcf_proto。 经过哈希计算找到fw_filter分类器链。 遍历fw_fliter分类器链 第一级分类器struct tcf_proto是队列级的,每一种优先级只能有一个分类器,也只能有一种分类器,所以,如果规则中使用不同的优先级,那么是添加到不同的一级分类器中。 下面是规则和内核行为的说明: (一)规则如下: 这里只添加2条fw分类器,优先级都是3. 内核行为: 添加一个优先级是3且是fw类型的第一级分类器struct tcf_proto 在1中的fw分类器中插入一条fw_filter分类器。 在1中的fw分类器中插入一条fw_filter分类器。 第一行显示的是第一级分类器 第二三行显示的是第一级分类器内的子分类器。 (二)如果改成如下规则: 只是将第二条规则的优先级改为4,其它部分不变。 内核行为: 1.添加一个优先级是3且是fw类型的第一级分类器struct tcf_proto 2.在1中的fw分类器中插入一条fw_filter分类器。 3.添加一个优先级是4且是fw类型的第一级分类器struct tcf_proto 4.在3中的fw分类器中插入一条fw_filter分类器。 第一行显示优先级是3的fw类型的第一级分类器 第二行显示优先级是3的一级分类器下的子分类器 第三行显示优先级是4的fw类型的第一级分类器 第四行显示优先级是4的一级分类器下的子分类器 分类器的实现细节和规则逻辑之间存在着很大的差异,在配置规则前,应该要分析内核实现代码,以了解规则是如何指导内核的行为的,这样才会找到高性能的分类规则。 本人之前先后在百度文库中发表过3篇QoS的源码分析文档: 1.《linux2.6.35内核u32分类器逻辑架构分析》 2.《cbq流速控制实现分析》 3.《TC流速流量控制分析》 以上文章对QoS做了较全面的分析,理解了这几篇文章,对QoS将会有全面深入的理解。 linux2.6.35内核QoS源码分析之fw分类器 2011-08-19 2 /2

文档评论(0)

hong333666 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档