[tsvwg] Re: Robustness to packet reordering

"touch@strayalpha.com" <touch@strayalpha.com> Wed, 12 February 2025 06:23 UTC

Return-Path: <touch@strayalpha.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 A3E74C1D3DCD; Tue, 11 Feb 2025 22:23:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.102
X-Spam-Level:
X-Spam-Status: No, score=-2.102 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=strayalpha.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 91VRR5xZB__U; Tue, 11 Feb 2025 22:23:05 -0800 (PST)
Received: from server217-3.web-hosting.com (server217-3.web-hosting.com [198.54.115.226]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6C519C1D3DCF; Tue, 11 Feb 2025 22:23:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=strayalpha.com; s=default; h=To:References:Message-Id:Cc:Date:In-Reply-To: From:Subject:Mime-Version:Content-Type:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=+vZINqkZQEYaT4k5Wvymp2B29uIjkZ65Y82U2zudquE=; b=vPDjonjAUF1QggjAkwK6xDt9eJ mQ+2Ouk8ldO+26YUnEMKg8M5aPX7BZQeOPyUbai1wVC2Zhcu6Ws8nLjUoPAktkn2eeQGXCzrRdlay MwVt746kda9SFK23rff2pw2neO6/Q6F5tcgqf6ppc5+OPsF4AXFGNcwlbrAorq4VNFZ/dcnxlEinp fLm9Ju4rvF8d6qAnlqSOjgLElSqRJhBU8Ez/lOdjgOsbFNcCfrP8WPF/OTGbRSOHWfj26WE0g5PJG xECEVoBGjnvovt/Io9piuRM715VYZEjnFlIZ+j6IqkdFbMmyRHIhoW3YU9yUJrlPlzsl6pEHBPy9E ByGWADQQ==;
Received: from [172.58.208.178] (port=58783 helo=smtpclient.apple) by server217.web-hosting.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96.2) (envelope-from <touch@strayalpha.com>) id 1ti69E-00DyXd-38; Wed, 12 Feb 2025 01:23:01 -0500
Content-Type: multipart/alternative; boundary="Apple-Mail=_D1D7D482-1D19-4483-8857-7A3AEBC0577B"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.400.131.1.6\))
From: "touch@strayalpha.com" <touch@strayalpha.com>
In-Reply-To: <8ACD1AFA-CE02-4886-AC4D-5EA7AA0134E9@CableLabs.com>
Date: Tue, 11 Feb 2025 22:22:48 -0800
Message-Id: <3DAA9AEC-34F2-49AC-A39F-EA7F2E793DD7@strayalpha.com>
References: <CAJ_4DfQjNRd2k+JBFoR+=Y9D-Nvh4-Kw29nQP=tEYS4BY0B-BQ@mail.gmail.com> <FB1FD652-08EB-41BE-ADC0-C4704349DD5E@strayalpha.com> <43E6C2EC-F99E-4744-98E4-9A9239EAF86F@CableLabs.com> <1116DED7-2068-4566-A947-AC5B57A68FAB@strayalpha.com> <8ACD1AFA-CE02-4886-AC4D-5EA7AA0134E9@CableLabs.com>
To: Greg White <g.white=40cablelabs.com@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3826.400.131.1.6)
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server217.web-hosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - strayalpha.com
X-Get-Message-Sender-Via: server217.web-hosting.com: authenticated_id: touch@strayalpha.com
X-Authenticated-Sender: server217.web-hosting.com: touch@strayalpha.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Message-ID-Hash: MEDR67NQ2RQUP4HKWW2NJA5CBMGIIABL
X-Message-ID-Hash: MEDR67NQ2RQUP4HKWW2NJA5CBMGIIABL
X-MailFrom: touch@strayalpha.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: Ryan Hamilton <rch=40google.com@dmarc.ietf.org>, Martin Thomson <mt@lowentropy.net>, 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/rE1Y6UbIWsZywlhVwu01nB5b-90>
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>

> On Feb 11, 2025, at 3:37 PM, Greg White <g.white=40cablelabs.com@dmarc.ietf.org> wrote:
> 
> I really think that  https://www.rfc-editor.org/rfc/rfc3819#section-15 is lacking.  It doesn’t seem to me that it is a case of the advice there not being heeded.  The advice appears to be that you’d better provide guaranteed in-order delivery unless you want to have terrible TCP performance and broken header compression. 

