The IPv6 Link-Local Address Type Field
draft-templin-6man-lla-type-02

Versions: 00 01 02                                                      
Network Working Group                                    F. Templin, Ed.
Internet-Draft                                        The Boeing Company
Intended status: Standards Track                       November 23, 2020
Expires: May 27, 2021


                 The IPv6 Link-Local Address Type Field
                     draft-templin-6man-lla-type-02

Abstract

   IPv6 link-local addresses are formed from the prefix fe80::/10 which
   is followed by 54 "zero" bits, then followed by a 64-bit Interface
   Identifier.  There are multiple methods for generating link-local
   addresses, and multiple may be in use by nodes on the same link (and
   sometimes even the same interface) at the same time.  This document
   defines an IPv6 link-local address "Type" field that identifies the
   type of link-local address being used.

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 May 27, 2021.

Copyright Notice

   Copyright (c) 2020 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



Templin                   Expires May 27, 2021                  [Page 1]


Internet-Draft     IPv6 Link-Local Address Type Field      November 2020


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

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  The IPv6 Link-Local Address Type Field  . . . . . . . . . . .   3
   4.  LLA-Based Prefix Delegation (PD)  . . . . . . . . . . . . . .   4
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   5
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   6
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   The IPv6 link-local address (LLA) prefix is defined in [RFC4291] as
   the prefix fe80::/10 followed by 54 "zero" bits, then followed by a
   64-bit interface identifier.  There are multiple methods for
   generating LLAs, and multiple may be in use on the same link (and
   sometimes even the same interface) at the same time.

   For example, [I-D.ietf-6man-rfc4941bis], [RFC7217], [RFC4291],
   [RFC3972], [I-D.templin-6man-omni-interface] and possibly others
   define diverse methods for generating interface identifiers for
   constructing LLAs on a given interface.  Administrative configuration
   (e.g., manually setting the interface ID) is also an option available
   to all interfaces.

   IPv6 multi-addressing allows each interface to assign multiple IPv6
   addresses, and even multiple IPv6 LLAs.  On some interfaces, it may
   even be the case that multiple LLAs of different types would be
   configured at the same time.  But, since the diverse methods for
   generating interface identifiers are not coordinated with one
   another, some interfaces may need a way to differentiate the types of
   LLAs as well as to avoid collisions and duplication.

   This document defines a Type field in the LLA prefix for
   differentiating LLA construction types.  The Type field also has a
   companion Function field which can be used to perform Type-specific
   functions such as Prefix Delegation (PD).

   This document updates [RFC4291].





Templin                   Expires May 27, 2021                  [Page 2]


Internet-Draft     IPv6 Link-Local Address Type Field      November 2020


2.  Terminology

   The terminology in the normative references applies.

3.  The IPv6 Link-Local Address Type Field

   [RFC4291] defines the IPv6 LLA format as the prefix fe80::/10,
   followed by 54 zero bits, then followed by a 64-bit Interface
   Identifier as shown in Figure 1:

     |   10     |
     |  bits    |         54 bits         |          64 bits           |
     +----------+-------------------------+----------------------------+
     |1111111010|           0             |       interface ID         |
     +----------+-------------------------+----------------------------+

                 Figure 1: IPv6 Link-Local Address Format

   In this format, there is currently no use for the 54 bits of 0s, and
   existing IPv6-over-(foo) documents such as [RFC2464] expect them
   always to be zero regardless of the method used in generating the
   Interface ID.

   However, new IPv6-over-(foo) documents could benefit from having a
   coded indication of the LLA construction type.  This would not only
   allow the interface to differentiate between the LLA
   autoconfiguration methods used by the sender in packets received with
   LLAs, but it would also provide a means for avoiding address
   duplication between diverse address autoconfiguration methods used on
   the same link.

   This document defines a new Type field in the IPv6 LLA prefix.  The
   Type field and a companion Function field occupy the least
   significant 16 bits of the prefix fe80::/64 as shown in Figure 2:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |1|1|1|1|1|1|1|0|1|0|            zeros (22 bits)                |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |       zeros (16 bits)         |    Function   |     Type      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          Figure 2: IPv6 LLA Prefix with Type and Function Fields

   In this format, Type is an 8-bit field that identifies the LLA type
   on IPv6-over-(foo) interfaces that recognize the field, and Function




Templin                   Expires May 27, 2021                  [Page 3]


Internet-Draft     IPv6 Link-Local Address Type Field      November 2020


   is an 8-bit Type-specific field.  The values for Type that are
   currently defined are:

        Link-Local Format              Type
        *****************              ****
        Unspecified (default)             0
        Administratively Configured       1
        RFC4941bis                        2
        RFC7217                           3
        RFC4291                           4
        RFC3972                           5
        OMNI                              6

                                 Figure 3

   For example, on IPv6-over-(foo) interface types that recognize the
   Type field, an IPv6 link-local address formed according to [RFC7217]
   would be written as: fe80:0:0:3::[Interface ID], while one formed
   according to [RFC3972] would be written as: fe80:0:0:5::[Interface
   ID].  For some link types, it is possible that multiple types would
   be assigned on the same link and possibly even on the same interface.

   Note that for existing IPv6-over-(foo) link types, the Type and
   Function fields are always set to the value 0 (unspecified) and the
   link local address format fe80::/64 still applies as it always has.

