Subject: Re: Wording for "Recovery from Subnetwork Outages"

From: Nitin H Vaidya <[email-masked]>
Date: Fri, 10 Mar 2000 05:49:14 -0600 (CST)

Phil:

 >> Only a single packet per TCP connection need be held in this way; 
 >> subsequent packets can either replace the existing packet, or they can 
 >> be discarded. Either way, TCP will quickly recover from these 
 >> additional losses once the flow resumes. 

One implication of the above statement -- in the case when
a single packet is held -- would be that it can
be *any* single packet, not necessarily the earliest one.

Why is that enough to kickstart TCP?
One out-of-order (data) packet will trigger one dupack.
Not enough to result in a fast retransmit.

Unless something else is modified, if only packet
is going to be held, it should be the earliest data packet.
On reverse path, it is OK to hold any one TCP ACK due
to the cummulative nature.
On the forward path, if the earliest data packet is
dropped, then need to hold at least three other data
packets, not just one, to result in fast retransmit, instead
of a (long) wait for timeout.

Am I missing something? ... it is rather early Friday morning
for me, and hopefully, I can be forgiven in that case -:)

Assuming I am sufficiently awake ...
Preferential drop-from-front is better for
* TCP ACKs in all cases (errors or congstion) 
* TCP Data when packets must be dropped due to congestion,
  (but not necessarily in case of errors).

Of course, if TCP sender was earlier informed that the
channel is dead, then even one dupack would be enough
to kickstart the sender.

Cheerio.

- nitin

---

From: Phil Karn <[email-masked]>
Date: Fri, 10 Mar 2000 09:22:34 -0800

>Not enough to result in a fast retransmit.

Uh...yes. Let me mull over this.

Phil