Networking 如何使用dummynet(ipfw)模拟本地主机的带宽和延迟

Networking 如何使用dummynet(ipfw)模拟本地主机的带宽和延迟,networking,simulation,ipfw,dummynet,Networking,Simulation,Ipfw,Dummynet,我在localhost:8080中使用一个web服务器,我试图使用dummynet ipfw来模拟该服务器的延迟和低带宽,但不知何故,我无法让它工作 当我使用命令时 sudo ipfw add pipe 1 all from any to any sudo ipfw pipe 1 config bw 400Kbit/s delay 100ms 然后ping本地主机 ping localhost 我得到以下结果: PING localhost (127.0.0.1): 56 data byte

我在localhost:8080中使用一个web服务器,我试图使用dummynet ipfw来模拟该服务器的延迟和低带宽,但不知何故,我无法让它工作

当我使用命令时

sudo ipfw add pipe 1 all from any to any
sudo ipfw pipe 1 config bw 400Kbit/s delay 100ms
然后ping本地主机

ping localhost
我得到以下结果:

PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=686.512 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=848.309 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=409.890 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=410.988 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=424.014 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=411.002 ms
64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=409.175 ms
64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=417.517 ms
我的问题是:

为什么ping往返时间~400ms比我指定的延迟100ms大4倍

带宽限制似乎也不起作用。当我尝试从地址下载6Mb测试文件时http://localhost:8080/Testfile 在Chrome中,我立即获得文件,而不是以我想要的速率


无法回答1,但对于2,您可能会有更清晰的结果测试您从网络中的另一台机器下载的内容

您应该已经为网卡安装了dummynet驱动程序。我的理论是,如果您的浏览器正在联系本地主机,它可能会绕过网卡或dummynet注入延迟的挂钩

基本上,我无法让dummynet为同一台服务器上的任何东西注入延迟。例如,我有两个服务,它们可以立即相互通信。另一台机器上的任何其他设备都会被注入延迟

您可以尝试Fiddler,它似乎也会在本地主机上注入延迟