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

Nick Buraglio <buraglio@es.net> Thu, 02 June 2022 20:40 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 728FDC14F5E1 for <v6ops@ietfa.amsl.com>; Thu, 2 Jun 2022 13:40:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.854
X-Spam-Level:
X-Spam-Status: No, score=-0.854 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, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, T_SCC_BODY_TEXT_LINE=-0.01, 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 Y_GWp4CDLVbF for <v6ops@ietfa.amsl.com>; Thu, 2 Jun 2022 13:39:57 -0700 (PDT)
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) (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 AA4F2C147921 for <v6ops@ietf.org>; Thu, 2 Jun 2022 13:39:07 -0700 (PDT)
Received: by mail-lf1-x132.google.com with SMTP id j10so9558265lfe.12 for <v6ops@ietf.org>; Thu, 02 Jun 2022 13:39:07 -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=XCWmcsV6f3PpUy1tkpBbNnMbjgTNdxtnP8rDWC3KADg=; b=lJ0RX4J0q99mLvoA92GfTDJqe0+N+sF1JGeNNEoJkrTccnzGHVEsPV9tOeTjPxhTeG v0ECshTt2nqNVX/l7X8PWWbsCiZfuSYZ2qXOsSTsoYHPpwp89LlrKZsdqC1VWsLglfCk m30ab6eqpZGVhKnNhPnIHrfWGXf91ghDZOVKeDnWLWWRgnBWl2wqMHrr1BZJZMObEB55 w+8fmqnV/l+0bhjxDFPIbIaMiLE3oCnPHs0C7BGi8B6XXJtk7Lh/NG6Dcrbw0xkgnLNU 05CpVZIk8F/fz4r3wEUt07pQ/clMxoeW79t+iDHcd8MYyM2nSVvcnHJXRlT56uCHmu1G hUmQ==
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=XCWmcsV6f3PpUy1tkpBbNnMbjgTNdxtnP8rDWC3KADg=; b=UPg5NlLdVAx6oEhpugnHLmcQ4M1Y+AJW1KGKJkkXUEECQvARX8+IqnA1bCaqXoeVFU 4rwWHWTnpy/jelQsZ6LY7txUQNwu68gRFVPW1qAdA8ZyvoJC3/f2jKCZjd84tiuk11mQ B85GHdkqB8lUdgV1SjQicEoFIYBLCij1k5k+bdOjuqIzwedWN5VISYeyVCQxMSS3bj+s FgvE9gsuyn2pNcywkMyWN3FuFQ83VbXJzXAV8OET+01qjpd4F8UhKrEHwwP0fcEkkn6M sHVAh5Wwu9YIRXDhqc9yQn4Td1CJmJazWtmJ4KUgskkjBocU1zBWUUZ1hTbGXR2rkboW MjHA==
X-Gm-Message-State: AOAM531OurFwVu09N1YHUF6cL6GfSyvNoHoMPBXRTpVYYZkdaBqay2lr syLE8zGEi2+3ffIRrlZPDSyqaZobJQzb+rotcSMmjEE6KjlqwWJ3+Z2nFb/SaMi9YM6YFTHmYfF Hh2odv97Yfi2Nb5qMS9QCC67Bpk+aacMGwwaoiUmkIm78jmoe3oUpzdZCNNPqTCPgF71UR599Un M=
X-Google-Smtp-Source: ABdhPJwjH+K5/txam2TLwnkPjfwCwsd9+O4eLV/s4g2NjuA05xAhochcGbttzDI4xV1QMckWZ7iExyYbCRxKLxLKZ3s=
X-Received: by 2002:a05:6512:3b8d:b0:478:f9f3:962b with SMTP id g13-20020a0565123b8d00b00478f9f3962bmr4814476lfv.169.1654202344384; Thu, 02 Jun 2022 13:39:04 -0700 (PDT)
MIME-Version: 1.0
References: <165064500009.9969.16134230557484818454@ietfa.amsl.com> <87aa5bcf-05cf-d170-1efb-d9caa6b48e6c@gmail.com> <CAM5+tA8P1iSwYArY_Qch=AiA4kw7m=ajHjKjeB5KmHgbeU8MHg@mail.gmail.com> <CAE=N4xecVTZL5dGwn4pQNtkubE_Y4a6dFdD4Wx5MCYX7yWUA8A@mail.gmail.com> <cfb9bf48-4d8e-0549-bc7b-dabd46f34b95@gmail.com> <CAE=N4xf-j1gtuWJqsytBmgtgyS8FX-0=ux3_ZAMF+XtBAo9gUQ@mail.gmail.com> <CAM5+tA81zmFeD9s90exDUzi080AFvLv3P-4sTjWvOcG478PS6A@mail.gmail.com>
In-Reply-To: <CAM5+tA81zmFeD9s90exDUzi080AFvLv3P-4sTjWvOcG478PS6A@mail.gmail.com>
Reply-To: buraglio@es.net
From: Nick Buraglio <buraglio@es.net>
Date: Thu, 02 Jun 2022 15:38:53 -0500
Message-ID: <CAM5+tA8XjujZdR1SUgDEOuCCLM=6cm2yoMtbiwt5P-G9pY_eeA@mail.gmail.com>
To: Ed Horley <ed@hexabuild.io>
Cc: Brian E Carpenter <brian.e.carpenter@gmail.com>, IPv6 Operations <v6ops@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000002022b405e07cff31"
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/Ort85sZhAf852U8wIQctk9r_MQA>
Subject: Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-01.txt
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.39
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: Thu, 02 Jun 2022 20:40:01 -0000

Circling back around to re-ignite some discussions about this draft. I am
planning to be at the next IETF, is there anything else folks would like
addressed in this current document? Other details to discuss?
https://datatracker.ietf.org/doc/draft-buraglio-v6ops-ula/

nb


ᐧ

On Tue, May 17, 2022 at 9:39 AM Nick Buraglio <buraglio@es.net> wrote:

> I am definitely available to help this along. I incorporated the last
> suggested changes a week or so ago.
> nb
>
>
>
> ᐧ
>
> On Tue, May 17, 2022 at 9:36 AM Ed Horley <ed@hexabuild.io> wrote:
>
>> Thanks, Brian, anything specific Nick, myself, and others can do around
>> helping to document the problem space better? Maybe jump on a working
>> call/session to chat through it?
>>
>> On Mon, May 16, 2022 at 10:47 PM Brian E Carpenter <
>> brian.e.carpenter@gmail.com> wrote:
>>
>>> Ed,
>>>
>>> This is a topic where the WG basically failed some years ago, by being
>>> unable to reach a consensus around
>>> draft-ietf-v6ops-ula-usage-recommendations. I still think that is
>>> unfortunate, but at least we need to agree on the problem space and what
>>> needs to be fixed. Whether Nick's draft needs to be either adopted or
>>> published as an RFC isn't clear yet, but I think it's very important to
>>> document the problem space first. So I'd say we should encourage the draft
>>> & its author for a little longer, before deciding
>>> about adoption.
>>>
>>> Regards
>>>     Brian
>>>
>>> On 17-May-22 07:01, Ed Horley wrote:
>>> > I was curious what the process is for moving this to v6ops WG draft? I
>>> know several folks have requested this, sorry for my ignorance on the
>>> matter. I feel it wouldn't it make sense to get that done given that Brian
>>> and others are working on issues for RFC 6724 and there seems to be more
>>> discussion around the ULA topic in general. Thoughts?
>>> > - Ed
>>> >
>>> > On Tue, May 10, 2022 at 9:01 AM Nick Buraglio <buraglio@es.net
>>> <mailto:buraglio@es.net>> wrote:
>>> >
>>> >     I added some additional verbiage based on your suggestions and
>>> addressed the NIT.
>>> >
>>> >     nb
>>> >
>>> >     On Sun, May 8, 2022 at 6:23 PM Brian E Carpenter <
>>> brian.e.carpenter@gmail.com <mailto: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 <
>>> 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 <
>>> https://streaklinks.com/BCrgR95yMi36cGo4vgrfW-nn/http%3A%2F%2F10.1.0.0%2F16>
>>> (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 <
>>> http://user.mynet.example.com>, a local server printer.mynet.example.com
>>> <http://printer.mynet.example.com>,
>>> >         and a remote server www.theirnet.example.com <
>>> http://www.theirnet.example.com>. Assume they have these various
>>> >         addresses:
>>> >
>>> >         user.mynet.example.com <http://user.mynet.example.com> has:
>>> >
>>> >         10.1.0.1
>>> >         fdee:face:fade::1
>>> >         2001:db8:fade::1
>>> >
>>> >         printer.mynet.example.com <http://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 <http://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 <mailto:v6ops@ietf.org>
>>> >         https://www.ietf.org/mailman/listinfo/v6ops <
>>> https://www.ietf.org/mailman/listinfo/v6ops>
>>> >
>>> >     ᐧ
>>> >     _______________________________________________
>>> >     v6ops mailing list
>>> >     v6ops@ietf.org <mailto:v6ops@ietf.org>
>>> >     https://www.ietf.org/mailman/listinfo/v6ops <
>>> https://www.ietf.org/mailman/listinfo/v6ops>
>>> >
>>> >
>>> >
>>> > --
>>> > Ed Horley
>>> > ed@hexabuild.io <mailto:ed@hexabuild.io>| (925) 876-6604
>>> > Advancing Cloud, IoT, and Security with IPv6
>>> > https://hexabuild.io <https://hexabuild.io/>
>>> > And check out the IPv6 Buzz Podcast at
>>> https://packetpushers.net/series/ipv6-buzz/ <
>>> https://packetpushers.net/series/ipv6-buzz/>
>>>
>>>
>>
>> --
>> Ed Horley
>> ed@hexabuild.io | (925) 876-6604
>> Advancing Cloud, IoT, and Security with IPv6
>> https://hexabuild.io
>> And check out the IPv6 Buzz Podcast at
>> https://packetpushers.net/series/ipv6-buzz/
>>
>