Re: [IPv6] FW: I-D Action: draft-templin-6man-ipid-ext-00.txt

Tom Herbert <tom@herbertland.com> Thu, 07 December 2023 19:51 UTC

Return-Path: <tom@herbertland.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3BA47C14CEFD for <ipv6@ietfa.amsl.com>; Thu, 7 Dec 2023 11:51:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.106
X-Spam-Level:
X-Spam-Status: No, score=-7.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, RCVD_IN_DNSWL_HI=-5, 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=herbertland.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 YFoWKQkWkHn6 for <ipv6@ietfa.amsl.com>; Thu, 7 Dec 2023 11:51:32 -0800 (PST)
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com [IPv6:2a00:1450:4864:20::529]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 22300C14F60B for <ipv6@ietf.org>; Thu, 7 Dec 2023 11:51:31 -0800 (PST)
Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-54c74b3cd4cso2865651a12.1 for <ipv6@ietf.org>; Thu, 07 Dec 2023 11:51:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland.com; s=google; t=1701978690; x=1702583490; darn=ietf.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=r9U1RqwiVODAuk+EAm9fJFOfc/RfrnmXKgNClJWUjfo=; b=auxpPA9JSrCy/BSl1zgoWCYkZUo6Bb+wI7Q83b7plRJ3ruHXR4MlqU1aiBNYSrPKlu 6HmlPGPpsDYk1FQU9LMgwZTJapeWzCWGwibiEh3qVoQQiZm3V88aj1ckv4eUcBF58Pbo zmsT1WdFTsHaWZI9x8edj3qiE4RVlh7EovJ7EG7MhinekLDMXgB7gfxCjvLZjWFheYqf jzciexRAvmJGjlypB4jn5KiVxc0fGlnEFrhV2uLL9bjULMZXBi2E8X93ptu3bpqbWCuN oKzPczEHNgZbl4UPXTmxHVU6FRSq19EwspKUQ3Fr+NMOgLjWFZsxfC+SXIuWcFW+C3Mt Wjyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701978690; x=1702583490; h=content-transfer-encoding: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=r9U1RqwiVODAuk+EAm9fJFOfc/RfrnmXKgNClJWUjfo=; b=iuZZ5q0u2KfXv6u0sKDddLRwk7cGr7NyKZcVkBmXkbXhOXH1blvTSGIO6TGfqzrYol iQ8NfJBUM/FqhvX0MXW9mEsFzsasv3gyBNFsnt3tyNsBIRoc/jaLZ6z1pZ4H/EH8504/ rT+JVIajCuKXslnU92oFxSsv/4+en6na2yWaeF+6ZDreUjR/Il4+4JwMe91MP7BjVAhD yvvMw/pFFZMcKqPXE8lEiGT33ajoPY6iFzh3Uq+Gy26cPLG41L6k/objRjzYuyET2Zk0 cgFmaC31/WMC1iJPSs800OfTAzfCztfLpKRz+gN2K+vxWcqISnB4gey6hSeF66/+HM7o LsZw==
X-Gm-Message-State: AOJu0Yz+gYT77f5HHvTzsmZIttme1c8o5tDt9q70ZyIwfL2z+vHS18mn EeIn4XjSgPs+S2dMJXMeh/seyfuChqZdv9/pmugtofgJ5aqf2r/M
X-Google-Smtp-Source: AGHT+IFODubHTTFP3XLqaEQmqkS5uL4ajSw2ULHdxOJ5ZiLo4BxzkwWsfsAgUckCyJgyWTbM2QbKhDHI/T+iMuGubM4=
X-Received: by 2002:aa7:da8d:0:b0:54b:fe5:83d4 with SMTP id q13-20020aa7da8d000000b0054b0fe583d4mr6281548eds.14.1701978690242; Thu, 07 Dec 2023 11:51:30 -0800 (PST)
MIME-Version: 1.0
References: <13091d25c5874d5ba27b2de77d337646@boeing.com> <CALx6S371iasRTW+gzjgCPT1BY-KxZZau2Fu3qGYnoHpiu3o9tQ@mail.gmail.com> <BN0P110MB14205F118B67DD0225A18634A38BA@BN0P110MB1420.NAMP110.PROD.OUTLOOK.COM>
In-Reply-To: <BN0P110MB14205F118B67DD0225A18634A38BA@BN0P110MB1420.NAMP110.PROD.OUTLOOK.COM>
From: Tom Herbert <tom@herbertland.com>
Date: Thu, 07 Dec 2023 11:51:18 -0800
Message-ID: <CALx6S36TZqh9h4aZ-o5gkY5Hp1Md2w5gPwpyO4weWeVwqXC5yQ@mail.gmail.com>
To: "Templin (US), Fred L" <Fred.L.Templin=40boeing.com@dmarc.ietf.org>
Cc: IPv6 List <ipv6@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/Ubv6AmeLWRYHM-aRDKZvH3Be2ME>
Subject: Re: [IPv6] FW: I-D Action: draft-templin-6man-ipid-ext-00.txt
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 07 Dec 2023 19:51:36 -0000

