From owner-freebsd-ipfw@FreeBSD.ORG Tue May 6 20:31:47 2008 Return-Path: Delivered-To: freebsd-ipfw@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 01AE0106564A for ; Tue, 6 May 2008 20:31:47 +0000 (UTC) (envelope-from mpope@oanda.com) Received: from mail.oanda.com (q9.oanda.com [216.220.44.222]) by mx1.freebsd.org (Postfix) with ESMTP id A934B8FC15 for ; Tue, 6 May 2008 20:31:46 +0000 (UTC) (envelope-from mpope@oanda.com) Received: from localhost (localhost [127.0.0.1]) by mail.oanda.com (Postfix) with ESMTP id 02E1FEC083; Tue, 6 May 2008 16:31:46 -0400 (EDT) Received: from mail.oanda.com ([127.0.0.1]) by localhost (mail.q9.oanda.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 24669-04; Tue, 6 May 2008 16:31:45 -0400 (EDT) Received: from gateway.oanda.com (unknown [216.235.10.210]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.oanda.com (Postfix) with ESMTP id DBED2EC07E; Tue, 6 May 2008 16:31:45 -0400 (EDT) Received: from [10.1.5.123] (mpope.dev.oanda.com [10.1.5.123]) by eddie.dev.oanda.com (Postfix) with ESMTP id BB71A64063; Tue, 6 May 2008 16:31:45 -0400 (EDT) Message-ID: <4820C031.4000707@oanda.com> Date: Tue, 06 May 2008 16:31:45 -0400 From: Matthew Pope User-Agent: Thunderbird 1.5.0.14ubu (X11/20080306) MIME-Version: 1.0 To: Luigi Rizzo References: <4820AB8F.2000204@oanda.com> <4820B2BF.6090608@oanda.com> <20080506200651.GA57251@onelab2.iet.unipi.it> In-Reply-To: <20080506200651.GA57251@onelab2.iet.unipi.it> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-ipfw@freebsd.org Subject: Re: dummynet queue size relative to bw setting? X-BeenThere: freebsd-ipfw@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: IPFW Technical Discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 May 2008 20:31:47 -0000 Luigi Rizzo wrote: > On Tue, May 06, 2008 at 03:34:23PM -0400, Matthew Pope wrote: > >> I must correct my test parameters: In one of the two pipes, the bw was >> 4K, not 48K as stated. >> When I just now moved it up to 48K to match the other pipe size, my ping >> times plummeted to 129-139ms throughout the Queue sizes listed below, >> again with Q=120 getting total packet loss. >> I thought a ping sent packets slowly, so that the 4K bw on the one pipe >> would not slow things down, but it seems I was wrong. Still I'm >> wondering why the measured delay is 130, without dummynet its 40, and >> I've set it to 5ms in each direction, so it should be measured as 50, >> not 130. Thx, Matthew >> > > part of the delay is the time it takes for the bits of the packet > to go through the bandwidth-limited channel - this is called > "transmission delay" and is > > transmission_delay = packet_size_in_bits/bandwidth_in_bits_per_second > > Also, depending on how you configure dummynet, your ping request > and response can go through a pipe multiple times (for a proper > configuration, usually you traverse one pipe downstream and one > pipe upstream; if the system is misconfigured, e.g. as a router > with dummynet intercepting traffic on both interfaces, > you will traverse two pipes on each direction). > > > The typical ping packet is around 64 bytes or 512 bits, at 48Kbit/s > this makes an additional 12ms each way, so you should see > no less than 40+(5+12)*2 = 74 ms for a proper configuration, and > 40+(5+12)*4 = 108 ms if misconfigured, the latter is very similar to > the numbers you are seeing. > > On top of this, VMware doesn't emulate well enough the timing, > so it is likely that the clock ticks every 10ms instead of the 1ms > expected by the hardware, so some of the individual delays > (5ms for the pipe, 12ms for the transmission time) could be > further rounded to the next multiple of the clock tick, > which would increase the delay even further. > > cheers > luigi > > Thanks so much Luigi! This little tutorial (and VMWare comment) is exactly what I needed to understand what was going on. And thank you for Dummynet, a very significant contribution to multi-cast routing and simulation. Matthew