Internet DRAFT - draft-iurman-6man-carry-identifier

draft-iurman-6man-carry-identifier







IPv6 Maintenance                                               J. Iurman
Internet-Draft                                                    ULiege
Intended status: Standards Track                         8 February 2023
Expires: 12 August 2023


                 Carrying an Identifier in IPv6 packets
                 draft-iurman-6man-carry-identifier-00

Abstract

   Some recent use cases have a need for carrying an identifier in IPv6
   packets.  While those drafts might perfectly make sense on their own,
   each document requires IANA to allocate a new code point for a new
   option, and so for very similar situations, which could quickly
   exhaust the allocation space if similar designs are proposed in the
   future.  As an example, one might need an 8-bit ID, while another one
   might need a 32-bit, 64-bit or 128-bit ID.  Or, even worse, one might
   need a 32-bit ID in a specific context, while someone else might also
   need a 32-bit ID in another context.  Therefore, allocating a new
   code point for each similar option is probably not the way to go.

About This Document

   This note is to be removed before publishing as an RFC.

   The latest revision of this draft can be found at
   https://IurmanJ.github.io/draft-iurman-6man-carry-identifier/draft-
   iurman-6man-carry-identifier.html.  Status information for this
   document may be found at https://datatracker.ietf.org/doc/draft-
   iurman-6man-carry-identifier/.

   Discussion of this document takes place on the IPv6 Maintenance
   Working Group mailing list (mailto:ipv6@ietf.org), which is archived
   at https://mailarchive.ietf.org/arch/browse/ipv6/.  Subscribe at
   https://www.ietf.org/mailman/listinfo/ipv6/.

   Source for this draft and an issue tracker can be found at
   https://github.com/IurmanJ/draft-iurman-6man-carry-identifier.

Status of This Memo

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







Iurman                   Expires 12 August 2023                 [Page 1]

Internet-Draft   Carrying an Identifier in IPv6 packets    February 2023


   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 12 August 2023.

Copyright Notice

   Copyright (c) 2023 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 Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Conventions and Definitions . . . . . . . . . . . . . . . . .   3
   3.  Solution 1: Generic Identifier  . . . . . . . . . . . . . . .   3
     3.1.  Pros and Cons . . . . . . . . . . . . . . . . . . . . . .   4
   4.  Solution 2: Identifier with Context . . . . . . . . . . . . .   4
     4.1.  Pros and Cons . . . . . . . . . . . . . . . . . . . . . .   5
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
     5.1.  Generic Identifier (Solution 1) . . . . . . . . . . . . .   5
     5.2.  Identifier with Context (Solution 2)  . . . . . . . . . .   5
       5.2.1.  Context-ID  . . . . . . . . . . . . . . . . . . . . .   6
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   7
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .   7
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   7







Iurman                   Expires 12 August 2023                 [Page 2]

Internet-Draft   Carrying an Identifier in IPv6 packets    February 2023


1.  Introduction

   Some recent use cases have a need for carrying an identifier in IPv6
   packets.  Two examples are [I-D.draft-ietf-6man-enhanced-vpn-vtn-id]
   and [I-D.draft-li-6man-topology-id].  While those drafts might
   perfectly make sense on their own, each document requires IANA to
   allocate a new code point for a new option, and so for very similar
   situations, which could quickly exhaust the allocation space if
   similar designs are proposed in the future.  As an example, one might
   need an 8-bit ID, while another one might need a 32-bit, 64-bit or
   128-bit ID.  Or, even worse, one might need a 32-bit ID in a specific
   context, while someone else might also need a 32-bit ID in another
   context.  Therefore, allocating a new code point for each similar
   option is probably not the way to go.

   This document proposes two different solutions to carry an identifier
   in IPv6 packets, in order to avoid the aforementioned issue.  Each
   solution defines a new option in the Destination Options and Hop-by-
   Hop Options sub-registry.  Both are explained in this document.

2.  Conventions and Definitions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

3.  Solution 1: Generic Identifier

   For simple use cases such as a single identifier carried without
   additional fields and without specific context, a new Option Type
   named "Generic Identifier" is defined as follows:

                            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
                                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                       |  Option Type  |  Opt Data Len |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       ~                  Identifier (variable length)                 ~
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Figure 1. Generic Identifier Option

   where:




Iurman                   Expires 12 August 2023                 [Page 3]

Internet-Draft   Carrying an Identifier in IPv6 packets    February 2023


   *  Option Type: 8-bit option type as defined in Section 5.1.

   *  Opt Data Len: 8-bit unsigned integer.  Length of the Identifier
      field, in octets.

   *  Identifier: variable length field representing the carried
      identifier.

3.1.  Pros and Cons

   (+) Totally generic solution, similar to an Identifier container.

   (-) Too generic, as it could be used to carry all and nothing.
   (-) No context for the carried identifier, which might disturb the
   receiver.
   (-) No multiple identifiers, where some use cases might need to carry
   more than one.
   (-) No additional fields, where some use cases might need that.

4.  Solution 2: Identifier with Context

   For use cases where one or several identifiers are carried with
   additional fields, or when a context is required, a new Option Type
   named "Identifier with Context" is defined as follows:

                            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
                                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                       |  Option Type  |  Opt Data Len |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Context-ID           |           Reserved            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       ~                Context-Data (variable length)                 ~
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Figure 2. Identifier with Context Option

   where:

   *  Option Type: 8-bit option type as defined in Section 5.2.

   *  Opt Data Len: 8-bit unsigned integer.  Length of this option, in
      octets, not including the first 2 octets.

   *  Context-ID: 16-bit field as defined in Section 5.2.1.




