【报资讯】linux tc 命令_Linux系统中tc命令的使用详解

作者: 来源: 互联网 2023-03-01 09:05:06

 

对 于 linux tc 命令_Linux系统中tc命令的使用详解的知识大家了解吗?以下就是小编整理的关于linux tc 命令_Linux系统中tc命令的使用详解的介绍,希望对大家有帮助!

Linux系统中tc命令的使用详解


(资料图)

名称:TC-显示/维护流量控制设置

I. linux tc命令格式

TC q disc[add | change | replace | link]DEV DEV[parent q disc-id | root][handle q disc-id]q disc[q disc特定参数]

TC class[add | change | replace]DEV DEV parent qdisc-id[classid class-id]qdisc[qdisc特定参数]

TC filter[add | change | replace]DEV DEV[parent qdisc-id | root]protocol protocol prio prior filter type[filter type specific parameters]flowid flow-id

tc [-s | -d ] qdisc show [ dev DEV ]

tc [-s | -d ]类显示开发开发

tc过滤器显示开发开发

二。linux tc命令原理介绍

linux操作系统中的流量控制器TC(Traffic Control)用于控制Linux内核的流量。它使用队列规则来建立处理数据包的队列,并定义队列中的数据包如何发送,从而控制流量。TC模块用来实现流量控制功能的队列规则分为两类,一类是无类队列规则,一类是分类队列规则。无类队列调控相对简单,而分类队列调控则引出了分类、过滤等概念,增强了其流量控制功能。

无类队列规则是对进入网络设备(网卡)的数据流一视同仁的队列规则。使用无类队列规则形成的队列可以接受数据包并重新排列、延迟或丢弃数据包。这种队列规则形成的队列可以塑造整个网络设备(网卡)的流量,但无法细分各种情况。常用的无类队列规则主要有pfifo _fast(先进先出)、TBF(令牌桶过滤器)、SFQ(随机公平队列)、ID(前向随机丢包)等。这类队列使用的流量整形手段主要是排序、限速和丢包。

分类规则是一种队列规则,根据不同的需求对进入网络设备的数据包进行不同的处理。数据包进入分类队列后,需要发送到某一类,也就是说需要分类。对数据包进行分类的工具是过滤器,它会返回一个决定,队列规则会根据这个决定将数据包发送到相应的类进行排队。每个子类可以通过再次使用它们的过滤器来进一步分类。在不需要进一步分类之前,数据分组在包括在该类中的队列中排队。除了其他队列规则之外,大多数分类队列规则都可以控制流量。当同时需要调度(例如使用S F Q)和流量控制时,这非常有用。

接收到的数据包从输入接口进来后,不符合要求的数据包会通过入口策略丢弃,输入解复用会做出判断和选择:如果接收到的数据包的目的地是主机,则将数据包送到上层进行处理;否则,需要转发,并且将接收到的分组移交给转发块进行处理。转发块还接收上层(TCP、UDP等)生成的数据包。)的主持人。转发块通过查看路由表来确定已处理数据包的下一跳。然后,对数据包进行排列,以便它们可以传送到输出接口。一般我们只能限制网卡发送的数据包,而不能限制网卡接收的数据包,所以可以通过改变发送顺序来控制传输速率。Linux流量控制主要是在安排输出接口时处理和实现的。

三。linux tc命令使用规则

3.1.流量控制模式

流量控制包括以下方式:

成形(限制)

当流量受限时,其传输速率被控制在某个值以下。极限值可以比有效带宽小很多,可以平滑突发数据流量,使网络更加稳定。整形仅适用于出站流量。

日程安排(SCHEDULING)

通过调度数据分组的传输,可以根据带宽范围内的优先级来分配带宽。调度也仅适用于出站流量。

警务(战略)

整形用于处理传出流量,而策略用于处理收到的数据。

下降(下降)

如果流量超过某个设定的带宽,数据包将被丢弃,无论是向内还是向外。

3.2、流程控制处理对象

流量处理由三个对象控制:qdisc(排队规则)、class(类别)和filter(过滤器)。

