Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-01.txt

Nick Buraglio <buraglio@es.net> Mon, 09 May 2022 21:22 UTC

Return-Path: <buraglio@es.net>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B2A99C1594BC for <v6ops@ietfa.amsl.com>; Mon, 9 May 2022 14:22:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.855
X-Spam-Level:
X-Spam-Status: No, score=-0.855 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_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, NUMERIC_HTTP_ADDR=1.242, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=es.net
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 Yp0iDXtgmqYu for <v6ops@ietfa.amsl.com>; Mon, 9 May 2022 14:22:09 -0700 (PDT)
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com [IPv6:2a00:1450:4864:20::236]) (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 98E44C157B3E for <v6ops@ietf.org>; Mon, 9 May 2022 14:21:19 -0700 (PDT)
Received: by mail-lj1-x236.google.com with SMTP id t25so18592732ljd.6 for <v6ops@ietf.org>; Mon, 09 May 2022 14:21:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=es.net; s=esnet-google; h=mime-version:references:in-reply-to:reply-to:from:date:message-id :subject:to:cc; bh=Q5CLAMSWCMu1Qz501VeQG6rnnVGkBEY/YTvgChIQlwE=; b=Ht4RVH3h/mNdsfaa/Wo3mWttBYW+10Dyz2dk8rx3gfo2f4WoFXev9YqDttMcraQACx 1KX216GufrelkTHu/st62NzSxLnV14emv5isE8yUZk5ZUDByCPjWn4IMduEaGnKz0VUn 3cPUh6qomlhbzL8UEDC1P9Ez/58znsCr3lFxwpdY0gBMiGIgpFYcmdbQB0yJEkdeNkfr E/HqXejxWO86KNR1fVEqKQJZYPEvg4yvrqobuxbraUt8LaIIrIFXlplf8ULxj5ZAX12x 9zmsqKJ9Pqs4i6jBOHatUXP0NFaWjIxcTjNOD1kMgW0qWXK2x7dLGTFsbFkHgNebXPiC WF1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=Q5CLAMSWCMu1Qz501VeQG6rnnVGkBEY/YTvgChIQlwE=; b=gYil5Zy5juhf5j7OZu7BPTqTIdAEMtkaOyOvW0ZZrSgYkQWDz2Z6rcDI0EHaHg2Rpy 6mkESpG5K+UPQlO6a3K6KSdvdYXBUNyRjqMevwpLL52ZFTum3Zmd8px1UVcNmuUzCBIX A3qpxj6Fqn+GYe5DhQfHgccGS+Qi4lcIQAtSOe+S285vAI1kdo7DAktQxlMWZR0NHdvk otym63q66jKxmwY8TRhpoGvlbJaOZrUMDuLe0RAU4+voZwtg2Fjw92rWdX4FXg7m6Yd4 LxOMZCYFwBuTsa+mRQYqFUsbw1FjWtULn/HFdXLBiACWWgh/PWG2jfeNJXWAg06wkAGN R/+A==
X-Gm-Message-State: AOAM533Kcgh6qj/Q922SbWbYUYqzoOHdUMfVmGv6RsWY+/45/SHTbBT6 BPYO9VT2Gy535uh8kaH9oQw5X7jcwa7joklAz2K7MusG078BPiCtdAhB4eBgNZ/o4n+TS82VL3j jdQszLmwhHg3v4G3cD6Kpx9+YK4XD/pj8kORkviyRJUm48ENXJK34FdPkRWwNvEVcKt8qECXt2s uedDyNpr4=
X-Google-Smtp-Source: ABdhPJy1oZaieKof7V+Qh2lZmLVpscfaG9menSYhKKBrSsCf6fG5BFJtMKvoK+E9FH0RKkWsnoAozafZRHnYPi2OMn4=
X-Received: by 2002:a2e:b6c6:0:b0:24f:3919:5923 with SMTP id m6-20020a2eb6c6000000b0024f39195923mr11777837ljo.398.1652131277527; Mon, 09 May 2022 14:21:17 -0700 (PDT)
MIME-Version: 1.0
References: <165064500009.9969.16134230557484818454@ietfa.amsl.com> <87aa5bcf-05cf-d170-1efb-d9caa6b48e6c@gmail.com>
In-Reply-To: <87aa5bcf-05cf-d170-1efb-d9caa6b48e6c@gmail.com>
Reply-To: buraglio@es.net
From: Nick Buraglio <buraglio@es.net>
Date: Mon, 09 May 2022 16:21:06 -0500
Message-ID: <CAM5+tA85WTvSOFz_X=K+hk9u0uD+444Pr+ZXHOGSDteK44wGAg@mail.gmail.com>
To: Brian E Carpenter <brian.e.carpenter@gmail.com>
Cc: IPv6 Operations <v6ops@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000eb8f2505de9ac938"
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/AeD3CpxYIn2ThnYk7gGJRcUw1iw>
Subject: Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-01.txt
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 09 May 2022 21:22:14 -0000

I will work through these suggestions.

nb


ᐧ

On Sun, May 8, 2022 at 6:23 PM Brian E Carpenter <
brian.e.carpenter@gmail.com> wrote:

> Hi,
>
> Thanks for this draft. I have a few comments (and a tiny nit at the end).
>
> >  The core issue is the stated interpretation from gai.conf that has the
> following default:
> >
> > #scopev4  <mask> <value>
> > #    Add another rule to the RFC 6724 scope table for IPv4 addresses.
>
> I'm not sure why this matters. RFC6724 is quite correct to indicate that
> most IPv4 unicast addresses formally have global scope, but auto-config
> and loopback addresses have link-local scope. IPv6 is pretty much the
> same, and in particular ULAs have *global scope* even though they are
> not globally reachable. RFC1918 addresses are identical to ULAs in
> that respect.
>
> Citing RFC4291 and https://www.rfc-editor.org/rfc/rfc8190.html#section-2.1
> would clarify the difference between global scope (architectural) and
> globally reachable (practical). What we care about here is whether an
> address is globally reachable ("no" for both RFC1918 and ULA, although
> they are both architecturally global). Unfortunately this distinction is
> lacking in the description of gai.conf and, I suspect, in the code of
> Linux getaddrinfo().
>
> What I think is lacking in the draft is an explanation of how
> getaddrinfo() works and why it matters. Here's a walkthrough that
> I hope will help clarify what I mean:
>
> Consider an end-user network with the following properties:
>
> It is dual stacked.
> It uses 10.1.0.0/16 (NATted to the Internet).
> It uses (or wants to use)  fdee:face:fade::/48 for internal IPv6.
> It uses 2001:db8:fade::/48 for external IPv6
>
> We'll neglect for now whether it has a subnet structure. It shouldn't
> matter.
>
> Consider a host user.mynet.example.com, a local server
> printer.mynet.example.com,
> and a remote server www.theirnet.example.com. Assume they have these
> various
> addresses:
>
> user.mynet.example.com has:
>
> 10.1.0.1
> fdee:face:fade::1
> 2001:db8:fade::1
>
> printer.mynet.example.com has:
>
> 10.1.0.10  (A record in local DNS)
> fdee:face:fade::a  (AAAA record in local DNS)
>
> www.theirnet.example.com has:
>
> 192.0.2.15  (A record in global DNS)
> 2001:db8:cafe::f  (AAAA record in global DNS)
>
> What do we *want* to happen?
>
> If user opens a connection to printer, we want it to choose
> SA = fdee:face:fade::1
> DA = fdee:face:fade::a
>
> If user opens a connection to www, we want it to choose
> SA = 2001:db8:fade::1
> DA = 2001:db8:cafe::f
>
> Now, if user does a DNS lookup, via getaddrinfo(), the results
> will look like this (in the Python universe):
>
> For printer:
>
> (<AddressFamily.AF_INET: 2>, 0, 0, '', ('10.1.0.10', 0))
> (<AddressFamily.AF_INET6: 23>, 0, 0, '', ('fdee:face:fade::a', 0, 0, 0))
>
> For www:
>
> (<AddressFamily.AF_INET6: 23>, 0, 0, '', ('2001:db8:cafe::f', 0, 0, 0))
> (<AddressFamily.AF_INET: 2>, 0, 0, '', ('192.0.2.15', 0))
>
> At this point, consider what RFC6724 says:
>
>     As a consequence, we intend that implementations of APIs such as
>     getaddrinfo() will use the destination address selection algorithm
>     specified here to sort the list of IPv6 and IPv4 addresses that they
>     return.  Separately, the IPv6 network layer will use the source
>     address selection algorithm when an application or upper layer has
>     not specified a source address.
>
> Thus, to get the desired behaviour, what matters is destination
> address selection: if we select DA = fdee:face:fade::a, then the
> ULA source address will follow.
>
> Of course this is a small matter of programming, and most programmers
> just pick the first address. That's why we need the Section 10.6
> mechanism of RFC6724, to insert an appropriate precedence like
>
>     fdee:face:fade::/48 45 14
>
> which will prioritize local use of ULAs but will change nothing
> for off-site access.
>
> At that point in my thinking, I started coding the program that
> I posted yesterday.
>
> Nit:
>
> s/gai.cnf/gai.conf/
>
> Regards
>     Brian
>
> _______________________________________________
> v6ops mailing list
> v6ops@ietf.org
> https://www.ietf.org/mailman/listinfo/v6ops
>