RFC 7116

Licklider Transmission Protocol (LTP), Compressed Bundle Header Encoding (CBHE), and Bundle Protocol IANA Registries

πŸ“… published February 2014, from ietf

RFC 7116: Licklider Transmission Protocol (LTP), Compressed Bundle Header Encoding (CBHE), and Bundle Protocol IANA Registries πŸ’–

  • Stream: Internet Research Task Force (IRTF) 🌸
  • Request for Comments: 7116
  • Category: Informational πŸŽ€
  • ISSN: 2070-1721
  • Date: February 2014 πŸ“…
  • Authors: K. Scott (The MITRE Corporation) and M. Blanchet (Viagenie) 🧚
  • Obsoletes / Updates: none listed in the title block ✨

Abstract

Okay so the DTNRG Research Group came up with the experimental Licklider Transmission Protocol (LTP) and the Compressed Bundle Header Encoding (CBHE) mechanism for the ipn URI scheme πŸš€. On top of that, RFC 5050 sets values for the Bundle Protocol administrative record type πŸ’…. All of these fields are subject to a registry, and for their research the group made some ad hoc ones πŸ™ˆ. Since the specs are stable and have multiple interoperable implementations, the group wants to hand the registries off to IANA for official management ✨. This doc walks through the IANA actions that need to happen 🫢.

Status of This Memo

Not gonna lie, this one is informational, not a Standards Track spec 🧁. It's published just for info.

This doc is a product of the Internet Research Task Force (IRTF), which shares the results of Internet-related research and development πŸ”¬. Those results might not be ready for deployment, so keep that in mind πŸ‘€. It represents the consensus of the Delay-Tolerant Networking (DTNRG) Research Group of the IRTF 🀝. Documents the IRSG approves for publication are not a candidate for any level of Internet Standard, see Section 2 of RFC 5741 πŸ’€.

For the current status, any errata, and how to send feedback, check http://www.rfc-editor.org/info/rfc7116 πŸ”—.

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

This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they stand on the publication date. Please actually read these, because they spell out your rights and restrictions for this doc πŸ“œ.

Table of Contents

1. Introduction ....................................................2
2. Security Considerations .........................................3
3. IANA Considerations .............................................3
   3.1. Licklider Transmission Protocol ............................3
        3.1.1. LTP Cancel Segment Reason Codes .....................3
        3.1.2. LTP Engine ID .......................................4
        3.1.3. LTP Client Service ID ...............................5
   3.2. Compressed Bundle Header Encoding ..........................6
        3.2.1. CBHE Node Numbers ...................................6
        3.2.2. CBHE Service Numbers ................................7
   3.3. Bundle Administrative Record Types .........................8
4. Acknowledgements ................................................8
5. References ......................................................9
   5.1. Normative References .......................................9
   5.2. Informative References .....................................9

1. Introduction ✨

The DTNRG Research Group defined the Licklider Transmission Protocol (LTP) [RFC5326] πŸ›Έ. LTP has some fields that need a registry πŸ“‹. The group made ad hoc registries for its research, and since the specs are stable with multiple interoperable implementations, it wants IANA to take them over officially πŸ’…. This doc describes what IANA needs to do, and it uses the well-known IANA policy definitions from Section 4.1 of [RFC5226] πŸŽ€.

The Compressed Bundle Header Encoding (CBHE) [RFC6260] spec defines the concepts of 'Node Number' and 'Service Number' in the ipn URI scheme 🌸. This doc asks for IANA registries for those fields too πŸ™Œ.

Because of its ties to space communication and the Consultative Committee for Space Data Systems [CCSDS], parts of the "CBHE Node Numbers", "CBHE Service Numbers", and "LTP Engine Numbers" spaces get delegated by this doc to the CCSDS Space Assigned Numbers Authority [SANA] πŸš€πŸ§š. SANA works a lot like IANA, maintaining registries of managed values, with a focus on values used by protocols that CCSDS member agencies use 🌌.

This doc represents the consensus of the DTNRG 🀝. It was discussed and reviewed by the research group and interested parties πŸ‘€.

2. Security Considerations πŸ’€

Okay, this is the part where I need you to pay attention 😭. This doc requests the creation of registries managed by IANA. There are no security issues involved with that. For security issues with LTP itself, you have to go read the Security Considerations section of [RFC5326] πŸ”.

3. IANA Considerations πŸ‘‘

IANA has created the registries described in this section πŸ’–.

3.1. Licklider Transmission Protocol πŸ›Έ

LTP has fields that need registries managed by IANA πŸ“‹. This doc requests the creation of three registries in this section, and asks that they be associated with the other LTP registries 🫢.

3.1.1. LTP Cancel Segment Reason Codes

Section 3.2.4 of [RFC5326] defines the reason codes that can show up in Cancel Segments in LTP 🚫. IANA set up a registry to manage these cancel reason codes πŸ—‚οΈ. It's titled "LTP Cancel Segment Reason Codes" and has been added to the list of registries associated with the Licklider Transmission Protocol ✨.

The registration policy for this registry is Specification Required πŸ“.

