Pipe queues
rihad
rihad at mail.ru
Wed Dec 12 04:13:00 PST 2007
Chuck Swiger wrote:
> On Dec 10, 2007, at 11:35 PM, rihad wrote:
>> 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.
>
> The issue is that if you have a really slow upstream link, you can end
> up queuing many seconds worth of traffic using the default queue size--
> depending on the priorities, you might have traffic being buffers so
> long that it starts breaking connections or causing needless TCP retries...
>
Oh, now I get it, thanks! Perhaps the authors should have stated it
clearly that instead of queuing packets for too long you'd better drop
them, otherwise upper-layer retransmissions might cause multiple copies
of a packet to arrive at the client and cause errors (would they?). This
may be clear to networking people but it isn't so clear to someone like
me trying to figure out what's going on. Now I know what technical
documentation is all about :)
More information about the freebsd-net
mailing list