It matters for every current compression defined at the time and TCP as it was defined at the time. None of that has changed.

We can always give examples of newer protocols that don’t have those effects, but that alone is never a sufficient reason to update an RFC - that should be assumed when applying the advice in every RFC anyway.

The core advice is that the network should never do the reordering if it affects efficiency, reliability, OR INCREASES DELAY. If you can do reordering without those effects, sure - go ahead. However, NOWHERE in that section does it say “provide GUARANTEED in-order delivery”. 

> It didn’t omit mentioning that it is the header compression receiver’s responsibility to handle reordering, it outright says that it is the subnetwork’s responsibility.  For a BCP, I think we need to be more clear.

That advice is not advice to subnetwork (link layer network) designers; that’s advice to compression protocol designers.
ROHC in RFC4995, e.g., already provides that advice (emphasis mine):


   In addition, a header compression scheme should handle the often
   non-trivial residual errors, i.e., where the lower layer may pass a
   packet that contains undetected bit errors to the decompressor.  It
   should also handle **loss and reordering** before the compression point,
   as well as on the link between the compression and decompression
   points [7 <https://datatracker.ietf.org/doc/html/rfc4995#ref-7>].

> The fact that all 5G, Wi-Fi and DOCSIS gear (perhaps other links too) on the planet have specialized protocol functions (frame sequence numbering, resequencing buffers, multiple simultaneous resequencing contexts, logic to handle sequence loss, etc.) to do this feature that we mostly agree is objectively bad, is also evidence that we should be more clear on this point. 

How so? If they’re doing these things without affecting “efficiency, reliability, or increasing delay”, then they’re following RFC 3819. If not, then they already have explicit text they’re violating - what do you think will fix that, uppercase? 

> The DOCSIS spec for example has 52 pages of text that discuss resequencing requirements, and every cable modem (these are cost sensitive) is required to support 16 simultaneous resequencing contexts (to handle multiple simultaneous service offerings) each of which is required to support up to 13ms of data.  I’ve also been told that there was a recent proposal to eliminate resequencing requirements in 802.11 for Wi-Fi 8, but it was abandoned.

So the question is whether 13ms is increasing delay or not; unless you’re doing day trading, that’s probably not a bad tradeoff to reduce TCP or compressor loss.

If you disagree, then this is an issue to take up with DOCSIS or other standards bodies. 

> I don’t know about other sections in the document, but I do think we should provide new clarity on the topic of packet reordering.  I’ll put together a strawman draft, but would welcome help.

I just don’t see much more than writing side paragraphs to “foot-stomp” text that’s already there. The issue here isn’t the RFC, but rather who is or is not listening to it.

IMO, you’d need to show much specific advice about link design that is absent. Right now, the missing advice is more “don’t do things that need links to be fixed”, but isn’t that what the whole of RFC 3819 really says?

Joe

>  
> -Greg
>  
> From: "touch@strayalpha.com <mailto:touch@strayalpha.com>" <touch@strayalpha.com <mailto:touch@strayalpha.com>>
> Date: Tuesday, February 11, 2025 at 8:47 AM
> To: Greg White <g.white@CableLabs.com <mailto:g.white@CableLabs.com>>
> Cc: Ryan Hamilton <rch=40google.com@dmarc.ietf.org <mailto:rch=40google.com@dmarc.ietf.org>>, Martin Thomson <mt@lowentropy.net <mailto:mt@lowentropy.net>>, Greg White <g.white=40CableLabs.com@dmarc.ietf.org <mailto:g.white=40CableLabs.com@dmarc.ietf.org>>, Ingemar Johansson S <ingemar.s.johansson=40ericsson.com@dmarc.ietf.org <mailto:ingemar.s.johansson=40ericsson.com@dmarc.ietf.org>>, "quic@ietf.org <mailto:quic@ietf.org>" <quic@ietf.org <mailto:quic@ietf.org>>, "tsvwg@ietf.org <mailto:tsvwg@ietf.org>" <tsvwg@ietf.org <mailto:tsvwg@ietf.org>>
> Subject: Re: [tsvwg] Robustness to packet reordering
>  
> Hi, Greg,
> 
> 
>> On Feb 10, 2025, at 2:35 PM, Greg White <g.white@CableLabs.com <mailto:g.white@CableLabs.com>> wrote:
>>  
>> Joe,
>>  
>> Thanks for pointing to that reference.  I assume that is the most definitive guidance that the IETF has given to L2 networks on the topic, and any future changes to that guidance could take the form of updates to RFC3819.
>>  
>> I agree with you that the sentence you quoted seems reasonable, but in the context of the rest of the text in that section in RFC3819, it seems to me that the warnings about TCP performance and header compression might undercut the recommendation. 
>  
> The warnings are about compression - and still apply. If the compression algorithm includes dependencies between sequences of packets, then those sequences have to be restored for the compressor to work. Perhaps what isn’t said is that if the compressor has such dependencies, then IT should perform the needed reordering, rather than expecting the network to do so for it. The prior section addresses the impact of loss on compression, but overlooked the impact of reordering.
> 
> 
>>  I think many L2 designers consider TCP performance to be important (even if they don’t know the details of current implementations), and they also might not be willing to take the risk that their link would break someone’s header compression scheme (users do lots of different things!).
>  
> Yes, but again this argues for the compressor to reorder, not L2.
> 
> 
>> Is there value in updating that section? 
>  
> Certainly the entire doc could include more recent references and could be subbed for omissions such as above, perhaps providing more comprehensive advice up front, e.g.,:
> - whatever you expect L2 to do, do at the ends of L3 in or in front of protocols that depend on those features
> - but do NOT engineer the entire L2 for any of those features
>  
> But in a sense that’s just reinforcing the advice in the E2E paper, which doesn’t need (IMO) to be revised simply to refer to more recent examples.
>  
>> At a minimum we could point to RACK, L4S and the QUIC packet reordering threshold along with whatever consensus we can develop around the idea that transports that are interested in performance already (or at least can) implement reordering tolerance, and that the benefits of minimizing delay outweigh any slight benefits provided to older transport implementations.  That said, this thread has seen several opinions (not all in agreement) so it might be challenging to get consensus.
>  
> And that’s part of the issue as well; to the extent that our docs lack clear, direct advice, it can be the result of the consensus process.
>  
> I don’t particularly think an update is warranted - IMO, what’s needed is for the advice that’s there to be heeded.
>  
> Joe
> 
> 
>>  
>> -Greg
>>  
>> From: Joe Touch <touch@strayalpha.com <mailto:touch@strayalpha.com>>
>> Date: Friday, February 7, 2025 at 3:18 PM
>> To: Ryan Hamilton <rch=40google.com@dmarc.ietf.org <mailto:rch=40google.com@dmarc.ietf.org>>
>> Cc: Martin Thomson <mt@lowentropy.net <mailto:mt@lowentropy.net>>, Greg White <g.white=40CableLabs.com@dmarc.ietf.org <mailto:g.white=40CableLabs.com@dmarc.ietf.org>>, Ingemar Johansson S <ingemar.s.johansson=40ericsson.com@dmarc.ietf.org <mailto:ingemar.s.johansson=40ericsson.com@dmarc.ietf.org>>, "quic@ietf.org <mailto:quic@ietf.org>" <quic@ietf.org <mailto:quic@ietf.org>>, "tsvwg@ietf.org <mailto:tsvwg@ietf.org>" <tsvwg@ietf.org <mailto:tsvwg@ietf.org>>
>> Subject: [tsvwg] Re: Robustness to packet reordering
>>  
>>  
>>> On Feb 7, 2025, at 2:12 PM, Ryan Hamilton <rch=40google.com@dmarc.ietf.org <mailto:rch=40google.com@dmarc.ietf.org>> wrote:
>>> 
>> ….
>>> Let's not hobble the performance of modern protocols in order to *potentially* provide minimal improvements to the performance of obsolete implementations.
>>  
>> Agreed. As I noted, RFC3819 still has imo the best advice:
>>  
>>    This suggests that subnetwork implementers should try to avoid packet
>>    reordering whenever possible, but not if doing so compromises
>>    efficiency, impairs reliability, or increases average packet delay.