[tsvwg] Re: Robustness to packet reordering

Neal Cardwell <ncardwell@google.com> Fri, 07 February 2025 02:53 UTC

Return-Path: <ncardwell@google.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2132DC1DA2E1 for <tsvwg@ietfa.amsl.com>; Thu, 6 Feb 2025 18:53:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.61
X-Spam-Level:
X-Spam-Status: No, score=-17.61 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 9sMqAsmHonFb for <tsvwg@ietfa.amsl.com>; Thu, 6 Feb 2025 18:53:42 -0800 (PST)
Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com [IPv6:2607:f8b0:4864:20::831]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 94D60C1DA2CC for <tsvwg@ietf.org>; Thu, 6 Feb 2025 18:53:42 -0800 (PST)
Received: by mail-qt1-x831.google.com with SMTP id d75a77b69052e-4679b5c66d0so97681cf.1 for <tsvwg@ietf.org>; Thu, 06 Feb 2025 18:53:42 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1738896821; x=1739501621; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=C4Nha/ch1R5LcIm5y0tfVxHqEYQNWw92l9rpD+dSZGs=; b=BN3ElOycpf5OqlgSumImTm691oHybF32BS6XT5fwQ18+a/qdNbvb53O3Pvlgu2rmJS KB4TmbEl67Jc2a14zW6c66N7Tu1YepWQmlYX5f3SkUPnYU8HxSTqj3DE2Ggl4y8/se9w +THglt+3d0j/MQGHhp0ntRHIsjbGXryDU2SwSspTN1uPFc3bKJD+v2/8BOtEFFrrkYFX Bi9XFcENko3gy/zkgDTXZ9jtxO8LH/RdKWIwe8bN/WehEcyX2oY5RB61cup2SiVOiWp3 EUxyf6OQTOmbF6Bp08NkqUya3H/fQ4xYzpJF9huoeCTX0kxgGwfQ33UJuJuLRaKftSS1 o3mQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738896821; x=1739501621; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=C4Nha/ch1R5LcIm5y0tfVxHqEYQNWw92l9rpD+dSZGs=; b=PBL8bLt9IVGIofvJFFdYDi7sAURJkgHimBjJzeRr7sLhXEk2iQHPCEJatf0HPXewl0 QwhlTrcw0LTfWSCJhbV/z8ATuZQ5EsFeOnovjptu9hLyyi3rn37NuztllMsNyR6qnJob 75IxIXuf3jEneWQ3sGy+quvTNfaAOqSZu1JQClvXEVvSlJDFg4oG3khtkppQV/VckMTN Ck02Fpy54mjktv9Qdpv2OLssNGgaUpiCnCoYgIJfkrlDR/up72y9W91LiXF36ik/iQCa 2G86BvjsocWB7mtvH6RfQAvHciwQNcIo/02xhhBz7IiUd44q/8594DgFvx4hwah84D4I sxkw==
X-Forwarded-Encrypted: i=1; AJvYcCWtXG/Cl7PyenXs0TnBwHMXFkT2NJlnksosjMKDHZTF0bSBigKKnHgz7lqIBpd6DMHOGAygkA==@ietf.org
X-Gm-Message-State: AOJu0YwKCGkXcnrqBMyBGMCEQubjHNwMNLItRV/d560mmcyMSUFtp64G kdODZHuLMtLqanCXo2Qu/CqiduSMnnOu7+uiq0k6A5GU2ZcMmCzPYvZOTEY9KGObq2EJWKmA89Z 2qsYvvVlukttWlxre227BiEK8y1Qa/Qnkuv2o
X-Gm-Gg: ASbGnctg3+vnYOuvp+mxhu2Bb3jd3xyJaPBrfBi61rzLU6z3qU2lQTtu3SbSRNYZxaf 3mmkpz0Ylm0X/FCg+6P9bhtkB6Kvrg2up2hrMHTpZhNt2XCFAlLDfFHyFh+TwCP/zhVTk2xd0Bn 4=
X-Google-Smtp-Source: AGHT+IH0GemgIuICK0XByJhO5YHxo9qpDwBMGWTFh/0v6eeM8XdbiYtcGJ4djDamQZMWb293ik7m71vcCcw8u8FyKqc=
X-Received: by 2002:a05:622a:144e:b0:466:8887:6751 with SMTP id d75a77b69052e-47169cad932mr975061cf.23.1738896821311; Thu, 06 Feb 2025 18:53:41 -0800 (PST)
MIME-Version: 1.0
References: <AM8PR07MB81375E2D3CA840AEDA0F7E63C2F72@AM8PR07MB8137.eurprd07.prod.outlook.com> <38891fa7-b188-4767-8364-ae0a10c318b2@huitema.net> <AM8PR07MB81370760A8293580DDDB386BC2F62@AM8PR07MB8137.eurprd07.prod.outlook.com> <537f0095-68a3-43d5-a2f0-f91b4499017d@huitema.net> <AM8PR07MB81377C0A967260302A687113C2F62@AM8PR07MB8137.eurprd07.prod.outlook.com> <5C5E0FCB-1725-4775-9421-F4F5F687D051@CableLabs.com> <df289f06-2e00-463c-b9f5-bb67a34d9b43@betaapp.fastmail.com> <23eae943-7744-45e9-9fbc-f1581eaecac2@huitema.net> <CAPDSy+4avaqjO1LH4beiiaS8ahd55KnEPj=m1uJXi_jDYYVTnA@mail.gmail.com>
In-Reply-To: <CAPDSy+4avaqjO1LH4beiiaS8ahd55KnEPj=m1uJXi_jDYYVTnA@mail.gmail.com>
From: Neal Cardwell <ncardwell@google.com>
Date: Thu, 06 Feb 2025 20:53:25 -0600
X-Gm-Features: AWEUYZlAgqnI2ETe-XHiEc3dncZTPptZjKKOi6a0vgtiUcNO6PDRNYAq5ad6VrY
Message-ID: <CADVnQyn4GYJKxc_VHoJT4aJnkUj1nmc5fXYVZ2=sQ11PpzE+SA@mail.gmail.com>
To: David Schinazi <dschinazi.ietf@gmail.com>
Content-Type: multipart/alternative; boundary="00000000000056495a062d84773a"
Message-ID-Hash: 37C335ZZHG3LIC4V4AWLK3BSJYCHESDC
X-Message-ID-Hash: 37C335ZZHG3LIC4V4AWLK3BSJYCHESDC
X-MailFrom: ncardwell@google.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tsvwg.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Martin Thomson <mt@lowentropy.net>, Greg White <g.white=40CableLabs.com@dmarc.ietf.org>, Ingemar Johansson S <ingemar.s.johansson=40ericsson.com@dmarc.ietf.org>, "quic@ietf.org" <quic@ietf.org>, "tsvwg@ietf.org" <tsvwg@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [tsvwg] Re: Robustness to packet reordering
List-Id: Transport Area Working Group <tsvwg.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/3AfGV1v6wrHw9GWGon6Ks8bddIw>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Owner: <mailto:tsvwg-owner@ietf.org>
List-Post: <mailto:tsvwg@ietf.org>
List-Subscribe: <mailto:tsvwg-join@ietf.org>
List-Unsubscribe: <mailto:tsvwg-leave@ietf.org>

