我正在尝试使用Dummynet来测试我的网络应用程序在各种网络条件下的行为。模拟器已编译并安装在Ubuntu 12.04盒子上。当我减少链路/路径的带宽时,我遇到了一种奇怪的行为。
出于某种原因,而不是下载速度慢。似乎下载正在爆发!一部分数据以高速下载,然后数据传输停止一段时间,然后再次恢复(依此类推)。有谁知道可能是什么原因?或者这甚至是预料到的?
答案 0 :(得分:0)
我猜你已经这样做了,但为了确保你必须这样做:
编译一个支持IPFW和Dummynet的新内核,将这些行放在你的内核配置文件中:
options IPDIVERT
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options DUMMYNET
options HZ=1000
之后编译并安装新内核。为此,请按照Building and Installing a Custom Kernel
上的步骤操作这样做,使用以下行配置rc.conf文件:
firewall_enable="YES"
firewall_type="OPEN"
如果你没有使用默认的防火墙配置文件/etc/rc.firewall
,那么把你的配置文件改为“打开”:
firewall_type="/your/firewall/config.file"
出于测试目的,您可以直接在控制台上编写您的规则,看看会发生什么,并在您的配置文件上写这个以保留规则。
对于基本带宽限制,此规则必须足够:
ipfw pipe 1 config bw 1Mbit
ipfw pipe 2 config bw 1Mbit
现在你有两个带有1Mbit带宽的管道,让我们把流量放在这个管道上。
ipfw add pipe 1 tcp from any to me
ipfw add pipe 2 tcp from me to any
这样做可以限制你以前创建的管道。
这是Dummynet带宽控制的基础。