我想模拟地理距离,所以我需要为每个接收/传输包添加延迟。
我读到 squid 可以帮助我找到我要找的东西,但是,使用它的配置并没有给我正确的结果。
如果我从自己的电脑 ping 到 squid 服务器,需要大约 0.5 倍的时间,还可以(最好是大约 1 倍的时间)
如果我在服务器之间 ping,只需要大约 0.255 倍的时间
我很高兴得到帮助,找到解决交通拥堵的最佳解决方案。
Squid:版本 3.5.12
操作系统:Ubuntu 16.04.3 LTS
答案1
你应该看看tc
这是一个与内核接口交互的流量控制实用程序netem
。
要对传出的数据包添加一般延迟,你可以这样做:
sudo tc qdisc add dev tun0 root netem delay 10ms
要更改它,请运行sudo tc qdisc change dev tun0 root netem delay 100ms
。要删除它,请将其替换change
为del
。
Netem 可以执行其他操作,例如丢弃 1:n 数据包、破坏数据包等等,并可用于模拟各种网络问题。