0

我正在尝试使用 Dummynet 来测试我的网络应用程序在各种网络条件下的行为。模拟器已编译并安装在 Ubuntu 12.04 机器上。当我减少链接/路径的带宽时,我遇到了一种奇怪的行为。

出于某种原因,而不是下载速度慢。似乎下载正在爆发!一部分数据被高速下载,然后数据传输停止一段时间,然后再次恢复(依此类推)。有谁知道可能是什么原因?或者这甚至是预期的?

4

1 回答 1

0

我猜你已经这样做了,但为了确保你必须执行以下操作:

编译一个支持 IPFW 和 Dummynet 的新内核,将这些行放在内核配置文件中:

options IPDIVERT
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options DUMMYNET
options HZ=1000

之后编译并安装你的新内核。为此,请按照构建和安装自定义内核的步骤进行操作

这样做,使用以下行配置 rc.conf 文件:

firewall_enable="YES"
firewall_type="OPEN"

如果您没有使用默认的防火墙 conf 文件/etc/rc.firewall,则将您的配置文件像这样放置,而不是“OPEN”:

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 带宽控制的基础。

于 2014-01-20T13:34:29.750 回答