< draft-ietf-dtn-bpbis-19.txt   draft-ietf-dtn-bpbis-20.txt >
Delay-Tolerant Networking Working Group S. Burleigh Delay-Tolerant Networking Working Group S. Burleigh
Internet Draft JPL, Calif. Inst. Of Technology Internet Draft JPL, Calif. Inst. Of Technology
Obsoletes: 5050 (if approved) K. Fall Intended status: Standards Track K. Fall
Intended status: Standards Track Roland Computing Services Expires: July 26, 2020 Roland Computing Services
Expires: July 19, 2020 E. Birrane E. Birrane
APL, Johns Hopkins University APL, Johns Hopkins University
January 16, 2020 January 23, 2020
Bundle Protocol Version 7 Bundle Protocol Version 7
draft-ietf-dtn-bpbis-19.txt draft-ietf-dtn-bpbis-20.txt
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 34 skipping to change at page 1, line 34
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress." reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
This Internet-Draft will expire on July 19, 2020. This Internet-Draft will expire on July 26, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 14 skipping to change at page 2, line 14
Section 4.e of the Trust Legal Provisions and are provided without Section 4.e of the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License. warranty as described in the Simplified BSD License.
Abstract Abstract
This Internet Draft presents a specification for Bundle Protocol, This Internet Draft presents a specification for Bundle Protocol,
adapted from the experimental Bundle Protocol specification adapted from the experimental Bundle Protocol specification
developed by the Delay-Tolerant Networking Research group of the developed by the Delay-Tolerant Networking Research group of the
Internet Research Task Force and documented in RFC 5050. Internet Research Task Force and documented in RFC 5050.
This document is an update of the protocol described in RFC 5050,
reflecting lessons learned. For this reason it obsoletes RFC 5050,
an IRTF-stream document.
Note to the RFC editor: The Internet Research Task Force is
requested to mark RFC 5050 as obsolete.
Table of Contents Table of Contents
1. Introduction...................................................3 1. Introduction...................................................3
2. Conventions used in this document..............................5 2. Conventions used in this document..............................5
3. Service Description............................................6 3. Service Description............................................5
3.1. Definitions...............................................6 3.1. Definitions...............................................5
3.2. Discussion of BP concepts.................................9 3.2. Discussion of BP concepts.................................9
3.3. Services Offered by Bundle Protocol Agents...............12 3.3. Services Offered by Bundle Protocol Agents...............12
4. Bundle Format.................................................13 4. Bundle Format.................................................12
4.1. BP Fundamental Data Structures...........................13 4.1. BP Fundamental Data Structures...........................13
4.1.1. CRC Type............................................13 4.1.1. CRC Type............................................13
4.1.2. CRC.................................................14 4.1.2. CRC.................................................13
4.1.3. Bundle Processing Control Flags.....................14 4.1.3. Bundle Processing Control Flags.....................14
4.1.4. Block Processing Control Flags......................16 4.1.4. Block Processing Control Flags......................15
4.1.5. Identifiers.........................................17 4.1.5. Identifiers.........................................16
4.1.5.1. Endpoint ID....................................17 4.1.5.1. Endpoint ID....................................16
4.1.5.2. Node ID........................................18 4.1.5.2. Node ID........................................17
4.1.6. DTN Time............................................18 4.1.6. DTN Time............................................18
4.1.7. Creation Timestamp..................................18 4.1.7. Creation Timestamp..................................18
4.1.8. Block-type-specific Data............................19 4.1.8. Block-type-specific Data............................18
4.2. Bundle Representation....................................19 4.2. Bundle Representation....................................18
4.2.1. Bundle..............................................19 4.2.1. Bundle..............................................19
4.2.2. Primary Bundle Block................................19 4.2.2. Primary Bundle Block................................19
4.2.3. Canonical Bundle Block Format.......................22 4.2.3. Canonical Bundle Block Format.......................21
4.3. Extension Blocks.........................................22 4.3. Extension Blocks.........................................22
4.3.1. Previous Node.......................................23 4.3.1. Previous Node.......................................22
4.3.2. Bundle Age..........................................23 4.3.2. Bundle Age..........................................23
4.3.3. Hop Count...........................................23 4.3.3. Hop Count...........................................23
5. Bundle Processing.............................................24 5. Bundle Processing.............................................24
5.1. Generation of Administrative Records.....................24 5.1. Generation of Administrative Records.....................24
5.2. Bundle Transmission......................................25 5.2. Bundle Transmission......................................25
5.3. Bundle Dispatching.......................................25 5.3. Bundle Dispatching.......................................25
5.4. Bundle Forwarding........................................26 5.4. Bundle Forwarding........................................25
5.4.1. Forwarding Contraindicated..........................28 5.4.1. Forwarding Contraindicated..........................27
5.4.2. Forwarding Failed...................................28 5.4.2. Forwarding Failed...................................28
5.5. Bundle Expiration........................................28 5.5. Bundle Expiration........................................28
5.6. Bundle Reception.........................................29 5.6. Bundle Reception.........................................28
5.7. Local Bundle Delivery....................................30 5.7. Local Bundle Delivery....................................29
5.8. Bundle Fragmentation.....................................31 5.8. Bundle Fragmentation.....................................30
5.9. Application Data Unit Reassembly.........................32 5.9. Application Data Unit Reassembly.........................32
5.10. Bundle Deletion.........................................32 5.10. Bundle Deletion.........................................32
5.11. Discarding a Bundle.....................................33 5.11. Discarding a Bundle.....................................32
5.12. Canceling a Transmission................................33 5.12. Canceling a Transmission................................32
6. Administrative Record Processing..............................33 6. Administrative Record Processing..............................33
6.1. Administrative Records...................................33 6.1. Administrative Records...................................33
6.1.1. Bundle Status Reports...............................34 6.1.1. Bundle Status Reports...............................34
6.2. Generation of Administrative Records.....................37 6.2. Generation of Administrative Records.....................36
7. Services Required of the Convergence Layer....................37 7. Services Required of the Convergence Layer....................37
7.1. The Convergence Layer....................................37 7.1. The Convergence Layer....................................37
7.2. Summary of Convergence Layer Services....................37 7.2. Summary of Convergence Layer Services....................37
8. Implementation Status.........................................38 8. Implementation Status.........................................37
9. Security Considerations.......................................39 9. Security Considerations.......................................39
10. IANA Considerations..........................................40 10. IANA Considerations..........................................40
10.1. Bundle Block Types......................................40 10.1. Bundle Block Types......................................40
10.2. Primary Bundle Protocol Version.........................41 10.2. Primary Bundle Protocol Version.........................41
10.3. Bundle Processing Control Flags.........................42 10.3. Bundle Processing Control Flags.........................41
10.4. Block Processing Control Flags..........................44 10.4. Block Processing Control Flags..........................44
10.5. Bundle Status Report Reason Codes.......................45 10.5. Bundle Status Report Reason Codes.......................45
10.6. Bundle Protocol URI scheme types........................47 10.6. Bundle Protocol URI scheme types........................46
10.7. URI scheme "dtn"........................................48 10.7. URI scheme "dtn"........................................47
10.8. Change status of URI scheme "ipn".......................50 10.8. URI scheme "ipn"........................................49
11. References...................................................50 11. References...................................................51
11.1. Normative References....................................50 11.1. Normative References....................................51
11.2. Informative References..................................50 11.2. Informative References..................................52
12. Acknowledgments..............................................51 12. Acknowledgments..............................................53
13. Significant Changes from RFC 5050............................52 13. Significant Changes from RFC 5050............................53
Appendix A. For More Information.................................53 Appendix A. For More Information.................................55
Appendix B. CDDL expression......................................54 Appendix B. CDDL expression......................................56
1. Introduction 1. Introduction
Since the publication of the Bundle Protocol Specification Since the publication of the Bundle Protocol Specification
(Experimental RFC 5050) in 2007, the Delay-Tolerant Networking (DTN) (Experimental RFC 5050) in 2007, the Delay-Tolerant Networking (DTN)
Bundle Protocol has been implemented in multiple programming Bundle Protocol has been implemented in multiple programming
languages and deployed to a wide variety of computing platforms. languages and deployed to a wide variety of computing platforms.
This implementation and deployment experience has identified This implementation and deployment experience has identified
opportunities for making the protocol simpler, more capable, and opportunities for making the protocol simpler, more capable, and
easier to use. The present document, standardizing the Bundle easier to use. The present document, standardizing the Bundle
Protocol (BP), is adapted from RFC 5050 in that context, reflecting Protocol (BP), is adapted from RFC 5050 in that context, reflecting
lessons learned. For this reason it obsoletes RFC 5050, an IRTF- lessons learned. Significant changes from the Bundle Protocol
stream document. specification defined in RFC 5050 are listed in section 13.
Note to the RFC editor: The Internet Research Task Force is
requested to mark RFC 5050 as obsolete.
Significant changes from the Bundle Protocol specification defined
in RFC 5050 are listed in section 13.
This document describes version 7 of BP. This document describes version 7 of BP.
Delay Tolerant Networking is a network architecture providing Delay Tolerant Networking is a network architecture providing
communications in and/or through highly stressed environments. communications in and/or through highly stressed environments.
Stressed networking environments include those with intermittent Stressed networking environments include those with intermittent
connectivity, large and/or variable delays, and high bit error connectivity, large and/or variable delays, and high bit error
rates. To provide its services, BP may be viewed as sitting at the rates. To provide its services, BP may be viewed as sitting at the
application layer of some number of constituent networks, forming a application layer of some number of constituent networks, forming a
store-carry-forward overlay network. Key capabilities of BP store-carry-forward overlay network. Key capabilities of BP
skipping to change at page 48, line 29 skipping to change at page 48, line 18
dtn-uri = "dtn:" dtn-hier-part dtn-uri = "dtn:" dtn-hier-part
dtn-hier-part = "//" node-name name-delim demux ; a path-rootless dtn-hier-part = "//" node-name name-delim demux ; a path-rootless
node-name = 1*VCHAR node-name = 1*VCHAR
name-delim = "/" name-delim = "/"
demux = *VCHAR demux = *VCHAR
None of the reserved characters defined in the generic URI syntax
are used as delimiters within URIs of the DTN scheme.
URI scheme semantics: URIs of the DTN scheme are used as endpoint URI scheme semantics: URIs of the DTN scheme are used as endpoint
identifiers in the Delay-Tolerant Networking (DTN) Bundle Protocol identifiers in the Delay-Tolerant Networking (DTN) Bundle Protocol
(BP) as described in Section 4.1.5.1. (BP) as described in the present document.
Encoding considerations: URIs of the DTN scheme are encoded Encoding considerations: URIs of the DTN scheme are encoded
exclusively in US-ASCII characters. exclusively in US-ASCII characters.
Applications and/or protocols that use this URI scheme name: the Applications and/or protocols that use this URI scheme name: the
Delay-Tolerant Networking (DTN) Bundle Protocol (BP). Delay-Tolerant Networking (DTN) Bundle Protocol (BP).
Interoperability considerations: as noted above, URIs of the DTN Interoperability considerations: as noted above, URIs of the DTN
scheme are encoded exclusively in US-ASCII characters. scheme are encoded exclusively in US-ASCII characters.
skipping to change at page 50, line 4 skipping to change at page 49, line 35
scott.c.burleigh@jpl.nasa.gov scott.c.burleigh@jpl.nasa.gov
+1 (800) 393-3353 +1 (800) 393-3353
Author/Change controller: Author/Change controller:
Scott Burleigh Scott Burleigh
Jet Propulsion Laboratory, Jet Propulsion Laboratory,
California Institute of Technology California Institute of Technology
scott.c.burleigh@jpl.nasa.gov scott.c.burleigh@jpl.nasa.gov
10.8. Change status of URI scheme "ipn" 10.8. URI scheme "ipn"
IANA is requested to change to "permanent" the status of the URI IANA is requested to update the registration of the URI scheme with
scheme named "ipn". the string "ipn" as the scheme name, originally documented in RFC
6260 [RFC6260], as follows.
URI scheme name: "ipn"
Status: permanent
URI scheme syntax:
This specification uses the Augmented Backus-Naur Form (ABNF)
notation of [RFC5234], including the core ABNF syntax rule for DIGIT
defined by that specification.
ipn-uri = "ipn:" ipn-hier-part
ipn-hier-part = node-nbr nbr-delim service-nbr ; a path-rootless
node-nbr = 1*DIGIT
nbr-delim = "."
service-nbr = 1*DIGIT
URI scheme semantics: URIs of the IPN scheme are used as endpoint
identifiers in the Delay-Tolerant Networking (DTN) Bundle Protocol
(BP) as described in the present document.
Encoding considerations: URIs of the IPN scheme are encoded
exclusively in US-ASCII characters.
Applications and/or protocols that use this URI scheme name: the
Delay-Tolerant Networking (DTN) Bundle Protocol (BP).
Interoperability considerations: as noted above, URIs of the IPN
scheme are encoded exclusively in US-ASCII characters.
Security considerations:
. Reliability and consistency: none of the BP endpoints
identified by the URIs of the IPN scheme are guaranteed to be
reachable at any time, and the identity of the processing
entities operating on those endpoints is never guaranteed by
the Bundle Protocol itself. Bundle authentication as defined by
the Bundle Security Protocol [BPSEC] is required for this
purpose.
. Malicious construction: malicious construction of a conformant
IPN-scheme URI is limited to the malicious selection of node
numbers and the malicious selection of service numbers. That
is, a maliciously constructed IPN-scheme URI could be used to
direct a bundle to an endpoint that might be damaged by the
arrival of that bundle or, alternatively, to declare a false
source for a bundle and thereby cause incorrect processing at a
node that receives the bundle. In both cases (and indeed in
all bundle processing), the node that receives a bundle should
verify its authenticity and validity before operating on it in
any way.
. Back-end transcoding: the limited expressiveness of URIs of the
IPN scheme effectively eliminates the possibility of threat due
to errors in back-end transcoding.
. Rare IP address formats: not relevant, as IP addresses do not
appear anywhere in conformant IPN-scheme URIs.
. Sensitive information: because IPN-scheme URIs are used only to
represent the identities of Bundle Protocol endpoints, the risk
of disclosure of sensitive information due to interception of
these URIs is minimal. Examination of IPN-scheme URIs could be
used to support traffic analysis; where traffic analysis is a
plausible danger, bundles should be conveyed by secure
convergence-layer protocols that do not expose endpoint IDs.
. Semantic attacks: the simplicity of IPN-scheme URI syntax
minimizes the possibility of misinterpretation of a URI by a
human user.
Contact:
Scott Burleigh
Jet Propulsion Laboratory,
California Institute of Technology
scott.c.burleigh@jpl.nasa.gov
+1 (800) 393-3353
Author/Change controller:
Scott Burleigh
Jet Propulsion Laboratory,
California Institute of Technology
scott.c.burleigh@jpl.nasa.gov
11. References 11. References
11.1. Normative References 11.1. Normative References
[BPSEC] Birrane, E., "Bundle Security Protocol Specification", Work [BPSEC] Birrane, E., "Bundle Security Protocol Specification", Work
In Progress, October 2015. In Progress, October 2015.
[CRC16] ITU-T Recommendation X.25, p. 9, section 2.2.7.4, [CRC16] ITU-T Recommendation X.25, p. 9, section 2.2.7.4,
International Telecommunications Union, October 1996. International Telecommunications Union, October 1996.
 End of changes. 25 change blocks. 
60 lines changed or deleted 138 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/