Re: [Int-area] New Version Notification for draft-herbert-ipv4-eh-03.txt

Tom Herbert <tom@herbertland.com> Fri, 22 March 2024 02:37 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 24320C14F69D for <int-area@ietfa.amsl.com>; Thu, 21 Mar 2024 19:37:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.105
X-Spam-Level:
X-Spam-Status: No, score=-7.105 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_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 77IG3TzGaD-L for <int-area@ietfa.amsl.com>; Thu, 21 Mar 2024 19:37:45 -0700 (PDT)
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) (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 72DDBC14F69B for <int-area@ietf.org>; Thu, 21 Mar 2024 19:37:45 -0700 (PDT)
Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-56bc7b07df7so2342665a12.0 for <int-area@ietf.org>; Thu, 21 Mar 2024 19:37:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland.com; s=google; t=1711075061; x=1711679861; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=eNl2KV/HQN5R3eTbcYdBfDNsuxImSJiqqDwz7A4ukic=; b=FN8QQDpyitHPlQiUqE7IYyPzO+uDGCDP/UNeMm92WmJGkk2u8y9HK2f2gFB/TUfx6X VWJR0ulYxpyR3AYve1qodIySWeuduJua5zFjFxd47VhISc7dIApMXeC8n3ggcNWRxbgh rughmgUNRLZf3YjKseFNlebn2qMFQPmBl1eDkGo3wR7lDG67sJ5DIbV1ZHdCN31jcfvy 41PcI5+ujqqLGLzYJl3WJsi3aZST0y6qgtEV4e7m8+AEQsQaOVz0W5ot/ToiJjA0B1rJ FGUr2OCuStCxkZ9Kg/kusMvYrFcre02FQqypfmIfIvVkoq8BvX5zwcHmhzBVlHnE1BEK CX/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711075061; x=1711679861; h=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=eNl2KV/HQN5R3eTbcYdBfDNsuxImSJiqqDwz7A4ukic=; b=JNa0csZqMBaAonTs1YbWiBN6dqQv9ZGmLv/ISsSAzVlTGgwVzpndKWZj16odrHrlQ+ vfUhztg+u3qchUoYooN+jE+4VC/LqATlugDFodBYLxdy8eMcPix0qq3BhbN2NUWEv5Zf 4oZXSeBjLsqs8c3q4AuobVvq2NJYImtNjzsAt5b2Mq7/OxXUXBqvk4xa3ZjW/mi7ULNK h6w7T1ZXrHCQRw14EhALQMqOtC31R+B0r6UOA3oedxl5/5iX/LZLRVJ4UbLaNwrw9glM d4STuIeLosII6cCDm+0knIOzWWKiiJO44pne1bD+GfyhZnBbIFyJfp47Onb9o9ziYCdk JUvg==
X-Forwarded-Encrypted: i=1; AJvYcCVfMnMrvBL5H3/H5kUIPcS1ewPbhuq1noY5qHwkWh07g0VDwf73Zt/0hO2xCCC8gjQ50W1V1eWRTtrIJEFlBERPEQ==
X-Gm-Message-State: AOJu0YxB6lQs5DsnVPVAIMSdIXupePmTSbXkNTLspkXncsyjAHhoe4PH FZOVc1fD7IsR3NEtrEHKdz+Nb2ArxdOVXkAZx665gouQhnUbLIorbTOxoE1KC7HekouTLyArMyg vm+MMVD/djdmkfS7N40B0koEmnY+kvy9TN/rJ3p39IP5KtAqCZA==
X-Google-Smtp-Source: AGHT+IGlTPaTH9QPWQ5NllUBlp/OJCew/P081GspqCSYUuwcP+7VSmwba4cgQgBqHCNfVuaXkfTzxEO9g7N4nmBaYrU=
X-Received: by 2002:a50:cd9b:0:b0:568:aad2:f835 with SMTP id p27-20020a50cd9b000000b00568aad2f835mr550587edi.20.1711075061503; Thu, 21 Mar 2024 19:37:41 -0700 (PDT)
MIME-Version: 1.0
References: <170865175505.14082.3856617737779580933@ietfa.amsl.com> <CALx6S363oh+7rNMaMa0s+9A-xeyLBy+ct-Q_Bx0xQm_di1PPJA@mail.gmail.com> <ZeZjGyxmuapXz5tb@faui48e.informatik.uni-erlangen.de> <CALx6S34OFL7tzabL+RMvB3nkad5k9esCD_dFpMi6DUtUEG-Dmg@mail.gmail.com> <ZedO1u7aheBhZ26N@faui48e.informatik.uni-erlangen.de> <ZfurRK_oNVES2hVz@faui48e.informatik.uni-erlangen.de> <CALx6S36L57vPa5YkiV3khYbFpPPgPUVynWaRVno0BufvXcALeA@mail.gmail.com> <Zfu5GQ7101lMnHGs@faui48e.informatik.uni-erlangen.de> <DCE2D4E2-9C5D-40B7-952F-7424E7FCBAFE@strayalpha.com> <CALx6S37XnjWcpeGZUQWXFyE0jP=XyodmUBBh+69SonLw3ndvaQ@mail.gmail.com> <57C622DE-2C8E-4415-805D-7053309B0D01@strayalpha.com> <CALx6S36Dpn0qC9e0ZGaK-ckbT58hRkeLHDKkNqmmJn0vQ5ONUw@mail.gmail.com> <B1CC8B09-A701-4401-8BEA-C31DE0FD0FD3@strayalpha.com> <CALx6S354xQHqk4y+0dTkTQ524n5vrN01gJe57FBjbV1UuToWLA@mail.gmail.com> <FF84650B-6739-4D12-B390-977627A1296E@strayalpha.com>
In-Reply-To: <FF84650B-6739-4D12-B390-977627A1296E@strayalpha.com>
From: Tom Herbert <tom@herbertland.com>
Date: Thu, 21 Mar 2024 19:37:30 -0700
Message-ID: <CALx6S34ePRxNNqx1TOSon9=QgKvq0wJh7mMFRH7gr2OUjZ_zmw@mail.gmail.com>
To: Joe Touch <touch@strayalpha.com>
Cc: Toerless Eckert <tte@cs.fau.de>, int-area <int-area@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000039c3fb061436b545"
Archived-At: <https://mailarchive.ietf.org/arch/msg/int-area/Xxs1nGfnJsm7-3EVbxTVU8zyQHE>
Subject: Re: [Int-area] New Version Notification for draft-herbert-ipv4-eh-03.txt
X-BeenThere: int-area@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: IETF Internet Area WG 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: Fri, 22 Mar 2024 02:37:50 -0000

On Thu, Mar 21, 2024, 7:28 PM touch@strayalpha.com <touch@strayalpha.com>
wrote:

>
> > On Mar 21, 2024, at 7:18 PM, Tom Herbert <tom@herbertland.com> wrote:
> >
> > On Thu, Mar 21, 2024 at 6:52 PM touch@strayalpha.com
> > <touch@strayalpha.com> wrote:
> >>
> >> On Mar 21, 2024, at 6:36 PM, Tom Herbert <tom@herbertland.com> wrote:
> >>>
> >>> On Thu, Mar 21, 2024 at 5:38 PM touch@strayalpha.com
> >>> <touch@strayalpha.com> wrote:
> >>>>
> >>>> On Mar 21, 2024, at 8:01 AM, Tom Herbert <tom@herbertland.com> wrote:
> >>>>
> >>>> I haven’t seen it mentioned yet (apologies if so), but there is a big
> difference between extension headers and encapsulated protocols.
> >>>>
> >>>> Extension headers - no matter how many - can each refer back to the
> base header. Same for the first encapsulated protocol.
> >>>>
> >>>> E.g.:
> >>>>
> >>>> IP1 IP2 IP3 TCP…. TCP uses a pseudo header based on IP3
> >>>> But:
> >>>> IPv6a EHb EHc TCP… TCP uses a pseudo header based on IPv6a; each of
> the EH’s can also refer back to IPv6a
> >>>>
> >>>> I see NO way to do this with any mechanism for IPv4 except options
> (whose space is limited). There’s no way to redefine protocol processing to
> ensure that information can be “Carried” forward across EHs.
> >>>>
> >>>> This seems like a show-stopper; has it been addressed?
> >>>>
> >>>>
> >>>> Joe,
> >>>>
> >>>> It already happens in IPv4. Consider the header chain IPv4-AH-TCP. In
> >>>> practice, host stacks have already accounted for this so I don't see
> >>>> this as a problem.
> >>>>
> >>>> Tom
> >>>>
> >>>>
> >>>> There’s a big difference and it relates to discussions we've had
> about UDP options.
> >>>>
> >>>> With IPsec, the assumption is “if I add it, it MUST be checked”, so
> an endpoint that doesn’t know to check would drop the packet as expected.
> >>>
> >>> Joe,
> >>>
> >>> As you know from the discussions on UDP Options, I believe that if
> >>> someone sends security information in a packet then the information
> >>> MUST be verified. It's always better to drop something you don't
> >>> understand, rather than accept it and put the user at risk for
> >>> security or data corruption.
> >>
> >> I understand; for ESP, the data is also modified and not useful.
> >> For EH, we can debate whether it’s important to *force* checks t at the
> receiver.
> >
> > Joe,
> >
> > There's nothing to debate.
>
> We can debate what IPsec requires and whether that was an appropriate
> choice.
> What it currently requires is not under debate, of course.
>
> >>
> >> But either way, there are also options that you might want a legacy
> receiver to allow, and this approach won’t do that. So it’s necessarily
> limited.
> >>
> >>>> But that means these extensions can only be useful where they MUST be
> supported; you can’t send them to (or through) legacy devices (or NATs) and
> have them work correctly.
> >>>
> >>> We can't send AH, ESP, DCCP, SCTP, GRE through NAT either. For that
> >>> matter, has any ever tested if IPv6 EH can make it through NAT. In any
> >>> case, from IPv6 data we already know that extension headers will
> >>> probably ever only be useful in limited domains, so I don't believe
> >>> NAT traversal is a showstopper.
> >>
> >> Whether EH *does* make it through any NAT is different than whether it
> could. It could - there’s enough information.
> >>
> >> This approach for IPv4 cannot - because it doesn’t change the base
> protocol.
> >
> > IPv4 works the same way as IPv6.
>
> Not for EHs. An existing IPv6 NAT can skip over EHs because they were
> defined when IPv6 was defined; an existing IPv4 NAT cannot.
>
> >>>> In which case, rather than this mechanism, you could as easily do
> basically ANYTHING else too - because it’s no longer a matter of backward
> compatibility.
> >>>
> >>> But isn't that the *whole point* of an extensible protocol like IP?...
> >>
> >> My point is that you’re NOT extending IP.
> >
> > I guess it depends on what you mean by "extending". To me "extension"
> > headers are a mechanism to "extend" a protocol.
>
> Yes, but you’re not extending IP. You’re running a protocol inside IP.
> These are “pre transport extensions” (or see next section).
>
> >> This is just a protocol layer like any other. It doesn’t really have
> any relation to IP. IPv4 endpoints don’t know how to skip them if they
> don’t support or understand them.
> >
> > Correct. That's the benefit of extension headers compared to IP options.
>
> A protocol inside IP that has no relation to IP is just a transport
> protocol.
>
> >>> to allow innovation and extensions to be able to solve problems that
> >>> would never have been foreseen when the protocol was first developed.
> >>> And not everything we do can be backwards compatible, if that were a
> >>> requirement IETF never could have created IPv6.
> >>
> >> IPv6 is not an extension to IPv4.
> >>
> >> My point is that this proposal isn’t either. I’m not saying it’s not
> useful, but it’s not particularly tied to IP any more than any other
> protocol layer is or would be, AFAICT.
> >
> > Right. So operationally it's no different than introducing any other
> > new protocol in the network.
>
> New endpoint, basically transport protocol, yes.
>
> So it’s not an extension to IP. Just another transport.
>
> >> So let’s say it’s useful and let's say there are two places you would
> want to use it:
> >>
> >> - for a protocol that legacy receivers silently ignore
> >>        that won’t work
> >>
> >> - for a protocol that upgraded receivers will support
> >>        the will work - but at that point, ANY solution above IPv4 would
> work too - e.g., redefining TCP to have a “pre header” with the same effect.
> >
> > But it doesn't. Extension headers are the *only* correct mechanism to
> > send ancillary network layer information that works with any transport
> > protocol and allows intermediate nodes to robustly read and
> > potentially modify the information.
>
> You’ve just described a transport protocol that the intermediate nodes
> know.
>

Joe,

A transport protocol doesn't meet the requirements. They don't work with
any transport protocol other than themselves, and intermediate nodes cannot
robustly parse transport headers  This has to be L3 protocol.

Tom


> > The only possible alternative I
> > know of is IP options, but as Brian mentioned those have been
> > considered dead for over twenty years. (if there's an other
> > alternative that I'm missing please point it out)
>
> This is just a transport protocol.
>
> The problem with a new transport is exactly the same as the problem here -
> that there’s no way to make it silently backward compatible with legacy
> endpoints.
>
> That’s not the case for IPv6 options because the option mechanism was
> defined at the time IPv6 was. But that’s not the case for IPv4.
>
> Joe