RFC 8113 EXPERIMENTAL LISP · ROUTING · EXTENSIONS

Locator/ID Separation Protocol (LISP): Shared Extension Message & IANA Registry for Packet Type Allocations

One flexible message type for LISP extensions instead of allocating a new type for each.

On rfc-editor.org ↗
PUBLISHED
March 2017
AUTHORS
M. Boucadair, C. Jacquenet
STREAM
IETF
BUILDS ON
RFC 6830 — LISP
OBSOLETED BY
RFC 9304 — LISP Shared Ext Msg
LISP PACKET TYPE RANGE
0-15
SHARED EXTENSION MESSAGE TYPE CODE
15
SUB-TYPE FIELD WIDTH
12 bits
SUB-TYPE RANGE
0-4095
STANDARDS ACTION SUB-TYPES
0-1023
FCFS SUB-TYPES
1024-4095
DOI
10.17487/RFC8113

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                      M. Boucadair
Request for Comments: 8113                                  C. Jacquenet
Updates: 6830                                                     Orange
Category: Experimental                                        March 2017
ISSN: 2070-1721


                 Locator/ID Separation Protocol (LISP):
  Shared Extension Message & IANA Registry for Packet Type Allocations

Abstract

   This document specifies a Locator/ID Separation Protocol (LISP)
   shared message type for defining future extensions and conducting
   experiments without consuming a LISP packet type codepoint for each
   extension.  It also defines a registry for LISP Packet Type
   allocations, thus updating RFC 6830.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for examination, experimental implementation, and
   evaluation.

   This document defines an Experimental Protocol for the Internet
   community.  This document is a product of the Internet Engineering
   Task Force (IETF).  It represents the consensus of the IETF
   community.  It has received public review and has been approved for
   publication by the Internet Engineering Steering Group (IESG).  Not
   all documents approved by the IESG are a candidate for any level of
   Internet Standard; see Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc8113.

