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/ >
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Brian E Carpenter
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… otroan
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Brian E Carpenter
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Nick Buraglio
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Nick Buraglio
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Nick Buraglio
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Ed Horley
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Fred Baker
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Brian E Carpenter
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Ed Horley
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Nick Buraglio
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Nick Buraglio
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Brian E Carpenter
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Nick Buraglio
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Nick Buraglio
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… Brian E Carpenter
- Re: [v6ops] I-D Action: draft-buraglio-v6ops-ula-… David Farmer