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

Tom Herbert <tom@herbertland.com> Fri, 22 March 2024 02:19 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 C3F09C14F6BA for <int-area@ietfa.amsl.com>; Thu, 21 Mar 2024 19:19:16 -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, 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 qKV-U_S17Q0Q for <int-area@ietfa.amsl.com>; Thu, 21 Mar 2024 19:19:12 -0700 (PDT)
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [IPv6:2a00:1450:4864:20::235]) (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 E6DA4C14F6B4 for <int-area@ietf.org>; Thu, 21 Mar 2024 19:19:12 -0700 (PDT)
Received: by mail-lj1-x235.google.com with SMTP id 38308e7fff4ca-2d2509c66daso23078601fa.3 for <int-area@ietf.org>; Thu, 21 Mar 2024 19:19:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland.com; s=google; t=1711073951; x=1711678751; 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=4+9/n1EQGDgrDGfwTZGFaamk6P8+Q9MWNt8MFQ6JmQ4=; b=Ug9wJAYDja/1WLWvGoUeqOgVtqBCYCJOn93UJOZDZb5WQwiw30/JidQwszSMdudSb/ KEb672XngmQnFFKZI8fK+16kb+9bXtYT0484MYC/M55L6+bsQY/IspEcgOGTt2CTu7ud +6Iz/smkhbXkuReuZq0kl15ub4UUMirygW90g9VRx7FGUaWQ/NnSrTEcKYXel4cneTbZ 0J3E8YopJCCZI+QiXvn5/pDTcY9HWb5rGCgkOYt5vO445eXgdGdGOrV1PHKH8gs1A3gq 1Cf18uSscFL7/odvlKo0FXWJnH57YHxuJ8aFxzIxugiZypYmyay52Zyateg9b/DTmccU Y4ow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711073951; x=1711678751; 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=4+9/n1EQGDgrDGfwTZGFaamk6P8+Q9MWNt8MFQ6JmQ4=; b=r0d7XeSR4+JHLMHKwinsR/xQJtW2foiNtStZLJ19IbXhwSugErx0hMiUjYRz4UEfbO KZnR/txYpNrgnBUl935nSkePJmryd1LU5l5OVHk4mfTfhIhsUSAfT9ghElSgS0hvfLLX j5oaXmLe1FqUY9Ooa+AR1+zv2PQOQGrYa6mlnvYfgTzgccm4j4DbhUsYR+Y53q2B9sqa /0fLtaVg6HW2C1ErbWlsq6uKGVfG5wB18lpk6gCm4gaem9cSQ0Eyvx1YUBETynf8rp0l ey/NYYkIpq8kUs8yrqNOhGfxye3/U1hkobE5bZfrbaHEJkmbg797BobaSETu9aT9WsL4 pvzg==
X-Forwarded-Encrypted: i=1; AJvYcCVW4epEUvtiQLgfuiTVa65Qt51/Joi5hZQEsqHs2RgQVbbu5Xppnx+P44aavjqybbYwv9lHycTDswZX8BEYQeuwUw==
X-Gm-Message-State: AOJu0YxSDuHD6AF5kE09K++e0hSXbsdT0xmWHJKv4qwzigJVPe+F3MbZ vK4lSqc8PPOhvw98OKxdqGbphlLZSq3pj1turM5VPTqzCQSBXtl2R4ed4flSBpcQLD9wTRdaVEK Z62avoxX7bq6Y0K5lzavKRth+wfxgCdvC4nYrBq1EZGcrXbwYUw==
X-Google-Smtp-Source: AGHT+IGBaBrDQnDRGy1vwvjwrnjQhoGbkyX32jIE0In3QVzPlkyXt0y5BUjirL7CqOFTKByLg0J64Mo4TByhbmgw38E=
X-Received: by 2002:a2e:7217:0:b0:2d4:74c4:9f64 with SMTP id n23-20020a2e7217000000b002d474c49f64mr692967ljc.3.1711073950872; Thu, 21 Mar 2024 19:19:10 -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>
In-Reply-To: <B1CC8B09-A701-4401-8BEA-C31DE0FD0FD3@strayalpha.com>
From: Tom Herbert <tom@herbertland.com>
Date: Thu, 21 Mar 2024 19:18:59 -0700
Message-ID: <CALx6S354xQHqk4y+0dTkTQ524n5vrN01gJe57FBjbV1UuToWLA@mail.gmail.com>
To: "touch@strayalpha.com" <touch@strayalpha.com>
Cc: Toerless Eckert <tte@cs.fau.de>, 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/_K2y2N4h_oci-ZGY5_K3YWMk2jo>
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:19:16 -0000

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. The requirements are well established. If a
host receives an AH or ESP Header it MUST either validate ICV or
decrypt, or drop the packet. If a host receives a Frag Header it MUST
reassemble the packet before processing after the Frag Header. If a
host receives a Routing Header it must process it and can only
continue past the Header when segments left equals zero. If a host
receives an unrecognized Hop-by-Hop or Destination option and the high
order two bits of the option type are nonzero then the host MUST
discard the packet.

>
> 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. If some device supports IPv6 EH
through NAT then they could support IPv4. In fact, there's a lot of
implementation to be shared.

>
> >>
> >> 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.

>
> 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.

>
> > 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.

>
> 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. 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)

Tom


>
> Joe
>