From owner-freebsd-net@FreeBSD.ORG Tue Dec 11 07:37:13 2007 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BD85016A41B for ; Tue, 11 Dec 2007 07:37:13 +0000 (UTC) (envelope-from rihad@mail.ru) Received: from mx6.mail.ru (mx6.mail.ru [194.67.23.26]) by mx1.freebsd.org (Postfix) with ESMTP id 7AE2913C4E5 for ; Tue, 11 Dec 2007 07:37:13 +0000 (UTC) (envelope-from rihad@mail.ru) Received: from [217.25.20.94] (port=12685 helo=[217.25.20.94]) by mx6.mail.ru with esmtp id 1J1zem-00064J-00; Tue, 11 Dec 2007 10:35:56 +0300 Message-ID: <475E3DB6.4030203@mail.ru> Date: Tue, 11 Dec 2007 11:35:18 +0400 From: rihad User-Agent: Icedove 1.5.0.14pre (X11/20071018) MIME-Version: 1.0 To: Chuck Swiger References: <475D6FD7.2000500@mail.ru> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: Pipe queues X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Dec 2007 07:37:13 -0000 Chuck Swiger wrote: > On Dec 10, 2007, at 8:56 AM, rihad wrote: >> Hi, >> >> I'm having a hard time to understand what pipe queues are with respect >> to bandwidth limitation. ipfw(8) and dummynet(4) manuals didn't help >> me much. > > Pipes and queues are two different things; a pipe simulates a network > link, and a queue is used to hold packets which are backlogged because > they are arriving faster than the outbound link (ie, a pipe) can > transmit them. > So you mean queues are only used on the sending side? (the box is acting as a router) and that their purpose is to diminish packet loss rate due to network congestion? Now I get it, thanks. >> What if I set it to 10000 slots, why should it wait to fill the queue >> before starting to send stuff out the network interface? > > Well, it *doesn't* wait for the queue to be filled before starting to > send stuff out the network. > This ipfw manpage section was the reason I asked (sorry for the formatting). What's with the "queuing delay" part? I'm totally confused. queue {slots | sizeKbytes} Queue size, in slots or KBytes. Default value is 50 slots, which is the typical queue size for Ethernet devices. Note that for slow speed links you should keep the queue size short or your traffic might be affected by a significant queueing delay. E.g., 50 max- sized ethernet packets (1500 bytes) mean 600Kbit or 20s of queue on a 30Kbit/s pipe. Even worse effects can result if you get packets from an interface with a much larger MTU, e.g. the loopback inter- face with its 16KB packets.