Subject: Re: network device and tcp-flow packet ordering

From: Vern Paxson <[email-masked]>
Date: Sun, 11 Jun 2000 22:37:38 PDT

> wouldn't it make sense for the receiver who sees out-of-sequence
> delivery of packets to withold the ACKs for such packets until
> a) the hole is filled, or b) a small timeout has elapsed (this can be
> of the same order of the delayed ack timer, or half the RTT if we have
> a local estimate available).

I evaluated one form of this in my packet dynamics paper:

	"End-to-End Internet Packet Dynamics", V. Paxson,
	IEEE/ACM Transactions on Networking, 7(3) pp 277-292, June 1999.

	ftp://ftp.ee.lbl.gov/papers/vp-pkt-dyn-ton99.ps.gz

The finding was that if the receiver would wait 20 msec before sending a
second duplicate ack, then you could lower the duplicate ack threshold from
3 down to 2, gaining 65% more fast retransmit opportunities, at almost no
increase in false retransmits.  It also works for the *sender* to wait
20 msec before entering fast retransmission on the 2nd dup ack, and in
that case you only need to deploy the change on the sender side.

		Vern

---

From: Luigi Rizzo <[email-masked]>
Date: Mon, 12 Jun 2000 08:56:24 +0200 (CEST)

> I evaluated one form of this in my packet dynamics paper:
...
> second duplicate ack, then you could lower the duplicate ack threshold from

the problem i see is that the delay should be tuned to the
bottleneck bandwidth -- i.e. it should be larger than the transmit
time for a packet or two. For MSS packets, 20ms requires at least
600Kbit/s per link on the bottleneck, so even if you have reordering
near the source (e.g. this one is using a bunch of ethernets) and then
the bottleneck is a slow modem line, you are out of luck.

That is why i think you have to make this delay comparable to the RTT.

> that case you only need to deploy the change on the sender side.

that's an interesting observation, because the sender knows the
RTT already (not accurately, though). So the heuristic could be something
like "do a fast retransmit and assume congestion after N dupacks
_or_ 1 RTT from the last in-sequence ack, whichever comes first" ?

	cheers
	luigi
-----------------------------------+-------------------------------------
  Luigi RIZZO, [email-masked]  . Dip. di Ing. dell'Informazione
  http://www.iet.unipi.it/~luigi/  . Universita` di Pisa
  TEL/FAX: +39-050-568.533/522     . via Diotisalvi 2, 56126 PISA (Italy)
  Mobile   +39-347-0373137
-----------------------------------+-------------------------------------