输入方向的流量控制.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文档。上传文档
查看更多
输入方向的流量控制

概述 ? Linux中的QoS分为入口(Ingress)部分和出口(Egress)部分,入口部分主要用于进行入口流量限速(policing),出口部分主要 用于队列调度(queuing scheduling)。 大多数排队规则(qdisc)都是用于输出方向的,输入方向只有一个排队规则,即ingress qdisc。ingress qdisc本身的功能很有限, 但可用于重定向incoming packets。通过Ingress qdisc把输入方向的数据包重定向到虚拟设备ifb,而ifb的输出方向可以配置 多种qdisc,就可以达到对输入方向的流量做队列调度的目的。 ? Q: 为什么大多数的流量控制都是在输出方向的? A: It is easiest to create traffic control rules for traffic flowing out of an interface, since we can control when the system ??? sends?data, but controlling when we receive data requires an additional intermediate queue to be created to buffer ??? incoming data. ? 原理图如下: ? ? Ingress qdisc ? The ingress qdisc itself does not require any parameters. It differs from other qdiscs in that it does not occupy the root of a device. Attach it like this: # tc qdisc add dev eth0 ingress This allows you to have other, sending qdiscs on your device besides the ingress qdisc. ? About the ingress qdisc Ingress qdisc (known as ffff:) cant have any children classes. (hence the existence of IMQ) The only thing you can do with the ingress qdisc is attach filters. ? About filtering on the ingress qdisc Since there are no classes to which to direct the packets, the only reasonable option is to drop the packets. With clever use of filtering, you can limit particular traffic signatures to particular uses of your bandwidth. ? 入口流量的限速 # tc qdisc add dev eth0 ingress # tc filter add dev eth0 parent ffff: protocol ip prio 10 u32 match ip src /0 police rate 2048kbps burst 1m drop flowid :1 ? ifb ? IFB — Intermediate Functional Block device。 Q: How can we use qdisc (e.g., netem) on incoming traffic? A: You need to use IFB. This network device allows attaching queueing disciplines to incoming packets. To use an IFB, you must have IFB support in your kernel (configuration option CONFIG_IFB). Assuming that you have a modular kernel, the name of the IFB module is ifb and may be loaded using the command modprobe ifb (if you have modprobe installed) or insmod /path/to/module/ifb. ip link se

文档评论(0)

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

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

1亿VIP精品文档

相关文档