Re: [TLS] Efficiency of ACKing scheme

Thomas Fossati <Thomas.Fossati@arm.com> Mon, 06 April 2020 11:02 UTC

Return-Path: <Thomas.Fossati@arm.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 602C23A0E62 for <tls@ietfa.amsl.com>; Mon, 6 Apr 2020 04:02:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=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=armh.onmicrosoft.com header.b=2a6+UmMV; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.b=2a6+UmMV
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 hJvVn0Zl74a8 for <tls@ietfa.amsl.com>; Mon, 6 Apr 2020 04:02:06 -0700 (PDT)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80053.outbound.protection.outlook.com [40.107.8.53]) (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 E1F913A0F80 for <tls@ietf.org>; Mon, 6 Apr 2020 04:01:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=N0leA3yCtAJuV68NDWADXd5aAKObG0TeifCpDc24NK0=; b=2a6+UmMVrnJ0MSiUONDxcnZYLJoRo38qWh741XlOHszbVXlj9mwTZtv1PDlINh3YqWoUAGuX6ThHSLbaDItoex/nq5XtNMWXTiACS8u87XReZ/ohaI3aztz/5nnvxJN2MLDPaG0LCilsJXMOO/Usfs7RvoCweT0AopMKM5GyrRE=
Received: from AM5P194CA0014.EURP194.PROD.OUTLOOK.COM (2603:10a6:203:8f::24) by VI1PR08MB3005.eurprd08.prod.outlook.com (2603:10a6:803:44::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2878.16; Mon, 6 Apr 2020 11:01:46 +0000
Received: from VE1EUR03FT003.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:8f:cafe::69) by AM5P194CA0014.outlook.office365.com (2603:10a6:203:8f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2878.19 via Frontend Transport; Mon, 6 Apr 2020 11:01:46 +0000
Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; ietf.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;ietf.org; dmarc=bestguesspass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT003.mail.protection.outlook.com (10.152.18.108) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.17 via Frontend Transport; Mon, 6 Apr 2020 11:01:45 +0000
Received: ("Tessian outbound 4b84da486446:v50"); Mon, 06 Apr 2020 11:01:45 +0000
X-CheckRecipientChecked: true
X-CR-MTA-CID: 87a1952992f2990d
X-CR-MTA-TID: 64aa7808
Received: from 039768e03302.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 6DBC0E12-0806-40A0-9E37-C1768BD7C921.1; Mon, 06 Apr 2020 11:01:39 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 039768e03302.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 06 Apr 2020 11:01:39 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L4kN+QP0riir4HNpPp8EmSOpqMNEgyPE5StpkrDUCD1AhS0r48myIwVlrdvTLNRLxbASG/dOPBjRI8PEisUx5SVbliQXIaqSZOPZYLx7ljAQ78kMCqhLcW/eRygfXNMrPqRNkkn80JZeEQpCXjYERWadIgD65rTnyLt0kyRtZJZZh4jGALeu05Et0rYxe3EFxj6KBVcaVCpfBK2oeEgDcEGhsp8ojeBdfvjkO5LQPMOarTKQ+9qZVVlVIyjoGq/emO6hLWQ14XjCXPhpY4Kqc2Zij0TWx/oMNfOduMWhyfYp2QLEcwxZDX3LpnNnPt6dMbK8NR3rHNJZVwyi+E/fTg==
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=N0leA3yCtAJuV68NDWADXd5aAKObG0TeifCpDc24NK0=; b=GUh2no6vyvfIAOx8IdT4tZinyD9ila1p6Eo0QLA18O1feKVX1kYbtRTyIaCma//QbcCEclIz1rsnpf7vlp6lDV0sVpiPuVqmqd8kpW8QNjYt9ITvyLyXi9beDXtk6/Wcl4hCsN+Jpf8lJQUBqt8yRb09liwYMwuQIaD3Sn+XCHV32Wd2CA4LMbdMQ8YnA6FF7/z7/HMUZyk3WEYvVYlY7HDu/q8WlYjTx344Rq+sn7InSPnCLffMli6mnlVP4bwBSvxWUVibLAF50TCdwnfzjzxhj91UbQhQzPEtgEPpx7s8Ll1qA4zZssvEjABn7aMN/fI+olBAalk7yAIjXfXm5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=N0leA3yCtAJuV68NDWADXd5aAKObG0TeifCpDc24NK0=; b=2a6+UmMVrnJ0MSiUONDxcnZYLJoRo38qWh741XlOHszbVXlj9mwTZtv1PDlINh3YqWoUAGuX6ThHSLbaDItoex/nq5XtNMWXTiACS8u87XReZ/ohaI3aztz/5nnvxJN2MLDPaG0LCilsJXMOO/Usfs7RvoCweT0AopMKM5GyrRE=
Received: from AM6PR08MB4231.eurprd08.prod.outlook.com (20.179.18.151) by AM6PR08MB3192.eurprd08.prod.outlook.com (52.135.166.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2878.19; Mon, 6 Apr 2020 11:01:38 +0000
Received: from AM6PR08MB4231.eurprd08.prod.outlook.com ([fe80::9807:78f0:434f:2b9f]) by AM6PR08MB4231.eurprd08.prod.outlook.com ([fe80::9807:78f0:434f:2b9f%7]) with mapi id 15.20.2878.018; Mon, 6 Apr 2020 11:01:38 +0000
From: Thomas Fossati <Thomas.Fossati@arm.com>
To: Martin Thomson <mt@lowentropy.net>, "tls@ietf.org" <tls@ietf.org>
Thread-Topic: [TLS] Efficiency of ACKing scheme
Thread-Index: AQHWCdUmcw6BnTFxZ0GrZHianQcZlahnnDQQgAO7OoCAAKsoAA==
Date: Mon, 06 Apr 2020 11:01:38 +0000
Message-ID: <6EC8987C-A1E0-454F-AF09-A43260EB2B56@arm.com>
References: <AM6PR08MB331820C710440F07055382739BC70@AM6PR08MB3318.eurprd08.prod.outlook.com> <AM6PR08MB331832C84A0E5D04AA5612A99BC70@AM6PR08MB3318.eurprd08.prod.outlook.com> <8fed27dc-f5eb-4104-8308-186c361781bc@www.fastmail.com>
In-Reply-To: <8fed27dc-f5eb-4104-8308-186c361781bc@www.fastmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.35.20030802
Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Thomas.Fossati@arm.com;
x-originating-ip: [82.11.185.80]
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-HT: Tenant
X-MS-Office365-Filtering-Correlation-Id: 552dc490-a0c0-4756-f45a-08d7da19e57d
x-ms-traffictypediagnostic: AM6PR08MB3192:|AM6PR08MB3192:|VI1PR08MB3005:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS: <VI1PR08MB30050871D557340052C4D0B99CC20@VI1PR08MB3005.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:2276;OLM:4125;
x-forefront-prvs: 0365C0E14B
X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR08MB4231.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(366004)(136003)(396003)(39860400002)(376002)(346002)(478600001)(8936002)(33656002)(71200400001)(36756003)(76116006)(66946007)(81166006)(64756008)(110136005)(66556008)(8676002)(26005)(91956017)(81156014)(186003)(53546011)(66446008)(316002)(86362001)(6512007)(2906002)(2616005)(6486002)(4326008)(5660300002)(6506007)(66476007); DIR:OUT; SFP:1101;
received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts)
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original: zUNx7YdJUjgZWV/nFAQYgqho+qsDE+iSlpthUxRx0IMJ7LD4VOihrDUXet9AugDz36uEAlOiScOEPwL9GulnjTXWmOsKufUxCppSBQt9Wd5Rq7mOG6HlkbA9J6+M1z6Zd5YyGPtiQpl8sXrvwW9PCBFrG74sqsDBzOLZ8unO4nmTe6to/wYB5C7oz/8v5uwqxvk2spV9ReSeILwCzvxYXAOkql0Q0NTY4q+oOqJcgW7werrXCt1qWbySfmw8bBOouG2coeec+J4nDzZ0myu3WJlYbdxBkTsieUhNQCvFX3pZsU8E7k91Dnm/N51D/byVZl7ZEmG+7qMXbA5Lu6eR/RwHgPpP84Q6mn14uH6grj8YHXTTB4QaFXwL3+0QvboyX5g5j5pY5bz9cwiwoNo7AmhtWbq5+z3ApkLXzO9OGkNqEcPBP7eBybcd7oimuOgv
x-ms-exchange-antispam-messagedata: WDgZNKK1XSKsgkzsCd9IWUdZ0XtfXlWcWrd5Xx+cesP3MOYA38ffGY93FBbvsb8l5Aa2I03zmCoKw8nK2j13hePxcuETywRjG/hStrVXPx7BXIbzwykziVx5cCSB7tS5N5uYaa94/E5sW2qrHEOonw==
Content-Type: text/plain; charset="utf-8"
Content-ID: <742D8A8C2AE16A448EF541042E3630FB@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3192
Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Fossati@arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(136003)(376002)(39860400002)(346002)(396003)(46966005)(8676002)(82740400003)(26826003)(5660300002)(26005)(86362001)(36906005)(186003)(110136005)(33656002)(81156014)(47076004)(478600001)(6506007)(6512007)(70206006)(70586007)(2906002)(316002)(81166006)(356004)(2616005)(36756003)(6486002)(8936002)(53546011)(336012)(4326008); DIR:OUT; SFP:1101;
X-MS-Office365-Filtering-Correlation-Id-Prvs: 86edbb11-aff7-4365-d4ed-08d7da19e16e
X-Forefront-PRVS: 0365C0E14B
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: I6WGe/VG/u3tR8Orf8XQgUImEZRP5eX5RrbkDt/DsKECivURmBpOJiOLA4QKR3omXxkppst3M5klywyYhmKnRL4/O7daP2iqTCOzT00uj4P17pkoa7WJn5jdvNLOIHy5AwcIx3oPZs3kq0CZp2QtbWMWuidJ9DQTVcXru3G6PmzgYGSGIwg+e8qBPhQSAVU7bc805c62gHk/rIcCc59FbW5LtsWkfc246pNDNW4Ru1soATTi2wU6biLNBx1pylQAn9nMFwHpkeJZheVH1esMhLi6QFy+Hq1cmbyQwjdKhhUJPOHwvG2rf3WEIVC5EHjZtkOh15BGrgK7DTMp0qf5aSLobiI26UpNZf3Dg9IJvhxVAERx4NZZHhLFELyLne3E12H7MvQBfZ+aKIAF9hRBA5xN4OiXvYEXOI00jaQOU4nOJ4gmxhKFPytTBen8v+PU9ln3mm/M0qFWQSl5tSKvmNLHIt06q5w2kho46TAlUVd3UqGXKgsv7ywmW566fpKswh/hCXjjRwO/+KFKRhkEHw==
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Apr 2020 11:01:45.4478 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 552dc490-a0c0-4756-f45a-08d7da19e57d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3005
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/De5hVVXe4lXcMkPuHvENg2xQnuE>
Subject: Re: [TLS] Efficiency of ACKing scheme
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Apr 2020 11:02:09 -0000

On 06/04/2020, 02:49, Martin Thomson <mt@lowentropy.net> wrote:
> I think that you are assuming a lot about how the loss recovery part
> of the sender is operating here.
>
> If you receive ACK { 1, 3 }, then it might be reasonable to assume
> that 2 got lost, but it seems to me that assuming anything about 4 is
> premature.

The spec as currently written says that the signal "ACK {1, 3}" means
"retransmit {2, (3, end]}":

   Upon receipt of an ACK for only some messages from a flight, an
   implementation SHOULD retransmit the remaining messages or
   fragments.

This works as expected only if the sender can assume that the receiver
has let enough time pass before generating ACK {1, 3}, but this is not
strongly stated in the description of receiver behaviour.

We should keep in mind that DTLS implementers are not necessarily
transport experts, and that warrants a bit more care in what we say as
well as what we don't say.  In particular, we should try hard to avoid
expert bias.

One example where we can improve: we have a nice sentence about bunching
ACKs at 25% of current RTO halfway through bullet 2 of Section 7.1.  In
fact, avoiding knee-jerk ACKing is one of the basic things to understand
here.  Incidentally, this is how one's solves Hanno's conundrum above
(at least in non-pathological cases) because "retransmit {2, (3, end]}"
would be generated when the receiver has got some confidence about 4 &
co. being actually lost.  Unfortunately, the sentence is oddly placed
and one tends to overlook it and not giving it the high and general
relevance it actually has.

> The sender can also make some adjustments, without necessarily
> adhering to a strict interpretation of the recommendations in the
> spec.

Agree again, but deciding to violate a SHOULD should be an exception,
not the rule.  If I have to implement this, especially on very
low-bandwidth paths that fragment a lot, I probably would never follow
the recommendation: I'd first re-send 3 and sit back for a while waiting
for further ACKs before resending (3, end].

> The draft is imprecise about this logic intentionally.  It recommends
> that the sender send missing data, which will likely work, and be
> fast.  For large flights, yes, this will be suboptimal, but we are
> also assuming that this data is not subject to congestion control
> limits.

Just a note: "large flights" is relative to the available bandwidth so
(very) low-bandwidth would always have suboptimal recovery even if HS
data is not congestion controlled.  And that's the environment where you
absolutely want to have a reliability scheme that is bandwidth
efficient.

> If we go to PQ schemes with large amounts of data, then that requires
> a different set of assumptions.  It might also require that
> implementations take extra steps to avoid the resulting
> inefficiencies.

True that.

Cheers!

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.