On Thu, Dec 7, 2023 at 7:58 AM Templin (US), Fred L
<Fred.L.Templin=40boeing.com@dmarc.ietf.org> wrote:
>
> Tom, to the point on performance:
>
> > Please provide references to these studies. Also, note IP
> > fragmentation is only one possibility, PMTUD and transport layer
> > segmentation is another and that latter seems more prevalent.
>
> If by transport layer segmentation you mean GSO/GRO, it is not the same thing
> as IP fragmentation at all. GSO/GRO provide a means for the application of the
> source to transfer a block of data containing multiple MTU- or smaller-sized
> segments to the kernel in a single system call, then the kernel breaks the
> segments out into individual packets that are all no larger than the path MTU
> and sends them to the destination. The destination kernel then gathers them
> up and posts them to the local application in a reassembled buffer possibly
> as large as that used by the original source. But, if some packets are lost,
> the destination kernel instead sends up what it has gathered so far which
> may be less than the block used by the original source.
>
> IP fragmentation is very different and operates on a single large transport
> layer segment instead of multiple smaller ones. And, the studies I am referring
> to show that performance was most positively affected by increasing the
> segment size even to larger than the path MTU. I implemented GSO/GRO
> in the ion-dtn LTP/UDP implementation and noted that the performance
> increase I saw was very minor and related to more efficient packaging
> and not a system call bottleneck. Conversely, when I increased the segment
> sizes to larger than the path MTU and intentionally invoked IP fragmentation
> the performance increase was dramatic. You can see this in the charts I
> showed at IETF118 intarea here:
>
> https://datatracker.ietf.org/meeting/118/materials/slides-118-intarea-identification-extension-for-the-internet-protocol-00
>
> Again, GSO/GRO address performance limitations of the application/kernel
> system call interface which seems to have a positive performance effect for
> some applications. But, IP fragmentation addresses a performance limitation
> of transport layer protocols in allowing the transport protocol to use larger
> segment sizes and therefore have fewer segments to deal with.

Hi Fred,

Fewer segments, but NOT fewer packets. The net amount of work in the
system is unchanged when sending larger segments instead of smaller so
there won't be any material performance differences other than maybe
implementation effects at the host and no effect at routers. Segments
are the unit of congestion management and retransmission in a
transport protocol, but fragments are transparent to the transport
protocol-- this distinction can cause material issues in performance.

It's pretty easy to see why this is. Consider that the minimum number
of segments for a connection would be to use 64K segments and fragment
them. For a 1500 MTU one segment then would be sent in 43 fragments.
The problem is that if just one fragment is dropped in a segment then
the whole segment is retransmitted. Furthermore, the fragments
themselves are likely to be the cause of the congestion at routers. So
there is a high likelihood of creating congestion in the network and
needing a lot of retransmissions. Even if CWND goes to one, each
connection can still send 43 packets and SACKs don't help because
there's no granularity at 64K segments so congestion control really
wouldn't be effective. The net effect is likely to be very poor TCP
performance.

