Skip to main content

The length of the prefix of an IPv6 link-local address ranges from 10 to 127
draft-petrescu-6man-ll-prefix-len-07

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Author Alexandre Petrescu
Last updated 2019-02-15 (Latest revision 2018-12-17)
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-petrescu-6man-ll-prefix-len-07
6MAN Working Group                                           A. Petrescu
Internet-Draft                                                 CEA, LIST
Intended status: Standards Track                       February 15, 2019
Expires: August 19, 2019

The length of the prefix of an IPv6 link-local address ranges from 10 to
                                  127
                  draft-petrescu-6man-ll-prefix-len-07

Abstract

   A rejected Errata to RFC4291 "IPv6 Addr Archi" on the topic of link-
   local addresses 'needs' a draft.  This is an answer to that need.

   The length of the prefix of an IPv6 link-local address is variable.
   The minimal value is 10 decimal.  The maximum value is 127 decimal.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on August 19, 2019.

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of

Petrescu                 Expires August 19, 2019                [Page 1]
Internet-Draft                IPv6-LL-plen                 February 2019

   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Definitions and Statements  . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Context . . . . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  Example of use of LL Prefix Length 32 . . . . . . . . . . . .   4
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   7.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .   5
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   5
   9.  Normative References  . . . . . . . . . . . . . . . . . . . .   6
   Appendix A.  ChangeLog  . . . . . . . . . . . . . . . . . . . . .   6
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   6

1.  Definitions and Statements

   The prefix of an IP address is formed by the n leftmost bits of the
   address.  (in a left-to-right writing system).

   The prefix of an IP address is used for goals such as: identify the
   type of an IPv6 address (link-local, global, others), identify the
   belonging of an IP address to a particular subnetwork, assist the
   forwarding (or not forwarding) decisions, and others.

   The minimal length of the prefix of an IPv6 link-local address (the
   value of n) is equal to 10 decimal.  The maximum is 127.

   The prefix of an IPv6 link-local address is represented textually as
   "fe80::/n", where n MAY be any value between 10 and 127.

   Regardless of the prefix length, the leftmost 10 bits of an IPv6
   link-local address MUST be set to binary 1111111010 (hexadecimal
   fe80).

   The illustration of an IPv6 link-local address is:

     | leftmost |         Subnet ID and Interface ID
     | 10 bits  |                 118 bits                             |
     +----------+------------------------------------------------------+
     |1111111010+          Bits that MAY be either 0 or 1              |
     +----------+------------------------------------------------------+

                   Figure 1: The IPv6 link-local address

Petrescu                 Expires August 19, 2019                [Page 2]
Internet-Draft                IPv6-LL-plen                 February 2019

   Examples: fe80::1/10, fe80:1::1/32 and fe80::1:1/64 are all IPv6
   link-local addresses; their prefix lengths are 10, 32 and 64
   respectively.  Each such IPv6 address has the leftmost 10 bits equal
   to binary 1111111010.

   The Difficulty: the number binary 1111111010 can not be written in
   hexadecimal without specifying the number of significant bits
   (fe80::/10); yet that does not make it a 'prefix'.  Converting
   1111111010 to hexadecimal leads to 3FA (because in a left-to-right
   writing system the leading 0s before comma are irrelevant); yet '3FA'
   is not commonly known to be the leading bits of an IPv6 link-local
   address, fe80::/10 is.

2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

   prefix: a contiguous string of bits valid for forwarding operations
   and for subnet formation.  A prefix MUST have an integer length value
   from 1 to 127 (except when the prefix length is for default route, in
   which case the value is 0) and a prefix length must be indicated in
   its textual representation (e.g. 2001:db8::/32 is the prefix and 32
   is the prefix length).

   textual representation of a prefix: e.g. fe80::/64.

   n leading bits: the first n bits in a string of bits read from left
   to right in a writing system that is read left-to-right.  E.g. the 10
   leading bits of the fe80::/64 textual representation of the IPv6
   link-local prefix are 1111111010.

3.  Context

   The RFC "IPv6 Address Archi" illustrates the format of the link-local
   addresses.  From the illustration it MAY be understood that the
   length of the link-local prefix is 10 bits of value 1111111010 and 54
   0 bits.

   IANA lists the "IPv6 prefix", and "Address Block", to be "fe80::/10"
   on its website.  It is possible that in the future the IETF could
   decide to use the bits 11-53.

   The RFC 2464 "IPv6-over-Ethernet" states that the prefix for link-
   local addresses is "fe80::/64".