QDisc(排队规则)是排队规则的缩写,是理解交通控制的基础。每当内核需要通过网络接口发送数据包时,它需要根据为该接口配置的qdisc(排队规则)对数据包进行排队。然后,内核会从qdisc中取出尽可能多的数据包,交给网卡驱动模块。最简单的QDisc是pfifo,它对传入的数据包不做任何处理,数据包以先入先出的方式通过队列。但是,它会保存网络接口暂时无法处理的数据包。

QDISC分为无类QDisc和有类QDISC,如下所示:

(1)无类别的光盘(未分类的光盘)

1个无类别光盘包括:

fifo,用最简单的qdisc,纯粹是FIFO。只有一个参数:limit,用于设置队列的长度。pfifo基于包的数量;Bfifo以字节为单位。

Pfifo_fast,编译内核时,如果打开高级路由器编译选项,pfifo_fast就是系统的标准QDISC。它的队列由三个带组成。在每个波段中,使用先进先出规则。三个频段的优先级也不同,频段0优先级最高,频段2优先级最低。如果带内有数据包,系统不会处理带1内的数据包,带1和带2之间也是如此。根据服务类型,数据分组被分配到另外三个频带。

红色,红色是随机早期检测的缩写。如果使用这个QDISC,当占用的带宽接近指定带宽时,系统会随机丢弃一些数据包。它非常适合高带宽应用。

Sfq,sfq是历史公平排队的缩写。它根据会话(对应每个TCP连接或UDP流)对流量进行排序,然后循环发送每个会话的数据包。

Tbf,tbf是Token Bucket Filter的缩写,适用于将流量降低到一定值。

2无类别光盘的配置

如果没有可分类的QDisc,未分类的QDisc只能附加到设备的根目录。它们的用法如下:

tc qdisc添加开发根QDISC QDISC参数

要删除未分类的QDisc,您需要使用以下命令:

tc qdisc del dev DEV根

如果网络接口上未设置QDisc,pfifo_fast将是默认的QDisc。

(2)有类QDISC(分类QDisc)

分类光盘包括:

CBQ CBQ是基于类的排队的缩写。它实现了丰富的连接共享类别结构,具有带宽整形和带宽优先级管理的能力。带宽限制是通过计算连接的空闲时间来实现的。空闲时间的计算标准是数据包离开事件的频率和底层连接(数据链路层)的带宽。

HTB HTB是等级令牌桶的缩写。通过在实践基础上的改进,实现了一个丰富的连接共享类别系统。使用HTB可以很容易地保证每个类的带宽,虽然它也允许某些类突破带宽上限,占用其他类的带宽。HTB可以通过TBF(Token Bucket Filter)实现带宽限制,还可以划分类别的优先级。

PRIO,PRIO QDisc不能限制带宽,因为属于不同类别的数据包是按顺序出列的。PRIO QDisc可以轻松管理流量的优先级。只有当属于高优先级类别的所有分组都被发送时,属于低优先级类别的分组才会被发送。为了便于管理,需要iptables或ipchains来处理数据包的服务类型(TOS)。

3.3.操作原理

类形成一棵树,每个类只有一个父类,一个类可以有多个子类。一些QDisc(如CBQ和HTB)允许在运行时动态添加类,而另一些(如PRIO)不允许动态构建类。允许动态添加类的QDisc可以有零个或多个子类,用于对数据包进行排队。另外,每个类都有一个leaf QDisc。默认情况下,这个叶QDisc由pfifo排队。我们也可以使用其他类型的QDisc来代替这个默认的QDisc。而且这个leaf leaf QDisc是可以分类的,但是每个子类只能有一个leaf QDisc。当一个包进入一个分类的QDisc时,它将被分类到一个子类中。我们可以通过以下三种方式对数据包进行分类,但并不是所有的QDisc都可以使用这三种方式。

如果过滤器被附加到一个类,相关的指令将查询它们。过滤器可以匹配数据包报头中的所有字段,也可以匹配由ipchains或iptables制作的标签。

树的每个节点可以有自己的过滤器,但是高级过滤器也可以直接用于它的子类。如果数据包没有成功分类,它将在该类别的叶QDisc中排队。相关详细信息在每个QDisc的手册页中。

3.4.命名规则

的所有QDisc、类和过滤器都有一个ID。ID可以手动设置,也可以由内核自动分配。ID由一个主序列号和一个从序列号组成,两个数字之间用冒号分隔。

