Pipe queues
rihad
rihad at mail.ru
Mon Dec 10 23:37:13 PST 2007
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.
More information about the freebsd-net
mailing list