[46808] in North American Network Operators' Group
Re: packet reordering at exchange points
daemon@ATHENA.MIT.EDU (Craig Partridge)
Thu Apr 11 06:20:37 2002
Message-Id: <200204111019.g3BAJpt00796@aland.bbn.com>
To: "Jim Forster" <forster@cisco.com>
Cc: "Peter Galbavy" <peter.galbavy@knowtion.net>,
"Richard A Steenbergen" <ras@e-gerbil.net>,
"E.B. Dreger" <eddy+public+spam@noc.everquick.net>,
"Paul Vixie" <paul@vix.com>, nanog@merit.edu
In-Reply-To: Your message of "Wed, 10 Apr 2002 23:54:30 PDT."
<00ae01c1e125$ba6b5380$dc9247ab@amer.cisco.com>
Date: Thu, 11 Apr 2002 06:19:51 -0400
From: Craig Partridge <craig@aland.bbn.com>
Errors-To: owner-nanog-outgoing@merit.edu
In message <00ae01c1e125$ba6b5380$dc9247ab@amer.cisco.com>, "Jim Forster" write
s:
>Sure, see the original Van Jacobson-Mike Karels paper "Congestion Avoidance
>and Control", at http://www-nrg.ee.lbl.gov/papers/congavoid.pdf. Briefly,
>TCP end systems start pumping packets into the path until they've gotten
>about RTT*BW worth of packets "in the pipe". Ideally these packets are
>somewhat evenly spaced out, but in practice in various circumtances they can
>get clumped together at a bottleneck link. If the bottleneck link router
>can't handle the burst then some get dumped.
Actually, it is even stronger than that -- in a perfect world (without
jitter, etc), the packets *will* get clumped together at the bottleneck
link. The reason is that for every ack, TCP's pumping out two back to back
packets -- but the acks are coming back at approximately the spacing
at which full-sized data packets get the bottleneck link... So you're
sending two segments (or 1.5 if you ack every other segment) in the time
the bottleneck can only handle one.
[Side note, this works because during slow start, you're not sending during
the entire RTT -- you're sending bursts at the start of the RTT, and each
slow start you fill more of the RTT]
Craig