Iurman                   Expires 12 August 2023                 [Page 4]

Internet-Draft   Carrying an Identifier in IPv6 packets    February 2023


   *  Reserved: 16-bit field MUST be set to zero upon transmission and
      ignored upon reception.

   *  Context-Data: variable length field representing a data structure
      which depends on the Context-ID field.

4.1.  Pros and Cons

   (+) Allows for a context.
   (+) Allows for multiple identifiers.
   (+) Allows for additional fields.
   (+) IETF review process for new Context-ID code points.

   (-) Not hardware friendly.

5.  IANA Considerations

5.1.  Generic Identifier (Solution 1)

   If the solution is adopted, this document requests IANA to allocate
   the following IPv6 Option Type in the Destination Options and Hop-by-
   Hop Options sub-registry of Internet Protocol Version 6 (IPv6)
   Parameters:

       Binary Value   Description                     Reference
       act chg rest
       --------------------------------------------------------------
       00   0  TBD    Generic Identifier Option       [This document]

5.2.  Identifier with Context (Solution 2)

   If the solution is adopted, this document requests IANA to allocate
   the following IPv6 Option Type in the Destination Options and Hop-by-
   Hop Options sub-registry of Internet Protocol Version 6 (IPv6)
   Parameters:

       Binary Value   Description                     Reference
       act chg rest
       --------------------------------------------------------------
       00   0  TBD    Identifier with Context Option  [This document]

   This document also requests IANA to define a registry group named
   "Identifier with Context".  The following subsections detail the
   registries therein contained.







Iurman                   Expires 12 August 2023                 [Page 5]

Internet-Draft   Carrying an Identifier in IPv6 packets    February 2023


5.2.1.  Context-ID

   This registry defines 65536 code points for the Context-ID field, in
   order to know the context.  The following code points are defined in
   this document:

       Code point       Description             Reference
       +--------+--------------------------+-----------------+
       | 0x0000 |         Reserved         |  This document  |
       +--------+--------------------------+-----------------+
       | 0x0001 |                          |                 |
       |  ....  |        Unassigned        |                 |
       | 0xffef |                          |                 |
       +--------+--------------------------+-----------------+
       | 0xfff0 |                          |                 |
       |  ....  | RFC3692-style Experiment |    [RFC8126]    |
       | 0xfffe |                          |                 |
       +--------+--------------------------+-----------------+
       | 0xffff |         Reserved         |  This document  |
       +--------+--------------------------+-----------------+

   Unassigned code points are available for assignment via the "IETF
   Review" process, as per [RFC8126].  For a new registration request to
   be accepted, its main purpose MUST be to carry an identifier.  The
   aforementioned identifier MUST be the centerpiece of the new context.

   New registration requests MUST use the following template:

   *  Code point: requested code point for the new Context-ID.

   *  Description: name of the new Context-ID.

   *  Reference: reference to the document that defines the new Context-
      ID.

6.  Security Considerations

   As this document describes new options for IPv6, these are similar to
   the security considerations of [RFC8200] and the weakness documented
   in [RFC8250].

   This document does not define security considerations for the
   Context-Data field of the Identifier with Context Option, which
   varies based on the Context-ID.  These custom data structures will
   have security considerations in their own documents that define the
   new formats.

7.  References



Iurman                   Expires 12 August 2023                 [Page 6]

Internet-Draft   Carrying an Identifier in IPv6 packets    February 2023


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

   [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/rfc/rfc8126>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.

   [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/rfc/rfc8200>.

   [RFC8250]  Elkins, N., Hamilton, R., and M. Ackermann, "IPv6
              Performance and Diagnostic Metrics (PDM) Destination
              Option", RFC 8250, DOI 10.17487/RFC8250, September 2017,
              <https://www.rfc-editor.org/rfc/rfc8250>.

7.2.  Informative References

   [I-D.draft-ietf-6man-enhanced-vpn-vtn-id]
              Dong, J., Li, Z., Xie, C., Ma, C., and G. S. Mishra,
              "Carrying Virtual Transport Network (VTN) Information in
              IPv6 Extension Header", Work in Progress, Internet-Draft,
              draft-ietf-6man-enhanced-vpn-vtn-id-02, 24 October 2022,
              <https://datatracker.ietf.org/doc/html/draft-ietf-6man-
              enhanced-vpn-vtn-id-02>.

   [I-D.draft-li-6man-topology-id]
              Li, Z., Hu, Z., and J. Dong, "Topology Identifier in IPv6
              Extension Header", Work in Progress, Internet-Draft,
              draft-li-6man-topology-id-00, 20 March 2022,
              <https://datatracker.ietf.org/doc/html/draft-li-6man-
              topology-id-00>.

Acknowledgments

Author's Address





Iurman                   Expires 12 August 2023                 [Page 7]

Internet-Draft   Carrying an Identifier in IPv6 packets    February 2023


   Justin Iurman
   ULiege
   Institut Montefiore B28
   Allée de la Découverte 10
   4000 Liège
   Belgium
   Email: justin.iurman@uliege.be












































Iurman                   Expires 12 August 2023                 [Page 8]