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

Andrei Gurtov <gurtov@cs.helsinki.fi> Wed, 06 August 2003 01:35 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 VAA05555 for <tsvwg-archive@odin.ietf.org>; Tue, 5 Aug 2003 21:35:29 -0400 (EDT)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19kDCi-0008TQ-8l for tsvwg-archive@odin.ietf.org; Tue, 05 Aug 2003 21:35:04 -0400
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id h761Z4Cl032569 for tsvwg-archive@odin.ietf.org; Tue, 5 Aug 2003 21:35:04 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19kDCf-0008SY-3g; Tue, 05 Aug 2003 21:35:01 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19kDCR-0008Rr-HD for tsvwg@optimus.ietf.org; Tue, 05 Aug 2003 21:34:47 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id VAA05509 for <tsvwg@ietf.org>; Tue, 5 Aug 2003 21:34:42 -0400 (EDT)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 19kDCO-0007IB-00 for tsvwg@ietf.org; Tue, 05 Aug 2003 21:34:44 -0400
Received: from courier.cs.helsinki.fi ([128.214.9.1] helo=mail.cs.helsinki.fi) by ietf-mx with esmtp (Exim 4.12) id 19kDCN-0007I8-00 for tsvwg@ietf.org; Tue, 05 Aug 2003 21:34:43 -0400
Received: from cs.helsinki.fi (clam.ICSI.Berkeley.EDU [::ffff:192.150.186.141]) (AUTH: PLAIN gurtov, TLS: TLSv1/SSLv3,128bits,RC4-MD5) by mail.cs.helsinki.fi with esmtp; Wed, 06 Aug 2003 04:34:32 +0300
Message-ID: <3F305B27.2080107@cs.helsinki.fi>
Date: Tue, 05 Aug 2003 18:34:31 -0700
From: Andrei Gurtov <gurtov@cs.helsinki.fi>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021003
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: mallman@grc.nasa.gov
CC: tsvwg@ietf.org
Subject: Re: [Tsvwg] resolving the problem of unnecessary fast retransmits in go-back-N
References: <20030804144738.379AE3BB3CD@guns.grc.nasa.gov>
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
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>
Content-Transfer-Encoding: 7bit

>
>
>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 don't claim to know the answer, but what data on Sally's page tells is 
that although many SYNs have a SACK-perm option only few SYN-ACKs have 
it. It may mean that either web servers are using some old OS that do 
not support SACK or that they don't want to bother with extra overhead 
of keeping SACK state.

If SACK is universally deployed why would we be updating NewReno RFC?

>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.    ??????
>  
>
I'll send some scenarios next week that might motivate the need for it. 
I think that since implementing them is not a big deal and the NewReno 
draft anyway discusses the issue
it might be a good place to mention them. In the current ns2 snapshot

test-all-tcpOptions timeouts_newreno (shows DUPACKs due to a lost packet)
test-all-newreno reno2 (shows DUPACKs due to duplicate segments )

>>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?
>
ack_new has the same cum ACK as DUPACKs, ack_prev is the previous ACK before
DUPACKs

>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.
>
Well, we did publish Eifel based on timestamps. I wouldn't be surprised 
if timeouts due to bugfix are far more common than spurious timeouts in 
the Internet.

Andrei


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