一个QDisc将被分配一个主序列号,称为句柄,然后从序列号将被用作类的命名空间。句柄表示为10:传统上,需要显式地为带有子类的QDisc分配一个句柄。

类,同一个QDisc中的类共享这个QDisc的主序列号,但是每个类都有自己的从序列号,称为类标识符(classid)。类标识符只与父QDisc相关,与父类无关。该类的命名约定与QDisc的相同。

过滤器,一个过滤器的ID有三个部分,只有当过滤器被散列时才能使用。有关详细信息,请参考tc-filters手册页。

3.5.单位

tc命令的所有参数都可以使用浮点数,可能涉及到以下计数单位。

1)、带宽或流量单位:

2)数据的数量单位:

3)、时间的计量单位:

四。linux tc的常用命令参数

Tc可以使用以下命令对QDisc、类和过滤器进行操作:

添加,添加一个QDisc,类或过滤器到一个节点。添加时,需要传递一个祖先作为参数。传递参数时,可以使用ID,也可以直接传递设备的根目录。如果要建立一个QDisc或者滤镜,可以用句柄来命名;如果您想要创建一个类,您可以使用类标识符(classid)来命名它。

Remove,删除一个句柄指定的QDisc,根QDisc(root)也可以删除。被删除的QDisc上的所有子类和附加到每个类的过滤器将被自动删除。

改变,用另一种方式修改一些条目。change命令的语法与add命令的语法相同,只是不能修改句柄和祖先。换句话说,更改命令不能确定节点的位置。

通过接近原子的操作替换、删除/添加现有节点。如果节点不存在,此命令将创建节点。

Link,仅适用于DQisc,替换现有节点。

补充:5。跑偏控制的具体操作

Linux流量控制主要分为三个方面:建立队列,建立分类,建立过滤器。

5.1.基本实施步骤

(1)为网络物理设备(如以太网卡eth0)绑定一个队列QDisc

(2)在队列上建立分类类别;

(3)为每个分类建立基于路由的过滤器;

(4)最后,配合过滤器建立具体的路由表。

5.2.环境模拟示例

流量控制器上以太网卡(eth0)的IP地址是192.168.1.66,并在其上建立了一个CBQ队列。假设平均分组大小为1000字节,分组间隔发送单元大小为8字节,可接收冲突的最长分组数为20字节。

假设有三种类型的流量需要控制:

1)它的地址是主机1,IP地址是192.168.1.24。其流量带宽控制在8Mbit,优先级为2;

2)它的地址是主机2,IP地址是192.168.1.30。其流量带宽控制在1mb,优先级为1;

3)它的地址是子网1,子网号为192.168.1.0,子网掩码为255.255.255.0。带宽控制在1mb,优先级6。

5.2.1.建立队列

一般来说,一个网卡只需要一个队列。

将一个cbq队列绑定到网络物理设备eth0,其编号为1:0;网络物理设备eth0的实际带宽为10 Mbit,平均数据包大小为1000字节。间隔发送单元的大小是8字节,并且最小传输分组大小是64字节。

5.2.2.建立分类

分类基于队列。

一般来说,应该为队列建立一个根类别,然后在其上建立子类别。对于分类,按照其分类的编号顺序工作,较小的编号优先;一旦满足某个分类匹配规则,通过该分类发送一个数据包,后续的分类就不再起作用。

1)1:1创建根分类;分配的带宽为10Mbit,优先级为8。

该队列的最大可用带宽为10Mbit,实际分配的带宽为10Mbit,可接收冲突的最大数据包数为20字节。最大传输单元加MAC头大小为1514字节,优先级为8,平均包大小为1000字节,包间隔传输单元大小为8字节,实际带宽对应的加权速率为1Mbit。

2)创建分类1:2,其父分类1:1,分配的带宽为8兆比特,优先级为2。

该队列的最大可用带宽为10Mbit,实际分配的带宽为8Mbit,可接收冲突的最大数据包数为20字节。最大传输单元加MAC头大小为1514字节,优先级为1,平均包大小为1000字节,包间隔传输单元大小为8字节,实际带宽对应的加权速率为800Kbit,分类的分离点为1:0,未使用的带宽不能借用。

