Re: [tsvwg] UDP options and header-data split (zero copy)

Tom Herbert <tom@herbertland.com> Mon, 02 August 2021 00:41 UTC

Return-Path: <tom@herbertland.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 5D72F3A0763 for <tsvwg@ietfa.amsl.com>; Sun, 1 Aug 2021 17:41:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=herbertland-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5EFZqGgc4E_a for <tsvwg@ietfa.amsl.com>; Sun, 1 Aug 2021 17:41:39 -0700 (PDT)
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3659F3A074D for <tsvwg@ietf.org>; Sun, 1 Aug 2021 17:41:39 -0700 (PDT)
Received: by mail-ej1-x62b.google.com with SMTP id go31so28017457ejc.6 for <tsvwg@ietf.org>; Sun, 01 Aug 2021 17:41:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=JmdFwyT52NsygQew5mPviERrtHCzkfAIxnzMkHFsyWg=; b=YlXWFeXh2kIUB2MWeX7/eErbK4uWrPK/KgoaJtXv3cdnPf1Of/ND94aQFhVWb72IqL +uTl5INkfaY0TNPM9lMwgdHifBX5VPr81jXBu6b/Z5OItxF9EzpC2dlaKyxe8rI1N2k1 NBu71HmWQgKiRH6tTPctj8xaLiyxQ8zaPNrp51A8bj4hBZz8D2BNU3g9JR6ElxeH0E0D bbzlnsfvKZ/PnmbFB9d12C+QmCj9JD+ZWCZ8kHnarrdL0tyrmY4acmxeoSylCKv+9iV7 a/8SlfAVtFd66/0qWNpI3miFjpJTUsgIxbFB8KX4EnJiLLkrhGVUwB+Kh1BwkhBS+FCP PICQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=JmdFwyT52NsygQew5mPviERrtHCzkfAIxnzMkHFsyWg=; b=JUIlO88bD6gN6zWq8AYjD/0qq/yVwQNaVJVz/RUrw4PaX23X7+HSGBY8O//F9BsfAC nLwJox2wpOndiUDndxSshtWR5lqH+7qYz7cHaWLHZ5d3lIS2uXeD05SjTCXWyiNZ6tD2 /7qox2CyvAf84Gmc+jaAa4Fwn6s+qOAnme8/DT1IaPftFmnyUFnF0luptNYn2I7EKHjp sHB2vR7h4S8lE9nGwOX6y9ACvGJbso7wsjKqmFHvurV+PjVSQtcGb5pQqEuAJ2dtNs6N wTkNM2nDiqvwdma33W/5o9SqCSiUEAj8zNwh5GOfllJ8FrvVJB+0jlMps4wVt8ms9VaY j+sw==
X-Gm-Message-State: AOAM532kdg/gs2LbhRgkDu0K1l5mVjMdL/E+g7zNfVEwyXMxEhh2Nyn/ fEAHuGfPQsNLgAE/sW04/C9qHd/3BJz7hiT4Cj+y4w==
X-Google-Smtp-Source: ABdhPJxFbo8A+FA+LTt7TNRM0Ehzq1y1+gvli7T2O4Zvi3vT1j2dgNfID4KvYF4gQekh3+ia5fcm4wF+97+aSoS0gHk=
X-Received: by 2002:a17:906:31cf:: with SMTP id f15mr13233421ejf.272.1627864896568; Sun, 01 Aug 2021 17:41:36 -0700 (PDT)
MIME-Version: 1.0
References: <058C1360-D1BF-4C15-A0E3-D1C98DC8C45F@lurchi.franken.de> <04C250F8-7C10-4300-862B-7FFD739CA8B3@strayalpha.com> <C65F0BB6-BA2D-49F3-A473-32EEDF6C9467@lurchi.franken.de> <CALx6S36a66Ty6EUa9nRdvSQjaxepA7g1Np5T16iXuoTC3ZCd+g@mail.gmail.com> <48A4AB1F-A5E2-447E-8C20-AEC532269BFD@strayalpha.com>
In-Reply-To: <48A4AB1F-A5E2-447E-8C20-AEC532269BFD@strayalpha.com>
From: Tom Herbert <tom@herbertland.com>
Date: Sun, 01 Aug 2021 17:41:24 -0700
Message-ID: <CALx6S37wXiXhb9arG3BOw8RZUmGSX=a0KKKgS8MhyuKv52T+5Q@mail.gmail.com>
To: Joseph Touch <touch@strayalpha.com>
Cc: Michael Tuexen <michael.tuexen@lurchi.franken.de>, tsvwg <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000e712c605c888d460"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/oItPsL6eAWfiIIpayHdeYxz-cro>
Subject: Re: [tsvwg] UDP options and header-data split (zero copy)
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Aug 2021 00:41:44 -0000

On Sun, Aug 1, 2021, 3:48 PM Joseph Touch <touch@strayalpha.com> wrote:

> Hi, Tom,
>
> > On Aug 1, 2021, at 3:39 PM, Tom Herbert <tom@herbertland.com> wrote:
> >
> > There is also RFC9000:
> >
> > "QUIC assumes a minimum IP packet size of at least 1280 bytes.  This
> > is the IPv6 minimum size [IPv6] and is also supported by most modern
> > IPv4 networks.
>
> Hmm. Seems like they completely overlooked IP source fragmentation support
> and 1500B reassembly...
>

No IP fragmentation in QUIC. DF bit is always set.


> > Assuming the minimum IP header size of 40 bytes for
> > IPv6 and 20 bytes for IPv4 and a UDP header size of 8 bytes, this
> > results in a maximum datagram size of 1232 bytes for IPv6 and 1252
> > bytes for IPv4.  Thus, modern IPv4 and all IPv6 network paths are
> > expected to be able to support QUIC."
>
> QUIC over UDP with fragmentation wouldn’t be bothered by these limits at
> all; it could send a 1200B QUIC payload with up to 63KB of additional
> combined IP and UDP headers - not that it should, but it could.
>
> By the time QUIC sees the packet, it would be both IP reassembled (at
> least 1500B) and, with UDP options, UDP reassembled (up to a total of 64K).
>
> > and
> >
> > "This requirement to support a UDP payload of 1200 bytes limits the
> > space available for IPv6 extension headers to 32  bytes or IPv4
> > options to 52 bytes if the path only supports the IPv6 minimum MTU of
> > 1280 bytes.  This affects Initial packets and path validation."
>
> See above.
>
> > If UDP options were used with QUIC, these limits would be applicable
> > to UDP options as well, i.e. 32 bytes of UDP options for IPv6, 52
> > bytes for IPv4 at least for initial packets and path validation.
>
> I think they missed something significant, even if just for IPv6 at 1500B.
>
> Joe
>
>