Re: [tcpm] RACK - variable explanation

"Scheffenegger, Richard" <rs.ietf@gmx.at> Mon, 03 December 2018 08:34 UTC

Return-Path: <rs.ietf@gmx.at>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A3599126C01 for <tcpm@ietfa.amsl.com>; Mon, 3 Dec 2018 00:34:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
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 86ZqMSE2n0Vs for <tcpm@ietfa.amsl.com>; Mon, 3 Dec 2018 00:34:50 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 013B612777C for <tcpm@ietf.org>; Mon, 3 Dec 2018 00:34:49 -0800 (PST)
Received: from [0.0.0.0] ([213.143.121.76]) by mail.gmx.com (mrgmx001 [212.227.17.190]) with ESMTPSA (Nemesis) id 0LgYuT-1hF9rS2wr7-00o2XD; Mon, 03 Dec 2018 09:34:36 +0100
To: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Cc: Neal Cardwell <ncardwell=40google.com@dmarc.ietf.org>, Felix Weinrank <weinrank@fh-muenster.de>, "tcpm@ietf.org" <tcpm@ietf.org>
References: <8d43389c-93c1-899d-37ab-808c471eed47@fh-muenster.de> <CADVnQymCDpqTxwVLv0WYZvj84msfXf7OzfHYfj=d7Uj-pCHmFQ@mail.gmail.com> <632bc671-4294-5eb3-ff8a-8c7dd492beb1@fh-muenster.de> <CADVnQymfVD5bZ-q4mdxDhPEg=R5igiueHG+3nJF8DTEKn4ngVQ@mail.gmail.com> <5f27394f-5f88-457d-5a2a-8ce4fcd80202@gmx.at> <alpine.DEB.2.20.1811281745410.5188@whs-18.cs.helsinki.fi>
From: "Scheffenegger, Richard" <rs.ietf@gmx.at>
Message-ID: <5e86631c-98f2-4945-c70e-ab00d1beb348@gmx.at>
Date: Mon, 03 Dec 2018 09:34:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.2
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.20.1811281745410.5188@whs-18.cs.helsinki.fi>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Provags-ID: V03:K1:5GNbNYSr3P8JkXWfB63h3Gr1QTY40KEev/8C0aJz208s9SZ0W87 cF/1ru2JG+N+wJBYO7AoJQXaMlAKkrZWsT29dQBzAgK6lRBVUOUfwG2GUZNWiriu+4iZs6Q oDcL/SXHuShPUrZfAr07Tpe+FvpHVKhdX3UYfdS/EXH2a368LEAHUehCkSP7x2aNpOwWuDr PyOyjqaLetmk8eV7uCGmA==
X-UI-Out-Filterresults: notjunk:1;V03:K0:AMtDJCl4ldI=:cRy4tOB460Erfc4yjt3Nf9 U7YIYZ27sXs1oqPhI0vv6CxbQd1xUL3CvSfOKxG+vXbdIB+Y/0pqx3VkxKJq1UspRSvCIhSZP QckHGsdjd8/ckqhdVsUnzH7ZvQX9lChD9g682rSdYZXu10S0j4syMtZIn2tGdkUgTDxblkBw5 OAJDfSI7R4YYuzaKl9VyborniB6/PJ2bI8X9z2vNlskedm20V/40JhLFfRy0VRDDxnhAfKD3m S7r06D4duWBs7bTid+Qg/DiNtDbRi5KfTv1Gmmwnxie8oZBzPXHzpM44aCP9A11ah8J6ZBQrn b7W1knOF+gFdsl3ycXW+HENaWwPGE0GFuqE+r1TIuADH1vxsvh8cqf0rPUG0UN2b1XLCxPMXM 5JzIJ0pGz6p7bVd7gs2Mg6i/iEhFUqs/bEPUp+CfPtuMb+erfJU58XcRbZTC64PIyGt5jSlzH b7fkV/G3T1+LOzaAqlr/2yxI6xkk9KzxqmeufhYK4c3uIriKji0SmM23EQDGTMT5n1skJ6eQr Pg1zHE9h+MEpDCb0c8uCF26azVrYsqJGeELBA2E5+2F36IJ+hhyA6F1D7s+v0QttG3aMJ2Bzb 47uJOiTkXgkXvS9NQsiTvNESabjIQqJIEzPoFky+60kAbLilil6tK3Te+nolYILYIgG6M9Rg1 ZXs0GMgOiV9qi0N8J8YmmQC2MunT53pkuCmJV59P1adXhuGI5urI9e2c9D9G8TLuxg5iQN5ER CaQUIKAYvmb5IDFkSKJKN/yrCYUO/oDaxA0Or5BbsghDG87OtqvVhxpInXz0y3QnygQvYDD8R dnnVYlrR8hJ306EOP2O+HdqsTRLzs82AUmUUGkWf1nFUFYP0Yap4h6K/ENgPJNYrZLRGJravI Hednu5Vh9j5c63qbrmuze6QV3f/YTPVujKhHT+pBF7oKUX9gUphvR6mmK9uqfK
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/JyWgU4ZGl-zzvR4UXPa3fJ1Xyaw>
Subject: Re: [tcpm] RACK - variable explanation
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Mon, 03 Dec 2018 08:34:52 -0000


Am 28.11.2018 um 16:56 schrieb Ilpo Järvinen:
> On Wed, 28 Nov 2018, Richard Scheffenegger wrote:
>> Am 22.11.2018 um 17:16 schrieb Neal Cardwell:
>>> On Thu, Nov 22, 2018 at 10:28 AM Felix Weinrank <weinrank@fh-muenster.de>
>>> wrote:
>>>>
>>>> I don't completely understand the following check:
>>>>
>>>>           If RACK.reordering_seen is FALSE:
>>>>               If in loss recovery:  /* If in fast or timeout recovery */
>>>>                   RACK.reo_wnd = 0
>>>>                   Return
>>>>               Else if RACK.pkts_sacked >= RACK.dupthresh:
>>>>                   RACK.reo_wnd = 0
>>>>                   return
>>>>
>>>> The Draft says:
>>>> "RACK.pkts_sacked" returns the total number of packets selectively
>>>> acknowledged in the SACK scoreboard.
>>>>
>>>> Whats the purpose of this check: RACK.pkts_sacked >= RACK.dupthresh
>>>
>>> This is the traditional TCP Fast Retransmit heuristic, described in
>>> https://tools.ietf.org/html/rfc5681 in section 3.2, and
>>> https://tools.ietf.org/html/rfc6675 in section 5, and the older
>>> https://tools.ietf.org/html/rfc2001 in section 3.
>>
>> To be pedandic, only RFC3517 and RFC6675 would be applicable directly, as RACK
>> requires SACK support.
>>
>> Also, RFC6675 explicitly shortened the trigger condition from receiving 3
>> DupACKs down to FACK > (dupthresh - 1)*SMSS.
> 
> Where does that "FACK" part come from? Not from RFC6675 for sure. The
> condition given in RFC6675 requires at least that many bytes to be
> acknowledged by SACK blocks to trigger recovery, not just sequence
> distance like FACK does.
:
:
> 
> RFC6675 algorithm requires a positive proof that at least 3 MSS sized
> packets were delirered. The algorithm just doesn't use dup ACK as a proxy
> for that but bases the decision on scoreboard details only. Maybe you're
> misreading the RFC6675 somehow?

Indeed, sorry for my confusion. So to sum up, entering LR with RACK has 
the same trigger condition as RFC6675 SACK. I did misread the 
IsLost(SeqNum) description there.