> Given how modern implementations work, reordering at the link-layer is
almost always harmful.

For modern implementations of the RACK style or newer, that sounds true.
But I would have guessed there is a large installed base of TCP senders out
there with pre-RACK TCP stacks. And for those, presumably, as Greg noted,
"older TCP implementations that don't support RACK would have problems with
reordering." So AFAICT there may be some tricky trade-offs. If most 5G
link-layer retransmissions can be completed in X milliseconds (X less than,
say, 10ms), then it may be worth the user's 5G cell phone modem buffering
received packets for X milliseconds to try to deliver in-order data to the
receiver if this can be done in a low-latency manner. AFAIK various layers
of networking software (and humans using it) already need to tolerate ~10ms
of jitter due to various link layer effects for the most common last mile
link-layer technologies (wifi, cellular, DOCSIS) and CPU scheduling effects
for networking stacks (especially in user space). But I'm sure there are
other factors I'm not taking into account... :-)

neal


On Thu, Feb 6, 2025 at 5:15 PM David Schinazi <dschinazi.ietf@gmail.com>
wrote:

> Having the link-layer delay packets to provide them in-order to the
> transport layer was helpful multiple decades ago when TCP implementations
> had more naive algorithms and were very resource-constrained. Given how
> modern implementations work, reordering at the link-layer is almost always
> harmful. TCP and QUIC stacks can handle reordering well, thanks to both
> protocol features and implementations having more memory to work with. The
> delay induced by this reordering will generally cause more harm than good.
> Furthermore, one of the biggest motivators for QUIC was to break
> head-of-line blocking and allow out-of-order delivery to the application
> layer. We have large bodies of data showing that this improves performance.
> Please disable reordering at the 5G layer.
>
> David
>
> On Thu, Feb 6, 2025 at 2:15 PM Christian Huitema <huitema@huitema.net>
> wrote:
>
>>
>> On 2/6/2025 12:55 PM, Martin Thomson wrote:
>> >
>> > On Fri, Feb 7, 2025, at 04:59, Greg White wrote:
>> >> This is an important topic relating to the expectations and
>> >> requirements that transport protocols place on layer 2 protocols.  In
>> >> layer 2 standards bodies that I've been involved in, it has been
>> >> understood that "the upper layers" expect in-order delivery,
>> > As far as QUIC goes, it is sensitive to reordering in the network.
>> Some reordering will be interpreted as damage (Christian cited the relevant
>> parts) and performance suffers in a few minor way when things arrive out of
>> order (ACKs are less efficient, data needs to be held, memory accesses are
>> less likely to be contiguous, etc...).
>> >
>> > However, the idea that the network might seek to "fix" these problems,
>> when doing so necessarily involves extra work and delays, is not a good
>> trade.  Stuff that is delayed to "fix" a reordering that happened might
>> delay signals that the QUIC stack could use, even if some data needs to be
>> held at the endpoint.  QUIC packets contain many things, some of which
>> don't need to be strictly ordered to be useful.
>>
>> Applications that are sensitive to delays will break their traffic into
>> multiple QUIC streams. In case of packet loss, only one of those streams
>> will be blocked, the others will be delivered without "head of queue
>> blocking". Implementing L2 correction will make the response worse, not
>> better, because all the streams will be delayed for the duration of the
>> L2 correction instead of just one.
>>
>> -- Christian Huitema
>>
>>