[tcpm] Review of draft-ietf-tcpm-accurate-ecn-28

Martin Duke <martin.h.duke@gmail.com> Wed, 27 March 2024 21:19 UTC

Return-Path: <martin.h.duke@gmail.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 411B7C14CEFA; Wed, 27 Mar 2024 14:19:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.107
X-Spam-Level:
X-Spam-Status: No, score=-2.107 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cmkD8TqHVjPA; Wed, 27 Mar 2024 14:19:29 -0700 (PDT)
Received: from mail-ua1-x932.google.com (mail-ua1-x932.google.com [IPv6:2607:f8b0:4864:20::932]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B3DC8C15155E; Wed, 27 Mar 2024 14:19:26 -0700 (PDT)
Received: by mail-ua1-x932.google.com with SMTP id a1e0cc1a2514c-7dacc916452so48900241.0; Wed, 27 Mar 2024 14:19:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711574365; x=1712179165; darn=ietf.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=/QA6gNs2zGM8m+JD+x6k8tuC85HpEu9A2dvrAJpmoBc=; b=b+o8T+P6ZB30aeDhx6G9LQ9pzkTc5SLkLDNXAShY5VdqH/HC4symZgGaw03Es2pcSB YlR5hCnsRrcVQ1P6upX5mCBOwVPwb8YIc2r2w0awScdaJOkAmdwFcabvnUiLmRbwp3d6 +ty13bjbtMbo9C0xIl2aScUTQLeHruxG2LJ2j29jrDZ/vvBL1+qbxVbSZr98cAg7VOFw xuZrR1K6osHiNTQ9jHFInK8OSh6CHDhg1S597COZfCIXbMUA+KJE0SC3+SNIpUKSkDEZ dVbEsSKBLia/m3GXtitGU2V94Fu0lZVmifUvtWW3bfQ58aOZh9QS2lik8CYvORe9+9YK EJuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711574365; x=1712179165; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=/QA6gNs2zGM8m+JD+x6k8tuC85HpEu9A2dvrAJpmoBc=; b=HDZA+KFtC+Hc31jyMIPexywmQCstzK0MO6XxRva99gxbkH/v6aG5icVNr2u1eqyEJD e9GdUY30IbcR8qzaE6KDPaGtYSQUT+nxOj1RAQHDsHjQu+BTGR/YNOf4hrNMKxV3aG5M BJg3ki0W3vZ7/cAehjTCCf+7Chk+yhmk8iuUhtRaNrj7WkLUzzeGhikSRqZzpaNNydAs yjBYkLbbdRZByQktMYbY0+u2Mp2/1nnY+KV/wwLt9ROujgYHDNc6mJB90KQPbkIw5TrH /q6OJNMJJSMGyA1LCj18Z3Jr6PfVHtxOTB3jtNRYvFulHRajj3ko18m9sVuUr9XWWtzt SOXA==
X-Forwarded-Encrypted: i=1; AJvYcCWzRqhqP6k/cTWtOW3lCdbiK8yUkY4Fw8KQy0ROQnZwTXhaGZHVgG55XoYQAOsAJhHCCYPhRLPcGTU2IxIQ
X-Gm-Message-State: AOJu0Yw1Eou7SPhfFPALCJU4K569jJO8GECKZBCi6abMnaz4FV6rtyyu /c1xITM6krgkPe8lchPVmpndivrXojI5F9l52J07+AcIU9itDXBJ8grCnIZtD1eBEc/5CdToLeu ngV4UG420ctJ1+sGvACE8m6jxTzozfaxIaoc=
X-Google-Smtp-Source: AGHT+IHeEK7GfMvygT1DN5BJOre/R5iggf3xz9AekzXzTpyxN9mOMpwVLiqFKMvvBoNpwFv2xs2Ur3dIATigwREasHQ=
X-Received: by 2002:a67:c902:0:b0:478:2546:6ae7 with SMTP id w2-20020a67c902000000b0047825466ae7mr1358277vsk.16.1711574364845; Wed, 27 Mar 2024 14:19:24 -0700 (PDT)
MIME-Version: 1.0
From: Martin Duke <martin.h.duke@gmail.com>
Date: Wed, 27 Mar 2024 14:19:11 -0700
Message-ID: <CAM4esxR2C1T_Cwz1WFPv0ss5-aaiYDZ=OA+e7AiZW8fZmpsKPw@mail.gmail.com>
To: draft-ietf-tcpm-accurate-ecn.all@ietf.org, tcpm@ietf.org
Content-Type: multipart/alternative; boundary="00000000000006000a0614aaf63e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/fej1CwonWRmJ1ARKMvm1mYHbo7o>
Subject: [tcpm] Review of draft-ietf-tcpm-accurate-ecn-28
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.39
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: Wed, 27 Mar 2024 21:19:30 -0000

As responsible AD, I tried not to give drafts a careful read until they are
ready for AD Evaluation. As I'm no longer AD, this document has slipped in
between a timely individual review and an AD eval, so here is my late
individual review of the acc-ecn draft.

High level editorial comments.  I'm afraid that these don't have easy
fixes, but of course you're free to ignore them:

(1) This document is very hard to read. Part of it is that it's just
complex! There are lots of special cases. It's clear the authors have
thought deeply about all of them. and that detail is present in the draft.
I will not have to personally implement this, but if I did, I would much
prefer a document that went through sequentially what each end has to do.

(2) Part of the complexity is that this bleeds into sender-side behavior
(for example, 3.2.2.3 is largely about when to abandon marking ECT. IMO,
this is the purview of the ECN algorithm, and this would benefit from
narrower focus on how to negotiate AccECN feedback and how to interpret the
results).

(3) Another source of complexity is that extensive rationales accompany
each requirement. To the maximum extent possible, separating out rationale
into a separate subsection or appendix would make this draft easier to
implement -- possibly as a series of "threat models" that how the
requirements work together to mitigate the impact.

Major design details:
It seems like the ACE setting in the first pure ACK carries important
information. Of course, this pure ACK is unreliable, and it's not clear
from reading what the implications of this packet being lost are, and what
actions the server should take if so.

Minor Points:
I'm not sure I understand why endpoints SHOULD use SACK but, if so, MUST
use DSACK. Not having SACK would seem to create huge problems in
disambiguating the ACE field if the server transmits first, but the first
data packet is lost. DSACK is not mentioned anywhere in the document except
this requirement, so it's not clear what the impact is.

(3.5) "MUST NOT use reception of packets with ECT set in the IP-ECN field
as an implicit signal that the peer is ECN-capable."

I understand why this is the case, but why does it matter? The endpoint
should still be echoing received ECN without regard for what the sender is
doing with it, no?

Martin