Re: [arch-d] [Int-area] Is IPv6 End-to-End? R.I.P. Architecture? (Fwd: Errata #5933 for RFC8200)

Tom Herbert <tom@herbertland.com> Fri, 28 February 2020 16:14 UTC

Return-Path: <tom@herbertland.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 87C613A1A94 for <ietf@ietfa.amsl.com>; Fri, 28 Feb 2020 08:14:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=unavailable 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 QQWYhPET7Lpw for <ietf@ietfa.amsl.com>; Fri, 28 Feb 2020 08:14:53 -0800 (PST)
Received: from mail-ed1-x542.google.com (mail-ed1-x542.google.com [IPv6:2a00:1450:4864:20::542]) (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 9C6043A1A90 for <ietf@ietf.org>; Fri, 28 Feb 2020 08:14:52 -0800 (PST)
Received: by mail-ed1-x542.google.com with SMTP id j17so3986596edp.3 for <ietf@ietf.org>; Fri, 28 Feb 2020 08:14:52 -0800 (PST)
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=yfkrdZQKab5QtWW2OqZAPyTcbdRJ0wT5/TgetjxwKaE=; b=i9JipcZ0R2CN439e+1/R/mcqLhkv/+yPU4jvC8QUkhZe7Gr1FfofSV93hij++pnWl0 GAwpOUCBGGaoIIoBqEtDDsT81SaFOhYryEeIlVczzam2I4g+i89ZQEwHv63cz0Aygy08 H5YfeYE+rTyJGnDDhQR+s0txntrMTq2VczQ2s1kpFWTjApTUAGUWslYt6Ix/UnbPSbJa AFabkJyJrL+4lrS4luOnZb4RuwYNaMZWjkJ8MbEqhl9KNAl3e+xZzOzVNAd+AqWR6r9S zKIsMFXzP6qF9RIjdioxA6fzY8vQNXs1Ea5KonAtd+skXh9Z3mMps1lQmP7OilW+CUPI 1A5w==
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=yfkrdZQKab5QtWW2OqZAPyTcbdRJ0wT5/TgetjxwKaE=; b=FznhQ9P68rz7q93a2ULeOCW/mjRI6mxyeZ4cpYqZ0qW1+VcZ0xWSNeMakOvFeA9mP8 2Zpk4RQa8v82EzWhjqzH8m+XTrumpIQfBGShKSoz2oR/hwRaEzo2vjX3VqkK0guM7omW ri9ggs67+9jQGHagRl6XnYBKntEcyRUirSg5rvQ33N4RkrYzAc4kj5lMPpiqHkiuLO2h 5bA5Y8Nttc9UGtpjuaDxlZbkU/nsDbx1ewqylH4wL/QxuyIUEZD8Q1N1yONsnx5H+gs8 zeUZaigrxvOZScSgPTwPR8mspsayiyguct/BcsjQOlh0Em4D/eJOFZ148adN7s66hZ9P +gNA==
X-Gm-Message-State: APjAAAVlDX4a1nw2FuivCsHW3jn5G+7F6shPzILpm0MciASS4IHVVwYe WCJFZ1rs5795zAtJ1LDPDeBp4QUYxGmILsUpi0l7f3m6y6U=
X-Google-Smtp-Source: APXvYqw6PfHdiDHtsgTJyM5XMTAv0LEzvWryI2LWvmW+v3+7cvK40M8vR3H3HSssHkkSlda69YsktL+Z/O4MVdlHmcg=
X-Received: by 2002:a17:906:128f:: with SMTP id k15mr1823221ejb.266.1582906490793; Fri, 28 Feb 2020 08:14:50 -0800 (PST)
MIME-Version: 1.0
References: <876c9105-3da4-e614-2db0-bea025b54663@si6networks.com> <7749f91f-03f1-cc14-bae8-5fe68c88879f@si6networks.com> <CALx6S36wN7VEi_rxLC1ETcTvkGaPhs20KhQrGWAGGTrCL5OT+g@mail.gmail.com> <CAMm+Lwg+4xMv=EKLfvmZMCgrQz31+38Fv0bYKeJ0fTB5vbXiaw@mail.gmail.com> <8d3e7b714666db00e0c05a2e06959da6@strayalpha.com> <CAMm+LwjYeSTro_TJujtRPDfVKtVMg7JbDL6A5V3Tj447c2E7nA@mail.gmail.com> <74763844-FA56-43DC-981E-E366E2C24758@strayalpha.com> <CAMm+LwjeWXUmOEzvbUhrG1H8OMqG9EhcF3TzdZBA61LnySSPqw@mail.gmail.com>
In-Reply-To: <CAMm+LwjeWXUmOEzvbUhrG1H8OMqG9EhcF3TzdZBA61LnySSPqw@mail.gmail.com>
From: Tom Herbert <tom@herbertland.com>
Date: Fri, 28 Feb 2020 08:14:39 -0800
Message-ID: <CALx6S35ko4zfCWwtR+LTKR6NdH86pVx7E-JoF0Cf4RVZOSJtkA@mail.gmail.com>
Subject: Re: [arch-d] [Int-area] Is IPv6 End-to-End? R.I.P. Architecture? (Fwd: Errata #5933 for RFC8200)
To: Phillip Hallam-Baker <phill@hallambaker.com>
Cc: Joseph Touch <touch@strayalpha.com>, Internet Architecture Board <iab@iab.org>, architecture-discuss@iab.org, Internet Area <int-area@ietf.org>, IETF Discussion Mailing List <ietf@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/5xbdct_pYjMXYlvYd4H0L7aNqWc>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Feb 2020 16:14:58 -0000

On Fri, Feb 28, 2020 at 5:32 AM Phillip Hallam-Baker
<phill@hallambaker.com> wrote:
>
>
>
> On Thu, Feb 27, 2020 at 11:36 PM Joseph Touch <touch@strayalpha.com> wrote:
>>
>>
>>
>> On Feb 27, 2020, at 4:21 PM, Phillip Hallam-Baker <phill@hallambaker.com> wrote:
>>
>>> IP end to end does not mean the IP address is constant end to end. It never has meant that and never will.
>>>
>>>
>>> Actually, that's the only thing it ever meant and always will. When addresses change, *by definition*, the*ends* change (and yes, that's what NATs do - they create end-to-end CONTENT transfer over separate end-to-end Internets).
>>
>>
>> By whose definition? Not by mine.
>>
>>
>> I’d start with RFCs 791 and 1122, but there’s also the pseudo header in RFC 793, to be very specific.
>>
>> TCP and TLS give me a reliable end-to-end stream. The fact that the IP address is exposed is merely an unfortunate defect in the legacy APIs.
>>
>> As the application layer designer, I am the customer here. I do not care about the IP address.
>>
>>
>> Hmmm. By what value do you call  TCP endpoint?
>>
>> You must have magic sockets that don’t actually refer to IP addresses.
>
>
> I have a library that implements RFC6763. So my application code doesn't actually consider IP addresses.
>
It's great that _you_ have a solution, but not everyone does. The
standard says that a TCP connection endpoint is defined by a 4-tuple
of source address, destination address, source port, destination port.
It is an invariant that we have forty years of operational experience
with. If you think that design decision is obsolete or should be
revisited, then by all means propose an alternative in tsvwg.

Tom

> Since the platform doesn't provide real DNS resolution, I have to write my own of course. And I will be putting DNSSEC in there at some point probably. But it is a feature set that should be in the platform.
>
> At some point, I am going to have to look at implementing TURN/STUN/PCP etc. for NAT traversal. That certainly isn't application layer code.
>
> So as far as i am concerned, I am resolving a triple of SRV prefix, DNS name and account name to a socket.
>
> The only case in which my application code would deal in a raw IP address and port is if the resolution is delegated to an external presence service. If Alice is trying to make a person-person call to Bob, we may want to route the packets direct. So there has to be some sort of presence service in the cloud to set up the connection which is going to end up telling one of them to place a call for an IP address/port and the other of them to listen for the incoming.
>
>
> The test of this design is straightforward, all the proposals for DNS privacy etc. sit inside the library. I can drop out regular client DNS for DPRIV. Or I can use my omnibroker version which makes use of the RFC6763 interface.
>
> Abstracting away from TLS and UDP means I can adapt to new transports like QUIC very easily. For certain types of message, I have my own UDP based transport. Most cryptographic service transactions consist of a single request packet followed by one to a dozen response packets. That sits in the same box.
>
>
> It really isn't 'magic', it is just understanding that this is platform code not application code.
>
> We do not have 'layers' in the Internet architecture but we have modules that we call layers. And those layers have interfaces to the layers above and beneath them that are mediated by a naming infrastructure. And we should be really explicit about what those interfaces are because they have to be stable over long periods of time.