4.  LLA-Based Prefix Delegation (PD)

   Prefix Delegation (PD) concerns a Requesting Router (RR) requesting
   an IPv6 PD from a Delegating Router (DR) on the same link.  The Type
   and Function extensions of the LLA are used to drive the PD process
   as discussed below.

   RRs autoconfigure a Type '2' "Temporary" LLA according to
   [I-D.ietf-6man-rfc4941bis] and set the Function field to a prefix
   length value between 1 and 64 to indicate the length of PD that is
   being requested (if a PD is not requested, the RR instead sets the
   Function field to the value 0).  The RR then uses the LLA as the IPv6
   source address of a Router Solicitation (RS) message used to request
   a PD.

   When the DR receives the RS message, it coordinates with the PD
   service to receive an IPv6 prefix delegation.  The DR then
   autoconfigures a 'Type 6' "OMNI" LLA according to
   [I-D.templin-6man-omni-interface], where the delegated prefix is
   encoded in the interface identifier of the LLA.  For example, if the
   delegated prefix is 2001:db8:1:2::/NN, the DR writes the LLA as
   fe80::2001:db8:1:2, then sets the Type field to the value '6' and the



Templin                   Expires May 27, 2021                  [Page 4]


Internet-Draft     IPv6 Link-Local Address Type Field      November 2020


   Function field to the value 'NN' as fe80:0:0:NN06:2001:db8:1:2.  The
   DR then sets the LLA as the destination address of a Router
   Advertisement (RA) message, and sends the RA message back to the RR.

   When the RR receives the RA message, it both derives the delegated
   prefix from the LLA destination address and assigns the LLA to the
   receiving interface.  The RR can then distribute the delegated prefix
   to its downstream-attached networks.

   Note that if the RR knows in advance its own OMNI LLA (for example,
   if the OMNI LLA were administratively configured a priori) it can
   send an RS message with the OMNI LLA as the source address in its
   first exchange with the DR.  If the DR is able to confirm that the RR
   is authorized to use its claimed OMNI LLA, it sends an RA message
   back to the RR with the same OMNI LLA as the IPv6 destination
   address.

5.  IANA Considerations

   This document defines a Type field for IPv6 link-local addresses, for
   which IANA is instructed to create and maintain a new registry
   entitled "IPv6 Link-Local Address Type values".  Initial values are
   given below; future assignments are to be made through Expert Review
   [RFC8126]:

        Link-Local Format              Type
        *****************              ****
        Unspecified (default)             0
        Administratively Configured       1
        RFC4941bis                        2
        RFC7217                           3
        RFC4291                           4
        RFC3972                           5
        OMNI                              6

           Figure 4: IANA IPv6 Link-Local Address Type Registry

6.  Security Considerations

   Security considerations for IPv6 [RFC8200] apply.

7.  Acknowledgements

   This document is aligned with the IETF 6man (IPv6) working group.

   .





Templin                   Expires May 27, 2021                  [Page 5]


Internet-Draft     IPv6 Link-Local Address Type Field      November 2020


8.  References

8.1.  Normative References

   [I-D.ietf-6man-rfc4941bis]
              Gont, F., Krishnan, S., Narten, T., and R. Draves,
              "Temporary Address Extensions for Stateless Address
              Autoconfiguration in IPv6", draft-ietf-6man-rfc4941bis-12
              (work in progress), November 2020.

   [I-D.templin-6man-omni-interface]
              Templin, F. and T. Whyman, "Transmission of IP Packets
              over Overlay Multilink Network (OMNI) Interfaces", draft-
              templin-6man-omni-interface-50 (work in progress), October
              2020.

   [RFC3972]  Aura, T., "Cryptographically Generated Addresses (CGA)",
              RFC 3972, DOI 10.17487/RFC3972, March 2005,
              <https://www.rfc-editor.org/info/rfc3972>.

   [RFC4291]  Hinden, R. and S. Deering, "IP Version 6 Addressing
              Architecture", RFC 4291, DOI 10.17487/RFC4291, February
              2006, <https://www.rfc-editor.org/info/rfc4291>.

   [RFC7217]  Gont, F., "A Method for Generating Semantically Opaque
              Interface Identifiers with IPv6 Stateless Address
              Autoconfiguration (SLAAC)", RFC 7217,
              DOI 10.17487/RFC7217, April 2014,
              <https://www.rfc-editor.org/info/rfc7217>.

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

   [RFC8200]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
              (IPv6) Specification", STD 86, RFC 8200,
              DOI 10.17487/RFC8200, July 2017,
              <https://www.rfc-editor.org/info/rfc8200>.

8.2.  Informative References

   [RFC2464]  Crawford, M., "Transmission of IPv6 Packets over Ethernet
              Networks", RFC 2464, DOI 10.17487/RFC2464, December 1998,
              <https://www.rfc-editor.org/info/rfc2464>.






Templin                   Expires May 27, 2021                  [Page 6]


Internet-Draft     IPv6 Link-Local Address Type Field      November 2020


Author's Address

   Fred L. Templin (editor)
   The Boeing Company
   P.O. Box 3707
   Seattle, WA  98124
   USA

   Email: fltemplin@acm.org










































Templin                   Expires May 27, 2021                  [Page 7]