Ubuntu下tc命令配置网络时延、丢包、带宽

本文介绍了如何利用Linux的tc命令来配置网络环境,包括设置网络时延、丢包率、带宽限制等。通过示例详细解释了各个参数的用法,如添加、删除和更改网络模拟设置,帮助读者理解如何模拟不同的网络条件以进行网络性能测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置网络时延、丢包、带宽等

1. 查看网络流量管理

tc qdisc show

2. 时延

#sudo tc qdisc add dev 网卡名称 root netem delay 时延数值
sudo tc qdisc add dev eth0 root netem delay 15ms

如果想要删除之前设置的时延

sudo tc qdisc del dev eth0 root netem delay 15ms

也可以直接更改

sudo tc qdisc change dev eth0 root netem delay 30ms

丢包和带宽删除和更改与时延类似,不逐一举例子

3. 丢包

#sudo tc qdisc add dev 网卡名称 root netem loss 丢包数值
sudo tc qdisc add dev eth0 root netem loss 0.1%

如果想要添加网络丢包的成功率:

#将eth0网卡的传输设置为随机丢掉1%的数据包,成功率为30%
sudo tc qdisc add dev eth0 root netem loss 0.1% 30%

4. 带宽

#sudo tc qdisc add dev 网卡名称 root netem rate 带宽数值
sudo tc qdisc add dev eth0 root netem rate 10Gbps

5. 模拟延迟波动

#该命令将 eth0 网卡的传输设置为延迟 100ms ± 10ms (90 ~ 110 ms 之间的任意值)发送。 还可以更进一步加强这种波动的随机性
tc qdisc add dev eth0 root netem delay 100ms 10ms

6. 模拟包重复

#该命令将 eth0 网卡的传输设置为随机产生 1% 的重复数据包
tc qdisc add dev eth0 root netem duplicate 1%

7. 模拟包损坏

#该命令将 eth0 网卡的传输设置为随机产生 0.2% 的损坏的数据包 。 (内核版本需在 2.6.16 以上)
tc qdisc add dev eth0 root netem corrupt 0.2%

8. 模拟包乱序

#该命令将 eth0 网卡的传输设置为:有 25% 的数据包(50%相关)会被立即发送,其他的延迟10 秒。
tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%
#新版本中,如下命令也会在一定程度上打乱发包的次序:# tc qdisc add dev eth0 root netem delay 100ms 10ms

9. 联合使用

sudo tc qdisc add dev eth0 root netem delay 15ms loss 1% rate 1000Mbps
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值