Re: [arch-d] [Int-area] Continuing the addressing discussion: what is an address anyway?

"David R. Oran" <daveoran@orandom.net> Wed, 26 January 2022 15:36 UTC

Return-Path: <daveoran@orandom.net>
X-Original-To: architecture-discuss@ietfa.amsl.com
Delivered-To: architecture-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 201603A14C4 for <architecture-discuss@ietfa.amsl.com>; Wed, 26 Jan 2022 07:36:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.899
X-Spam-Level:
X-Spam-Status: No, score=-6.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 kNq1tz1aV6pc for <architecture-discuss@ietfa.amsl.com>; Wed, 26 Jan 2022 07:36:45 -0800 (PST)
Received: from spark.crystalorb.net (spark.crystalorb.net [IPv6:2607:fca8:1530::c]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 17EA13A14E3 for <architecture-discuss@ietf.org>; Wed, 26 Jan 2022 07:36:45 -0800 (PST)
Received: from [192.168.15.242] ([IPv6:2601:184:407f:80cf:706e:8480:9f37:3c41]) (authenticated bits=0) by spark.crystalorb.net (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id 20QFaAd2002329 (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256 verify=NO); Wed, 26 Jan 2022 07:36:12 -0800
From: "David R. Oran" <daveoran@orandom.net>
To: architecture-discuss@ietf.org
Date: Wed, 26 Jan 2022 10:36:00 -0500
X-Mailer: MailMate (1.14r5864)
Message-ID: <C256E790-D318-4413-B8BE-18704300AC14@orandom.net>
In-Reply-To: <c4ec1cce-b754-0d85-6abe-1d065349bc7f@lear.ch>
References: <57c643c667d94a77b9917bb17dc142a5@huawei.com> <D9F21BA9-4EFC-4AFD-8C91-B411A3289734@apnic.net> <c4ec1cce-b754-0d85-6abe-1d065349bc7f@lear.ch>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=_MailMate_8D6BF322-28A8-46B9-B59F-09F0A86FFD36_="; micalg="sha-256"; protocol="application/pkcs7-signature"
Archived-At: <https://mailarchive.ietf.org/arch/msg/architecture-discuss/XvgJfqFm6r8mOSr5FoCokz1xmoo>
Subject: Re: [arch-d] [Int-area] Continuing the addressing discussion: what is an address anyway?
X-BeenThere: architecture-discuss@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: open discussion forum for long/wide-range architectural issues <architecture-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/architecture-discuss>, <mailto:architecture-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/architecture-discuss/>
List-Post: <mailto:architecture-discuss@ietf.org>
List-Help: <mailto:architecture-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/architecture-discuss>, <mailto:architecture-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 26 Jan 2022 15:36:47 -0000

I wade in here with more than a little trepidation, especially with my “ICN taint” where there are no classic “flows” and in fact no source addresses to apply semantics to, and only weak notions of destination addresses in the sense that content names at layer 3 may have a binding only to a single location in the network because that’s what you wanted when you constructed the name.

After reading the semantic routing docs, I am still befuddled about why one would want this capability in an underlay when it is already very common to employ a level of indirection by recursing at layer 3 to construct flexible overlays. One might want semantics other than an attachment point in an overlay, but we already have that, and can similarly recurse existing routing protocols to construct the desired topologies. So, I’m in the uncomfortable position of not seeing the need for any of this either as a native IP capability, nor going forward as an alternative to architectures like ICN which natively provide flexible semantics through the use of hierarchical or attribute-based names at L3.

If the goal is to try to decouple the IPv6 packet format from conventional notions of forwarding and routing, given the movement toward user-programmable switches and routers, we can do that without introducing the notion of semantic routing. As a extreme endpoint of this argument, consider the following:

- Programmable switches can do match operations on any set of contiguous bit fields in a packet if they are in the first 256 bytes of the incoming buffer.
- The extracted and matched bit fields can be used as input to a lookup table, or a cascaded sequence of lookup tables, or even something with FSM computation as long as the cycle count and memory accesses are highly limited.

Given this, there is no need, other than for standards compatibility, to assign any fixed semantics to ANY of the fields in an IPv6 packet, be they the “addresses”, the hop limit, ports, or anything else. In fact it may be that the **only** thing about the overall packet structure that demands precise standardization is how you demultiplex incoming frames/packets to the program that is assigned to handle them. Then if you don’t want to have source addresses and want to treat the concatenation of SA/DA (in any order or even segmented in pieces) as one single key to the forwarding operation, that’s just fine.

In this “endgame”, both routing and forwarding is simply defined by the program (or programs) you load in the devices. There’s no need to have conventional “protocol standards” beyond agreement among packet generators and packet parsers as to what the format of the packet is. IPv6 is just fine for this - there are enough bits to do a lot of stuff, even ICNish stuff as we’ve seen with the hICN effort (https://datatracker.ietf.org/doc/draft-muscariello-intarea-hicn/)

I don’t intend this as a flame; I’m seriously skeptical of the utility of using protocol standards as a way to achieve different routing functionality given where the technology is today and where it’s moving.

DaveO.

On 26 Jan 2022, at 1:24, Eliot Lear wrote:

> [copy architecture-discuss]
>
> Geoff,
>
> This is a pretty good characterization.  In fact, it's exactly where we went in the NSRG nearly 20 years ago, just after MO first kicked out 8+8.  For people's reference, we looked at naming at different levels, including at L3, in DNS, URNs (which were relatively new things then), HIP, etc.  There were then several efforts in both the IRTF and IETF to deal with portability of connectivity in transport.  I think QUIC gets a lot of that right.  QUIC – at least at the moment – as some limitations for local use (either you have certs or some sort of prearranged bidirectional authentication).  I think it's a fair engineering assumption that those will be kinked out.
>
> With all of that having been said, I go back to Dirk's note: what properties do we need at L3?
>
>  * If QoS is still a thing, then admission control has to be part of
>    the story.
>  * There is a tussle between endpoint privacy and the endpoint itself
>    being a threat.  In the latter case, the endpoint has to be
>    identified.  But to whom?
>
> As you describe, a lot of routing has moved up a layer.  Sort of.  But not all.  CDNs need to be well aware of topology, and that comes from L3, perhaps with additional OOB info.
>
> So... what's missing from L3 at this point that we need, and is it even a good question to ask?  I ask that because I have seen recently a retrenching AWAY from IPv6.  If that is happening, what makes us think that any new L3 beyond IPv6 would ever get adopted?  OR... what is missing from IPv6 that would cause people to move?
>
> Eliot
>
> On 25.01.22 12:38, Geoff Huston wrote:
>>
>>> On 25 Jan 2022, at 6:19 pm, Dirk Trossen<dirk.trossen=40huawei.com@dmarc.ietf.org>  wrote:
>>>
>>> All,
>>>  Thanks for the great discussion, following our side meeting at IETF 112, so far.
>>>  I wanted to turn the discussion to a key question which not only arose in the side meeting already but also in the discussions since, namely “what is an address anyway?”.
>>>
>> In this world of NATs it seems that we treat addresses as no more than temporary ephemeral session tokens and we've passed all the heavy lifting of service identification over to the name system. These days you and I could be accessing the same service yet we could b e using entirely different addresses to do so. Or I could be accessing the same service at different times, and again be using different addresses each time. I find it somewhat ironic that we see increasing moves to pull in IP addresses as part of the set of personal information in some regulatory regimes, yet what the larger network sees of end clients is a temporary NAT binding to a public address that may be shared by hundreds if not thousands of others.
>>
>> And IPv6’s use of privacy addressing achieves a similar outcome in a different way. And QUIC’s use of the session token inside the encrypted envelope even makes the binding of an address to a single session fluid, as the same QUIC session can be address agile on the client side.
>>
>> So perhaps an address these days is just an ephemeral transport token and really has little more in the way of semantic intent.
>>
>> Geoff
>>
>>
>> _______________________________________________
>> Int-area mailing list
>> Int-area@ietf.org
>> https://www.ietf.org/mailman/listinfo/int-area
>>

> _______________________________________________
> Architecture-discuss mailing list
> Architecture-discuss@ietf.org
> https://www.ietf.org/mailman/listinfo/architecture-discuss
DaveO