Re: IPv6 Link Local Addresses [was Re: Is 1111 1110 10 equal to 0xfe80 or 0x3fa?]

Dennis Ferguson <dennis.c.ferguson@gmail.com> Tue, 11 June 2019 02:56 UTC

Return-Path: <dennis.c.ferguson@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 9C486120025 for <ipv6@ietfa.amsl.com>; Mon, 10 Jun 2019 19:56:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham 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 fDrnZO5ZhXv9 for <ipv6@ietfa.amsl.com>; Mon, 10 Jun 2019 19:56:04 -0700 (PDT)
Received: from mail-io1-xd2f.google.com (mail-io1-xd2f.google.com [IPv6:2607:f8b0:4864:20::d2f]) (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 4274D1200E0 for <ipv6@ietf.org>; Mon, 10 Jun 2019 19:56:04 -0700 (PDT)
Received: by mail-io1-xd2f.google.com with SMTP id m24so8634885ioo.2 for <ipv6@ietf.org>; Mon, 10 Jun 2019 19:56:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=YpJW0NJuXtV7D65zzp5GFwSRmmgZnHA21AIoknPUWrI=; b=e59sQS6bckt8DIo8cMBlYxcvcepiKFI0qRCuaDbZ9GXzlE6ZDcLQNQNkmicrABdm0P AfIux+j87bNrTU8S+cU/+g+QlwYQAwSscYSmHsi06iC3prnKIxOJinV7cDBic49ZXjgB kdptwKrrx8GZXGPUpqAlX26LbTdxxVnNabPhXeIf1ArR3T1LeER2oEL+8DeaAJWphwYa sU3SxX94V323H1vMOLLn+HT2zayV0TPV78G8CddaanwdJbwwGwNhD/OITv1nCzA+AXwx KfrIaWX6Ghqa8QLsDbbT+9JkaN9aVpGGk1DOQV7FuSpC1710VBJjG+9v0DOKnPR/veRq W9aA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=YpJW0NJuXtV7D65zzp5GFwSRmmgZnHA21AIoknPUWrI=; b=AoI3q+DnXOTO2V2N04PRq/G1CrlR8OspX7jqSXd87svOnmgv0pAV58Sd+aG5+k2igU FLr829FygqvZohKymFmngA95xYrEoXHRAKISSJMV28OAHdsNka3/xHKlK9SclDXi/TXP QmwpdFMg/+UNp2HIb/ptOIyMgbBzQoVO0z55sfmQ/iaOj+I3cLHATNEl1d7tC0RmIQLm 6fdIkaSSDf+3x6mCbUnmKvAZxBi8kSGaUaEqQZbBkaOKm9fOjhxAeoR9Ch+QRCjm3R1Z 1NveHlrVW7kJ+sq/Xwg4nV92Nr59hBRNKVrnYGCsh1dtJw+VdTVOue3TmdNwdLTdW911 CHqg==
X-Gm-Message-State: APjAAAWZEsOZU0zBeLAvntnyi+5SpP05kAiPlGKmauxi+EKOtAek3bXQ Zf9ff4D1y4Unz90VXA04JiE=
X-Google-Smtp-Source: APXvYqzFk7NXm8k3sgQLfaZx+FR8ooLggv0aJ+Gw1teJeYQPOHo1rmIF+cUDdHtST5RmvpvnZbCb7Q==
X-Received: by 2002:a5d:8252:: with SMTP id n18mr2087709ioo.230.1560221763412; Mon, 10 Jun 2019 19:56:03 -0700 (PDT)
Received: from [172.20.60.27] (69-165-184-254.dsl.teksavvy.com. [69.165.184.254]) by smtp.gmail.com with ESMTPSA id l136sm852152itc.23.2019.06.10.19.56.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Jun 2019 19:56:02 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\))
Subject: Re: IPv6 Link Local Addresses [was Re: Is 1111 1110 10 equal to 0xfe80 or 0x3fa?]
From: Dennis Ferguson <dennis.c.ferguson@gmail.com>
In-Reply-To: <1A4AE95B-86FF-47F3-AFA8-2139A65385FB@gmail.com>
Date: Mon, 10 Jun 2019 22:56:02 -0400
Cc: Bob Hinden <bob.hinden@gmail.com>, IPv6 List <ipv6@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <8064EC1D-215D-4C69-9229-ED3B051230BA@gmail.com>
References: <DM6PR15MB2506E62560613C85F74A1FF8BB100@DM6PR15MB2506.namprd15.prod.outlook.com> <CALx6S36vVpD9bAPSBQmhV+daR0Yr4heQ-LaiB4hABAs8ofVfNQ@mail.gmail.com> <DM6PR15MB25063BAF058C1825E2B63E30BB130@DM6PR15MB2506.namprd15.prod.outlook.com> <CAKQ4NaW-QRZDO52zDZTSqz_MsfrS1uQHdz6zFjo+gXvtYVnFxA@mail.gmail.com> <DM6PR15MB2506E06165EA22E66BBB9524BB130@DM6PR15MB2506.namprd15.prod.outlook.com> <7E03089C-8429-4B56-96D6-441490C850B2@gmail.com> <B3D43A45-5E90-4D04-BA64-17150EE6D2AA@gmail.com> <1A4AE95B-86FF-47F3-AFA8-2139A65385FB@gmail.com>
To: Fred Baker <fredbaker.ietf@gmail.com>
X-Mailer: Apple Mail (2.3445.102.3)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/PeyVbrAQMBhxaqtZIWfTQ_o2dHA>
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: Tue, 11 Jun 2019 02:56:07 -0000


