Re: [tcpm] New Version Notification for draft-ietf-tcpm-rtorestart-03.txt

Yuchung Cheng <ycheng@google.com> Thu, 09 October 2014 17:33 UTC

Return-Path: <ycheng@google.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DF56A1AD3E8 for <tcpm@ietfa.amsl.com>; Thu, 9 Oct 2014 10:33:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.165
X-Spam-Level:
X-Spam-Status: No, score=-2.165 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, RP_MATCHES_RCVD=-0.786, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id d1XFWnP8Yxbc for <tcpm@ietfa.amsl.com>; Thu, 9 Oct 2014 10:33:05 -0700 (PDT)
Received: from mail-ig0-x22e.google.com (mail-ig0-x22e.google.com [IPv6:2607:f8b0:4001:c05::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7E3941AD3E7 for <tcpm@ietf.org>; Thu, 9 Oct 2014 10:33:05 -0700 (PDT)
Received: by mail-ig0-f174.google.com with SMTP id a13so8191165igq.1 for <tcpm@ietf.org>; Thu, 09 Oct 2014 10:33:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=ShQR6yQeSJUIxSLWQWmogQqkjktnkkttzxrrBuXPyQI=; b=PGjewO8BGpCkydsp/ncByVyrnXgl8YlcGqi3D7bERhuClOxHQ5KTslQ07b5ZxGwtln WvFm1aPTTVU2/Uuu3KQ7ApVcbWFGGJWpLlH2zZssxs/ZUR7P+2fekfOJtnZUekfocjq3 wY228kcIgxu0vHCn+AR+MDM9zSJR26zovJlpDDz31G1FjMB2aSpAemTbhhiRWLa8E59Y 3lc94cKL5cmIyLA/bnGiGOXISaTtsNLwqMB0CB95F+rFWUzg8t+EoK4gnyco2/f85s8N Rw0ObsqQmzsxy+7dnZCq332heD3Xh6GSA9ZhJtHl9tt77wxkG7HQWquz3UxEHvuKZT2v s4Tw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:content-transfer-encoding; bh=ShQR6yQeSJUIxSLWQWmogQqkjktnkkttzxrrBuXPyQI=; b=mm/TK+9YDtYAgltXJ1dp0oBELr7I3mePo5EcgztyeosM5LEeT+ySk+YBDr27VwIuPn 6iq8q5xm2RUc9/RWRrkoSg7X5O26NrdQEqtflW6SKKNSHCMd4Cn5mMa3cTK6Ti720tqR 89yQFZhPGeHfrv3IJM3rPGKJ9+ZGIFrQED1glakRj66Z6vQkol7dAS3StWoITMf+D2vO gK49cdjDo8hmL1p9aIW+vYPMC+wenZWp31uW6h5U/R8aOZG54boW9Ny91KG8RLKqffLY C5+9wbz9Y3oXCWG6N6gCvibjW77hFhjzVpvPksFu+Lfg+8EtLgnCRdMleqnAG99MMQZi ZH7Q==
X-Gm-Message-State: ALoCoQl03iTkj57C6x3zvi/dpA2XBrAEBMq1e9MOTH4pj+kBhwbACOhJpp//cL4MdU7KaAk3rwzJ
X-Received: by 10.50.66.36 with SMTP id c4mr58569915igt.48.1412875984814; Thu, 09 Oct 2014 10:33:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.59.168 with HTTP; Thu, 9 Oct 2014 10:32:24 -0700 (PDT)
In-Reply-To: <CD5BCB4E-7C60-48DC-A9CE-1CAD0616D6F5@iki.fi>
References: <20140704120244.14835.6363.idtracker@ietfa.amsl.com> <53B699B4.8000203@kau.se> <3678_1412785121_543563E1_3678_72_1_CAK6E8=d9JgqNkCoyrnMZ9W-V-hRWtE=YWqwsfzufq-JPAvShPA@mail.gmail.com> <CD5BCB4E-7C60-48DC-A9CE-1CAD0616D6F5@iki.fi>
From: Yuchung Cheng <ycheng@google.com>
Date: Thu, 09 Oct 2014 10:32:24 -0700
Message-ID: <CAK6E8=dbdEo5vwqTfxyGz+edM_CDA18=Z6+8vUaZYWFG+xshUQ@mail.gmail.com>
To: Pasi Sarolahti <pasi.sarolahti@iki.fi>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/yOeUgvQQ9ZKK8KquQWjqGRhABQE
Cc: "tcpm@ietf.org Extensions" <tcpm@ietf.org>
Subject: Re: [tcpm] New Version Notification for draft-ietf-tcpm-rtorestart-03.txt
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 09 Oct 2014 17:33:08 -0000

On Thu, Oct 9, 2014 at 2:34 AM, Pasi Sarolahti <pasi.sarolahti@iki.fi> wrote:
> Hi,
>
> Thanks, Yuchung, for bringing this up. It reminds me of an old note I sent to the list quite a long while ago: I think it would be good if the algorithm was designed so that it cannot (even in theory) result in negative RTO values. The most straightforward way to fix this would be to include some kind of max(RTO - T_earliest, some_threshold) guard in the algorithm. It might not protect against spurious timeouts, but at least would keep the values in sensible range.

This would work but it might reduce the benefit (and adding yet
another magic threshold). A negative value is a
strong signal that the first unacked packet is lost. The problem in my
case is the reaction is not appropriate (reset cwnd again) because we
have just make some forward progress.

IMO cwnd should be reset if nothing has been delivered (no (s)acks)
for the whole RTO. It's similar philosophy like fast recovery and tail
loss probe.

>
> - Pasi
>
>
> On 08 Oct 2014, at 19:17, Yuchung Cheng <ycheng@google.com> wrote:
>
>> Hi
>>
>> I have been testing the RTO-restart in Linux (with my own
>> implementation) and noticed an interesting issue.
>>
>> Section 4 says:
>>
>>      (3)  Restart the retransmission timer so that it will expire after
>>           "RTO - T_earliest" seconds (for the current value of RTO).
>>
>> What if RTO - T_earliest <= 0? this implies the retransmission is
>> past due and we should timeout?
>>
>> But consider this case:
>> T0: send 3 packets. RTO is 1s
>> T1000: timeout, retransmit packet 1. cwnd=1, rto=2000
>> T3000: timeout again. retransmit packet 2. cwn=1, rto=4000
>> T3050: receive ACK1
>>
>> At this moment, if the connection uses TS-opt, we'll take a new RTT
>> sample and reset rto to 1s (for example).
>> Since T_earliest = 3050, RTO - T_earliest = -2050.
>>
>> Without RTO-restart we'll slow start cwnd from 1 to 2 and retransmit
>> packet 2 and packet 3.
>> But with RTO-restart, if we timeout immediately, we'll reset cwnd to 1
>> and only retransmit packet 2 b/c cwnd is smaller.
>>
>> I think a better response is to consider the first unacked packet is
>> lost, but not necessarily reset cwnd to 1. bc in this
>> case the connection is making forward progress, and the lost of packet
>> 2 is really caused by a much older event.
>>
>> We can tweak the example so that RTO - T_earliest is not negative but
>> a very small value, and the same issue may occur (e.g., resetting cwnd
>> while connection is making forward progress)
>>
>>
>> On Fri, Jul 4, 2014 at 5:10 AM, Per Hurtig <per.hurtig@kau.se> wrote:
>>> Hi all,
>>>
>>> the newest version of the RTO restart (RTOR) draft address the issues
>>> pointed out in Alexander's review. A summary of changes is shown below.
>>>
>>> We've also performed a series of experiments to assess RTOR's performance.
>>> Results from these experiments can be found at:
>>>
>>> http://riteproject.eu/resources/rto-restart/#the-benefits
>>>
>>> o  Updated the document to use "RTOR" instead of "RTO Restart" when
>>>   refering to the modified algorithm.
>>>
>>> o  Moved document terminology to a section of its own.
>>>
>>> o  Introduced the rrthresh variable in the terminology section.
>>>
>>> o  Added a section to generalize the tracking of outstanding
>>>   segments.
>>>
>>> o  Updated the algorithm to work when the number of outstanding
>>>   segments is less than four and one segment is ready for
>>>   transmission, by restarting the timer when new data has been sent.
>>>
>>> o  Clarified the relationship between fast retransmit and RTOR.
>>>
>>> o  Improved the wording throughout the document.
>>>
>>>
>>> Cheers,
>>> Per
>>>
>>>
>>> -------- Original Message --------
>>> Subject: New Version Notification for draft-ietf-tcpm-rtorestart-03.txt
>>> Date: Fri, 04 Jul 2014 05:02:44 -0700
>>> From: internet-drafts@ietf.org
>>> To: Andreas Petlund <apetlund@simula.no>, "Andreas Petlund"
>>> <apetlund@simula.no>, "Michael Welzl" <michawe@ifi.uio.no>, Per Hurtig
>>> <per.hurtig@kau.se>, Michael Welzl <michawe@ifi.uio.no>, "Per Hurtig"
>>> <per.hurtig@kau.se>, Anna Brunstrom <anna.brunstrom@kau.se>, "Anna
>>> Brunstrom" <anna.brunstrom@kau.se>
>>>
>>>
>>> A new version of I-D, draft-ietf-tcpm-rtorestart-03.txt
>>> has been successfully submitted by Per Hurtig and posted to the
>>> IETF repository.
>>>
>>> Name:           draft-ietf-tcpm-rtorestart
>>> Revision:       03
>>> Title:          TCP and SCTP RTO Restart
>>> Document date:  2014-07-04
>>> Group:          tcpm
>>> Pages:          13
>>> URL: http://www.ietf.org/internet-drafts/draft-ietf-tcpm-rtorestart-03.txt
>>> Status:         https://datatracker.ietf.org/doc/draft-ietf-tcpm-rtorestart/
>>> Htmlized:       http://tools.ietf.org/html/draft-ietf-tcpm-rtorestart-03
>>> Diff: http://www.ietf.org/rfcdiff?url2=draft-ietf-tcpm-rtorestart-03
>>>
>>> Abstract:
>>>   This document describes a modified algorithm for managing the TCP and
>>>   SCTP retransmission timers that provides faster loss recovery when
>>>   there is a small amount of outstanding data for a connection.  The
>>>   modification, RTO Restart (RTOR), allows the transport to restart its
>>>   retransmission timer more aggressively in situations where fast
>>>   retransmit cannot be used.  This enables faster loss detection and
>>>   recovery for connections that are short-lived or application-limited.
>>>
>>>
>>>
>>>
>>>
>>> Please note that it may take a couple of minutes from the time of submission
>>> until the htmlized version and diff are available at tools.ietf.org.
>>>
>>> The IETF Secretariat
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> tcpm mailing list
>>> tcpm@ietf.org
>>> https://www.ietf.org/mailman/listinfo/tcpm
>>
>> _______________________________________________
>> tcpm mailing list
>> tcpm@ietf.org
>> https://www.ietf.org/mailman/listinfo/tcpm
>