Re: [tcpm] [EXTERNAL] Re: A review of draft-ietf-tcpm-rack-10

Yi Huang <huanyi@microsoft.com> Mon, 21 September 2020 22:18 UTC

Return-Path: <huanyi@microsoft.com>
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 0A7143A0BC4 for <tcpm@ietfa.amsl.com>; Mon, 21 Sep 2020 15:18:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.795
X-Spam-Level:
X-Spam-Status: No, score=-3.795 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.695, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.com
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 o-2VH0hiewr0 for <tcpm@ietfa.amsl.com>; Mon, 21 Sep 2020 15:18:03 -0700 (PDT)
Received: from NAM06-BL2-obe.outbound.protection.outlook.com (mail-eopbgr650133.outbound.protection.outlook.com [40.107.65.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 512A23A0BC1 for <tcpm@ietf.org>; Mon, 21 Sep 2020 15:18:03 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kIPtm4Fuy/sDaDb/LVfK5Ox2cho4MhxefGcvH6n3vf7Sa4OBcV47Z+SyvKPiK7CVFGqiarstqxGwPOduvkfX56h6fjx2/OErZspFGiHn2sx56/kCuIVDD6cTi1DVpcw8AsugGJA28fJoSHFy63MmRDWy+Jwpp7yWy0oWctdLFgtEL4zEUmkfDTpk1DWxm9QghiK85yy28Aa4F79XIpXLuK5QPi7ttsF9xFi7RXBYgyAnVpFkJ66bru9OaYFEOG3dOkKTS5YC8E3+B+eOOB8ZgXKtq2fK58X3ZNuA3ZUu4v5gJtbTBfpcocg3A040NCduBFBmaHH+K9CICmKAf0AhKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YFcTwh3M5mMO5heBJoS9v/mn1hGWAZGllfAqU5nDcmk=; b=V8OobSQH8VgZ+BxJt2izZKjOEnAHq+QTTgCAbOZgVcLFIXbHMuQxCzNge/yQJ/1J++qkEub7KOuneblHq5YYPyXuQVgRHzwqI3D7nB7vU+e7UEQZvXHLaTy/lgB/qagMJ3zoFo2RV91LX0+36HGA1R1EYqnVnd5JyqOcZfIQedHDMQxQZU6zEQbji2w4xmoZtxj7djvhx3aMAO3dzTz4bsJTNVOnx27BDeVOyjK6BWnz6IzWOkuKO5M2lOtQFmecKAgExfJ363cz6V69Nx2QiYnqLWwYx+LYiDAReow2v6II1vRrSKiWMqgCdKoJYc+cWX6/djd+N2jDKBzPEmpEjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YFcTwh3M5mMO5heBJoS9v/mn1hGWAZGllfAqU5nDcmk=; b=BPg1s1ofsCFg6YzqMAPWKJUSuDXjJ+1DnD5pzicrUgBNqG/JLokRPgHsaPM+auz39pMZI3PM/kzkLgQ8XptU8yQrDPt7spolqOxIeuEIDESpTbDPc2iIwucsO4sQkG1ysKqbqtRPM3x9p1MnA0G5V/WeY4OLsCGP4P/pznlGctI=
Received: from (2603:10b6:408:a1::17) by BN3PR00MB0066.namprd00.prod.outlook.com (2a01:111:e400:c5f3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3442.0; Mon, 21 Sep 2020 22:18:00 +0000
Received: from BN8PR00MB0865.namprd00.prod.outlook.com ([fe80::e413:e863:934e:7eb2]) by BN8PR00MB0865.namprd00.prod.outlook.com ([fe80::e413:e863:934e:7eb2%6]) with mapi id 15.20.3442.000; Mon, 21 Sep 2020 22:18:00 +0000
From: Yi Huang <huanyi@microsoft.com>
To: Yuchung Cheng <ycheng=40google.com@dmarc.ietf.org>, Yi Huang <huanyi=40microsoft.com@dmarc.ietf.org>
CC: "tcpm@ietf.org" <tcpm@ietf.org>
Thread-Topic: [EXTERNAL] Re: [tcpm] A review of draft-ietf-tcpm-rack-10
Thread-Index: AdaPr6OwWgwL5n+GTQqpxYshj1XvWgAsevyAAABE1+A=
Date: Mon, 21 Sep 2020 22:18:00 +0000
Message-ID: <BN8PR00MB0865EDE924F6CFD1F7C36B3BC33A1@BN8PR00MB0865.namprd00.prod.outlook.com>
References: <BN8PR00MB0865B2186EA60FE71BA6CBC9C33A1@BN8PR00MB0865.namprd00.prod.outlook.com> <CAK6E8=cUx56R1-By+4GbJsMtjsi+geJwH1PPwH=8A4Tbv=khDg@mail.gmail.com>
In-Reply-To: <CAK6E8=cUx56R1-By+4GbJsMtjsi+geJwH1PPwH=8A4Tbv=khDg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=deb7b475-7ce5-410a-88f8-3d03627f0d68; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2020-09-21T22:00:37Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47;
authentication-results: dmarc.ietf.org; dkim=none (message not signed) header.d=none;dmarc.ietf.org; dmarc=none action=none header.from=microsoft.com;
x-originating-ip: [2601:600:877f:ac89:6c9a:d6c0:4681:a17f]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 80851948-954f-4a9f-e626-08d85e7c3382
x-ms-traffictypediagnostic: BN3PR00MB0066:
x-microsoft-antispam-prvs: <BN3PR00MB00662806484519EF94C8239EC33A1@BN3PR00MB0066.namprd00.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Cf8uL8q4ORTQwfFJuYRPXyT6LUueNXEUTtmuiBrq63MkIEC42L+rT5Oj9BZMgflyKd8vBlHQTO7K+VhE2SUUbvaOa3o82vbmhC3aeUB2DMr+E8O/dga5kJsnwdfSK2dHH6pvrxm8S4lPdgawXGlJvCHzKRotEJvlLP++FWxZtUZ8hV7kuK+oycTMsP2y2S6mPG9AEHDwirV1pDtXqGtE+1hYBHD7CbwIw5tspoSvDS02Vhaa6eVLK7i3uDrYWLdaqf6yeEEW3XRWqekFqvS3QNCNChTogZMz2ricVwPyx68+vfkxl3HpkiHmAuBe30bhWV9izE3BFjzCgOESl3YVNwLjK+8q/hgj2Coa0/W3ysop9Q4faZ6MKtvV6iDbwGqsW5EIgZUckHoTht5e7xP7Hg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN8PR00MB0865.namprd00.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(346002)(136003)(396003)(376002)(39860400002)(478600001)(71200400001)(9686003)(8676002)(53546011)(5660300002)(110136005)(316002)(7696005)(55016002)(83380400001)(186003)(6506007)(83080400001)(8936002)(10290500003)(52536014)(966005)(66446008)(76116006)(33656002)(4326008)(64756008)(66556008)(66946007)(66476007)(8990500004)(2906002)(82960400001)(82950400001)(86362001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: rwglgf+FM8KBDFK2iTYKUw/+z80b8/w05rV+57GwAhYtL2kLm7m3sn3Llp2IYY87NooQcsXUgGIIiBbLqt2DYFQYd9xd1FQBve1ydxs52RADFgRjolWUTgrddFf5SRHO4anFQtkCIhxa4qKR6VTwzPisZ2mLULCvLPL8D8qEaJOpHhfeJ5p2XkBwCcokjCu0z/H3RrLwyknUOmNm6zNwRbOAHhlQZ59SXS0nas7JwSIvHEWLclrvQ1NDEi/S4lJQJoM/AmLDhXYoRbTeYa+03/QiyY4LMTFBylH78nfUGsbDdfpL+OID5IlN21DCnuGmzoi7aESlyvGIn1IJZbqPMjDNgOQKa7WunJvJq/+JOWilwPsCYpE79kdzvq/T98xjbMBmet2hdUPdlzCNXyUJN4km/5d4aB0jazKuUDp2OykggdZTNBuWzwYx4Y/KFtaamXb9vJaTZLDRPiezOY33T5DzUhqBZLbOTjMNeCoI2UXE6EaDdnrKl+04/KMcaBk9Nau/eDum0rj1MZJ3bYrYdS4/AD2lPjieEClg/YxqWL4f7+UnobzVii55RCAs6IQXPtyJGgW2Xucre20RK8tIJcjC128VdiXV9x/W/ij0t8aZycnnUOMZ5tnEzKZbRgMt7BDGMHC69PqN2iMj4jsqXgKSeToH6UcnDBXMVlMnaoDxNoCXMLTJC+LstAO5pZ6hn0/aESYWH+vjmkx7Tx8Tqg==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN8PR00MB0865.namprd00.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 80851948-954f-4a9f-e626-08d85e7c3382
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Sep 2020 22:18:00.5407 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /hbwlonKJ39WwG50t3ELK6j0FxhIWcfCfQV0aHsURRtfDxgcm0YdTqx19wSvx5aBhJXnV2CMqE8JUSonbcMx1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR00MB0066
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/xiPNBnEF-66T_LSKWMUXADthe3Y>
Subject: Re: [tcpm] [EXTERNAL] Re: A review of draft-ietf-tcpm-rack-10
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, 21 Sep 2020 22:18:05 -0000

Thanks Yuchung, I responded inline.

-----Original Message-----
From: tcpm <tcpm-bounces@ietf.org> On Behalf Of Yuchung Cheng
Sent: Monday, September 21, 2020 2:53 PM
To: Yi Huang <huanyi=40microsoft.com@dmarc.ietf.org>
Cc: tcpm@ietf.org
Subject: [EXTERNAL] Re: [tcpm] A review of draft-ietf-tcpm-rack-10

On Sun, Sep 20, 2020 at 6:16 PM Yi Huang <huanyi=40microsoft.com@dmarc.ietf.org> wrote:
>>
>> Hi,
>>
>> I reviewed the latest version of RACK-TLP draft and have a few comments/questions.
>>
>> 1. In section 5.1, "Segment.retransmitted is true if it was retransmitted in the most recent transmission."
>> There are also pseudo-code explaining how retransmitted flag is set. AFAICT, retransmitted is set if the segment is ever retransmitted since the flag is never reset. Is this variable supposed to mean ever retransmitted?
>Thanks for catching that. Segment.retransmitted MUST be reset upon a (re)transmission so it does not ever-retransmitted (i.e. it's only meant for the very last transmission)

> RACK_transmit_data(Segment):
>           Segment.xmit_ts = Now()
>           Segment.lost = FALSE
>           Segment.retransmitted = FALSE

>   RACK_retransmit_data(Segment):
>           RACK_transmit_data(Segment)
>           Segment.retransmitted = TRUE

Sorry, I still don't quite get it. RACK_transmit_data is for previously unsent data (aka new data) right? If so, it will be only called once for a given segment. Then, RACK_retransmit_data only sets it to TRUE. So where do we reset it? Looks like we still just initialize it to FALSE and set it to TRUE upon retransmission.

>>
>> 2. In section 6.2, p14,
>> "   If the sender has not yet observed any reordering based on the
>>    previous step, then RACK prioritizes quick loss recovery by using
>>    setting RACK.reo_wnd to 0 when the number of SACKed segments exceeds
>>    DupThresh, or during loss recovery.
>>
>>    Aside from those special conditions, RACK starts with a conservative
>>    reordering window of RACK.min_RTT/4.  This value was chosen because
>>    Linux TCP used the same factor in its implementation to delay Early
>>    Retransmit [RFC5827] to reduce spurious loss detections in the
>>    presence of reordering, and experience showed this worked reasonably
>>    well [DMCG11]."
>>
>> If I understand this correctly, if no reordering observed, TCP should still enter loss recovery when DupACK >= DupThresh (RFC6675). If reordering has been seen, this RFC6675 rule is not honored and TCP only enters loss recovery when RACK detects loss? I think it would be great to clarify this in the spec.

> Your understanding is correct. will this text revision improves clarity"
> ""
> If no reordering has been observed based on the previous step, the sender enters Fast Recovery when the number of SACKed segments exceeds DupThresh (similar to RFC6675). The RACK.reo_wnd is set to 0 both upon entering and during the loss recovery.

> Otherwise if some reordering has been observed, RACK does not honor
RFC6675 rule and starts with a conservative RACK.reo_wnd of RACK.min_RTT/4. This .... reasonably well [DMCG11].
> ""

Yeah, that's pretty clear now.

> "   If the sender has not yet observed any reordering based on the
>    previous step, then RACK prioritizes quick loss recovery by using
>    setting RACK.reo_wnd to 0 when the number of SACKed segments exceeds
>    DupThresh, or during loss recovery.
>
>    Aside from those special conditions, RACK starts with a conservative
>    reordering window of RACK.min_RTT/4.  This value was chosen because
>    Linux TCP used the same factor in its implementation to delay Early
>    Retransmit [RFC5827] to reduce spurious loss detections in the
>    presence of reordering, and experience showed this worked reasonably
>    well [DMCG11]."
>
> 3. [NIT] In section 8, " Zero window probe (ZWP) timer" -> "Zero Window Probe (ZWP) timer".
will fix thanks
>
> Thanks,
>
> Yi
>
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.
> ietf.org%2Fmailman%2Flistinfo%2Ftcpm&amp;data=02%7C01%7Chuanyi%40micro
> soft.com%7C71748af3b9ae4232346008d85e78d063%7C72f988bf86f141af91ab2d7c
> d011db47%7C1%7C0%7C637363220297828477&amp;sdata=eHYh0FXRGNS8T2LFq8szgH
> x43Hsfwlrog%2BZxQwJyiq0%3D&amp;reserved=0

_______________________________________________
tcpm mailing list
tcpm@ietf.org
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Ftcpm&amp;data=02%7C01%7Chuanyi%40microsoft.com%7C71748af3b9ae4232346008d85e78d063%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637363220297828477&amp;sdata=eHYh0FXRGNS8T2LFq8szgHx43Hsfwlrog%2BZxQwJyiq0%3D&amp;reserved=0