Re: [Tsvwg] resolving the problem of unnecessary fast retransmits in go-back-N

Mark Allman <mallman@grc.nasa.gov> Mon, 04 August 2003 15:28 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 SMTP id LAA01419 for <tsvwg-archive@odin.ietf.org>; Mon, 4 Aug 2003 11:28:19 -0400 (EDT)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19jgtW-00014G-MR for tsvwg-archive@odin.ietf.org; Mon, 04 Aug 2003 11:05:07 -0400
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id h74F56wu004105 for tsvwg-archive@odin.ietf.org; Mon, 4 Aug 2003 11:05:06 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19jgtS-00011D-Sz; Mon, 04 Aug 2003 11:05:02 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19jgsk-0000zR-DC for tsvwg@optimus.ietf.org; Mon, 04 Aug 2003 11:04:18 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with SMTP id LAA00808 for <tsvwg@ietf.org>; Mon, 4 Aug 2003 11:04:11 -0400 (EDT)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 19jgdK-0002Yo-00 for tsvwg@ietf.org; Mon, 04 Aug 2003 10:48:22 -0400
Received: from seraph3.grc.nasa.gov ([128.156.10.12]) by ietf-mx with esmtp (Exim 4.12) id 19jgdJ-0002YY-00 for tsvwg@ietf.org; Mon, 04 Aug 2003 10:48:21 -0400
Received: from lombok-fi.lerc.nasa.gov (lombok-fi.grc.nasa.gov [139.88.112.33]) by seraph3.grc.nasa.gov (Postfix) with ESMTP id 7BE3A6BA58 for <tsvwg@ietf.org>; Mon, 4 Aug 2003 10:47:39 -0400 (EDT)
Received: from guns.grc.nasa.gov (guns.grc.nasa.gov [139.88.122.88]) by lombok-fi.lerc.nasa.gov (NASA GRC 8.12.9/8.12.9) with ESMTP id h74ElcrE003613; Mon, 4 Aug 2003 10:47:38 -0400 (EDT)
Received: from guns.lerc.nasa.gov (localhost.lerc.nasa.gov [127.0.0.1]) by guns.grc.nasa.gov (Postfix) with ESMTP id 379AE3BB3CD; Mon, 4 Aug 2003 10:47:38 -0400 (EDT)
To: Andrei Gurtov <gurtov@cs.helsinki.fi>
From: Mark Allman <mallman@grc.nasa.gov>
Reply-To: mallman@grc.nasa.gov
Cc: tsvwg@ietf.org
Subject: Re: [Tsvwg] resolving the problem of unnecessary fast retransmits in go-back-N
In-Reply-To: <3F25B467.9020609@cs.helsinki.fi>
Organization: BBN Technologies/NASA GRC
Song-of-the-Day: My City of Ruin
Date: Mon, 04 Aug 2003 10:47:38 -0400
Message-Id: <20030804144738.379AE3BB3CD@guns.grc.nasa.gov>
Sender: tsvwg-admin@ietf.org
Errors-To: tsvwg-admin@ietf.org
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>

(way late, as usual ... sorry)

> The long-term solution to this problem is SACK (to prevent
> unnecessary retransmissions) and DSACK (to resolve the DUPACK
> ambiguity if unnecessary retransmissions do happen).  However,
> most TCP connections today still do not use SACK.
> http://www.icir.org/floyd/sack-questions.html
> 
> Until SACK is universally deployed two methods to resolve the
> DUPACK ambiguity might be useful.

First, I am not sure I am willing to believe that SACK is not pretty
well deployed.  3 years ago I reported 40% of the web clients that
hit our web server here at NASA were using SACK (and the trend was
growing steadily) [All00].  I don't have good data from that server
right now, but I took a quick look at a server at BBN that I have
been monitoring for the last ~11 days.  In that time I have seen
6545 web connections (yeah, not terribly heavy traffic) and 6183 of
the remote hosts (94%) advertised SACK.  That seems like pretty good
deployment to me.

I am not sure what that says about additional "bugfix" tricks.  Do
we need them?  Do we not need them?  The above data is not
necessarily conclusive or representative.  The changes would add
complexity to a TCP implementation.  On the other hand, not that
much complexity and maybe would provide a decent enough win.  But,
when do we stop patching known suboptimal recovery?  Etc., Etc.,
Etc.    ??????

> ACK-heuristic: if seq(ack_new)-seq(ack_prev)<=2 MSS then trigger
> fast retransmit on 3rd DUPACK This method is based on observation
> that to trigger a false fast retransmit, a TCP sender has to
> retransmit unnecessarily at least 3 adjucent packets. In this case
> there will be a jump in a cumulative ACK at the sender of at least
> three segments.

I am trying to wrap my head around this and cannot yet do so.  Can
you define "ack_new" and "ack_prev"?  Are these the two ACKs before
duplicate ACKs start rolling in?

> Using the timestamp option: if ts_echo(ack_new) == ts (seg_una)
> then trigger fast retransmit on 3rd DUPACK In case of a missing
> segment both RFC1323 or RFC1323bis (expired update draft) require
> that DUPACKs echo a timestamp from the segment below the missing
> one.

Timestamps are less prevalent (by default) than SACK is, I think
(11% of the connection in the BBN trace described above, which is in
the ballpark of what was reported in [All00], too).  So, I am not
sure I think this is a practical approach.

[All00] Mark Allman. A Web Server's View of the Transport Layer, ACM
    Computer Communication Review, 30(5), October 2000.
    http://roland.grc.nasa.gov/~mallman/papers/webobs-ccr.ps

allman


--
Mark Allman -- BBN/NASA GRC -- http://roland.grc.nasa.gov/~mallman/

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