电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

TC流量控制学习文档

12页
  • 卖家[上传人]:添***
  • 文档编号:189762007
  • 上传时间:2021-08-07
  • 文档格式:DOCX
  • 文档大小:77.63KB
  • / 12 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、traffic control(TC)学习文档11页 共 12页 目 录第一章. 概念21.1 Netem2第二章. 原理62.1 TC62.2 简单的无类队列规则8第三章. 实践应用9第一章. 概念Netem 是linux2.6及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽,传输延迟,丢包等网络故障情况。TC是linux系统中的一个工具,全名为traffic control(流量控制)。TC可以用来控制netem的工作模式。也就是说,如果想使用netem,需要至少两个条件,一个是内核中的netem功能被包含,另一个是要有TC。通过TC,可以控制网络接口发送数据的速率,每个网络接口(如eth0)都有一个队列,用户管理和调度待发的数据。Tc的原理就是,通过设置不同类型的网络接口队列,从而改变数据包发送的速率和优先级,达到流量控制的目的。第二章. 原理Tc用于Linux内核的流量控制。2.1 基本概念流量控制包括以下几种方式:SHAPING(限制)当流量被限制,他的传输速率就被控制在某个值以下。限制值能够大大小于有效带

      2、宽,这样能够平滑突发数据流量,使网络更为稳定。shaping(限制)只适用于向外的流量。SCHEDULING(调度) 通过调度数据包的传输,能够在带宽范围内,按照优先级分配带宽。SCHEDULING(调度)也只适于向外的流量。POLICING(策略)SHAPING用于处理向外的流量,而POLICIING(策略)用于处理接收到的数据。DROPPING(丢弃)假如流量超过某个设定的带宽,就丢弃数据包,不管是向内还是向外。流量的处理由三种对象控制,他们是:qdisc(排队规则)、class(类别)和filter(过滤器)。QDISC(排队规则)QDisc(排队规则)是queueing discipline的简写,他是理解流量控制(traffic control)的基础。无论何时,内核假如需要通过某个网络接口发送数据包,他都需要按照为这个接口配置的qdisc(排队规则)把数据包加入队列。然后,内核会尽可能多地从qdisc里面取出数据包,把他们交给网络适配器驱动模块。最简单的QDisc是pfifo他不对进入的数据包做任何的处理,数据包采用先入先出的方式通过队列。但是,他会保存网络接口一时无法处理

      3、的数据包。CLASS(类)某些QDisc(排队规则)能够包含一些类别,不同的类别中能够包含更深入的QDisc(排队规则),通过这些细分的QDisc还能够为进入的队列的数据包排队。通过配置各种类别数据包的离队次序,QDisc能够为配置网络数据流量的优先级。 FILTER(过滤器)filter(过滤器)用于为数据包分类,决定他们按照何种QDisc进入队列。无论何时数据包进入一个划分子类的类别中,都需要进行分类。分类的方法能够有多种,使用fileter(过滤器)就是其中之一。使用filter(过滤器)分类时,内核会调用附属于这个类(class)的任何过滤器,直到返回一个判决。假如没有判决返回,就作进一步的处理,而处理方式和QDISC有关。需要注意的是,filter(过滤器)是在QDisc内部,他们不能作为主体。2.2 TC实现原理TC在流量控制中使用的队列分为两类:1 无类队列 2 有类队列。无类队列比较简单,分类队列则有分类和过滤器等概念,比较复杂。 无类队列对进入网卡的数据流统一对待,不进行区分,无类队列形成的队列能够接受数据包以及重新编排、延迟、丢包,它可以对网卡流量进行整形,但是不能

      4、细分各种情况,无类队列规定主要有pfifo_fast、tbf、sfq等,无类队列的流量整形手段主要是排序、限速、丢包。有类队列规定则是对进入网卡的数据包根据不同的需求以分类的方式区分对待的分类规定,数据包进入分类队列后,通过过滤器对数据包进行分类,过滤器返回一个决定,队列就根据这个返回的决定把数据包发送到相应的某一类队列中进行排队。每个子类可以再次使用他们的过滤器进行进一步的分类,直到不需要分类为止,数据包才会进入相关类的队列中进行排队。TC 包括三个基本的构成块:队列规定qdisc(queueing discipline)、类(class)和分类器(Classifiers)1)TC中的队列(queueing discipline):用来实现控制网络的收发速度.通过队列,linux可以将网络数据包缓存起来,然后根据用户的设置,在尽量不中断连接(如TCP)的前提下来平滑网络流量.需要注意的是,linux对接收队列的控制不够好,所以我们一般只用发送队列,即“控发不控收”.它封装了其他两个主要TC 组件(类和分类器)。内核如果需要通过某个网络接口发送数据包,它都需要按照为这个接口配置的qdi

      5、sc(排队规则)把数据包加入队列。然后,内核会尽可能多地从qdisc里面取出数据包,把它们交给网络适配器驱动模块。最简单的QDisc是 PFIFO,它不对进入的数据包做任何的处理,数据包采用先入先出的方式通过队列。不过,它会保存网络接口一时无法处理的数据包。队列规则包括FIFO(先进先出),RED(随机早期探测),SFQ(随机公平队列)和令牌桶(Token Bucket),类基队列(CBQ),CBQ是一种超级队列,即它能够包含其它队列(甚至其它CBQ)。2)TC中的Class类:class用来表示控制策略.很显然,很多时候,我们很可能要对不同的IP 实行不同的流量控制策略,这时候我们就得用不同的class来表示不同的控制策略了.3)TC中的Filter规则:filter用来将用户划入到具体的控制策略中(即不同的class中).比如,现在,我们想对xxa,xxb两个IP 实行不同的控制策略(A,B),这时,我们可用filter将 xxa 划入到控制策略A,将xxb 划入到控制策略B,filter划分的标志位可用u32 打标功能或IPtables的 set-mark (大多使用iptabl

      6、es来做标记)功能来实现。目前,TC可以使用的过滤器有:fwmark分类器,u32分类器,基于路由的分类器和RSVP分类器(分别用于IPV6、IPV4)等;其中,fwmark分类器允许我们使用Linux netfilter代码选择流量,而u32 分类器允许我们选择基于ANY 头的流量.需要注意的是,filter (过滤器)是在QDisc内部,它们不能作为主体。4)TC 的应用流程数据包-iptables(在通过iptables时,iptables根据不同的ip来设置不同的 mark)-TC(class)-TC(queue)5)TC对最对高速度的控制(1 Rate ceiling速率限度参数 ceil 指定了一个类可以用的最大带宽,用来限制类可以借用多少带宽。缺省的ceil 是和速率一样(2 Burst 突发 burst 和cburst参数控制多少数据可以以硬件最大的速度不费力的发送给需要的其他类。网络硬件只能在一个时间发送一个包这仅仅取决于一个硬件的速率。链路共享软件可以利用这个能力动态产生多个连接运行在不同的速度。所以速率和ceil 不是一个即时度量只是一个在一个时间里发送包的平均值

      7、。实际的情况是怎样使一个流量很小的类在某个时间类以最大的速率提供给其他类。 注: burst和 cburst 至少要和其子类的值一样大。2.3 TC流量控制在Linux操作系统中流量控制器(TC)主要是在输出端口处建立一个队列进行流量控制,控制的方式是基于路由,亦即基于目的IP地址或目的子网的网络号的流量控制。流量控制器TC,其基本的功能模块为队列、分类和过滤器。Linux内核中支持的队列有,Class Based Queue ,Token Bucket Flow (TBF,令牌桶过滤器),CSZ ,First In First Out ,Priority ,TEQL ,SFQ ,ATM ,RED。Pfifo_fast(Third Band First In First Out Queue先进先出队列),SFQ(Stochastic Fairness Queueing 随机公平队列),HTB(Hierarchy Token Bucket分层令牌桶)等。报文分组从输入网卡(入口)接收进来,经过路由的查找,以确定是发给本机的,还是需要转发的。如果是发给本机的,就直接向上递交给上层的协议,比

      8、如TCP,如果是转发的,则会从输出网卡(出口)发出。网络流量的控制通常发生在输出网卡处。虽然在路由器的入口处也可以进行流量控制,Linux也具有相关的功能,但一般说来,由于我们无法控制自己网络之外的设备,入口处的流量控制相对较难。因此我们这里处理的流量控制一般指出口处的流量控制。流量控制的一个基本概念是队列(Qdisc),每个网卡都与一个队列(Qdisc)相联系,每当内核需要将报文分组从网卡发送出去,都会首先将该报文分组添加到该网卡所配置的队列中,由该队列决定报文分组的发送顺序。因此可以说,所有的流量控制都发生在队列中,详细流程图见图1。 图1报文在Linux内部流程图 有些队列的功能是非常简单的,它们对报文分组实行先来先走的策略。有些队列则功能复杂,会将不同的报文分组进行排队、分类,并根据不同的原则,以不同的顺序发送队列中的报文分组。为实现这样的功能,这些复杂的队列需要使用不同的过滤器(Filter)来把报文分组分成不同的类别(Class)。这里把这些复杂的队列称为可分类(Classiful)的队列。通常,要实现功能强大的流量控制,可分类的队列是必不可少的。因此,类别(Class)和

      9、过滤器(Filter)也是流量控制的另外两个重要的基本概念。图2所示的是一个可分类队列的例 子。图2多类别队列 由图2可以看出,类别(Class)和过滤器(Filter)都是队列的内部结构,并且可分类的队列可以包含多个类别,同时,一个类别又可以进一步包含有子队列,或者子类别。所有进入该类别的报文分组可以依据不同的原则放入不同的子队列 或子类别中,以此类推。而过滤器(Filter)是队列用来对数据报文进行分类的工具,它决定一个数据报文将被分配到哪个类别中。第三章. 实践应用TC命令的一般形式:tc qdisc add |change|replace|link dev DEV parent qdisk-id |root handle qdisc-id qdisc qdisc specific parametersqdisc add 添加一个派对规则dev DEV 指定和排队规则相关对应的设备。root 对于TC来说,root就是指“egress”handle 是用户指定的一个编号,其格式是 主编号:次编号。对任何排队规则句柄来说,次编号必需是0.排队规则(qdisc)句柄的一种可用简写形式是“1:”当没有指定次编号时就默认为0.使用TC给一个存在的父class添加子classtc class add dev eth0 parent 1:1 classid 1:6 htb rate 256kbit ceil 512kbitclass add :添加一个class,也可以用del删除dev eth0 :指定我们要关联新的class的设备。parent :指定我们要关联新class的父class句柄classid 1:6 :标识此class的唯一句柄(主编号:次编号)。次编号必需为非零值。htb :带分类的qdisc需要所有子cla

      《TC流量控制学习文档》由会员添***分享,可在线阅读,更多相关《TC流量控制学习文档》请在金锄头文库上搜索。

      点击阅读更多内容
    TA的资源
  • 房地产培训 -房地产策划流程常识介绍1

    房地产培训 -房地产策划流程常识介绍1

  • 房地产市场报告-2021年重庆中心城区国庆市场总结

    房地产市场报告-2021年重庆中心城区国庆市场总结

  • 房地产市场报告 -2021年重庆商办公寓市场报告(8月)

    房地产市场报告 -2021年重庆商办公寓市场报告(8月)

  • 房地产施工管理 -CL保温施工甲方经验总结

    房地产施工管理 -CL保温施工甲方经验总结

  • 房地产活动策划 - 2021重阳节系列暖场“不负美意”活动策划方案

    房地产活动策划 - 2021重阳节系列暖场“不负美意”活动策划方案

  • 房地产培训-碧桂园【江中区域】拓客技巧

    房地产培训-碧桂园【江中区域】拓客技巧

  • 房地产市场报告 - 2021年08月天津二手房市场监测报告

    房地产市场报告 - 2021年08月天津二手房市场监测报告

  • 房地产市场报告 - 2021年第三季度北京房地产市场监测报告-新房市场

    房地产市场报告 - 2021年第三季度北京房地产市场监测报告-新房市场

  • “5G+工业互联网”典型应用场景和重点行业实践 (第二批)

    “5G+工业互联网”典型应用场景和重点行业实践 (第二批)

  • 房地产培训 - 豪宅价值标准以及客户分析

    房地产培训 - 豪宅价值标准以及客户分析

  • 房地产活动策划 - 国际城邻里中心开业盛典(盛世国潮·荣耀开放)活动策划方案

    房地产活动策划 - 国际城邻里中心开业盛典(盛世国潮·荣耀开放)活动策划方案

  • 房地产活动策划 -大嘉汇康养主题酒店试营业开业活动提报方案

    房地产活动策划 -大嘉汇康养主题酒店试营业开业活动提报方案

  • 房地产活动策划 -吾悦广场双十一AI+未来游乐园活动策划方案

    房地产活动策划 -吾悦广场双十一AI+未来游乐园活动策划方案

  • 房地产活动策划-2020购物中心圣诞季营销“重大圣诞节”活动策划方案

    房地产活动策划-2020购物中心圣诞季营销“重大圣诞节”活动策划方案

  • 房地产活动策划 -商业广场圣诞新年欢乐趴“鬼马双旦玩FUN下”活动策划方案

    房地产活动策划 -商业广场圣诞新年欢乐趴“鬼马双旦玩FUN下”活动策划方案

  • 房地产活动策划 -2020戴德粱行新春拉斯维加斯之夜活动策划方案

    房地产活动策划 -2020戴德粱行新春拉斯维加斯之夜活动策划方案

  • 房地产活动策划 -2021地产项目金秋游园会暖场蓄客“元气生活节”活动策划方案

    房地产活动策划 -2021地产项目金秋游园会暖场蓄客“元气生活节”活动策划方案

  • 2021投融资策略与方法:企业资金困局破解之法

    2021投融资策略与方法:企业资金困局破解之法

  • 5G整体情况介绍

    5G整体情况介绍

  • 房地产活动策划 -商业广场元旦跨年盛典(中国范国潮风主题)活动策划方案

    房地产活动策划 -商业广场元旦跨年盛典(中国范国潮风主题)活动策划方案

  • 点击查看更多
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.