Copyright Notice

   Copyright (c) 2017 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
   (http://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
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Requirements Language . . . . . . . . . . . . . . . . . . . .   3
   3.  LISP Shared Extension Message Type  . . . . . . . . . . . . .   3
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   3
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
     5.1.  LISP Packet Types . . . . . . . . . . . . . . . . . . . .   4
     5.2.  Sub-Types . . . . . . . . . . . . . . . . . . . . . . . .   4
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .   5
     6.2.  Informative References  . . . . . . . . . . . . . . . . .   5
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .   6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   6

1.  Introduction

   The Locator/ID Separation Protocol (LISP) base specification,
   [RFC6830], defines a set of primitives that are identified with a
   packet type code.  Several extensions have been proposed to add more
   LISP functionalities.  For example, new message types are proposed in
   [LISP-DDT], [LISP-MN-EXT], [LISP-BULK], [NAT-LISP], or
   [LISP-SUBSCRIBE].  It is expected that additional LISP extensions
   will be proposed in the future.

   In order to ease the tracking of LISP message types, this document
   proposes to create a "LISP Packet Types" IANA registry (see
   Section 5).

   Because of the limited type space [RFC6830] and the need to conduct
   experiments to assess new LISP extensions, this document specifies a
   shared LISP extension message type and proposes a procedure for
   registering LISP shared extension sub-types (see Section 3).

   Concretely, one single LISP message type code is dedicated to future
   LISP extensions; sub-types are used to uniquely identify a given LISP
   extension making use of the shared LISP extension message type.
   These identifiers are selected by the author(s) of the corresponding
   LISP specification that introduces a new LISP extension message type.

2.  Requirements Language

   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 [RFC2119].

3.  LISP Shared Extension Message Type

   Figure 1 depicts the common format of the LISP shared extension
   message.  The type field MUST be set to 15 (see Section 5).

        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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |Type=15|        Sub-type       |   extension-specific          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       //                    extension-specific                       //
       //                                                             //
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Figure 1: LISP Shared Extension Message Type

   The "Sub-type" field conveys a unique identifier that MUST be
   registered with IANA (see Section 5.2).

   The exact structure of the 'extension-specific' portion of the
   message is specified in the corresponding specification document.

4.  Security Considerations

   This document does not introduce any additional security issues other
   than those discussed in [RFC6830].

5.  IANA Considerations

5.1.  LISP Packet Types

   IANA has created a new protocol registry for LISP Packet Types,
   numbered 0-15.  The registry is initially populated with the
   following values:

   Message                           Code    Reference
   ================================= ==== ===============
   Reserved                           0      [RFC6830]
   LISP Map-Request                   1      [RFC6830]
   LISP Map-Reply                     2      [RFC6830]
   LISP Map-Register                  3      [RFC6830]
   LISP Map-Notify                    4      [RFC6830]
   LISP Encapsulated Control Message  8      [RFC6830]
   LISP Shared Extension Message     15      [RFC8113]

   The values in the ranges 5-7 and 9-14 can be assigned via Standards
   Action [RFC5226].  Documents that request for a new LISP packet type
   may indicate a preferred value in the corresponding IANA sections.

5.2.  Sub-Types

   IANA has created the "LISP Shared Extension Message Type Sub-types"
   registry.  No initial values are assigned at the creation of the
   registry; (0-4095) are available for future assignments.

   The values in the range 0-1023 are assigned via Standards Action.
   This range is provisioned to anticipate, in particular, the
   exhaustion of the LISP Packet types.

   The values in the range 1024-4095 are assigned on a First Come, First
   Served (FCFS) basis.  The registration procedure should provide IANA
   with the desired codepoint and a point of contact; providing a short
   description (together with an acronym, if relevant) of the foreseen
   usage of the extension message is also encouraged.

6.  References

6.1.  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,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 5226,
              DOI 10.17487/RFC5226, May 2008,
              <http://www.rfc-editor.org/info/rfc5226>.

   [RFC6830]  Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The
              Locator/ID Separation Protocol (LISP)", RFC 6830,
              DOI 10.17487/RFC6830, January 2013,
              <http://www.rfc-editor.org/info/rfc6830>.

6.2.  Informative References

   [LISP-BULK]
              Boucadair, M. and C. Jacquenet, "LISP Mapping Bulk
              Retrieval", Work in Progress,
              draft-boucadair-lisp-bulk-04, February 2017.

   [LISP-DDT] Fuller, V., Lewis, D., Ermagan, V., Jain, A., and A.
              Smirnov, "LISP Delegated Database Tree", Work in
              Progress, draft-ietf-lisp-ddt-09, January 2017.

   [LISP-MN-EXT]
              Wang, J., Meng, Y., and N. Zhao, "LISP Mobile Node
              extension", Work in Progress,
              draft-zhao-lisp-mn-extension-02, October 2011.

   [LISP-SUBSCRIBE]
              Boucadair, M. and C. Jacquenet, "LISP Subscription", Work
              in Progress, draft-boucadair-lisp-subscribe-04, February
              2017.

   [NAT-LISP] Ermagan, V., Farinacci, D., Lewis, D., Skriver, J., Maino,
              F., and C. White, "NAT traversal for LISP", Work in
              Progress, draft-ermagan-lisp-nat-traversal-11, August
              2016.

Acknowledgments

   This work is partly funded by ANR LISP-Lab project #ANR-13-INFR-
   009-X.

   Many thanks to Luigi Iannone, Dino Farinacci, and Alvaro Retana for
   the review.

   Thanks to Geoff Huston for the RtgDir directorate review.

Authors' Addresses

   Mohamed Boucadair
   Orange
   Rennes  35000
   France

   Email: mohamed.boucadair@orange.com


   Christian Jacquenet
   Orange
   Rennes  35000
   France

   Email: christian.jacquenet@orange.com

AI ELI5

On this page
PROBLEMThe LISP protocol defined only 16 possible packet type codes, but many extensions needed new types. Allocating a unique type for each extension would quickly exhaust the limited space.
MECHANISMThis RFC reserves one shared message type (type 15) and uses sub-types (0-4095) within that type to identify specific extensions, allowing many more extensions to coexist. It also creates an IANA registry for LISP packet types.
WHY IT MATTEREDExtensions can now share a single packet type with unique sub-type identifiers, preserving the packet type space. This RFC was later updated by RFC 9304.

§1Problem and Solution

The Locator/ID Separation Protocol (LISP), defined in RFC 6830, uses packet type codes (0-15) to identify different message types. The base protocol reserves codes for Map-Request, Map-Reply, Map-Register, Map-Notify, and Encapsulated Control Messages. This leaves limited space for extensions.

Several LISP extensions have been proposed (LISP-DDT, LISP-MN-EXT, LISP-BULK, NAT-LISP, LISP-SUBSCRIBE), and more are expected. Rather than allocate one type code for each extension (which would exhaust the 16-code space), this RFC designates one message type as a shared extension type and introduces sub-types to distinguish between extensions.

LISP messages come in different types, numbered 0-15. But there are many new ideas for LISP features, and you can't have more than 16 types. The solution: use type 15 for 'new experiments,' and put a sticker on each one to say which experiment.

§2The Shared Extension Message Format

The LISP shared extension message uses type code 15. The message begins with a standard 32-bit header field: the Type (4 bits) set to 15, a Sub-type field (12 bits), followed by extension-specific data that the extension specification defines.

The Sub-type field is a 12-bit unique identifier that MUST be registered with IANA. This allows up to 4096 (0-4095) different sub-types, far exceeding the original packet type space. The exact structure of the extension-specific data portion is defined in each extension's specification document.

The header has two parts: a 4-bit type field set to 15 (meaning 'shared extension'), and a 12-bit sub-type field that identifies which extension it is. After that comes the extension's own data format.

§3IANA Registry for Packet Types and Sub-Types

This RFC creates a new IANA registry called 'LISP Packet Types' that formally lists packet type codes 0-15 and their assignments. The registry documents the original LISP message types (Map-Request, Map-Reply, Map-Register, Map-Notify, Encapsulated Control Message) and reserves type 15 for the shared extension.

For the shared extension type 15, a separate sub-registry was created: 'LISP Shared Extension Message Type Sub-types'. Sub-type values 0-1023 are assigned via Standards Action (requiring a Standards Track document), while values 1024-4095 are assigned via First Come, First Served (FCFS) basis. FCFS registrations require a point of contact and optionally a description of the extension's purpose.

The range values 5-7 and 9-14 in the main packet type registry remain available for future packet type allocations via Standards Action.

IANA now keeps a registry listing all LISP packet types. For the new shared extension type, sub-types 0-1023 require formal standards approval, while 1024-4095 can be registered quickly on a first-come basis.

§4Security and Status

This RFC is experimental and does not introduce security issues beyond those already present in RFC 6830. The shared extension message mechanism itself is neutral; security depends on how each extension uses the shared type.

Since this is an Experimental protocol, implementations should carefully validate sub-type fields and follow the specifications of the extension they are implementing. The centralized IANA registry helps prevent accidental duplication of sub-type codes.

This RFC itself is just a mailbox management system. Security depends on what goes inside each envelope (extension). The registry prevents two extensions from using the same sub-type number by accident.

§5References