Linux系统tc命令详解
tc命令是Linux系统中的一个网络管理工具,用于配置和管理网络流量控制。它可以用来限制网络带宽、延迟、丢包等,以及实现QoS(Quality of Service)等功能。以下是tc命令的详细介绍:
- 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
- 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
- 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
- tc monitor命令
tc monitor命令用于实时监控网络流量和队列状态。可以使用以下命令启动tc monitor:
tc -s monitor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)