Linux系统tc命令详解

tc命令是Linux系统中的一个网络管理工具,用于配置和管理网络流量控制。它可以用来限制网络带宽、延迟、丢包等,以及实现QoS(Quality of Service)等功能。以下是tc命令的详细介绍:

  1. tc qdisc命令

    tc qdisc命令用于配置队列规则,即网络流量的调度策略。常用的调度策略有以下几种:

    • pfifo_fast:先进先出队列,适用于低延迟、高吞吐量的场景。
    • tbf:令牌桶过滤器,用于限制带宽和速率。
    • htb:层次令牌桶过滤器,用于实现QoS,可以对不同的流量进行不同的限制。
    • prio:优先级队列,用于对不同的流量进行优先级排序。

    例如,以下命令将创建一个htb队列规则,限制eth0接口的带宽为1Mbps:

    tc qdisc add dev eth0 root handle 1: htb default 1
    tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit

     

  2. tc class命令

    tc class命令用于配置类别规则,即对不同的流量进行分类和限制。每个类别规则都有一个唯一的classid,可以用来标识该规则。常用的限制参数有以下几种:

    • rate:限制带宽速率。
    • ceil:限制带宽峰值速率。
    • burst:限制突发流量大小。
    • cburst:限制类别突发流量大小。

    例如,以下命令将创建一个类别规则,将IP地址为192.168.1.2的流量限制为500Kbps:

    tc class add dev eth0 parent 1:1 classid 1:10 htb rate 500kbit ceil 1mbit
    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.2 flowid 1:10

     

  3. tc filter命令

    tc filter命令用于配置过滤规则,即根据不同的条件过滤流量并将其分配到不同的类别中。常用的过滤条件有以下几种:

    • protocol:协议类型。
    • src/dst:源/目的IP地址。
    • sport/dport:源/目的端口号。
    • match:匹配特定的数据包。

    例如,以下命令将创建一个过滤规则,将源IP地址为192.168.1.2的流量分配到类别1:10中:

    tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.1.2 flowid 1:10

     

  4. tc monitor命令 

    tc monitor命令用于实时监控网络流量和队列状态。可以使用以下命令启动tc monitor:

    tc -s monitor
posted @   家乐先生  阅读(5970)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示