Re: [Int-area] New Version Notification for draft-herbert-ipv4-hbh-destopt-00.txt

Tom Herbert <tom@herbertland.com> Wed, 25 September 2019 15:46 UTC

Return-Path: <tom@herbertland.com>
X-Original-To: int-area@ietfa.amsl.com
Delivered-To: int-area@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 421EA1200B3 for <int-area@ietfa.amsl.com>; Wed, 25 Sep 2019 08:46:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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 beuQyjEkYFUt for <int-area@ietfa.amsl.com>; Wed, 25 Sep 2019 08:46:43 -0700 (PDT)
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) (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 52BC81200F8 for <int-area@ietf.org>; Wed, 25 Sep 2019 08:46:41 -0700 (PDT)
Received: by mail-ed1-x532.google.com with SMTP id r9so3523307edl.10 for <int-area@ietf.org>; Wed, 25 Sep 2019 08:46:41 -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:content-transfer-encoding; bh=RW8/UmR4y6UA8wjRGWslhK+DKv7LiU8iAJkEoVQZsUA=; b=L0ySVDLaz046G8nm8SUsJlEHkN6pq/TfQAjRY0eszVIQcUwdluln5LY92d7yY3Y6cj dRk90BlUE3badV9FP2Sx82dmAEEm2NoWsBfJb2tiOpQP+7admSjTKFbUEbjESsMli1P7 Aflkh2XI3N9lo6qnYEI7kKT2OnpTCWnvOqS2Qi/+3wOqDUL+yOTdHt9YHRigdlubIM10 VX26fGiVQ5VH3dmGXwpQMcLZGEBAs7hzK3cyDq4trxlhgMPuVrmpEi+Y7MQS+EE5yPkx 8VS562B2/VYxVXzDl/PHt7z1GX0xqSuaKGOwcf8PSUrIhxbkXxDcQrJ8l8gBe8aDpD5e RZ5Q==
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:content-transfer-encoding; bh=RW8/UmR4y6UA8wjRGWslhK+DKv7LiU8iAJkEoVQZsUA=; b=d3irx7kaOVj8djxrMOZ4m7xe377KuF1iyjI1xHZ1Ec6Kw/7LrYCKJskzhdTZ/kOtzQ QbpPFr6+Y+pU6OBxSnCQiyVCLXFJ13jFnxTVapcTb9P2hNvCmMS4QyMmKaaqatqbXv4b 3M4cNWxjxDLESwthomkEC6tI3Iu8F2RLIDK8WxhXF7SHsE3UqamjHMuKUpPpnGqt1sTc ejm6aLLm2FiEjvntMOo5ahhav1vmmpET79mQhQ2Jce0uXyCVOGLoLf9M7ubdue5/gVmf ggCgN9Xx+OKhgNByYoJMtVOx+eIT1ggxdmiTSFSW39wcU/GyUbADAWzwNMDzavWsAvQN VzVQ==
X-Gm-Message-State: APjAAAVjAqQpxNiSR3IQrK1NN4JxsPn9qGJNm4WOvrfvmMD92A0qpIwf xFQXktOwG1gR5WEaaNn9JRDyT9SnidNPOKMHnbD74Q==
X-Google-Smtp-Source: APXvYqzYYs7wqB1+k5rgEk+Qmqk2+/IRmwXcTjZennp1uPr3yjYzT2i2oDd8ZGVLXV8WriET835kBVaDzVZ58YSKy04=
X-Received: by 2002:a17:906:6994:: with SMTP id i20mr4797896ejr.239.1569426399626; Wed, 25 Sep 2019 08:46:39 -0700 (PDT)
MIME-Version: 1.0
References: <156935120173.15675.13886157580266731680.idtracker@ietfa.amsl.com> <CALx6S358jb+=em4abc_Zz7bq5UXmtOyPxc=5fq8b2NRdnxE0mQ@mail.gmail.com> <A1CDE533-7782-412D-85CD-A94B4B3F6B1C@strayalpha.com>
In-Reply-To: <A1CDE533-7782-412D-85CD-A94B4B3F6B1C@strayalpha.com>
From: Tom Herbert <tom@herbertland.com>
Date: Wed, 25 Sep 2019 08:46:28 -0700
Message-ID: <CALx6S34rgin9SAn2mhHM2oJQDuW-FZr321NrgUNwbEm897CWqQ@mail.gmail.com>
To: Joe Touch <touch@strayalpha.com>
Cc: int-area <int-area@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/int-area/pfGSWmt9np58-MlfypyTiEZmubQ>
Subject: Re: [Int-area] New Version Notification for draft-herbert-ipv4-hbh-destopt-00.txt
X-BeenThere: int-area@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF Internet Area Mailing List <int-area.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/int-area>, <mailto:int-area-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/int-area/>
List-Post: <mailto:int-area@ietf.org>
List-Help: <mailto:int-area-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/int-area>, <mailto:int-area-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Sep 2019 15:46:46 -0000

On Tue, Sep 24, 2019 at 8:38 PM Joe Touch <touch@strayalpha.com> wrote:
>
> Not that I think this is a good idea, but if it proceeds:
>
> - it’s worth noting in this doc that although IPv4 has its own option space, the extension header method is ALREADY how IPsec is defined as an IPv4 option, i.e., IPv4 protocol *always meant* next header anyway
>
> - HBH options MUST be copied into each fragment when fragmented
>
>         note that this means that an extended discussion of how to fragment and its implications is needed;
>         the standard alg won’t work. it also means you’ll strictly exceed the IPv4 official definitions of MTU and
>         minimum frag size.
>
>         however, this complicates the claim that HBH options in the first frag are handled only if they’re
>         complete; if they’re not complete, you have no protocol left
>
>         i.e., either HBH are copied into EACH FRAGMENT (as they are at the source in IPv6), or
>         fragmentation CANNOT occur; you can’t simply act as if the HBH happens only for the first
>         fragment or are ignored at IP hops other than the destination
>
> (FWIW, it’s the second point that leads me to question the utility here)
>
> - that said, why is this supposed to help? can you give us examples of successful IPv6 *options* deployed this way at line rate in hardware (notably not for experiments or diagnostic debugging)?
>         (NB: I don’t consider tunnel encapsulation/decap or IPsec useful examples; those can already be
>         supported that way and don’t really need this “option” mechanism; frag isn’t useful either)
>
Joe,

The use case for this is the same as that for IPv6 HBH and DestOpts.
There is a need in IPv4 to carry optional network layer information
that might be inspected and possibly modified (HBH options at least).

IOAM is a very good example of this where intermediate nodes in a path
record management information in flight packets, and the recorded
information is useful to other nodes in the path. Defining IOAM
protocols is current work in ippm.

For IPv6, a Hop-by-Hop option for IOAM can be defined
(draft-ioametal-ippm-6man-ioam-ipv6-options-01). This is clean and
consistent with HBH options as described in RFC8200.

Defining an IOAM protocol for IPv4 is the problem. There are at least
five proposals:

1) Use IPv4 options to carry the data (e.g. IPv4+options->TCP)
2) Allocate a new IP protocol number to carry IOAM data (IPv4->IOAM->TCP)
3) Embed IOAM data in the optional data of a UDP encapsulation like
Geneve or GUE (IPv4->UDP->GUE->TCP)
(draft-brockners-ippm-ioam-geneve-03)
4) Use GRE and create a new EtherType that contain IOAM data structure
(IPv4->GRE->IOAM->TCP) (draft-weis-ippm-ioam-gre-00)
5) Enable Hop-by-Hop options in IPv4 and use the IOAM HBH option being
defined (IPV4->HBH->TCP) (this draft)

