Re: [v6ops] Scope of Unique Local IPv6 Unicast Addresses (Fwd: New Version Notification for draft-gont-6man-ipv6-ula-scope-00.txt)

Brian E Carpenter <brian.e.carpenter@gmail.com> Thu, 07 January 2021 02:51 UTC

Return-Path: <brian.e.carpenter@gmail.com>
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 4B1343A1466; Wed, 6 Jan 2021 18:51:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.361
X-Spam-Level:
X-Spam-Status: No, score=-2.361 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, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.262, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 Nk7zQNkHuFPd; Wed, 6 Jan 2021 18:51:30 -0800 (PST)
Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com [IPv6:2607:f8b0:4864:20::532]) (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 F34E53A1290; Wed, 6 Jan 2021 18:51:29 -0800 (PST)
Received: by mail-pg1-x532.google.com with SMTP id n10so3776321pgl.10; Wed, 06 Jan 2021 18:51:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=MjSqEhTYe1vxKIVIBvOA0nU2xqkroFuWVOMOrhqZrF8=; b=pfKxrkkGSrh6u54LS3Z56aA3ebPneo9lcaRcdFjLdSzczDGXrTajOe46nnVNSe/3VL YAcsFYS8Tdr3GzasBUbgwLu/3DAccNGDUfoCIGknLMoCGZxxCYJ9AOuklJspdtEqWa9x 6UPegYD6yMTGkI7uRZR048BWZcdTXmD8pO/Zx5J2c0hPERHb11wTVAHtHQeg3V0lc/Rk y+JmRtniROAwkGuV8pqUkjIyg6z2i7zu5YmvWm0fHbHxI4O6CXQruuOXGzcWZEhYigNZ QvUus4b7ud4/mMeSDNi4GNe+60iPsVkGfdEBgFAKRQ8qNtPm+J+XpCI/Za5yDvPR5+bt or4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=MjSqEhTYe1vxKIVIBvOA0nU2xqkroFuWVOMOrhqZrF8=; b=XPnTgXp78gwEmaGLFT5jD2yiwTfEsSCD7XhjhNgJ3RkbMzrL6WfyGFHjRb0rY62qg6 Ykd1waAGdIfTl3i7EiduWRp+DIREiTuKRH+C3/rZMokxYqur30yG8t6/vlLpF/WZ1Rhu B5jsl9bJgT+KsT9o2+wgXqpO1MEeYXJSJD3PafpAkxPUfZ6IugyhCCURbR9dIjUPM5qw WMr1Fdi8QUTRoXuq3Z++mqiW4nKbfsEIn0J29/kLXX9Mu1o48SXdPlsOr2Uw3k8pJSmv LFH9x7WHuvxplWKTA41Nzdcy3GMNFrpQC4hf6he4QCCyAXZO9ZK6lpqKvqczyZfLQ9RF +xWA==
X-Gm-Message-State: AOAM532yaT+egs47YX592PrMCMORnZlWDaVumcDmY1754NIC1CFyJYp7 tl3vEileTR8vMXta4XkzNajC8O80uxAg3A==
X-Google-Smtp-Source: ABdhPJyURsbqfGBfI1Lxv4Iy0mxzcxiFO4J5qOgZiAq9FXzt9ELy/gWQwjX1twdd9pbYG770pac4cA==
X-Received: by 2002:a63:1863:: with SMTP id 35mr7710055pgy.191.1609987889112; Wed, 06 Jan 2021 18:51:29 -0800 (PST)
Received: from [192.168.178.20] ([151.210.131.28]) by smtp.gmail.com with ESMTPSA id p16sm3381582pju.47.2021.01.06.18.51.25 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 06 Jan 2021 18:51:28 -0800 (PST)
Subject: Re: [v6ops] Scope of Unique Local IPv6 Unicast Addresses (Fwd: New Version Notification for draft-gont-6man-ipv6-ula-scope-00.txt)
To: Fernando Gont <fgont@si6networks.com>, Lorenzo Colitti <lorenzo=40google.com@dmarc.ietf.org>, Mark Smith <markzzzsmith@gmail.com>
Cc: IPv6 Operations <v6ops@ietf.org>, 6MAN <6man@ietf.org>
References: <160989494094.6024.7402128068704112703@ietfa.amsl.com> <6fe3a45e-de65-9f88-808d-ea7e2abdcd16@si6networks.com> <CAO42Z2wR-3vbHi-NrBBMmCTNDq5fgqvSmBUbYK7P+63QTNfxkg@mail.gmail.com> <CAKD1Yr014PzVJj9Y6O=PBGc_QSVtur-0wMpaNkFA0dqr8FHGuA@mail.gmail.com> <44e7ac61-523a-d35e-9024-7e6df81e4226@gmail.com> <be92f523-eeaa-8ed4-afdf-4a537f53748c@si6networks.com>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Message-ID: <7b3809f0-2db4-bcff-b669-66911ee9c087@gmail.com>
Date: Thu, 7 Jan 2021 15:51:23 +1300
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <be92f523-eeaa-8ed4-afdf-4a537f53748c@si6networks.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/_1sq6NequClRe2z1oaJp1H9spHk>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
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, 07 Jan 2021 02:51:31 -0000

On 07-Jan-21 11:23, Fernando Gont wrote:
> On 6/1/21 18:30, Brian E Carpenter wrote:
>> Portmanteau reply to multiple messages:
>>
>> On 06-Jan-21 20:07, Lorenzo Colitti wrote: ...
>>> So I guess I'm somewhere between 1) and 3). The specs are
>>> consistent but they fail to consider human behaviour, so they don't
>>> actually work in practice.
>>
> [...]
>>
>> The problem is largely theoretical, and educational for people who
>> train IPv4 users in IPv6 terminology and practices. As Fernando has
>> pointed out, the use of the word "global" is confusing for something
>> that has L for "local" in its name.
> 
> There is indeed a terminology issue, which ends up making it complicated 
> to explain e.g. the concept of "scope" as a result.
> 
> 
> 
>> On 07-Jan-21 01:17, Ted Lemon wrote: ...
>>> GUA: “valid everywhere on the internet scope” ULA: “not valid
>>> everywhere scope” LLA: “valid only on this link scope”
>>
>> Friendly amendment:
>>
>> GUA: valid everywhere ULA: Unique Limited-domain Address LLA: valid
>> only on this link
> 
> Would certainly also work.
> 
> 
>> On 07-Jan-21 04:13, Philip Homburg wrote: ...
>>> Some things don't need fixing even if they are not 100% correct.
>>
>> +1
> 
> My take is that if the topics is confusing for us, we cannot expect it 
> to be any better for others.
> 
> 
> 
>> On 07-Jan-21 05:26, Gert Doering wrote: ...
>>> Why should applications, or anything that is not an admin, care if
>>> an address is a ULA or a GUA?
>>
>> It depends on what you mean by "application". I've written code that
>> explicitly prefers a ULA, and I could imagine a security spec saying
>> "prefer ULA". But anyway, it's not really a problem, is it? (It's
>> annoying to me that in Python, a ULA has .is_global == False, but I
>> managed to code round that error.)
> 
> The question is: Is it an error?