While I think there might be some incidental positive performance
effects in host implementation by using fragmentation, I really don't
see how it addresses any fundamental performance limitation in a
transport layer protocol like TCP. In fact, I don't see how IP
fragmentation could possibly be better than doing PMTUD with SACKs
especially on the Internet.

Tom




> This latter
> service showed significant performance increases for LTP/UDP and historically
> provided better performance for services like NFS over UDP. GSO/GRO does
> not show a similar performance increase for LTP/UDP.


>
> Fred
>
> > In a
> > lossy network, transport layer segmentation will likely have better
> > performance than IP fragmentation since we can do selective ACKs (i.e.
> > if a fragment is dropped the whole chain needs to be retransmitted). I
> > suggest removing this and just provide the need for a larger
> > identification field in IP fragmentation (the second half of the
> > paragraph).
>
> > -----Original Message-----
> > From: Tom Herbert <tom=40herbertland.com@dmarc.ietf.org>
> > Sent: Monday, December 04, 2023 2:30 PM
> > To: Templin (US), Fred L <Fred.L.Templin@boeing.com>
> > Cc: IPv6 List <ipv6@ietf.org>
> > Subject: Re: [IPv6] FW: I-D Action: draft-templin-6man-ipid-ext-00.txt
> >
> > On Tue, Nov 28, 2023 at 1:42 PM Templin (US), Fred L
> > <Fred.L.Templin=40boeing.com@dmarc.ietf.org> wrote:
> > >
> > > 6man, here is a -00 draft that I am moving over here from intarea where it saw some earlier
> > > discussion while paring down to focus only on IPv6 aspects. The previous draft version was
> > > presented at the intarea session at IETF118, per the minutes:
> > >
> > > https://datatracker.ietf.org/doc/minutes-118-intarea-202311091400/
> > >
> > > The draft is titled: "IPv6 Identification Extension", and its goal is to make IPv6 fragmentation
> > > and reassembly robust at least within limited domain networks to start with but also for the
> > > future of more general open IPv6 Internetworks. This is one aspect of a comprehensive set
> > > of services that should support better Internetworking performance through packet size
> > > diversity. The draft proposes to update RFC8900.
> > >
> > > Please review and send comments,
> > >
> >
> > Hi Fred,
> >
> > Here are some comments.
> >
> > >From the draft:
> > "Studies over many decades have shown that upper layer protocols often
> > achieve greater performance by configuring segment sizes that exceed
> > the path Maximum Transmission Unit (MTU). When the segment size
> > exceeds the path MTU, IP fragmentation at some layer is a natural
> > consequence."
> >
> > Please provide references to these studies. Also, note IP
> > fragmentation is only one possibility, PMTUD and transport layer
> > segmentation is another and that latter seems more prevalent. In a
> > lossy network, transport layer segmentation will likely have better
> > performance than IP fragmentation since we can do selective ACKs (i.e.
> > if a fragment is dropped the whole chain needs to be retransmitted). I
> > suggest removing this and just provide the need for a larger
> > identification field in IP fragmentation (the second half of the
> > paragraph).
> >
> > >From the draft: "A recent study [I-D.templin-dtn-ltpfrag] proved that
> > configuring segment sizes that cause IPv4 packets to exceed the path
> > MTU (thereby invoking IPv4 fragmentation and reassembly) provides
> > substantial performance increases.. This contradicts decades of
> > unfounded assertions to the contrary..."
> >
> > It's not clear to me what that draft proves, nor what the substantial
> > performance increases are. But even if it did prove something and
> > "contradicts decades of unfounded assertions to the contrary", I'm not
> > sure it's very relevant since that means there's been decades of
> > implementation and burned in deployment based on these assertions. IMO
> > this paragraph could be removed since it seems to be more about
> > generally promoting the use of IP fragmentation and not extending it
> > which is the topic draft.
> >
> > >From the draft: "Following reassembly, if the Routing Header is
> > present the destination resets the Routing Header Next Header field to
> > the value cached in the Extended Fragment Header."
> >
> > I think it will be much simpler to just say that the fragmentation
> > option cannot be used in Destination Options before a Routing Header.
> >
> > The Destination option is type is 00 which means skip if unknown. I
> > believe this should be 01 to ensure that the destination host ensures
> > that it sees the fragment and properly processes the packet.
> >
> > >From the draft: "This allows the source to test whether a destination
> > recognizes the Extended Fragment Header by occasionally sending a
> > fragmented "probe" packet using the option."
> >
> > It should be noted that IP is inherently a stateless protocol so
> > probing like this is at most best effort-- it assumes bi-directional
> > communications, doesn't work for multicast, or anycast, and has other
> > failure cases.
> >
> > Section 6 "IPv6 Network Fragmentation" would be major protocol changes
> > to IPv6. This would allow IPv6 routers to fragment, and also
> > intermediate nodes would be processing Destination Options. I think
> > there needs to be a very clear motivation for this and what the exact
> > protocol normative requirements are.
> >
> > >From the draft: "Extended Fragment Header further MUST appear as the
> > first option in the first Destination Options Header". Why is this
> > requirement needed?
> >
> > >From the draft: "Rather than encourage timely course corrections,
> > however, the IETF somehow forgot that IP fragmentation and reassembly
> > still serve as essential internetworking functions." This seems
> > subjective or potentially provocative. I suggest removing it and
> > probably all of Section 9 can be removed without loss of content for
> > the main purpose of the draft.
> >
> > >From the draft: "The option sets "act" to '00', "chg" to '1'". I'm not
> > sure what it means to mark a Destination Options as modifiable in
> > flight. I suppose this could be applied to Destination Options before
> > the Routing Header, but I don't think that's the intent here. Maybe
> > this is related to the idea of network node fragmentation?
> >
> > IMO, Multicast and Anycast requirements shouldn't be relegated to an appendix.
> >
> >
> > Tom
> >
> >
> >
> >
> >
> >
> >
> >
> > > Fred
> > >
> > > -----Original Message-----
> > > From: I-D-Announce <i-d-announce-bounces@ietf.org> On Behalf Of internet-drafts@ietf.org
> > > Sent: Tuesday, November 28, 2023 1:26 PM
> > > To: i-d-announce@ietf.org
> > > Subject:  I-D Action: draft-templin-6man-ipid-ext-00.txt
> > >
> > > Internet-Draft draft-templin-6man-ipid-ext-00.txt is now available.
> > >
> > >    Title:   IPv6 Identification Extension
> > >    Author:  Fred L. Templin
> > >    Name:    draft-templin-6man-ipid-ext-00.txt
> > >    Pages:   18
> > >    Dates:   2023-11-28
> > >
> > > Abstract:
> > >
> > >    The Internet Protocol, version 4 (IPv4) header includes a 16-bit
> > >    Identification field in all packets, but this length is too small to
> > >    ensure reassembly integrity even at moderate data rates in modern
> > >    networks.  Even for Internet Protocol, version 6 (IPv6), the 32-bit
> > >    Identification field included when a Fragment Header is present may
> > >    be smaller than desired for some applications.  This specification
> > >    addresses these limitations by specifying an IPv6 Hop-by-Hop option
> > >    for Identification Extension; it further provides a messaging service
> > >    for fragmentation and reassembly congestion management.
> > >
> > > The IETF datatracker status page for this Internet-Draft is:
> > > https://datatracker.ietf.org/doc/draft-templin-6man-ipid-ext/
> > >
> > > There is also an HTMLized version available at:
> > > https://datatracker.ietf.org/doc/html/draft-templin-6man-ipid-ext-00
> > >
> > > Internet-Drafts are also available by rsync at:
> > > rsync.ietf.org::internet-drafts
> > >
> > >
> > > _______________________________________________
> > > I-D-Announce mailing list
> > > I-D-Announce@ietf.org
> > > https://www.ietf.org/mailman/listinfo/i-d-announce
> > >
> > > --------------------------------------------------------------------
> > > IETF IPv6 working group mailing list
> > > ipv6@ietf.org
> > > Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> > > --------------------------------------------------------------------
>