Re: [IPv6] Variable IIDs

Brian E Carpenter <brian.e.carpenter@gmail.com> Sun, 05 November 2023 19:33 UTC

Return-Path: <brian.e.carpenter@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 8E634C17C537 for <ipv6@ietfa.amsl.com>; Sun, 5 Nov 2023 11:33:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.196
X-Spam-Level:
X-Spam-Status: No, score=-7.196 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, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.091, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id utbWVZTvmUJv for <ipv6@ietfa.amsl.com>; Sun, 5 Nov 2023 11:33:38 -0800 (PST)
Received: from mail-ot1-x32d.google.com (mail-ot1-x32d.google.com [IPv6:2607:f8b0:4864:20::32d]) (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 DA978C17061B for <ipv6@ietf.org>; Sun, 5 Nov 2023 11:33:38 -0800 (PST)
Received: by mail-ot1-x32d.google.com with SMTP id 46e09a7af769-6cd33d51852so2415064a34.2 for <ipv6@ietf.org>; Sun, 05 Nov 2023 11:33:38 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699212818; x=1699817618; darn=ietf.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=AS0ceXuM8ZuamsUd31dMlmlhDiZtcfQKqcPPfTwKfdw=; b=IujFadJ0Al1Q2dkaq3JBYKA1NMR7Uf+Bh8lHQmSTC4al9IRI5uPmCA1w1aCd+9XBUz XVRHTuS2Vg0FNREvXGbSBKdWnciUF0jsKHPvh4OJ3y02vjJnfZE8DihBPL56Mqqoz45j VFai7rsuQfz5BQErDpCW1ErkhAy0LEAIO0staRdPEqR63BPbSU4FdZ75oq9Lq/4NumeV avGFIohw83mxXM7Pa25uTO6kxQDsEIkcqyOSLNHrZD5HAlBukb9pO3CpbEHRPWDb8mQv Wvw1rMu08fqQiZIPIblbb+JGkdVj2UUMSWxNyERDbeW4C9VCsbUhpWaIOjgsD3N7vm1X 7WgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699212818; x=1699817618; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=AS0ceXuM8ZuamsUd31dMlmlhDiZtcfQKqcPPfTwKfdw=; b=dcRDSYOl+urEo3iCNBnyE5j+kjJ6mLVP2wnQdEogoCOVmqPAr50uvNaTrq2+Ss83bL wse8L8ezKbBIv+JEytvF6gAj42PiBr/pk5ijaDHUtm6KV2pihDotbRNL3rp6IDLS65eF 88ooV537sXzOtuvNGDIHK04nVeAKXcAX4+ZhVCIYNUyGdIhvIJSDi5fT/wjUbB53JB/O usytSOm1hLbf+wQdz4sn1V0V9yupHCC5xrAt58jF7yX8rPBJpX/L74mfM+/+rv1i4T5o j/uueXxzpOXSVY5Hm4XYsCaF0gjKcuEPCV+zrLjw+H1PUz7yKr0nUjwTAjQpJoao/aaq ZFEg==
X-Gm-Message-State: AOJu0YwXcugNm/lKriYQ8Ltu1Dwt9nsfQmc1RzyJTsVclosoKxw610uU zKby4VuohJa0opgmy67d8Jk=
X-Google-Smtp-Source: AGHT+IHwxe90DYSftYrQNKRhFGpHLbCeDarssSemUdRusfnssY+Zon3wKqmjiYw3BGagDn6fI+oURQ==
X-Received: by 2002:a05:6358:591e:b0:168:df94:8dbc with SMTP id g30-20020a056358591e00b00168df948dbcmr31379811rwf.26.1699212817884; Sun, 05 Nov 2023 11:33:37 -0800 (PST)
Received: from ?IPV6:2406:e003:110d:5301:8cb6:a2c:7461:4047? ([2406:e003:110d:5301:8cb6:a2c:7461:4047]) by smtp.gmail.com with ESMTPSA id c11-20020a170902724b00b001bdeb6bdfbasm4485659pll.241.2023.11.05.11.33.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 05 Nov 2023 11:33:37 -0800 (PST)
Message-ID: <ad33b1a8-d71b-06eb-181b-0a57bbbd8fef@gmail.com>
Date: Mon, 06 Nov 2023 08:33:34 +1300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0
Content-Language: en-US
To: Mark Smith <markzzzsmith@gmail.com>
Cc: 6man <ipv6@ietf.org>
References: <d935987f-7550-855a-c57f-7f8c2fc6e5cf@gmail.com> <CAO42Z2wny-UVBrzNyraxmcHAy_pczmx5hY=AinxXpNH1vZTsFg@mail.gmail.com>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
In-Reply-To: <CAO42Z2wny-UVBrzNyraxmcHAy_pczmx5hY=AinxXpNH1vZTsFg@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/4Er9bIoIo6sXmMge45sQcVv1LhY>
Subject: Re: [IPv6] Variable IIDs
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.39
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: Sun, 05 Nov 2023 19:33:39 -0000

On 05-Nov-23 17:20, Mark Smith wrote:
> Hi,
> 
> What problem is this trying to solve? Is the IPv6 address space running out?

No. But that is not the only reason we might want classless addressing throughout the address. And in response to your point about teachability, anyone who reads the addressing architecture comes to that bit about

~~~
different addresses may have different values for
    n:

    |          n bits               |           128-n bits            |
    +-------------------------------+---------------------------------+
    |       subnet prefix           |           interface ID          |
    +-------------------------------+---------------------------------+
~~~

and thinks "that's nice". And then on the next page, this vanishes
and n==64 for ever. Very confusing.
> 
> 
> IPv4's original address format was nice and simple - N.H.H.H - see RFC 760.

And broken. The variable "n" above was introduced to fix that.

     Brian

> 
> Network numbers were running out, so IPv4 address classes were introduced in RFC 791.
> 
> Then classes weren't efficient enough (for some people Class C was too small yet Class B was too big) so subnets were introduced in RFC 950.
> 
> Then VLSM, and then CIDR.
> 
> When you've had to teach IPv4 addressing enough times, and all of the above complexity, the struggle to explain it, and the struggle for people to get it right, you eventually ask the question, "Why is this so complex?" and "Why would anybody design something so complex on purpose?"
> 
> Well they didn't, as can be seen from RFC 760 and its ancestors. Classes, subnets, VLSM and CIDR are all work arounds to the original RFC 760 N.H.H.H format not being big enough.
> 
> 
> So if variable length subnets/IIDs are now required in IPv6, is that saying we're at a similar point of IPv6 address space exhaustion that occurred between RFC 760 and RFC 791 for IPv4, and we now have to introduce similar addressing complexity into IPv6 addresses to conserve them?
> 
> Regards,
> Mark.
> 
> 
> On Sat, 4 Nov 2023, 13:06 Brian E Carpenter, <brian.e.carpenter@gmail.com <mailto:brian.e.carpenter@gmail.com>> wrote:
> 
>     If anyone wants to turn this into an I-D, please feel free.
> 
>     title: Variable Length Interface Identifiers
>     abbrev: Variable IIDs
>     docname: draft-tbd-6man-variable-iids-00
> 
>     # Introduction
> 
>     The lowest common denominator method of configuration for IPv6 nodes is SLAAC {{!RFC4862}}, which is carefully designed to allow any prefix length and any interface identifier (IID) length, provided that they do not total more than 128 bits. Until now, specifications of "IPv6 over foo" mappings, starting with {{!RFC2464}}, have specified an IID length of 64 bits, consistent with the value specified by {{!RFC4291}}.
> 
>     This document allows a router to announce an IID length other than 64 on a given link, and updates RFC 4291, RFC 2464 (and numerous other "IPv6 over foo" documents TBD), and RFC 4862 accordingly. It extends {{!RFC4861}} by defining a new "IID length" mechanism in RA messages.
> 
>     Terminology: a "modified" host or router supports this spec. An "unmodified" host or router supports RFC 4861 and 4862 precisely.
> 
>     # Modified procedures
> 
>     The predefined IID length specified by RFC 4291, RFC 2464, etc. is used to configure the link-local IPv6 address of a node exactly as described in RFC 4862.
> 
>     On a link where variable IID length is not supported, the predefined IID length will continue to be used to configure all other addresses using SLAAC.
> 
>     On a link where variable IID length is supported, each modified router will include an "IID length" indication in every RA/PIO message with the A bit set. This will override the value defined in RFC 2464 (etc.) and in RFC 4291, for the prefix concerned.
> 
>     Suggestion: put the IID length in 6 bits of the Reserved2 field of the PIO. 0b000000 would mean 64, i.e. no change and backwards compatible. Any other value would define an IID length in bits. Values less than 48 (0b110000) are NOT RECOMMENDED. Values greater than 64 are impossible.
> 
>     (Note: Reserved1 is not available - see {{?RFC8425}}.)
> 
>     When a modified node receives an "IID length" less than 64, it will use that value instead of the default for all unicast address autoconfiguration under that prefix, except link-local.
> 
>     # Deployment issues
> 
>        - Unmodified hosts and unmodified routers: no change, all use 64-bit IIDs.
> 
>        - Modified hosts and unmodified routers: no change, all use 64-bit IIDs.
> 
>        - Modified hosts and modified routers: configure to use longer prefixes and shorter IIDs if desired.
> 
>        - Modified routers and mixture of modified and unmodified hosts on a link:
> 
>          - The modified hosts will use a shorter IID and longer prefix if that is announced.
> 
>          - The unmodified hosts, according to RFC 4861, MUST ignore the Reserved1 field. So, according to section 5.5.3 clause d) of RFC 4862, they will ignore any PIO advertising a shorter IID. Therefore, the operator has two choices:
> 
>            1. Decide that unmodified hosts will not be supported (i.e. will not be able to configure an address using SLAAC).
> 
>            2. Announce (at least) two prefixes on the link - a /64 and a longer one, with a shorter IID. For that to make sense, we need an extra rule for modified hosts: if a host receives several PIOs from the same router, it prefers all those with the shortest IID and ignores the others.
> 
>        - Mixture of modified and unmodified routers on a link: don't do that!
> 
>     # IANA Considerations
> 
>     Maybe a registry for the Reserved2 field, like RFC 8425?
> 
>     # Security Considerations
> 
>     Nothing new?
> 
> 
>     --------------------------------------------------------------------
>     IETF IPv6 working group mailing list
>     ipv6@ietf.org <mailto:ipv6@ietf.org>
>     Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6 <https://www.ietf.org/mailman/listinfo/ipv6>
>     --------------------------------------------------------------------
>