Petrescu                 Expires August 19, 2019                [Page 3]
Internet-Draft                IPv6-LL-plen                 February 2019

   RFC 6874, "Representing IPv6 Zone Identifiers in Address Literals and
   Uniform Resource Identifiers" specifies the link-local addresses to
   be under prefix "fe80::/10".

   RFC 8415 "DHCPv6" considers link-local addresses are indicated by the
   prefix fe80::/10.

   Several knowledgeable interpretations state that, generally speaking,
   the prefix length of link-local addresses is 10, but it is 64 in the
   particular case of Stateless Address-Autoconfiguration (SLAAC).  In
   this latter case, the prefix is named a "subnet prefix", or "prefix
   on a link", and it is "fe80::/64".

   Implementations of an IPv6 stack in a particular operating system
   allow for the manual configuration of both prefix lengths 64 and 10
   for link-local addresses.  In another operating system the prefix
   length for link-local addresses can not be explicitely specified by
   the end user, but may be indirectly derived from two distinct textual
   formats by using an unspecified rule.  In yet another operating
   system an end user can not use a link-local address whose value is
   fe80:1::1; because in that OS the hosts drop incoming packets whose
   or destination address matches fe80::/10 and contains a non-0 value
   in bits 15-31 (like fe80:1::1 does).

   Misconfigurations and lack of interoperability MAY arise between
   computers that use mixed prefix lengths for link-local addresses.

   A memo describes the use of IPv6 link-local addresses in
   applications.  The filename of the Internet Draft is draft-smith-
   ipv6-link-locals-apps-00.

   Historical note: earlier, the link-local prefix fe80::/10 and site-
   local prefix fec0::/10 were grouped into a common fe80::/9.  If bits
   10-64 were 0 then the prefix was a link-local, otherwise a site-
   local.  The site-local addresses were later deprecated by RFC 3879.

4.  Example of use of LL Prefix Length 32

   This figure shows two routers each with two interfaces; one such
   interface is connected to the other router; there are two interfaces
   that point elsewhere.

Petrescu                 Expires August 19, 2019                [Page 4]
Internet-Draft                IPv6-LL-plen                 February 2019

                         i1 ------- i2      i3-------i4
                         --|Router1|---------|Router2|---
                         -------           -------

    i2 address is fe80:12::1:1/32 ('12' means subnet between R1 and R2,
    '1' is R1, 2nd '1' is 'front' interface)
    i3 address is fe80:12::2:2/32

                             Figure 2: Figure

   One router's interface (connected to the other router) uses address
   fe80:12::1:1/32 and the other router's corresponding interface uses
   address fe80:12::2:2/32.

5.  Security Considerations

   The clarification of the definition of the prefix length of the IPv6
   link-local prefix at IANA is: call it 'leading bits' and not
   'prefix', or state that the IPv6 prefix length of link-local
   addresses is 10 decimal.  This clarification has beneficial impact in
   the algorithm implementation for calculation of the opaque and stable
   Interface Identifiers for IPv6 link-local addresses.  It also
   positively impacts some implementations of IPv6 forwarding.

6.  IANA Considerations

   IANA is requested to change the name of the column head in the table
   that depicts the "Internet Protocol Version 6 Address Space".  The
   name should be "The n leading bits of an address" instead of "IPv6
   Prefix".

   The desired effect of this change is that the IPv6 link-local prefix
   be "fe80::/n" and that the 10 leading bits of this prefix be
   1111111010.  A second effect is that the textual representation
   "fe80::/10" as an IPv6 link-local prefix should disappear from that
   IANA page, because it is wrong.

7.  Contributors

   Listed from 6man WG discussion.

8.  Acknowledgements

   The following persons are acknowledged for the discussion that is
   reflected in this draft.  Not all points are reflected.  Some points
   are copied almost entirely.

Petrescu                 Expires August 19, 2019                [Page 5]
Internet-Draft                IPv6-LL-plen                 February 2019

   Ole Troan, Scott Timothy Morizot, Brian Carpenter, Fred Baker, Mark
   Smith, Peter Occil, Philip Homburg, Albert Manfredi, _–3/4
   ’BAE (TATUYA Jinmei, key explainer of a particular OS
   behaviour), Fernando Gont, Christian Huitema, Simon Hobson, Matthew
   Petach, Yucel Guven, Sander Steffann, Dennis Ferguson, Musa Stephen
   Honlue, Fred Templin (for inspiration in an unrelated DHCP
   discussion).

   Peter Paluch submitted the Errata suggestion to RFC 4291 about link-
   local addresses, and Brian Haberman rejected it, by requiring a
   draft.  Igor Lubashev pointed to that Errata.

9.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

Appendix A.  ChangeLog

   The changes are listed in reverse chronological order, most recent
   changes appearing at the top of the list.

   -07: added the fact that DHCPv6 spec considers the link-local
   addresses to be fe80::/10; added a valuable explanation of ll
   behaviour of a particularly important OS.

   -04: added an example advantage of using prefix length 32.

   -03:

   -02: corrected a typo in "fe80::/1" and added a 7-bit encoding for
   one persons name (in addition to the japanese-shift-jis encoding
   which is not understood by xml2rfc.)

Author's Address

   Alexandre Petrescu
   CEA, LIST
   CEA Saclay
   Gif-sur-Yvette , Ile-de-France   91190
   France

   Phone: +33169089223
   Email: Alexandre.Petrescu@cea.fr

Petrescu                 Expires August 19, 2019                [Page 6]