3)创建1:3分类,父分类为1:1,分配的带宽为1mb,优先级为1。

该队列的最大可用带宽为10Mbit,实际分配的带宽为1Mbit,可接收冲突的最大数据包数为20字节。最大传输单元加MAC头大小为1514字节,优先级为2,平均包大小为1000字节,包间隔传输单元大小为8字节,对应实际带宽的加权速率为100Kbit,分类的分离点为1:0。

4)创建分类1:4,其父分类为1:1,分配的带宽为1mb,优先级为6。

该队列的最大可用带宽为10Mbit,实际分配的带宽为1Mbit,可接收冲突的最大数据包数为20字节。最大传输单元加MAC头大小为1514字节,优先级为6,平均包大小为1000字节,包间隔传输单元大小为8字节,对应实际带宽的加权速率为100Kbit,分类的分离点为1:0。

5.2.3.建立过滤器

过滤器主要服务于分类。

通常,只为根类别提供一个过滤器,然后为每个子类别提供路由映射。

1)对cbq队列的根应用路由分类器,父分类号为1:0;过滤协议为ip,优先级为100,过滤器基于路由表。

2)建立路由映射类别1: 2、1: 3和1: 4。

5.2.4.建立一条路线

该路线与之前建立的路线图一一对应。

1)发往主机192.168.1.24的数据包由类别2转发(类别2的速率为8Mbit)。

2)发往主机192.168.1.30的数据包由类别3转发(类别3的速率为1mb)

3)目的地为子网192.168.1.0/24的数据包由类别4转发(类别4的速率为1mb)

注意:一般情况下,对于流量控制器直接连接的网段,建议使用IP主机地址流量控制限制,而不是子网流量控制限制。如果需要对直连子网使用子网流量控制限制,那么在建立该子网的路由映射之前,必须删除系统原来建立的路由,才能完成相应的步骤。

监测

主要显示通过该队列发送了13232个数据包,数据流为7646731字节。丢弃的数据包数量为0,超过速率限制的数据包数量为0。

2)显示分类状态。

只需显示指定设备的分类状态(此处为eth0)

tc级ls开发eth0

详细显示指定设备(此处为eth0)的分类状态。

tc -s级ls开发eth0

主要显示不同分类发送的数据包,数据流量,丢包数,超过速率限制的包数等等。根分类(类cbq 1:0)的状态应该类似于队列的状态。

比如cbq 1:4类发送8076个包,数据流5552879字节,丢包数为0,超过速率限制的包数为0。

显示过滤器的状态。

tc -s滤波器ls dev eth0

这里,flowid 1:2代表类cbq 1:2,to 2代表通过路由2发送。

显示现有路线的状态。

ip路由

如上所示,末尾带有realm的显示行是有效的路由过滤器。

5.2.6.保持

包括添加、修改和删除队列、分类、过滤器和路由。

添加动作一般按照‘队列-排序-过滤-路由’的顺序进行;没有修改的要求;删除按照“路由-过滤-分类-队列”的顺序进行。

本文到此结束,希望对大家有所帮助。

 

