rt5350linux系统qos架构分析.docxVIP

  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文档。上传文档
查看更多
linux QoS架构分析 目录 TOC \o 1-5 \h \z linux QoS实现的整体架构 3 \o Current Document SW QoS结构和介绍 3 \o Current Document 2.1整体架构 3 \o Current Document 22 SW QoS在三层的结构 5 iptables --- Netfilter 结构 5 tc ---qdisc 介绍 10 \o Current Document SW QoS在二层的结构 16 \o Current Document switch QoS 介绍 16 \o Current Document 3.1功能介绍 16 \o Current Document 2相关寄存器介绍 17 \o Current Document 4相关实验 18 \o Current Document 4.1实验1 --switch QoS功能测试 18 \o Current Document 4.2实验2—关于vlan tag分类的实验 19 \o Current Document 实验 3- vlan 禾口 vla n in terface 设置 20 1 RT5350开发板linux QoS实现的整体架 构 图1 linux中QoS整体架构 RT5350开发板linux系统 的QoS可以分为两类,一类是软件实现的,基于 linux qdisc、tc和iptables,可以对下载和上传的流进行限制和优先级调度。另一 类就是linux ethernet switch中自带的QoS,基于物理端口,可以对流经某个端 口的数据包进行筛选、分类和优先级调度。这两类 QoS的具体内容会在后边介 绍。 2 SW QoS结构和介绍 2.1整体架构 Sw QoS的整体架构图如下: 三层Tc命令网页设置网页设置qos_run 工具 三层 Tc命令 网页设置 网页设置 qos_run 工具 Iptables Qdisc Netfilter 二层 Switch寄存器操作 端口优先级 图2 SW QoS架构 linux源码的应用层实现了用于控制 QoS的网页的程序,其源码位于: Src/ user/goahead目录下,其中是所有网页源码和 CGI处理源码。和QoS相关的 是Src/user/goahead/src/qos.c文件。其中QoS被分为下载模式、上传模式和端 口模式,相关的源码都在qos.c中。用户在网页上进行设置后,qos.c会从网页的 表单中获取设定的值,之后用 nvram_bufset等函数,将设定值写到flash中。写 完后,调用QoSRestart(),QoSRestart中调用qos_run。相关代码片段如下: n vram_set (RT2860_NVRAM , which_rule ,new_rules ); n vram_commit (RT2860_NVRAM ); QoSRestart (); qos_run是个可执行命令,没有源码,但可以肯定 qos_run会从flash中把相 关设置值读出,然后调用tc和iptables命令进行相关设置,具体设置内容后边 会介绍。关于qos_run中的内容可以通过在iptables和tc中打印log来间接获得, 把qos_run传入的参数都打印出来,这样就可以推断出qos_run中的内容。下边 是下载模式下和qos_run功能类似的脚本: ITci ■ rl qos_download.sh.txt Tc-qdisc 和 iptables-netfilter 的作用和关系为: netfilter负责对数据包进行筛选和分类,之后给不同类别的包打上不同的 mark值,之后的工作就会交给 qdisc,qdisc会按照不同的mark值将包分到不同 的qdisc队列中,然后对这些队列进行发送调度。 SW QoS在三层的结构 2.2.1 iptables --- Netfilter 结构 (1 )整体介绍 linux源码中利用内核中Netfilter机制对数据包进行筛选、分类和修改。而 Netfilter具体的策略却需要一个用户态程序来配置,这就用到了 iptables, iptables 负责接收并检查用户的配置,然后将其传到内核。 Netfilter的工作方式为:在特定的 HOOK点执行多条rule,每一条rule对于 每一个数据包执行多个 match,多个match都匹配后,执行该rule的target。每 一条rule都要显式绑定于一个table和一个HOOK点。 我们以修改数据包的DSCPfi为例来介绍iptables和Netfilter的工作流程。 这里

文档评论(0)

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

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

1亿VIP精品文档

相关文档