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

Nick Buraglio <buraglio@es.net> Tue, 17 May 2022 14:39 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 68404C1594B5 for <v6ops@ietfa.amsl.com>; Tue, 17 May 2022 07:39:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.844
X-Spam-Level:
X-Spam-Status: No, score=-0.844 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, 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 zY4uCFytW9OY for <v6ops@ietfa.amsl.com>; Tue, 17 May 2022 07:39:22 -0700 (PDT)
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com [IPv6:2a00:1450:4864:20::129]) (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 B9A95C14F734 for <v6ops@ietf.org>; Tue, 17 May 2022 07:39:22 -0700 (PDT)
Received: by mail-lf1-x129.google.com with SMTP id h29so31758693lfj.2 for <v6ops@ietf.org>; Tue, 17 May 2022 07:39:22 -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=gI+zb5o4qPcI/V1BTxvHukdnmuOW4x4W3MVffjA66xY=; b=XkWoAnFtWi1Ur0M+2JcQOxUNUO12bZeSfygd47qqPcSBzjTiiuACACiQA2V/n6T8D5 d4YLvMRGstIxPr8tv0LeWKuxuOiH5OzFyPO8YFrlJVwVxrKG1em3v5cI1pd+UC7hnEOF 46H8xgw3Wwoycbg97HYZlotvJp+uSuvCA4c1chpIF/vBMDl17qTi/NJqm8lp+VFrEnfJ 3nQRzr75rDrxNdVp+S0OqqFTkc7v6DbZXCARRyjcIxL5ljsu5cuEW0FBR5CAdA+2RQCk wu0vIDG0E1LmcaT9o2uwPZspSTCU+SSiAjR2synUSbite8LpBjhH/kbX5evjg+SOAY3Z 2GgQ==
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=gI+zb5o4qPcI/V1BTxvHukdnmuOW4x4W3MVffjA66xY=; b=RcUgveIuW3pwy5o0Lh5/6AsscH2+qfwddgMUlZfq2GU9xxnWiSq2cxUWvvx8XttmdV lAGq4PL5zB8rI1QDjqWyGXP6O6SnQaQIK04pQScy2yKHj7UkMggKgdW9vfyplsSRAbZR P1LjqFy73SnCQmNRJDcLQ985XteqC1qn+wSYb7u9ZyTDo8XzE8ha8Rts758u1QmKHIz6 U8yICbgrdq4VsgMGb4UiKBXivXeV061BJ3z9HNT7VbDImlRtxugk6endzQKaqmwTTb9n vZJ/hrzvUDYzOmaP+/MpC5PQEVqK9mr7i28O6T4zAalsYhuFBOCZwPbODMWZS8f3gBQY UraQ==
X-Gm-Message-State: AOAM531IN0vC57Nk1BfZP4BekUeazk2H6CU4eHMdiPAbNWBlCIJScjIp NQ5Ik7NGkOf+hnGCbuEmvh4dIh237SAQcydXfU43/ErB97kQmImA3xgW+HBVi7ngJaqt9kK4qk4 WZxxPN/pOrBSTsTJN20iMqGMew7F3m2WrEygK8piGpxtikTZipJIQmApwoWfvcc1Pi1Nyn6YwLt J114Cq
X-Google-Smtp-Source: ABdhPJxBGpghLzIlb9Pl2F9qErr+yHD4snokJnDPZ/JrBlpwXEuZS9RzwZDwESwZs2mjt8R66pdddjyrn3j7dXQ+8lg=
X-Received: by 2002:a05:6512:22ce:b0:473:d49e:fe9d with SMTP id g14-20020a05651222ce00b00473d49efe9dmr16552947lfu.163.1652798360163; Tue, 17 May 2022 07:39:20 -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>
In-Reply-To: <CAE=N4xf-j1gtuWJqsytBmgtgyS8FX-0=ux3_ZAMF+XtBAo9gUQ@mail.gmail.com>
Reply-To: buraglio@es.net
From: Nick Buraglio <buraglio@es.net>
Date: Tue, 17 May 2022 09:39:09 -0500
Message-ID: <CAM5+tA81zmFeD9s90exDUzi080AFvLv3P-4sTjWvOcG478PS6A@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="00000000000024fc2205df361b1c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/Lq3pNmbVUsxw1mgsGjjNbnO-RCE>
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: Tue, 17 May 2022 14:39:27 -0000

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/
>