#1 is the standard way to extend IPv4 for this sort of thing, however
IPv4 are generally considered a non-starter. It's well known that
routers don't deal with them well and the space is limited to forty
bytes. #2 would define a new type of extension header. #3 isn't robust
because modifying UDP payload in the network leads to silent data
corruption when the UDP ports are misinterpreted (RFC7605).

#4 is interesting. There is a certain appeal in that it's much easier
to get an EtherType allocation rather than an IP protocol number.
OTOH, this seems like an abuse of GRE to turn it into IP extensibility
mechanism which it was never intended to be.

#5 is the proposed method of this draft.

Assuming that IPv4 options are not an option, all the remaining share
some properties. Each is creating or using an extension header in some
format (i.e. a header inserted between the IPv4 header and transport
layer). They are all subject to IPv4 fragmentation where fragments
will not contain the IOAM data-- the first fragment may contain IOAM
data and it would need to be specified whether intermediate nodes can
process the data.

Tom


Th#2-#5 are variations on the same theme, namely to carry IOAM data in
some sort of extension header. The differences amongst these are the
format the extension header would take.
> Joe
>
> > On Sep 24, 2019, at 11:58 AM, Tom Herbert <tom@herbertland.com> wrote:
> >
> > Hello,
> >
> > I posted a new draft on allowing Hop-by-Hop and Destination options in
> > IPv4. Relative to the previous draft on IPv4 extension headers
> > (draft-herbert-ipv4-eh-01) this draft is narrow in intent to just
> > define use of HBH and DestOpt in IPv4 based on feedback during
> > IEFT104.
> >
> > Thanks,
> > Tom
> >
> >
> > ---------- Forwarded message ---------
> > From: <internet-drafts@ietf.org>
> > Date: Tue, Sep 24, 2019 at 11:53 AM
> > Subject: New Version Notification for draft-herbert-ipv4-hbh-destopt-00.txt
> > To: Tom Herbert <tom@herbertland.com>
> >
> >
> >
> > A new version of I-D, draft-herbert-ipv4-hbh-destopt-00.txt
> > has been successfully submitted by Tom Herbert and posted to the
> > IETF repository.
> >
> > Name:           draft-herbert-ipv4-hbh-destopt
> > Revision:       00
> > Title:          IPv4 Hop-by-Hop Options and Destination Options
> > Extension Headers
> > Document date:  2019-09-24
> > Group:          Individual Submission
> > Pages:          18
> > URL:
> > https://www.ietf.org/internet-drafts/draft-herbert-ipv4-hbh-destopt-00.txt
> > Status:         https://datatracker.ietf.org/doc/draft-herbert-ipv4-hbh-destopt/
> > Htmlized:       https://tools.ietf.org/html/draft-herbert-ipv4-hbh-destopt-00
> > Htmlized:
> > https://datatracker.ietf.org/doc/html/draft-herbert-ipv4-hbh-destopt
> >
> >
> > Abstract:
> >   This specification enables the use of Hop-by-Hop Options and
> >   Destination Options extension headers which are defined for IPv6 to
> >   be used with IPv4. The goal is to provide a uniform and feasible
> >   method of extensibility that is common between IPv4 and IPv6.
> >
> >
> >
> >
> > Please note that it may take a couple of minutes from the time of submission
> > until the htmlized version and diff are available at tools.ietf.org.
> >
> > The IETF Secretariat
> >
> > _______________________________________________
> > Int-area mailing list
> > Int-area@ietf.org
> > https://www.ietf.org/mailman/listinfo/int-area
>