> On Jun 10, 2019, at 17:06, Fred Baker <fredbaker.ietf@gmail.com> wrote:
> 
> I think I could argue it either way. Your option #1 assumes that the address is local (an interesting assumption in the context of RFC 4943), which would be consistent with a link-local address, which this address isn't - it's site-local if anything, and site-local is deprecated. Your option #2 assumes that the router knows where to find it, or will drop it if it doesn't, which seems as safe a safe bet as any. The only real question the operator might ask is "why in the world are you sending me these packets?”

I’m assuming I have a default router so the context of RFC 4943 isn’t obviously relevant here.

The site-local addresses aren’t deprecated, only their formerly defined forwarding behavior is. RFC 4291 says

   Site-Local addresses have the following format:

   |   10     |
   |  bits    |         54 bits         |         64 bits            |
   +----------+-------------------------+----------------------------+
   |1111111011|        subnet ID        |       interface ID         |
   +----------+-------------------------+----------------------------+

   The special behavior of this prefix defined in [RFC3513] must no
   longer be supported in new implementations (i.e., new implementations
   must treat this prefix as Global Unicast).

so a site-local address, should you happen to see one, is now forwarded as a global unicast address and option 2. would definitely be correct. Note, however, that the 10 bits at the left in the picture are not the 10 high order bits of fe80:1::1 so I don’t understand why you would call the latter “site local”.

> If anything, I think I might suggest as a third option an "address whose usage is undefined", and discarding it because you don't know what else to do.

The thing is that this bit of 4291 Section 2.4

      Address type         Binary prefix        IPv6 notation   Section
      ------------         -------------        -------------   -------
      Unspecified          00...0  (128 bits)   ::/128          2.5.2
      Loopback             00...1  (128 bits)   ::1/128         2.5.3
      Multicast            11111111             FF00::/8        2.7
      Link-Local unicast   1111111010           FE80::/10       2.5.6
      Global Unicast       (everything else)

divides the entire address space into just 5 "buckets of forwarding behavior” (with some sub-buckets for multicast scopes), none of which is “address whose usage is undefined”. My forwarding path knows what to do with destinations in each of those buckets and those 5 buckets cover the entire address space.

If you think there should be a brand new 6th bucket for “address whose usage is undefined” could you please write an update to the table above describing it so we all could know that? An assertion about what fe80:1::1 isn’t is useless unless accompanied by an assertion about what fe80:1::1 is instead, and if what it is isn’t one of the five buckets above it is brand new invention.

Dennis Ferguson



> 
>> On Jun 10, 2019, at 11:18 AM, Dennis Ferguson <dennis.c.ferguson@gmail.com> wrote:
>> 
>> 
>>> On Jun 10, 2019, at 12:44, Bob Hinden <bob.hinden@gmail.com> wrote:
>>> 
>>> This means that link local addresses have a 10 bit prefix (1111111010) followed by 54 bits of zeros.  That is it, nothing more.   Address with different prefixes or with a 1111111010 prefix followed by non-zero 54 bits are not link local addresses.
>>> 
>>> This is not ambiguous.
>> 
>> So if an application asks my implementation to send a packet addressed to fe80:1::1 out a particular link what should the implementation do with it? It seems like there are only 3 choices:
>> 
>>  1. Run ND on that link to see if it can find a neighbor there with that address to send the packet to.
>> 
>>  2. Send the packet to the current default router.
>> 
>>  3. Something else (what?).
>> 
>> I had though 1. was the answer since that is what is done with packets addressed to link-local unicast destinations (which is what that address is according to RFC4191 section 2.4), but that now seems to be ambiguous.
>> 
>> Dennis Ferguson
>> --------------------------------------------------------------------
>> IETF IPv6 working group mailing list
>> ipv6@ietf.org
>> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
>> --------------------------------------------------------------------
> 
> --------------------------------------------------------------------------------
> Victorious warriors win first and then go to war,
> Defeated warriors go to war first and then seek to win.
>     Sun Tzu
>