According to the addressing architecture and the ULA definition, it's
an error. It's also a tricky one to fix, because who knows what running
code might depend on it?

A test for ULA-ness in Python, using only the address properties that the
ipaddress module already defines, is:

def is_ula(a):
    """Test for ULA"""
    return (a.is_private and not a.is_link_local
             and not a.is_loopback
             and not a.is_unspecified)

which also, not coincidentally, returns True for RFC1918 addresses.
(Of course you could equally well do a bit-mask test.)

> I've just checked the most "up to date" textbook that I have at hand on 
> IPv6. Page 335 has a subsection entitled "Global addresses versus ULAs".
> The discussion in the textbook is indeed fine.
> 
> Could one actually make the case that e.g. Python's library should 
> change? If it did, it would be counter intuitive. It would match 
> RFC4193/4291, but not RFC4007, e.g. the textbook I've checked, and the 
> intuitive meaning of private/global.

That's of course exactly why the term "globally reachable" was added
by RFC8190. My objection to the Python library is not that it provides
the property .is_private, which is very clear, but that it asserts that
ipaddress.IPv6Address("fd63:45eb:dc14:0:8546:6ab7:1529:b435").is_global
is False. Because according to the Proposed Standard RFCs,
ULAs are both private and global.

Unfortunately I don't think it's reasonable to ask for a non-backwards-
compatible change in the Python library. If you were maintaining such
a widely used library, would you want to break compatibility?
 
> FWIW, I don't think there's a problem with how ULAs work. But I do think 
> that the terminology problem does have ramifications.

Yes.
   Brian