Re: [IPv6] Second Working Group Last Call for <draft-ietf-6man-rfc6724-update>

Kyle Rose <krose@krose.org> Thu, 11 April 2024 13:10 UTC

Return-Path: <krose@krose.org>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 92063C14F691 for <ipv6@ietfa.amsl.com>; Thu, 11 Apr 2024 06:10:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level:
X-Spam-Status: No, score=-2.095 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_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 (1024-bit key) header.d=krose.org
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 DCogyCs8eSBU for <ipv6@ietfa.amsl.com>; Thu, 11 Apr 2024 06:09:55 -0700 (PDT)
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) (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 91E36C14F68F for <ipv6@ietf.org>; Thu, 11 Apr 2024 06:09:55 -0700 (PDT)
Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-56e6a1edecfso5896124a12.1 for <ipv6@ietf.org>; Thu, 11 Apr 2024 06:09:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=krose.org; s=google; t=1712840994; x=1713445794; 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=tccnDVJ8JNXMcZkXGlYbaGG+qYJT1k/eKyJ7lCmxFTI=; b=o4/+Mw1Djg9Y1R/7aUxut2S82Akr/dC6bLeb2wvEV7+fHAX3bgffvGFf2rqe5G64IX DpZZsTAHzeeIUG09RzFObnCuOX87K7FaMBgYetwl+9tk00xcseBYpulvBwcS36NDz/VD FBlJq38LqZ5ODNKkfL+ehX3JalyCkfdoo1RdU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712840994; x=1713445794; 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=tccnDVJ8JNXMcZkXGlYbaGG+qYJT1k/eKyJ7lCmxFTI=; b=Eab+pJzIUV6ARF6MgaDYxsPyfycAr1a/v+ATAaOaf8YXfLPD97hz3vfcEymUHeWdcL yfsmVvE1w9CiD+KSBNz+mpHllATqSoOjgnbTaDL5hFI+DM2usyZN+bWPhlWTmGNp20M/ 1p0YNGfcx4e4gnuQnR+D2809D91hYu2muavRTZCOsllY8ChxDQuixrkAxwqno5l4C2dK INQqqQTfWI/qbkx+1hG77+S3OX0J+UEeLbd7T2e5otdedqNchR0gv51UHj9Ej8FSQs9J R5iopavl1sY5Feh56nBbFH4oUefl+QDpdbFkoceabbU4xwkf+tAlW+ulbx0FDUxisgWH 3zoA==
X-Forwarded-Encrypted: i=1; AJvYcCUtJiUgB0XjxDo84Xd+F0K0Wvci6JfovOU2BN0HQuX4x50bRE7IUXLfENJgyNR9BB+NhJPmiO0UpmnBXIgA
X-Gm-Message-State: AOJu0YybCeRTYE0IpJLkAoAvYzP27fFjZseweUDoo2okI2VK42CzOvmH NsNA9iVdFobI511OeCZQjx4sKxFATThUa69W2zXtNttCZhwY8OKtvacKwr/FSNKq+2RYRxmSAzY t+zPE2rRyT5YIh3GtsVSyyzQ+DeElt1QAFlGUZQ==
X-Google-Smtp-Source: AGHT+IE0V3NXY7vZBNUMYGHBA4b9Z0vrX0JOBh6IlCMDREhAAKIOeOVMsV3JMxdGL3GUT3EV2c/PDlrJYym7YtXlWaQ=
X-Received: by 2002:a50:d55a:0:b0:56e:2e6a:9eef with SMTP id f26-20020a50d55a000000b0056e2e6a9eefmr4318217edj.2.1712840993709; Thu, 11 Apr 2024 06:09:53 -0700 (PDT)
MIME-Version: 1.0
References: <6A5E5F35-B35F-4358-8EE1-3BD82329141E@jisc.ac.uk> <6FBC1B5A-BF28-4B05-B2B2-A60DA4707755@gmail.com> <CAJU8_nUX3VFcRtFUoCy+Uxn6UQYsB-wo+64PSufBWxW67Y64bw@mail.gmail.com> <CAPt1N1nDUh=p5x8Kp_fkEYRf9ZktaRo73Hzc40qVQ11X-B-GYw@mail.gmail.com> <CAJU8_nWN+R-bwRPhSpxYPB21qCyJNn6M4jAVtAfDTTYw7c1BGA@mail.gmail.com> <CAPt1N1=Y=+ft-PBjUFTeHxmu9pAkxQmhYepnTJmD4D0-Hyf4Bg@mail.gmail.com> <CAJU8_nWn0P1=XFXg7ZSCUaQVOQ++r2B6afWeiQkzSfHZ=e8iZA@mail.gmail.com> <CAPt1N1kmBFWuxe5VZ3vb4i-0+wcTyR+QBNa0OtdLD7yf9qcxYw@mail.gmail.com>
In-Reply-To: <CAPt1N1kmBFWuxe5VZ3vb4i-0+wcTyR+QBNa0OtdLD7yf9qcxYw@mail.gmail.com>
From: Kyle Rose <krose@krose.org>
Date: Thu, 11 Apr 2024 09:09:42 -0400
Message-ID: <CAJU8_nXzPWja7XrudBW202bO4YHWsTVcvbGiTAxFq7aiChPA6Q@mail.gmail.com>
To: Ted Lemon <mellon@fugue.com>
Cc: Bob Hinden <bob.hinden@gmail.com>, IPv6 List <ipv6@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000fcbe950615d1dee5"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/Un_xkdBgZFHlYNqaNVnLWSfYj9M>
Subject: Re: [IPv6] Second Working Group Last Call for <draft-ietf-6man-rfc6724-update>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 11 Apr 2024 13:10:00 -0000

I'm not going to go point-by-point here because this is quickly exceeding
the degree of effort I want to spend on explaining my preferences. I'll
just say that if your goal is to make problems obvious and
easily-diagnosed, you don't want a lot of layers of mitigation on top of
the actual network behavior. Better to make the problem of publishing
unreachable addresses obvious to the user than to introduce a new mechanism
that might work 99% of the time once fully-deployed but will also
incentivize the publishing of ULA to global DNS, increasing the actual
incidence of that problem by a far greater order of magnitude. This is what
economists call "moral hazard".

I am absolutely sympathetic to autoconfiguration and want to see more of
it. But care needs to be taken to avoid creating perverse incentives to
misconfiguration. Misconfigurations should be easily detected and
corrected, not hidden behind layers of mitigation until the problem finally
exceeds the reach of the mitigation, requiring the operator to unravel
layers of complexity that introduce incomprehensible responses to
diagnostic steps.

>From experience, the most important principle of network operations is
arguably that of "least surprise". This is why Happy Eyeballs and similar
mitigations are a double-edged sword: they are great for users when the
network is only partially broken, but it is still critical for the operator
to be able to monitor for and observe the problems that are being
mitigated. So, putting that mitigation at the application layer on the end
user device, rather than in the network or network stack, seems like the
right compromise because the brokenness is still apparent at a high enough
layer for the operator to easily be able to identify the faulty application
with sufficient telemetry.

Kyle


On Thu, Apr 11, 2024 at 8:36 AM Ted Lemon <mellon@fugue.com> wrote:

> On Thu, Apr 11, 2024 at 8:17 AM Kyle Rose <krose@krose.org> wrote:
>
>> On Wed, Apr 10, 2024 at 10:13 PM Ted Lemon <mellon@fugue.com> wrote:
>>
>>> On Wed, Apr 10, 2024 at 8:25 PM Kyle Rose <krose@krose.org> wrote:
>>>
>>>> Yes. It would make no difference to how my sites would operate. I am
>>>> concerned about complexity, however, and the more complex a change that is
>>>> required, the less widely implemented it is likely to be.
>>>>
>>>
>>> This is sort of a truism, but I don't see why it should affect what we
>>> put in the document. E.g. PCI certification /still/ does not require TLS
>>> 1.2, even, much less TLS 1.3 It took a long time for mbedtls to implement
>>> TLS 1.3. Should we not have published TLS 1.3 because we thought mbedtls
>>> wouldn't implement it?
>>>
>>
>> TLS offers a handshake allowing pairwise interop between versions. This
>> known-local mandate by contrast would enable many of the configurations
>> proponents desire, on networks that require more than pairwise
>> compatibility, only after every device supports it. It's a long ramp to an
>> uncertain future.
>>
>
> I don't think this requires pairwise compatibility. If a host has a ULA,
> and a GUA, and both are advertised locally, right now hosts will always use
> the GUA. With the proposed change, they will use the ULA if it is known
> local. Hosts that do not implement this will continue to use the GUA, which
> will work, just not as consistently. It's okay to have a long tail here.
>
>
>> The reason to prefer known ULA<->known ULA over GUA<->GUA is that it
>>> enables sites to reliably number internally with a ULA and for that ULA to
>>> then be used for internal communication in preference to GUAs, which may be
>>> renumbered arbitrarily as ISP contracts change or at the whim of the ISP,
>>> for that matter.
>>>
>>>> That's not the only way to enable this outcome. I solve this problem by
>>>> using different names internally. Split horizon would also work here, by
>>>> showing you only ULA internally and only GUA externally.
>>>>
>>>
>>> That's not something that can be done automatically on a home network.
>>>
>> "That" = ...split horizon DNS? Surely using different names internally is
>> a thing that home users would generally do by default, since they tend to
>> have most services firewalled from outside, except for things like port 22
>> for power users or services that reach out to provide return connectivity,
>> e.g., for IoT devices like thermostats and doorbell cams. (I suspect most
>> home users' internal services are advertised via mDNS, which under 6724 on
>> a dual stack network generally means the v6 addresses associated with a
>> .local name will never be used. I and everyone on this list am probably far
>> out on the tail of home users in that I run my own recursive DNS server.)
>>
>
> Okay, there's a lot wrong with this picture of how things work. First of
> all, the direction that IoT is evolving at the moment is away from the
> "reach-out-to-the-cloud" model. That model has a lot of problems, not the
> least of which is that it doesn't work when the cloud isn't reachable. Do
> you want to not be able to turn your lights off when the Internet is down?
> The privacy challenges presented by having random people outside your home
> be able to know whether you've turned your thermostat down and when your
> lights are on also definitely militates for local rather than cloud control
> of IoT.
>
> You are right that most services on home networks today are advertised by
> mDNS. However, we are trying to move away from that towards using SRP and
> unicast DNS-SD. And we now have 802.15.4 networks in the home, and these
> are IPv6-only and use SRP plus an advertising proxy to advertise services
> on the home infrastructure network. mDNS and SRP advertisements include all
> public (non-temporary) addresses a host has, including ULAs. When the
> choice is between a ULA and a GUA, and the ULA is known-local, the benefit
> of choosing the ULA is that we don't lose connectivity when the ISP
> renumbers the network.
>
> I think a key disconnect in the way you are thinking about this is that
> you're thinking in terms of networks being managed, rather than unmanaged,
> and of DNS advertisements as being set up manually, or through some
> management UI, rather than automatically. The proposed mandatory behavior
> makes it much easier to set up a network that is largely autonomous
> (self-configuring), rather than managed, and have it work predictably and
> reliably in the face of normal events such as ISP renumbering, multihoming,
> and so on. You're right that if you are your own operator, there are other
> ways to solve the same problem, but this assumption gets less and less
> viable as time goes forward.
>
>
>> The fact that you can do a heavy lift like that and make it work is a
>>> credit to your company's operational acumen, but doesn't help implementors
>>> of RFC7084, for example.
>>>
>> Just to be clear, my "sites" are my home networks. My interest in this is
>> personal/hobbyist, not professional.
>>
>
> Right, I'm realizing that based on your previous statement. But you are
> many standard deviations outside of the user we are designing for.
>
>
>> I mean, I *see* the advantages if you have DNS names that map to both, or
>>> other static configuration that wants to be able to use one or the other
>>> under a variety of network environments, where there is some policy,
>>> routing, efficiency, performance, reliability, or other benefit to using
>>> ULA where it is available. I'm not blind to that. I just haven't been
>>> convinced that address selection is the best way to solve those problems.
>>>
>>> Do you have some other solution to propose that doesn't involve
>>> maintaining parallel DNS namespaces and training users to operate them? Can
>>> this solution be deployed transparently and automatically?
>>>
>> I guess I'm just not that sympathetic to the goal of optimizing
>> initial-config simplicity for operators of networks beyond a minimal level
>> of complexity. IMO, trying to simplify network operations by putting all
>> possible addresses for a service into a single DNS name and assuming the
>> client will choose the optimal pair via 6724-style address selection is a
>> case where seeming simplicity of configuration is likely to lead to
>> hard-to-diagnose problems later. Lorenzo's open advocacy of publishing
>> unreachable ULA to global DNS and letting the client sort it out, certainly
>> much more extreme than any other position I've read on these threads over
>> the past 10 months, is maybe the perfect example of just the kind of
>> "theoretically, this should work" thinking that we are likely to come to
>> regret in ten years' time.
>>
>
> Actually the thinking we've come to regret from ten years ago is mostly
> the opposite: expecting that clever workarounds on the network will not
> hide actual problems and make them hard to debug. Things that fail in
> obvious ways are pretty easy to debug. The more subtle your network setup
> is, the harder it is to figure out why it's broken, and indeed the more
> likely it will be that things you think are working actually aren't,
> meaning that e.g. it's only when IPv4 suddenly stops working that you
> realize your IPv6 configuration is completely FUBAR.
>
>
>> I don't really have anything to add to my stated justification. It really
>> boils down to "more complex means greater time-to-done". I want the default
>> policy table change published 6 months ago.
>>
>
> Okay. But I think you're thinking that the MUST we're asking for is "more
> complex," whereas we're claiming that it's "less complex." :)
>
> Have you followed any of Jen's presentations on IPv6-mostly?
>