RFC 6255
Delay-Tolerant Networking Bundle Protocol IANA Registries
Delay-Tolerant Networking Bundle Protocol IANA Registries π§
okay bestie, this is RFC 6255 and it's giving paperwork glow-up π
π RFC number: 6255 π Title: Delay-Tolerant Networking Bundle Protocol IANA Registries π Author: M. Blanchet, Viagenie π Stream: Internet Research Task Force (IRTF) π Category: Informational π Date: May 2011 π ISSN: 2070-1721 π Obsoletes / Updates: nothing is listed in the title block, so this one doesn't obsolete or update anything π«Ά
Abstract
so the DTN Research Group cooked up a bunch of protocols, like the Bundle Protocol and the Licklider Transmission Protocol π¦. Their specs have fields that need a registry, and for their research they made some ad hoc registries. The specs are stable and have multiple interoperable implementations, so the group wants to hand those registries over to IANA for official custody π . This document is about what IANA does.
Status of This Memo
this is not an Internet Standards Track spec, it's published for information only πΈ.
it's a product of the Internet Research Task Force (IRTF), which shares research and development results. Those results might not be suitable for deployment, so keep that in mind π. This RFC represents the consensus of the Delay-Tolerant Network Research Group of the IRTF. Documents approved for publication by the IRSG are not a candidate for any level of Internet Standard, see Section 2 of RFC 5741 (no cap, that's important β¨).
for the current status, any errata, and how to give feedback, check http://www.rfc-editor.org/info/rfc6255 π.
Copyright Notice
Copyright (c) 2011 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 of the publication date. read those carefully bc they spell out your rights and restrictions ππ.
Table of Contents
1. Introduction ....................................................2
2. Treatment of Flag Fields Encoded Using SDNVs ....................2
3. Bundle Protocol .................................................3
3.1. Bundle Block Types .........................................3
3.2. Primary Bundle Protocol Version ............................3
3.3. Bundle Processing Control Flags ............................4
3.4. Block Processing Control Flags .............................5
3.5. Bundle Status Report Flags .................................6
3.6. Bundle Status Report Reason Codes ..........................7
3.7. Bundle Custody Signal Reason Codes .........................7
4. Security Considerations .........................................8
5. IANA Considerations .............................................8
6. Acknowledgements ................................................8
7. References ......................................................9
7.1. Normative References .......................................9
7.2. Informative References .....................................9
1. Introduction β¨
the DTNRG research group has defined a lot of protocols for the DTN architecture [RFC4838], like the Bundle Protocol [RFC5050] and the Licklider Transmission Protocol [RFC5326]. Those specs have fields that are subject to a registry. For their research, the group made ad hoc registries (http://www.dtnrg.org/wiki/AssignedNamesAndNumbers). Since the specs are stable and have multiple interoperable implementations, the group wants to give those registries to IANA for official custody. This document describes what IANA does next π§.
2. Treatment of Flag Fields Encoded Using SDNVs π
the DTN protocols use several extensible bit flag fields that are encoded as Self-Delimiting Numeric Values (SDNVs), as defined in Section 4.1 of [RFC5050]. For these fields, the registry handles how bit positions in the unencoded field get allocated and used π. The SDNV encoding treats all the bits in the unencoded value as one numeric value, which gets encoded when sent and decoded when received, as described in [RFC5050].
processing of SDNV-encoded flags is covered in [RFC6256], so go there for that part π.
Section 4.1 of [RFC5050] says implementations are not required to handle SDNVs with more than 64 bits in their unencoded value. So, SDNV-encoded flag fields should be limited to 64 bit positions. Honestly the limit is very on brand for a "keep it small" energy π.
the IANA registry policies and the wording used in this document are described in [RFC5226] π .
3. Bundle Protocol π¦
the Bundle Protocol (BP) [RFC5050] has fields that need a registry managed by IANA. Here's the tea on each one π«.
3.1. Bundle Block Types
the Bundle Protocol has a Bundle Block Type code field (Section 4.5.2) [RFC5050]. An IANA registry has been set up like this:
The registration policy for this registry is:
0-191: Specification Required
192-255: Private or experimental use. No assignment by IANA.
The Value range is: unsigned 8-bit integer.
Bundle Block Type Registry
+--------------+---------------------------------+---------------+
| Value | Description | Reference |
+--------------+---------------------------------+---------------+
| 0 | Reserved | This document |
| 1 | Bundle Payload Block | [RFC5050] |
| 2-191 | Unassigned | |
| 192-255 | Private and/or Experimental Use | [RFC5050] |
+--------------+---------------------------------+---------------+
the value "0" was never defined in any document or in the ad hoc registry. As per consensus by the DTNRG research group, it's reserved per this document π.
3.2. Primary Bundle Protocol Version
the Bundle Protocol has a version field (see Section 4.5.1 of [RFC5050]). An IANA registry has been set up like this:
The registration policy for this registry is: RFC Required
The Value range is: unsigned 8-bit integer.
Primary Bundle Protocol Version Registry
+-------+-------------+---------------+
| Value | Description | Reference |
+-------+-------------+---------------+
| 0-5 | Reserved | This document |
| 6 | Assigned | [RFC5050] |
| 7-255 | Unassigned | |
+-------+-------------+---------------+
the values "0-5" were never defined in any document or in the ad hoc registry. As per consensus by the DTNRG research group, they're reserved per this document πΈ.
3.3. Bundle Processing Control Flags
the Bundle Protocol has a Bundle Processing Control Flags field (see Section 4.2 of [RFC5050]), encoded as an SDNV (see Section 2). An IANA registry has been set up like this:
The registration policy for this registry is: Specification Required
The Value range is: Variable length. Maximum number of flag bit positions: 64
Bundle Processing Control Flags Registry
+--------------------+----------------------------------+-----------+
| Bit Position | Description | Reference |
| (right to left) | | |
+--------------------+----------------------------------+-----------+
| 0 | Bundle is a fragment | [RFC5050] |
| 1 | Application data unit is an | [RFC5050] |
| | administrative record | |
| 2 | Bundle must not be fragmented | [RFC5050] |
| 3 | Custody transfer is requested | [RFC5050] |
| 4 | Destination endpoint is a | [RFC5050] |
| | singleton | |
| 5 | Acknowledgement by application | [RFC5050] |
| | is requested | |
| 6 | Reserved | [RFC5050] |
| 7-8 | Class of service: priority | [RFC5050] |
| 9-13 | Class of service: reserved | [RFC5050] |
| 14 | Request reporting of bundle | [RFC5050] |
| | reception | |
| 15 | Request reporting of custody | [RFC5050] |
| | acceptance | |
| 16 | Request reporting of bundle | [RFC5050] |
| | forwarding | |
| 17 | Request reporting of bundle | [RFC5050] |
| | delivery | |
| 18 | Request reporting of bundle | [RFC5050] |
| | deletion | |
| 19 | Reserved | [RFC5050] |
| 20 | Reserved | [RFC5050] |
| 21-63 | Unassigned | |
+--------------------+----------------------------------+-----------+
3.4. Block Processing Control Flags
the Bundle Protocol has a Block Processing Control Flags field (see Section 4.3 of [RFC5050]). An IANA registry has been set up like this:
The registration policy for this registry is: Specification Required
The Value range is: Variable length. Maximum number of flag bit positions: 64
Block Processing Control Flags Registry
+--------------------+----------------------------------+-----------+
| Bit Position | Description | Reference |
| (right to left) | | |
+--------------------+----------------------------------+-----------+
| 0 | Block must be replicated in | [RFC5050] |
| | every fragment | |
| 1 | Transmit status report if block | [RFC5050] |
| | can't be processed | |
| 2 | Delete bundle if block can't be | [RFC5050] |
| | processed | |
| 3 | Last block | [RFC5050] |
| 4 | Discard block if it can't be | [RFC5050] |
| | processed | |
| 5 | Block was forwarded without | [RFC5050] |
| | being processed | |
| 6 | Block contains an EID-reference | [RFC5050] |
| | field | |
| 7-63 | Unassigned | |
+--------------------+----------------------------------+-----------+
next up are the bundle status report flags, the status report reason codes, and the custody signal reason codes, so stay tuned πβ¨
3.5. Bundle Status Report Flags π
okay so the Bundle Protocol has this Status Report Status Flag field π (check Section 6.1.1 of [RFC5050] if you want the full tea β). IANA set up a registry for it, and here's how it works:
The registration policy is: RFC Required
The value range is: 8 bits
Bundle Status Report Flags Registry π¦
+----------+----------------------------------------+---------------+
| Value | Description | Reference |
+----------+----------------------------------------+---------------+
| 00000000 | Reserved | This document |
| 00000001 | Reporting node received bundle | [RFC5050] |
| 00000010 | Reporting node accepted custody of | [RFC5050] |
| | bundle | |
| 00000100 | Reporting node forwarded the bundle | [RFC5050] |
| 00001000 | Reporting node delivered the bundle | [RFC5050] |
| 00010000 | Reporting node deleted the bundle | [RFC5050] |
| 00100000 | Unassigned | |
| 01000000 | Unassigned | |
| 10000000 | Unassigned | |
+----------+----------------------------------------+---------------+
so the value "00000000" was never defined in any document or in the ad hoc registry π. After a consensus call by the DTNRG research group, it's reserved per this document. no cap, that's a clean fix π
3.6. Bundle Status Report Reason Codes π§
the Bundle Protocol also has a Bundle Status Report Reason Codes field (again, Section 6.1.1 of [RFC5050] is where it's at π). IANA made a registry for this one too:
The registration policy is: Specification Required
The value range is: unsigned 8-bit integer
Bundle Status Report Reason Codes Registry πΈ
+-------+-------------------------------------------+---------------+
| Value | Description | Reference |
+-------+-------------------------------------------+---------------+
| 0 | No additional information | [RFC5050] |
| 1 | Lifetime expired | [RFC5050] |
| 2 | Forwarded over unidirectional link | [RFC5050] |
| 3 | Transmission canceled | [RFC5050] |
| 4 | Depleted storage | [RFC5050] |
| 5 | Destination endpoint ID unintelligible | [RFC5050] |
| 6 | No known route to destination from here | [RFC5050] |
| 7 | No timely contact with next node on route | [RFC5050] |
| 8 | Block unintelligible | [RFC5050] |
| 9-254 | Unassigned | |
| 255 | Reserved | This document |
+-------+-------------------------------------------+---------------+
and the value "255" was not defined in any document or in the ad hoc registry either π. The DTNRG research group agreed on it, so it's reserved per this document. iykyk π«Ά
3.7. Bundle Custody Signal Reason Codes π₯
last registry, bestie! The Bundle Protocol has a Bundle Custody Signal Reason Codes field (see Section 6.1.2 of [RFC5050] π¦). IANA set this one up too:
The registration policy is: Specification Required
The value range is: unsigned 7-bit integer
Bundle Custody Signal Reason Codes Registry π
+--------------+--------------------------------------+-------------+
| Value | Description | Reference |
+--------------+--------------------------------------+-------------+
| 0 | No additional information | [RFC5050] |
| 1-2 | Unassigned | |
| 3 | Redundant reception (reception by a | [RFC5050] |
| | node that is a custodial node for | |
| | this bundle) | |
| 4 | Depleted storage | [RFC5050] |
| 5 | Destination endpoint ID | [RFC5050] |
| | unintelligible | |
| 6 | No known route to destination from | [RFC5050] |
| | here | |
| 7 | No timely contact with next node on | [RFC5050] |
| | route | |
| 8 | Block unintelligible | [RFC5050] |
| 9-126 | Unassigned | |
| 127 | Reserved | This |
| | | document |
+--------------+--------------------------------------+-------------+
the value "127" was never defined in any document or in the ad hoc registry, so (you guessed it) the DTNRG research group said it's reserved per this document πβ¨
4. Security Considerations π
okay, this part is serious, so I'm keeping it straight π€. This document asks for the creation of registries managed by IANA. There are no security issues involved. For security, you need to look at the Security Considerations section of the referenced protocols π.
5. IANA Considerations π
IANA has created the registries as described in the previous sections. β
6. Acknowledgements π«Ά
the editor wants to thank these people, who gave comments and suggestions to this document (listed in no specific order, obviously π): Stephen Farrell, Daniel Ellard, Scott Burleigh, Keith Scott, and Elwyn Davies. legends, all of them π
7. References π
7.1. Normative References π
- [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.
7.2. Informative References π§ββοΈ
- [RFC4838] Cerf, V., Burleigh, S., Hooke, A., Torgerson, L., Durst, R., Scott, K., Fall, K., and H. Weiss, "Delay-Tolerant Networking Architecture", RFC 4838, April 2007.
- [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.
Author's Address π
Marc Blanchet
Viagenie
2875 boul. Laurier, suite D2-630
Quebec, QC G1V 2M2
Canada
EMail: Marc.Blanchet@viagenie.ca
URI: http://viagenie.ca
and that's a wrap, bestie!! ππ β¨
π¦ where this page comes from
- ietf: rfc6255 2011-05
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms