Windows Network Shaper目前只能在win10及以下版本使用,在github上有源码。
windows 下可以使用 Clumsy 网络模拟工具,其中的drop的范围为1-255,255代表100%丢包,127代表50%丢包,其他按比例等等。
iperf 是一个网络性能测试工具,可以测试网络带宽和延迟。
tc class show dev eth0
sudo tc qdisc del dev eth0 root
sudo tc qdisc add dev eth0 root handle 1: netem rate 10mbit delay 10ms loss 2%
丢包8%开始卡顿。
webrtc M96版本的GCC
sudo tc qdisc del dev eth1 root //关闭限速
sudo tc qdisc add dev eth1 root handle 1: htb default 11
sudo tc class add dev eth1 parent 1: classid 1:11 htb rate 800Kbit ceil 800Kbit //1.1 9:15
Linux tc 命令
◼ 创建根队列
tc qdisc add dev eth1 root handle 1: htb default 11
◼ 创建分类
限速 500kbps
tc class add dev eth1 parent 1: classid 1:11 htb rate 500Kbit ceil 500Kbit
◼ 清除限速
tc qdisc del dev eth1 root
◼ 查看规则
tc class show dev eth1
ip link show
如果网络接口显示为 “DOWN”,可以使用以下命令启用它,例如接口名为 eth0:
sudo ip link set eth0 up
http://archive.ubuntu.com/ubuntu/pool/main/i/iproute2/
https://ubuntu.pkgs.org/20.04/ubuntu-main-amd64/2/
29版本存在的问题:
sudo tc qdisc add dev eth0 root handle 1: netem rate 1mbit delay 300ms loss 1%
当设置以上时,码率探测不准,导致发送的码率过多,导致拥塞,rtt增大至4191ms,路由缓存溢出,丢包严重。网口实际发送的值是动态设置给编码器的值的2倍左右。
4M时几乎无影响
sudo tc qdisc add dev eth0 root handle 1: netem rate 15mbit delay 3ms loss 50%
一张网卡没有4M的能力。
有用
tc qdisc add dev eth0 root netem delay 300ms 10ms
tc qdisc add dev wwan1_1 root netem loss 30%
tc qdisc add root dev eth0 handle 1: htb default 3
tc class add dev eth0 parent 1: classid 1:1 htb rate 2mbit //末尾加上burst 15k,设置延迟投递缓存队列大小
tc class add dev eth0 parent 1:1 classid 1:3 htb rate 1mbit //2000kbit
tc class add dev eth0 parent 1:1 classid 1:2 htb rate 1mbit
以上参考
tc class show dev eth0 //sudo tc -s class show dev lo
tc qdisc del dev eth0 root
http://192.168.0.86/files/software/7z2408-x64.exe
用7zip解压编译好的iproute2-tc_5.5.0-r0_cortexa7-neo…pv4.ipk,将其中的目录分别拷贝到系统对应的目录中,这是Iproute2.5.5编译好的包。
将libelf.so.1和libmnl.so.0库分别拷贝到/usr/lib中。
tc qdisc add dev wwan1_1 root netem delay 150ms
RTNETLINK answers: Operation not supported
这是因为缺少netem,需要在打开如下配置,重新编译内核:
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_NETEM=y
然后将编译好的内核ulmage放入p3,执行如下替换内核
dd if=uImage of=/dev/mmcblk0p2
如果出现无法时别wifi和sim卡,需要重新编译内核,除去wifi(有wifi会出现这个问题)。
tc qdisc add dev eth0 root handle 1:0 htb default 10
Error: Specified qdisc not found
出现如上问题,说明系统内核没有htb模块,需要打开如下配置,重新编译系统。
CONFIG_NET_SCH_HTB=y
还需要添加
CONFIG_NET_SCH_TBF模块。