[tsvwg] Re: Resolving UDP Options Issue #52
"C. M. Heard" <heard@pobox.com> Sat, 10 August 2024 22:06 UTC
Return-Path: <heard@pobox.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 55E5DC14F701; Sat, 10 Aug 2024 15:06:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 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_MSPIKE_H2=-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 (1024-bit key) header.d=pobox.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 WdHEninLGpQf; Sat, 10 Aug 2024 15:06:19 -0700 (PDT)
Received: from pb-smtp21.pobox.com (pb-smtp21.pobox.com [173.228.157.53]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0E452C14CE29; Sat, 10 Aug 2024 15:06:18 -0700 (PDT)
Received: from pb-smtp21.pobox.com (unknown [127.0.0.1]) by pb-smtp21.pobox.com (Postfix) with ESMTP id 07E202B05F; Sat, 10 Aug 2024 18:06:18 -0400 (EDT) (envelope-from heard@pobox.com)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h= mime-version:references:in-reply-to:from:date:message-id:subject :to:cc:content-type; s=sasl; bh=SuBYMK46MYbkmWtcT+2q0QeXXhL0kT2z NWJ9rX8Z15A=; b=HdRwGlbpqunCsql1+MKi1+LaQqKkWTq9cchV0mkmbUY/Q419 /LNtXmRnOQvFSKFT9wsLEr6700z66mbIOr0PzZRn62ysKuhH9y2BFV0eoBO6eBNG 7iOyq1LFJsS5JcY023LP/LpocVp3McneeqAFDehWj6bkzM/c7GRabt83K44=
Received: from pb-smtp21.sea.icgroup.com (unknown [127.0.0.1]) by pb-smtp21.pobox.com (Postfix) with ESMTP id 00B812B05E; Sat, 10 Aug 2024 18:06:18 -0400 (EDT) (envelope-from heard@pobox.com)
Received: from mail-lj1-f179.google.com (unknown [209.85.208.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp21.pobox.com (Postfix) with ESMTPSA id F0BAE2B05B; Sat, 10 Aug 2024 18:06:14 -0400 (EDT) (envelope-from heard@pobox.com)
Received: by mail-lj1-f179.google.com with SMTP id 38308e7fff4ca-2ef32fea28dso34412411fa.2; Sat, 10 Aug 2024 15:06:14 -0700 (PDT)
X-Gm-Message-State: AOJu0YxhqE4tRQ8tnyuniy2JeFR3sT0n+tZM8AbAoih3t2VobqSVAbu/ Ew8Z7oAoovyOnyTl/IBKNrtUoBhZIV9KIgxLHdz0mke8FNte8HWHqpPrYZYu05PDAZrszxKodpW AnoahLWWg39x6NshP1ju72CSeOV0=
X-Google-Smtp-Source: AGHT+IHBniFiwU4bApqUUlSAQfnh1Uvza3EjHL6/ZqAUOKEOKzOP3WujcAata+0Dn58/OfxyOxjS5HsXgTFJAAsql1I=
X-Received: by 2002:a05:6512:2248:b0:52b:bf8e:ffea with SMTP id 2adb3069b0e04-530ee9cf30fmr4311963e87.40.1723327572388; Sat, 10 Aug 2024 15:06:12 -0700 (PDT)
MIME-Version: 1.0
References: <CAM4esxSpwRF5E3Xc_hotgvCSdKVe4BY_zRUKAzHvW48JEtWqTA@mail.gmail.com> <CACL_3VFieMviT7vQ=1u2gVFs4miecnQWS6ky_pFdUWRMxzp9Ww@mail.gmail.com> <CACL_3VF9RJuh_CBt4gN9YVBN=C2t+xWoPsXAEhsyMs3d68qT7g@mail.gmail.com>
In-Reply-To: <CACL_3VF9RJuh_CBt4gN9YVBN=C2t+xWoPsXAEhsyMs3d68qT7g@mail.gmail.com>
From: "C. M. Heard" <heard@pobox.com>
Date: Sat, 10 Aug 2024 15:06:00 -0700
X-Gmail-Original-Message-ID: <CACL_3VEydAE6Ly=c=9ZsJx2T-cX+0Knm6Eu18CGtdbX_Jv6e8Q@mail.gmail.com>
Message-ID: <CACL_3VEydAE6Ly=c=9ZsJx2T-cX+0Knm6Eu18CGtdbX_Jv6e8Q@mail.gmail.com>
To: TSVWG <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000c8bd3e061f5b7789"
X-Pobox-Relay-ID: C2E6AA04-5764-11EF-823F-E92ED1CD468F-06080547!pb-smtp21.pobox.com
Message-ID-Hash: IVH5K3VWMDTSADPIINR5IRZBFJ3E35JY
X-Message-ID-Hash: IVH5K3VWMDTSADPIINR5IRZBFJ3E35JY
X-MailFrom: heard@pobox.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: draft-ietf-tsvwg-udp-options.all@ietf.org
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [tsvwg] Re: Resolving UDP Options Issue #52
List-Id: Transport Area Working Group <tsvwg.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/_ix9bANKLfWfwRVHXIQFJdqf17Y>
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>
Greetings, After discussion between the author, the editor, and the document shepherd, the editor's current thinking is to address Issue 52 <https://github.com/tsvwg/draft-ietf-tsvwg-udp-options/issues/52> with the following text: >> Endpoints supporting UDP options MUST be capable of fragmenting and reassembling at least two fragments, *each of a size that will fit within the standard Ethernet MTU of 1,500 bytes. This corresponds to a maximum pre-fragmentation or post-reassembly UDP packet size (including the UDP header and any per-datagram UDP options) of 2,926 bytes for IPv4 and 2,886 bytes for IPv6. Note that these maximum sizes are not guaranteed to be achievable under all circumstances; for further details, please see Section 11.6.* Based on the discussion in that issue, I have also opened Issue #63 <https://github.com/tsvwg/draft-ietf-tsvwg-udp-options/issues/63> to enhance the MRDS option to include both the total size and number of fragments that an endpoint can reassemble. That has resulted in a significant proposed change to Section 11.6: The Maximum Reassembled Datagram Size (MRDS, Kind=5) option is a 16-bit indicator of the largest reassembled UDP datagram that can be received, including the UDP header and any per-datagram UDP options, *accompanied by an 8-bit indication of how many UDP fragments can be reassembled*. MRDS size is the UDP equivalent of IP’s EMTU_R but the two are not related [RFC1122]. Using the FRAG option (Section 11.4), UDP packets can be transmitted as transport fragments, each in their own (presumably not fragmented) IP datagram and be reassembled at the UDP layer. *MRDS segs is the number of UDP fragments that can be reassembled.* +-------+-------+-------+-------+---------+ | Kind=5| Len=5 | MRDS size |MRDS segs| +-------+-------+-------+-------+---------+ Figure 14 UDP MRDS option format >> Endpoints supporting UDP options MUST support a local MRDS size of at least of *2,926 bytes for IPv4 and 2,886 bytes for IPv6. Support for larger values is encouraged.* *>> Endpoints supporting UDP options MUST support a local MRDS segs value of at least 2. Support for larger values is encouraged*. *These parameters plus the PMTU allow a sender to compute the size of the largest pre-fragmentation UDP packet that a receiver will guarantee to accept. Suppose that MMS_S is the PMTU less the size of the IP header and the UDP header, i.e., the maximum UDP message size that can be successfully sent in a single UDP datagram if there are no IP options or extension headers and no UDP per-fragment options. Then size of the largest pre-fragmentation UDP packet that the receiver will guarantee to accept is the smaller of the MRDS size and* *(MMS_S - 12) * (MRDS segs) - 2 - (Total Per-Frag IP/UDP Options) + 8* *where Total Per-Frag IP/UDP Options includes the size of all IP options and extension headers and all per-fragment UDP options except for OCS and FRAG that are in the sequence of UDP fragments.* *>> If no MRDS option has been received, a sender must assume that MRDS size is 2,926 bytes for IPv4 and 2,886 bytes for IPv6 and that MRDS segs is 2, i.e., the minimum values allowed.* It would be helpful if the WG would comment on these proposals (either to the list or, preferably, on github), ideally taking into account their inter-relationship. Thanks and regards. Mike Heard On Mon, Aug 5, 2024 at 2:58 PM C. M. Heard <heard@pobox.com> wrote: > Greetings, > > By way of background: > > On Tue, Apr 2, 2024 at 2:23 PM Martin Duke wrote: > >> (11.4) 2 fragments/3000 bytes as a minimum will work, of course, but it >> seems like an odd number. This seems to be related to the canonical 1500B >> MTU, but that would imply that 2 fragments would be 2926 for IPv4 and 2886 >> in IPv6, if my math is correct. (To be clear, I can live with 3000) >> > > Note that Section 11.6 currently requires that endpoints MUST support a > local MRDS size of at least 3,000 bytes. > > I opened Issue #52 > <https://github.com/tsvwg/draft-ietf-tsvwg-udp-options/issues/52> on > April 22, 2024 to address this comment, with a proposal to change the limit > from 3,000 bytes to 2,926 bytes. While trying to craft suitable text, > discussion with the author revealed the following problem: if an endpoint > advertises either the proposed value (2,926 byes) or the current one (3,000 > bytes) in the MRDS option, then* more than two fragments* will be > required to send a (pre-fragmentation or post-reassembly) packet of that > size, even if the MTU is 1,500 bytes (which is likely maximum outside data > centers). And none of the three values (2,886, 2,926, or 3,000) would work > if we are using IPv6 and the MTU is the statutory minimum of 1,280 bytes. > Indeed, in the latter case, I get a maximum reassembled UDP packet size of > 2,446 bytes if only two fragments are supported. That seems to me to be > rather small. > > I would like to propose instead that we specify that an implementation > must support a minimum of 3 fragments and a minimum reassembled size of > 3,600 bytes. This fits nicely with the 1,280 byte minimum MTU over IPv6, > allowing for a total of 66 bytes of extra overhead (e.g., 22 bytes of > per-fragment UDP options in each fragment). If the MTU is larger, as is > typically the case, one of the three fragments would not be full size, > which is not a problem. > > I would appreciate hearing from the WG whether this change would be > acceptable. > > Feel free to comment on the list or on github > <https://github.com/tsvwg/draft-ietf-tsvwg-udp-options/issues/52>. > > Thanks and regards, > > Mike Heard >
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- [tsvwg] Review of draft-ietf-tsvwg-udp-options-32 Martin Duke
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… touch@strayalpha.com
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Christian Huitema
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Martin Duke
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Martin Duke
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Zaheduzzaman Sarker
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Gorry (erg)
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Zaheduzzaman Sarker
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Christian Huitema
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Tom Herbert
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Christian Huitema
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Tom Herbert
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Christian Huitema
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Joe Touch
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… touch@strayalpha.com
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Sebastian Moeller
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… touch@strayalpha.com
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Zaheduzzaman Sarker
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Zaheduzzaman Sarker
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… touch@strayalpha.com
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Martin Duke
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Christian Huitema
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Christian Huitema
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Erik Auerswald
- [tsvwg] Discarding the UDP surplus area when prot… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Discarding the UDP surplus area when … Tom Herbert
- [tsvwg] github issue long term archiving[ wa… Sebastian Moeller
- Re: [tsvwg] Discarding the UDP surplus area when … Gorry Fairhurst
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Zaheduzzaman Sarker
- [tsvwg] Resolving UDP Options Issue #52 C. M. Heard
- [tsvwg] Re: Resolving UDP Options Issue #52 C. M. Heard
- [tsvwg] Re: Resolving UDP Options Issue #52 C. M. Heard