【网络通信 -- 直播】项目实战记录 -- 弱网模拟工具
【1】Windows 系统中弱网模拟工具
Windows 系统中可以使用 Clumsy 工具模拟弱网环境
- Lag(延迟),把数据包缓存一段时间后再发出,从而模拟网络延迟状况
- Drop(丢包),随机丢弃一些数据
- Throttle(截流),把一小段时间内的数据拦截下来后再在之后的同一时间一起发出去
- Duplicate(重发),随机复制一些数据并与其本身一同发送
- Out of order(乱序),打乱数据包发送的顺序
- Tamper(篡改),随机修改小部分的包裹内容
- Bandwidth(带宽),限定网络带宽大小
【2】Linux 系统中的弱网模拟
tc qdisc add dev eth0 root netem delay 100ms
# 该命令将 eth0 网卡的传输设置为延迟 100 毫秒发送
tc qdisc add dev eth0 root netem delay 100ms 10ms
# 该命令将 eth0 网卡的传输设置为延迟 100ms ± 10ms (90 ~ 110 ms 之间的任意值) 发送
tc qdisc add dev eth0 root netem delay 100ms 10ms 30%
# 该命令将 eth0 网卡的传输设置为 100ms, 同时, 大约有 30% 的包会延迟 ± 10ms 发送
tc qdisc add dev eth0 root netem loss 1%
# 该命令将 eth0 网卡的传输设置为随机丢掉 1% 的数据包
tc qdisc add dev eth0 root netem loss 1% 30%
# 该命令将 eth0 网卡的传输设置为随机丢掉 1% 的数据包, 成功率为 30%
tc qdisc add dev eth0 root netem duplicate 1%
# 该命令将 eth0 网卡的传输设置为随机产生 1% 的重复数据包
tc qdisc add dev eth0 root netem corrupt 0.2%
# 该命令将 eth0 网卡的传输设置为随机产生 0.2% 的损坏的数据包 (内核版本需在 2.6.16 以上)
tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%
# 该命令将 eth0 网卡的传输设置为,有 25% 的数据包 (50% 相关) 会被立即发送
# 其他的延迟 10 毫秒
tc qdisc show dev eth0
# 该命令将 查看并显示 eth0 网卡的相关传输配置
tc qdisc del dev eth0 root netem #自己加的配置
# 该命令将 删除 eth0 网卡的相关传输配置
参考与致谢
本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。
【1】Clumsy -- Windows 系统下的弱网模拟工具
【2】模拟弱网环境测试——工具篇
【3】linux下使用TC模拟弱网络环境
|