gpt4 book ai didi

linux - 使用 Dummynet 进行突发数据传输

转载 作者:太空宇宙 更新时间:2023-11-04 04:09:08 25 4
gpt4 key购买 nike

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

由于某种原因,而不是下载速度很慢。看起来好像下载是突然发生的!高速下载一部分数据,然后数据传输停止一段时间,然后再次恢复(依此类推)。有谁知道可能是什么原因?或者这是预期的?

最佳答案

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

编译支持 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,则将您的配置文件如下所示,而不是“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 带宽控制的基础。

关于linux - 使用 Dummynet 进行突发数据传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19944105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com