TC流量控制学习文档.docxVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 1页 共 SECTIONPAGES 5页 traffic control(TC) 学习文档 目 录 TOC \o 1-3 \h \z \u 26934 第一章. 概念 2 11963 1.1 Netem 2 5231 第二章. 原理 6 26618 2.1 TC 6 10516 2.2 简单的无类队列规则 8 5507 第三章. 实践应用 9 概念 Netem 是linux2.6及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽,传输延迟,丢包等网络故障情况。 TC是linux系统中的一个工具,全名为traffic control(流量控制)。TC可以用来控制netem的工作模式。也就是说,如果想使用netem,需要至少两个条件,一个是内核中的netem功能被包含,另一个是要有TC。 通过TC,可以控制网络接口发送数据的速率,每个网络接口(如eth0)都有一个队列,用户管理和调度待发的数据。Tc的原理就是,通过设置不同类型的网络接口队列,从而改变数据包发送的速率和优先级,达到流量控制的目的。 原理 Tc用于Linux内核的流量控制。 基本概念 流量控制包括以下几种方式: SHAPING(限制) 当流量被限制,他的传输速率就被控制在某个值以下。限制值能够大大小于有效带宽,这样能够平滑突发数据流量,使网络更为稳定。shaping(限制)只适用于向外的流量。 SCHEDULING(调度) 通过调度数据包的传输,能够在带宽范围内,按照优先级分配带宽。SCHEDULING(调度)也只适于向外的流量。 POLICING(策略) SHAPING用于处理向外的流量,而POLICIING(策略)用于处理接收到的数据。 DROPPING(丢弃) 假如流量超过某个设定的带宽,就丢弃数据包,不管是向内还是向外。 流量的处理由三种对象控制,他们是:qdisc(排队规则)、class(类别)和filter(过滤器)。 QDISC(排队规则) QDisc(排队规则)是queueing discipline的简写,他是理解流量控制(traffic control)的基础。无论何时,内核假如需要通过某个网络接口发送数据包,他都需要按照为这个接口配置的qdisc(排队规则)把数据包加入队列。然后,内核会尽可能多地从qdisc里面取出数据包,把他们交给网络适配器驱动模块。 最简单的QDisc是pfifo他不对进入的数据包做任何的处理,数据包采用先入先出的方式通过队列。但是,他会保存网络接口一时无法处理的数据包。 CLASS(类) 某些QDisc(排队规则)能够包含一些类别,不同的类别中能够包含更深入的QDisc(排队规则),通过这些细分的QDisc还能够为进入的队列的数据包排队。通过配置各种类别数据包的离队次序,QDisc能够为配置网络数据流量的优先级。 FILTER(过滤器) filter(过滤器)用于为数据包分类,决定他们按照何种QDisc进入队列。无论何时数据包进入一个划分子类的类别中,都需要进行分类。分类的方法能够有多种,使用fileter(过滤器)就是其中之一。使用filter(过滤器)分类时,内核会调用附属于这个类(class)的任何过滤器,直到返回一个判决。假如没有判决返回,就作进一步的处理,而处理方式和QDISC有关。 需要注意的是,filter(过滤器)是在QDisc内部,他们不能作为主体。 TC实现原理 TC在流量控制中使用的队列分为两类:1 无类队列 2 有类队列。无类队列比较简单,分类队列则有分类和过滤器等概念,比较复杂。 无类队列对进入网卡的数据流统一对待,不进行区分,无类队列形成的队列能够接受数据包以及重新编排、延迟、丢包,它可以对网卡流量进行整形,但是不能细分各种情况,无类队列规定主要有pfifo_fast、tbf、sfq等,无类队列的流量整形手段主要是排序、限速、丢包。 有类队列规定则是对进入网卡的数据包根据不同的需求以分类的方式区分对待的分类规定,数据包进入分类队列后,通过过滤器对数据包进行分类,过滤器返回一个决定,队列就根据这个返回的决定把数据包发送到相应的某一类队列中进行排队。每个子类可以再次使用他们的过滤器进行进一步的分类,直到不需要分类为止,数据包才会进入相关类的队列中进行排队。 TC 包括三个基本的构成块:队列规定qdisc(queueing discipline)、类(class)和分类器(Classifiers) 1)TC中的队列(queueing discipline): 用来实现控制网络的收发速度.通过队列,linux可以将网络数据包缓存起来,然后根据用户的设置,在尽量不中断连接(如TCP

文档评论(0)

添香小铺 + 关注
实名认证
服务提供商

专注于产业研究、商业计划、房地产营销策划、企业运营及咨询管理方案撰写,欢迎咨询。

1亿VIP精品文档

相关文档