The initial values (as defined by RFC 5326) for the "LTP Cancel Segment Reason Codes" are:

+-------+---------------------------------+---------------+
| Value | Description                     | Reference     |
+-------+---------------------------------+---------------+
|   0   | Client service canceled session | [RFC5326]     |
|   1   | Unreachable client service      | [RFC5326]     |
|   2   | Retransmission limit exceeded   | [RFC5326]     |
|   3   | Miscolored data received        | [RFC5326]     |
|   4   | System error caused termination | [RFC5326]     |
|   5   | Retransmission limit exceeded   | [RFC5326]     |
| 6-255 | Unassigned                      | This document |
+-------+---------------------------------+---------------+

3.1.2. LTP Engine ID

LTP has an LTP Engine ID field (Section 2 of [RFC5326]) πŸ†”. IANA set up a registry to manage the Engine IDs πŸ—‚οΈ. It's titled "LTP Engine Numbers" and has been added to the list of registries associated with the Licklider Transmission Protocol πŸ’….

The registration policy for this registry is:

1 -- (2**14)-1  Expert Review required.

(2**14) -- (2**21)-1  Allocated to the Space Assigned Numbers
   Authority ([SANA]) for use by Consultative Committee for Space
   Data Systems (CCSDS) missions.

(2**21) -- (2**28)-1  Private or Experimental Use.

(2**28) -- (2**42)-1  First Come First Served basis for requests for
   less than or equal to 2**14 values to a single entity or
   organization.  Expert Review is required for requests of more than
   2**14 values to a single entity or organization.

The LTP Engine ID is expressed as a Self-Delimiting Numeric Value (SDNV) in LTP, and the protocol definition doesn't specify a maximum πŸ”’. SDNVs are described in Section 4.1 of the Bundle Protocol specification [RFC5050] and in [RFC6256] πŸ“–. The initial values for the "LTP Engine Numbers" registry are:

+--------------------+---------------------------+---------------+
|              Value | Description               | Reference     |
+--------------------+---------------------------+---------------+
|                  0 | Reserved                  | This document |
|       1--(2**14)-1 | Unassigned                | This document |
| (2**14)--(2**21)-1 | Allocated to CCSDS (SANA) | This document |
| (2**21)--(2**28)-1 | Private/Experimental Use  | This document |
| (2**28)--(2**42)-1 | Unassigned                | This document |
|          >=(2**42) | Reserved                  | This document |
+--------------------+---------------------------+---------------+

3.1.3. LTP Client Service ID

LTP has a client service ID number field (Section 3.2.1 of [RFC5326]) 🧩. IANA set up a registry to manage LTP Client Service IDs πŸ—‚οΈ. It's titled "LTP Client Service Identifiers" and has been added to the list of registries associated with the Licklider Transmission Protocol πŸŽ€.

The registration policy for this registry is:

4 -- (2**14)-1  Allocated to the Space Assigned Numbers Authority
   ([SANA]) for use by Consultative Committee for Space Data Systems
   (CCSDS) missions.

2**14 -- 32,767  Private or Experimental Use.

>= 32,768  Specification Required.

The LTP Client Service ID is expressed as a Self-Delimiting Numeric Value (SDNV) in LTP, and the protocol definition doesn't specify a maximum value πŸ”’. The initial values for the "LTP Client Service Identifiers" are:

+-----------------+------------------------------+---------------+
|           Value | Description                  | Reference     |
+-----------------+------------------------------+---------------+
|               0 | Reserved                     | [RFC5326]     |
|               1 | Bundle Protocol              | This document |
|               2 | LTP Service Data Aggregation | This document |
|               3 | CCSDS File Delivery Service  | This document |
|    4--(2**14)-1 | Allocated to CCSDS (SANA)    | This document |
| (2**14)--32,767 | Private/Experimental Use     | This document |
|        >=32,768 | Unassigned                   | This document |
+-----------------+------------------------------+---------------+

3.2. Compressed Bundle Header Encoding ✨

The CBHE spec [RFC6260] defines the concepts of 'Node Number' and 'Service Number', and those need registries managed by IANA 🌈.

3.2.1. CBHE Node Numbers ✨

okay so the CBHE spec has a Node Number (node-nbr) field (Section 2.1 of [RFC6260]), and IANA set up a registry to manage those 🌸 it's called "CBHE Node Numbers" and it's now on the list of registries for the Bundle Protocol 🧚 the registration policy is below, and it's giving very specific πŸ’…

1 -- (2**14)-1  Expert Review required.

(2**14) -- (2**21)-1  Allocated to the Space Assigned Numbers
   Authority ([SANA]) for use by Consultative Committee for Space
   Data Systems (CCSDS) missions.

(2**21) -- (2**28)-1  Private or Experimental Use.

(2**28) -- (2**42)-1  First Come First Served basis for requests for
   less than or equal to 2**14 values to a single entity or
   organization.  Expert Review is required for requests of more than
   2**14 values to a single entity or organization.

>= (2**42)  Reserved.

