缘由
计算机网络Project中需要模拟不同的网络带宽和时延的情况,因此在网上查询了一下普遍的做法。一般来说是使用Linux自带的 tc(traffic control) 工具。网上相关的介绍原理的文章已经有很多了,这里只是总结一下简单的用法,不用知道为什么直接敲命令行就行了。大作业最后是在Windows系统中测试的所以没有用到,后来也找了一下Windows系统中模拟网络的方法,但就没有Linux上那么灵活,有许多软件下载不了,或者是下载了也用不了。
Linux
查看网卡名称
使用 ifconfig
或 nmcli connection show
查询网卡名称及IP地址
使用tc工具模拟网络时延
增加网络时延
sudo tc qdisc add dev <网卡名称> root netem delay 1000ms
给网卡增加1000ms时延
验证延迟
ping <IP地址>
可以看到time加上了delay值
删除策略
sudo tc qdisc del dev <网卡名称> root netem delay 1000ms
删除刚才增加的值
使用wondershaper工具限制网络带宽
这是找到的一个比较方便的工具,整合了很多功能。