Linux 用Dummynet进行突发数据传输
我正在尝试使用Dummynet测试我的网络应用程序在各种网络条件下的行为。emulator编译并安装在Ubuntu 12.04上。当我减少链接/路径的带宽时,我遇到了一种奇怪的行为Linux 用Dummynet进行突发数据传输,linux,networking,network-programming,freebsd,Linux,Networking,Network Programming,Freebsd,我正在尝试使用Dummynet测试我的网络应用程序在各种网络条件下的行为。emulator编译并安装在Ubuntu 12.04上。当我减少链接/路径的带宽时,我遇到了一种奇怪的行为 出于某种原因,而不是下载速度慢。似乎下载正在爆发!一部分数据以高速下载,然后数据传输停止一段时间,然后再次恢复(依此类推)。有人知道原因是什么吗?或者这是意料之中的事?我想你已经这么做了,但为了确保你必须做到以下几点: 编译一个支持IPFW和Dummynet的新内核,在内核配置文件中添加以下行: options IP
出于某种原因,而不是下载速度慢。似乎下载正在爆发!一部分数据以高速下载,然后数据传输停止一段时间,然后再次恢复(依此类推)。有人知道原因是什么吗?或者这是意料之中的事?我想你已经这么做了,但为了确保你必须做到以下几点: 编译一个支持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"
如果您没有使用默认的防火墙配置文件/etc/rc.firewall
,请将配置文件如下所示,而不是“打开”:
出于测试目的,您可以直接在控制台上编写规则,看看会发生什么,然后在配置文件上编写规则以保留规则
对于具有限制的基本带宽,此规则必须足够:
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带宽控制的基础
ipfw add pipe 1 tcp from any to me
ipfw add pipe 2 tcp from me to any