ngl the Node Number is written as a Self-Delimiting Numeric Value (SDNV) in the CBHE spec πŸ¦‹ allowed values run from 1 -- (2**64)-1 πŸ”₯ and the starting values for the "CBHE Node Number" registry shall be the ones in this table πŸŽ€

+--------------------+---------------------------+---------------+
|              Value | Description               | Reference     |
+--------------------+---------------------------+---------------+
|                  0 | Reserved                  | This document |
|       1--(2**14)-1 | Unassigned                | This document |
| (2**14)--(2**21)-1 | Allocated to CCSDS (SANA) | This document |
| (2**21)--(2**28)-1 | Private/Experimental Use  | This document |
| (2**28)--(2**42)-1 | Unassigned                | This document |
|          >=(2**42) | Reserved                  | This document |
+--------------------+---------------------------+---------------+

3.2.2. CBHE Service Numbers πŸ“

same energy, different field πŸ’– the Compressed Bundle Header Encoding spec has a Service Number (service-nbr) field (Section 2.1 of [RFC6260]), and IANA made a registry for it called "CBHE Service Numbers", which is now also listed with the Bundle Protocol registries 🫢

the registration policy is:

0-63  Specification Required.

64-1023  Allocated to the Space Assigned Numbers Authority ([SANA])
   for use by Consultative Committee for Space Data Systems (CCSDS)
   missions.

1024 - 2**16-1  Specification Required.

>= 2**16  Private/Experimental Use.

the Service Number is also an SDNV in the CBHE spec ✨ allowable values go from 1 -- (2**64)-1 πŸ’œ and the starting values for "CBHE Service Number" are:

+----------------+--------------------------------+---------------+
|          Value | Description                    | Reference     |
+----------------+--------------------------------+---------------+
|              0 | Bundle Protocol Administrative | [RFC6260]     |
|                |   Record                       |               |
|              1 | CCSDS File Delivery Service    | [CFDP]        |
|              2 | Reserved                       | This document |
|           3-63 | Unassigned                     | This document |
|        64-1023 | Allocated to CCSDS (SANA)      | This document |
| 1024 - 2**16-1 | Unassigned                     | This document |
|        >=2**16 | Private/Experimental Use       | This document |
+----------------+--------------------------------+---------------+

3.3. Bundle Administrative Record Types πŸ“¬

bestie, this one is about the record type codes 🌈 Section 6.1 of the Bundle Protocol specification [RFC5050] has a 4-bit Administrative Record type code, and IANA set up a registry for those types called "Bundle Administrative Record Types" 🧚 it's now on the Bundle Protocol registry list too ✨

the registration policy for this one is Specification Required πŸŽ€ the starting values for the "Bundle Administrative Record Type" registry are:

        +-------+----------------------+---------------+
        | Value | Description          | Reference     |
        +-------+----------------------+---------------+
        |     0 | Reserved             | This document |
        |     1 | Bundle status report | [RFC5050]     |
        |     2 | Custody signal       | [RFC5050]     |
        |  3-15 | Unassigned           | This document |
        +-------+----------------------+---------------+

4. Acknowledgements 🫢

the authors want to thank these lovelies, listed in no specific order: Scott Burleigh, Stephen Farrell, and John Buford πŸ’œ iconic squad πŸ‘‘

5. References πŸ“š

5.1. Normative References πŸ”₯

these are the must-reads, the ones you cannot skip if you're building this 😭

[CFDP]     Consultative Committee for Space Data Systems, "CCSDS File
           Delivery Protocol Version 4 (CCSDS 727.0-B-4)",
           January 2007, <http://www.ccsds.org>.

[RFC5050]  Scott, K. and S. Burleigh, "Bundle Protocol
           Specification", RFC 5050, November 2007.

[RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
           IANA Considerations Section in RFCs", BCP 26, RFC 5226,
           May 2008.

[RFC5326]  Ramadas, M., Burleigh, S., and S. Farrell, "Licklider
           Transmission Protocol - Specification", RFC 5326,
           September 2008.

[RFC6256]  Eddy, W. and E. Davies, "Using Self-Delimiting Numeric
           Values in Protocols", RFC 6256, May 2011.

[RFC6260]  Burleigh, S., "Compressed Bundle Header Encoding (CBHE)",
           RFC 6260, May 2011.

5.2. Informative References πŸ’…

these are the extra-helpful reads, still worth a peek πŸ¦‹

[CCSDS]    CCSDS, "The Consultative Committee for Space Data
           Systems", <http://www.ccsds.org>.

[SANA]     SANA, "The CCSDS SANA Registry page",
           <http://sanaregistry.org>.

Authors' Addresses 🌸

the people behind the doc, with all their contact info πŸ’–

Keith Scott
The MITRE Corporation
7515 Colshire Drive
McLean, VA  22102
USA

Phone: +1-703-983-6547
Fax:   +1-703-983-7142
EMail: kscott@mitre.org


Marc Blanchet
Viagenie
246 Aberdeen
Quebec  G1R 2E1
Canada

Phone: +1-418-656-9254
EMail: marc.blanchet@viagenie.ca
πŸ“¦ where this page comes from