相关文章
最近更新
  • 【报资讯】linux tc 命令_Linux系统中tc命令的使用详解

    【报资讯】linux tc 命令_Linux系统中tc命令的使用详解

    2023-03-01

  • 章莹颖父亲回应直播带货:维持生计,想再去美国寻找女儿遗体

    章莹颖父亲回应直播带货:维持生计,想再去美国寻找女儿遗体

    2023-03-01

  • 751园区的美丽蝶变

    751园区的美丽蝶变

    2023-03-01

  • 18岁以下的身份证和姓名_18岁以下的身份证

    18岁以下的身份证和姓名_18岁以下的身份证

    2023-03-01

  • 【焦点热闻】新疆队退赛进展!曝篮协不予置评,球员集体支持罢赛,周琦被孤立

    【焦点热闻】新疆队退赛进展!曝篮协不予置评,球员集体支持罢赛,周琦被孤立

    2023-03-01

  • 每日速讯:关闭德国工厂裁员2600人,天然气价格高企拖累化工巨头巴斯夫

    每日速讯:关闭德国工厂裁员2600人,天然气价格高企拖累化工巨头巴斯夫

    2023-02-28

  • 天天热门:数据中心布局绿电交易:“东数西算”炒热市场热度 企业期待建立多年期、跨省跨区交易规则

    天天热门:数据中心布局绿电交易:“东数西算”炒热市场热度 企业期待建立多年期、跨省跨区交易规则

    2023-02-28

  • 当前速讯:打呼噜最佳治疗偏方_打呼噜治疗偏方

    当前速讯:打呼噜最佳治疗偏方_打呼噜治疗偏方

    2023-02-28

  • 环球微速讯:广州幼儿园生均补贴对象是哪些

    环球微速讯:广州幼儿园生均补贴对象是哪些

    2023-02-28

  • 环球快播:平均年龄超过30岁,国足还要继续啃老?

    环球快播:平均年龄超过30岁,国足还要继续啃老?

    2023-02-28

  • 世界今日报丨正是河豚欲上时的意思_正是河豚欲上时的意思是什么?

    世界今日报丨正是河豚欲上时的意思_正是河豚欲上时的意思是什么?

    2023-02-28

  • 视点!闯关东篇所有演员介绍_闯关东前传演员表

    视点!闯关东篇所有演员介绍_闯关东前传演员表

    2023-02-28

  • 环球快看点丨先进制造业产业集群建设步伐进一步加快 45个国家级集群总产值突破20万亿元

    环球快看点丨先进制造业产业集群建设步伐进一步加快 45个国家级集群总产值突破20万亿元

    2023-02-28

  • 先锋炒股交易策略2月28日

    先锋炒股交易策略2月28日

    2023-02-28

  • 环球微速讯:新衣服褪色怎么办_新衣服褪色如何处理

    环球微速讯:新衣服褪色怎么办_新衣服褪色如何处理

    2023-02-28

  • 天天动态:蜻蜓几条腿正确_蜻蜓几条腿

    天天动态:蜻蜓几条腿正确_蜻蜓几条腿

    2023-02-28

  • 世界速讯:二审开庭后判决书多久出来

    世界速讯:二审开庭后判决书多久出来

    2023-02-28

  • 热消息:观天下 | 英《卫报》:美国化学品泄漏事故约两天一起

    热消息:观天下 | 英《卫报》:美国化学品泄漏事故约两天一起

    2023-02-27

  • 环球关注:一般形式最惠国待遇

    环球关注:一般形式最惠国待遇

    2023-02-27

  • 全球微速讯:电脑出现0xc0000005怎么修复win7_应用程序无法正常启动0xc000005

    全球微速讯:电脑出现0xc0000005怎么修复win7_应用程序无法正常启动0xc000005

    2023-02-27

  • 当前资讯!《许你万家灯火》定档央视

    当前资讯!《许你万家灯火》定档央视

    2023-02-27

  • 每日动态!小米云服务相册登陆登录_小米账户登录云相册

    每日动态!小米云服务相册登陆登录_小米账户登录云相册

    2023-02-27

  • 全球微资讯!文旅部:3月1日起全国范围内推行应用文化和旅游市场涉企电子证照

    全球微资讯!文旅部:3月1日起全国范围内推行应用文化和旅游市场涉企电子证照

    2023-02-27

  • 全球今亮点!弗莱克斯柔性振动盘 CCD视觉上料 机器人上料

    全球今亮点!弗莱克斯柔性振动盘 CCD视觉上料 机器人上料

    2023-02-27

  • 即时焦点:苏小暖抄袭事件始末_苏小暖抄袭事件

    即时焦点:苏小暖抄袭事件始末_苏小暖抄袭事件

    2023-02-27

  • 每日快看:什么鱼线好_最好的钓鱼线

    每日快看:什么鱼线好_最好的钓鱼线

    2023-02-27

  • 天天百事通!异世之灵武天下改编版大结局_异世之灵武天下

    天天百事通!异世之灵武天下改编版大结局_异世之灵武天下

    2023-02-27

  • 全球即时看!皮埃路易吉·塔米

    全球即时看!皮埃路易吉·塔米

    2023-02-27

  • 证件

    证件

    2023-02-27

  • 全球最资讯丨美宅网个人房源网_土地公个人房源网

    全球最资讯丨美宅网个人房源网_土地公个人房源网

    2023-02-27