Re: Robustness to packet reordering
Christian Huitema <huitema@huitema.net> Thu, 06 February 2025 07:57 UTC
Return-Path: <huitema@huitema.net>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DF691C1E7243; Wed, 5 Feb 2025 23:57:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.706
X-Spam-Level:
X-Spam-Status: No, score=-1.706 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, 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] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=neutral reason="invalid (public key: not available)" header.d=mfg.outbound
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 FbHEInb7uCBN; Wed, 5 Feb 2025 23:57:29 -0800 (PST)
Received: from semf13.mfg.siteprotect.com (semf13.mfg.siteprotect.com [64.26.60.176]) (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 2A1A5C1E643B; Wed, 5 Feb 2025 23:57:28 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mfg.outbound; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:From:References:To:Subject:MIME-Version:Date:Message-ID:reply-to: sender:cc:bcc; bh=RMCW2FyQiVZUWJB+K5LCfNKDx9FuTsvwVdCsmc3rw7A=; b=T2xSPk7olsu yQ7dIFQxDYZC4mM0tq5W/UrobfXkvIIIVcpouUIzBscZCTmMqT/KQZjntJt8Xz9eSovO1aenB84mW VfAyZnpzcCHMHPgvNJA1YqglCXLwZPKVUqvVN/PBpkGmWekQbHs0jyvaiRTdBHc2Q8fuwJf9KYcJW 9sq1WQm0pfB2+Wf6697J+yx4DonU3STIZpPaW+9Tf5OJGeICmSilgh+csaizAqSVFDxkBX0+cz9jA uAxo6QIfQf/lmADCfSwWEtoodI5RTwinyDQR4bvHpXUzIU2yX2DGIyzK2uk+gmiNtqXkhr+B42sIB M84ug6nOs40utJ9kochH8GQ==;
Received: from smtpauth02.mfg.siteprotect.com ([64.26.60.151]) by se03.mfg.siteprotect.com with esmtp (Exim 4.92) (envelope-from <huitema@huitema.net>) id 1tfwlK-00CZia-B1; Thu, 06 Feb 2025 02:57:27 -0500
Received: from [192.168.1.112] (unknown [172.56.203.90]) (Authenticated sender: huitema@huitema.net) by smtpauth02.mfg.siteprotect.com (Postfix) with ESMTPSA id 4YpTwM348Cz2YQR5y; Thu, 6 Feb 2025 02:57:23 -0500 (EST)
Message-ID: <537f0095-68a3-43d5-a2f0-f91b4499017d@huitema.net>
Date: Wed, 05 Feb 2025 23:57:21 -0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Robustness to packet reordering
To: Ingemar Johansson S <ingemar.s.johansson@ericsson.com>, Ingemar Johansson S <ingemar.s.johansson=40ericsson.com@dmarc.ietf.org>, "quic@ietf.org" <quic@ietf.org>
References: <AM8PR07MB81375E2D3CA840AEDA0F7E63C2F72@AM8PR07MB8137.eurprd07.prod.outlook.com> <38891fa7-b188-4767-8364-ae0a10c318b2@huitema.net> <AM8PR07MB81370760A8293580DDDB386BC2F62@AM8PR07MB8137.eurprd07.prod.outlook.com>
Content-Language: en-US
From: Christian Huitema <huitema@huitema.net>
In-Reply-To: <AM8PR07MB81370760A8293580DDDB386BC2F62@AM8PR07MB8137.eurprd07.prod.outlook.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Authentication-Results: mfg.siteprotect.com; auth=pass smtp.auth=huitema@huitema.net
X-Originating-IP: 64.26.60.151
X-SpamExperts-Domain: mfg.outbound
X-SpamExperts-Username: 64.26.60.150/31
Authentication-Results: mfg.siteprotect.com; auth=pass smtp.auth=64.26.60.150/31@mfg.outbound
X-SpamExperts-Outgoing-Class: ham
X-SpamExperts-Outgoing-Evidence: Combined (0.13)
X-Recommended-Action: accept
X-Filter-ID: Pt3MvcO5N4iKaDQ5O6lkdGlMVN6RH8bjRMzItlySaT+sjRbZdagPk7t1ws7Tv4KWPUtbdvnXkggZ 3YnVId/Y5jcf0yeVQAvfjHznO7+bT5y/DScqHYFMZLwmx6yLgYxTSN7JZ8x51pXe8980C10/EKVi 4+SrPobmzYgA8ug2rA1/v+5gw9IJ1n6pxipzJwwiWN7TzoaZQV7Ck4fKlO+XnEZQb1M3nP/aVkZP /RjRdQBvxT1UqsRkA9qFNyupWgN858fMnqZUTt7CyKlJUh+zhmDqhpPrZE5/a//Y6WJZTgjloW5O 8nKi+aEgzCvYcGcNn17NKh9p/w7qzG8kYg5zcSBdmcsqSvM8aD2DlRGiCU8/wJVyGDMOl6Z2bJkW 2fbn3+uVPy4qJ4XNUiQOREK3xna5b1gnzWyileWS/MxhS9IY4L7u6QJ/jXXAPItovk04WCvmn1IS DvxBA68tSDRfJFvEkjU2IZs0qHcxreE84qWzFtXV8maz/1DxiEQsBT9b8p8NyvSkRHwTwTx9G1M5 EMvdGlnEQJMn5KuObFLxmLretxRp8RUXQ0zG3NTd7kg13WOGcz8xu9rZctX8sgTNonUlO58lzbID FnBI582KCIFDFxQeM5hKKDqHvwRqP46o31/E3ahF5MMcDI7KdpjQKQq00y8ef45tB3j6HRlrmdMi /N8uQ6NBdVvWgbLvK6Z3IO3fJ9DGWEJopzxygkVT7yk4xAm9D8KTeKJT7gNACPfxVynFIF3Xrs2K JHQMxL9PL44/hrSNUBLj7yl7ZdLauIw2HNAQHBPEUF9IEWosJVG2ojMQKvwQ25g0gfyefAkRHat6 cVaaZu6ftY4w/GypcTzThqzFcMy7pHH9jcXXfxEj2d/xmizmqI+HnJWmDMLdQKcof8wqZrg1Xj+B VtcbX6nwr91lZN8JVcydBRphcAJK0fY/3gADQdrr7U0COoeGQd0kE+MbxRJ6df8DL1v6U3GYl6S+ sRVhBJEzAIh7WKq2YRwtQE9utd0Lrh+JDlSnUV8ShebT8U8Xw9HTDfreWeBFm9pNPUFDsiQcrCGS 6D1M8jeeJSytG/Wf88r2kBubK6391sxAqxbtq1CC1/LZwU9EUDwTCfbSvjFHgHqV660RNHZCFIG/ 9wYQQJyxC1I28DgKIfeVhSVdRinC5q1VkADk5nWIiIcthdTaotkIarQOjBgXlf3YbVfG6+cIUAg4 nWJ8xr0PBByl/sG5xgFyG2Z8WHz3Dshc1OOGUXnRskw=
X-Report-Abuse-To: spam@se02.mfg.siteprotect.com
X-Complaints-To: abuse@se01.mfg.siteprotect.com
Message-ID-Hash: AIIF4NORZ4FYHTKZ7LCOVGLPQRQRYV23
X-Message-ID-Hash: AIIF4NORZ4FYHTKZ7LCOVGLPQRQRYV23
X-MailFrom: huitema@huitema.net
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-quic.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/bkTZGcxXlzqDBmQVGuXZWwWMuA8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Owner: <mailto:quic-owner@ietf.org>
List-Post: <mailto:quic@ietf.org>
List-Subscribe: <mailto:quic-join@ietf.org>
List-Unsubscribe: <mailto:quic-leave@ietf.org>
RACK is the default for QUIC. The detection gap is set to 3 by default, that is, a packet considered lost if a packet N+3 or later has been received. Implementations are free to implement dynamic RACK gaps and the ACK Frequency extension can ask the peer to send packets accordingly, but AFAIK most implementations go for robustness and keep the detection gap fixed. Note that QUIC does not "reorder" packets -- packets are processed as soon as they arrive. -- Christian Huitema On 2/5/2025 10:50 PM, Ingemar Johansson S wrote: > Hi Christian > > I was perhaps a bit unclear, sorry. > I refer to "in the stack". > > The RACK function in Linux TCP increases the reordering window when packet reordering is detected and thus avoids fast retransmits. In current Linux TCP the reordering window can increase to accept up to one RTT reordering. > > Do any current QUIC stack support this RACK functionality and/or is it planned. > > /Ingemar > >> -----Original Message----- >> From: Christian Huitema <huitema@huitema.net> >> Sent: Thursday, 6 February 2025 02:00 >> To: Ingemar Johansson S >> <ingemar.s.johansson=40ericsson.com@dmarc.ietf.org>; quic@ietf.org >> Cc: Ingemar Johansson S <ingemar.s.johansson@ericsson.com> >> Subject: Re: Robustness to packet reordering >> >> >> On 2/5/2025 6:21 AM, Ingemar Johansson S wrote: >>> Hi >>> >>> A very short question, with possibly many answers: >>> Do current QUIC stacks support out of order delivery up to one RTT, as >> is the case with TCP Linux with RACK enabled. >> >> Define support. Do you mean "at the API" or "in the stack"? >> >> The programming APi for QUIC exposes a set of "streams", as well as >> possibly a "datagram" capability. Data sent on one stream is delivered >> in sequence on that stream. Multiple streams can be processed in >> parallel. There is no guarantee of ordering between stream. If a packet >> containing data for stream number N is lost, delivery on that stream >> will stop until the loss recovery -- but delivery will continue for >> other streams. >> >> Data sent as datagram is delivered whenever the datagram arrives. There >> is no guarantee of ordering between datagrams, or between datagrams and >> streams. There is also no expectation of loss recovery: if a packet >> containing a datagram is lost, the datagram is lost. >> >> In the stack, QUIC stacks are expected to check whether a packet was >> "already received", and not process duplicates. Note that if packets are >> lost, the frames contained in the packet may be processed differently -- >> some may not be resent, either because they are now obsolete, or because >> the frame has already been received -- for example, in case of spurious >> retransmission. The packets carrying the repeated data will have their >> own packet number, different from the initial packet. >> >> In order to not process duplicate, implementations have to maintain >> knowledge of already received packets. That knowledge typically has some >> kind of horizon, such as "the last N packets". Packets that are older >> than that will be ignored, because there is no way to tell whether they >> are duplicate. The value of that "horizon" is implementation dependent. >> About 1 RTT worth of packet makes sense, but implementations could use >> something else, like for example 3*PTO. >> >> -- Christian Huitema >> >>
- Robustness to packet reordering Ingemar Johansson S
- Re: Robustness to packet reordering Christian Huitema
- RE: Robustness to packet reordering Ingemar Johansson S
- Re: Robustness to packet reordering Christian Huitema
- RE: Robustness to packet reordering Ingemar Johansson S
- RE: Robustness to packet reordering Floris Bruynooghe
- Re: Robustness to packet reordering Christian Huitema
- Re: Robustness to packet reordering Greg White
- Re: [tsvwg] Re: Robustness to packet reordering Joe Touch
- Re: [tsvwg] Re: Robustness to packet reordering Tom Herbert
- Re: Robustness to packet reordering Martin Thomson
- Re: Robustness to packet reordering Christian Huitema
- Re: [tsvwg] Re: Robustness to packet reordering David Schinazi
- Re: [tsvwg] Re: Robustness to packet reordering Neal Cardwell
- Re: [tsvwg] Re: Robustness to packet reordering Martin Thomson
- Re: [tsvwg] Re: Robustness to packet reordering Christian Huitema
- RE: [tsvwg] Re: Robustness to packet reordering Ingemar Johansson S
- RE: [tsvwg] Re: Robustness to packet reordering Koen De Schepper (Nokia)
- Re: [tsvwg] Re: Robustness to packet reordering Neal Cardwell
- Re: [tsvwg] Re: Robustness to packet reordering David Schinazi
- RE: [EXTERNAL] [tsvwg] Re: Robustness to packet r… Overcash, Michael (CCI-Atlanta)
- Re: [tsvwg] Re: Robustness to packet reordering Ryan Hamilton
- Re: [tsvwg] Re: Robustness to packet reordering Joe Touch
- RE: [tsvwg] Re: Robustness to packet reordering Vasilenko Eduard
- Re: [tsvwg] Re: Robustness to packet reordering Greg White
- Re: [tsvwg] Robustness to packet reordering touch@strayalpha.com
- Re: [tsvwg] Robustness to packet reordering Roland Zink
- Re: [tsvwg] Robustness to packet reordering Greg White
- Re: [tsvwg] Robustness to packet reordering touch@strayalpha.com
- Re: [tsvwg] Re: Robustness to packet reordering Sebastian Moeller
- Re: [tsvwg] Robustness to packet reordering touch@strayalpha.com
- RE: [tsvwg] Robustness to packet reordering Ingemar Johansson S
- Re: [tsvwg] Robustness to packet reordering Sebastian Moeller
- Re: [tsvwg] Re: Robustness to packet reordering Michael Eriksson
- Re: [tsvwg] Robustness to packet reordering touch@strayalpha.com
- Re: [tsvwg] Robustness to packet reordering touch@strayalpha.com
- Re: [tsvwg] Re: Robustness to packet reordering Christian Huitema
- Re: [tsvwg] Robustness to packet reordering Sebastian Moeller
- AW: [tsvwg] Re: Robustness to packet reordering Ruediger.Geib
- Re: [tsvwg] Robustness to packet reordering Bill Gage
- Re: [tsvwg] Robustness to packet reordering Greg White
- draft-smith-quic-receive-ts and packet reordering Chris Box
- Re: draft-smith-quic-receive-ts and packet reorde… Ian Swett
- Re: [tsvwg] Robustness to packet reordering Sebastian Moeller