RE: [Tsvwg] problem with draft-allman-tcp-sack-11.txt

Kacheong Poon <poon@cs.wisc.edu> Mon, 15 July 2002 10:01 UTC

Received: from optimus.ietf.org (ietf.org [132.151.1.19] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id GAA21090 for <tsvwg-archive@odin.ietf.org>; Mon, 15 Jul 2002 06:01:39 -0400 (EDT)
Received: (from daemon@localhost) by optimus.ietf.org (8.9.1a/8.9.1) id GAA13985 for tsvwg-archive@odin.ietf.org; Mon, 15 Jul 2002 06:02:35 -0400 (EDT)
Received: from optimus.ietf.org (localhost [127.0.0.1]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id FAA10855; Mon, 15 Jul 2002 05:18:04 -0400 (EDT)
Received: from ietf.org (odin [132.151.1.176]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id FAA10823 for <tsvwg@optimus.ietf.org>; Mon, 15 Jul 2002 05:18:01 -0400 (EDT)
Received: from parmesan.cs.wisc.edu (parmesan.cs.wisc.edu [128.105.167.16]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id FAA18458 for <tsvwg@ietf.org>; Mon, 15 Jul 2002 05:17:05 -0400 (EDT)
Received: (from poon@localhost) by parmesan.cs.wisc.edu (8.9.2/8.9.2) id EAA10924; Mon, 15 Jul 2002 04:17:53 -0500 (CDT)
Date: Mon, 15 Jul 2002 04:17:53 -0500
From: Kacheong Poon <poon@cs.wisc.edu>
Message-Id: <200207150917.EAA10924@parmesan.cs.wisc.edu>
To: eblanton@cs.ohiou.edu, thomas.r.henderson@boeing.com
Subject: RE: [Tsvwg] problem with draft-allman-tcp-sack-11.txt
Cc: homa@crl.go.jp, kfall@intel-research.net, mallman@guns.grc.nasa.gov, tsvwg@ietf.org
Sender: tsvwg-admin@ietf.org
Errors-To: tsvwg-admin@ietf.org
X-Mailman-Version: 1.0
Precedence: bulk
List-Id: Transport Area Working Group <tsvwg.ietf.org>
X-BeenThere: tsvwg@ietf.org

Included message from "Henderson, Thomas R" <thomas.r.henderson@boeing.com>:

>----
>I agree that the behavior described above is incorrect, but one could arrive
>at that kind of implementation the way things are worded now (proof by
>example, in the paper cited).  You mention that "Update() MAY continue to be
>used..." after timeout, but this text seems to be referring mainly to the
>ability of the sender to capitalize on new SACK information to prevent
>unnecessary retransmission.  I don't think it is clear that pipe control is
>off after a timeout, nor is it clear when to turn it back on (I think that
>you want to have it on during fast recovery phase, but perhaps that should
>be stated).

Actually, I don't think implementors are likely to arrive at the
above suggested behavior.  The reason is simply that SACK info should 
probably be discarded after a TCP timeout.  If I remember correctly,
this is stated in the original SACK RFC (forgot if it is a SHOULD
or MUST).  This is to prevent from a bad situation in which the 
receiver discards SACK'ed data.  This is an unlikely event and is 
discouraged.  But it can happen because the receiver is running out 
of memory and has to discard SACK'ed data, otherwise it will not be 
able to receive the in sequence retransmitted segment, causing a 
deadlock.

>But are you then suggesting that you prefer the option I described above of
>resetting HighData (that is, allowing for a fast retransmit after timeout if
>you get dupacks before you have finished retransmitting past HighData)?
>That option would lower the possibility of an additional timeout, at the
>cost of possibly reducing cwnd due to false fast retransmissions.

Given the fact that the sender has to discard SACK info received
before the timeout, I guess it may not be a good idea to reset 
HighData.  I agree with Ethan that the conservative approach is
just to do a normal slow start after a timeout.

>----


							K. Poon.


_______________________________________________
tsvwg mailing list
tsvwg@ietf.org
https://www1.ietf.org/mailman/listinfo/tsvwg