Bundle Protocol Version 7
draft-ietf-dtn-bpbis-14
The information below is for an old version of the document.
Document | Type |
This is an older version of an Internet-Draft that was ultimately published as RFC 9171.
|
|
---|---|---|---|
Authors | Scott Burleigh , Kevin Fall , Edward J. Birrane | ||
Last updated | 2019-09-12 (Latest revision 2019-08-04) | ||
Replaces | draft-dtnwg-bp | ||
RFC stream | Internet Engineering Task Force (IETF) | ||
Formats | |||
Reviews |
GENART Telechat review
(of
-21)
by Stewart Bryant
Ready w/issues
|
||
Additional resources | Mailing list discussion | ||
Stream | WG state | Submitted to IESG for Publication | |
Document shepherd | Fred Templin | ||
Shepherd write-up | Show Last changed 2019-07-25 | ||
IESG | IESG state | Became RFC 9171 (Proposed Standard) | |
Consensus boilerplate | Unknown | ||
Telechat date | (None) | ||
Responsible AD | Magnus Westerlund | ||
Send notices to | "Fred Templin" <fred.l.templin@boeing.com> |
draft-ietf-dtn-bpbis-14
Internet-Draft Bundle Protocol Version 7 August 2019 [URIREG] Thaler, D., Hansen, T., and T. Hardie, "Guidelines and Registration Procedures for URI Schemes", RFC 7595, BCP 35, June 2015. 11.2. Informative References [ARCH] V. Cerf et al., "Delay-Tolerant Network Architecture", RFC 4838, April 2007. [BIBE] Burleigh, S., "Bundle-in-Bundle Encapsulation", Work In Progress, June 2017. [RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource Identifiers (IRIs)", RFC 3987, January 2005. [RFC5050] Scott, K. and S. Burleigh, "Bundle Protocol Specification", RFC 5050, November 2007. [RFC7143] Chadalapaka, M., Satran, J., Meth, K., and D. Black, "Internet Small Computer System Interface (iSCSI) Protocol (Consolidated)", RFC 7143, April 2014. [SIGC] Fall, K., "A Delay-Tolerant Network Architecture for Challenged Internets", SIGCOMM 2003. [UTC] Arias, E. and B. Guinot, "Coordinated universal time UTC: historical background and perspectives" in "Journees systemes de reference spatio-temporels", 2004. 12. Acknowledgments This work is freely adapted from RFC 5050, which was an effort of the Delay Tolerant Networking Research Group. The following DTNRG participants contributed significant technical material and/or inputs to that document: Dr. Vinton Cerf of Google, Scott Burleigh, Adrian Hooke, and Leigh Torgerson of the Jet Propulsion Laboratory, Michael Demmer of the University of California at Berkeley, Robert Durst, Keith Scott, and Susan Symington of The MITRE Corporation, Kevin Fall of Carnegie Mellon University, Stephen Farrell of Trinity College Dublin, Howard Weiss and Peter Lovell of SPARTA, Inc., and Manikantan Ramadas of Ohio University. This document was prepared using 2-Word-v2.0.template.dot. Burleigh Expires February 2020 [Page 51] Internet-Draft Bundle Protocol Version 7 August 2019 13. Significant Changes from RFC 5050 Points on which this draft significantly differs from RFC 5050 include the following: . Clarify the difference between transmission and forwarding. . Migrate custody transfer to the bundle-in-bundle encapsulation specification [BIBE]. . Introduce the concept of "node ID" as functionally distinct from endpoint ID, while having the same syntax. . Restructure primary block, making it immutable. Add optional CRC. . Add optional CRCs to non-primary blocks. . Add block ID number to canonical block format (to support BPSEC). . Add definition of bundle age extension block. . Add definition of previous node extension block. . Add definition of hop count extension block. . Remove Quality of Service markings. . Change from SDNVs to CBOR representation. Burleigh Expires February 2020 [Page 52] Internet-Draft Bundle Protocol Version 7 August 2019 Appendix A. For More Information Please refer comments to dtn@ietf.org. DTN Working Group documents are located at https://datatracker.ietf.org/wg/dtn/documents. The original Delay Tolerant Networking Research Group (DTNRG) Web site is located at https://irtf.org/concluded/dtnrg. Copyright (c) 2019 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info). Burleigh Expires February 2020 [Page 53] Internet-Draft Bundle Protocol Version 7 August 2019 Appendix B. CDDL expression For informational purposes, Carsten Bormann and Brian Sipos have kindly provided an expression of the Bundle Protocol specification in the Concise Data Definition Language (CDDL). That CDDL expression is presented below. Note that wherever the CDDL expression is in disagreement with the textual representation of the BP specification presented in the earlier sections of this document, the textual representation rules. start = bundle / #6.55799(bundle) ; Times before 2000 are invalid dtn-time = uint ; CRC enumerated type crc-type = &( crc-none: 0, crc-16bit: 1, crc-32bit: 2 ) ; Either 16-bit or 32-bit crc-value = (bstr .size 2) / (bstr .size 4) creation-timestamp = [ dtn-time, ; absolute time of creation sequence: uint ; sequence within the time ] eid = $eid .within eid-structure eid-structure = [ uri-code: uint, Burleigh Expires February 2020 [Page 54] Internet-Draft Bundle Protocol Version 7 August 2019 SSP: any ] $eid /= [ uri-code: 1, SSP: (tstr / 0) ] $eid /= [ uri-code: 2, SSP: [ nodenum: uint, servicenum: uint ] ] ; The root bundle array bundle = [primary-block, *extension-block, payload-block] primary-block = [ version: 7, bundle-control-flags, crc-type, destination: eid, source-node: eid, report-to: eid, creation-timestamp, lifetime: uint, Burleigh Expires February 2020 [Page 55] Internet-Draft Bundle Protocol Version 7 August 2019 ? ( fragment-offset: uint, total-application-data-length: uint ), ? crc-value, ] bundle-control-flags = uint .bits bundleflagbits bundleflagbits = &( reserved: 15, reserved: 14, reserved: 13, bundle-deletion-status-reports-are-requested: 12, bundle-delivery-status-reports-are-requested: 11, bundle-forwarding-status-reports-are-requested: 10, reserved: 9, bundle-reception-status-reports-are-requested: 8, bundle-contains-a-Manifest-block: 7, status-time-is-requested-in-all-status-reports: 6, user-application-acknowledgement-is-requested: 5, reserved: 4, reserved: 3, bundle-must-not-be-fragmented: 2, payload-is-an-administrative-record: 1, bundle-is-a-fragment: 0 Burleigh Expires February 2020 [Page 56] Internet-Draft Bundle Protocol Version 7 August 2019 ) ; Abstract shared structure of all non-primary blocks canonical-block-structure = [ block-type-code: uint, block-number: uint, block-control-flags, crc-type, ; Each block type defines the content within the bytestring block-type-specific-data, ? crc-value ] block-control-flags = uint .bits blockflagbits blockflagbits = &( reserved: 7, reserved: 6, reserved: 5, reserved: 4, bundle-must-be-deleted-if-block-cannot-be-processed: 3, status-report-must-be-transmitted-if-block-cannot-be-processed: 2, block-must-be-removed-from-bundle-if-it-cannot-be-processed: 1, block-must-be-replicated-in-every-fragment: 0 ) block-type-specific-data = bstr / #6.24(bstr) Burleigh Expires February 2020 [Page 57] Internet-Draft Bundle Protocol Version 7 August 2019 ; Actual CBOR data embedded in a bytestring, with optional tag to indicate so embedded-cbor<Item> = (bstr .cbor Item) / #6.24(bstr .cbor Item) ; Extension block type, which does not specialize other than the code/number extension-block = $extension-block-structure .within canonical- block-structure ; Generic shared structure of all non-primary blocks extension-block-use<CodeValue, BlockData> = [ block-type-code: CodeValue, block-number: (uint .gt 1), block-control-flags, crc-type, BlockData, ? crc-value ] ; Payload block type payload-block = payload-block-structure .within canonical-block- structure payload-block-structure = [ block-type-code: 1, block-number: 1, block-control-flags, crc-type, $payload-block-data, ? crc-value Burleigh Expires February 2020 [Page 58] Internet-Draft Bundle Protocol Version 7 August 2019 ] ; Arbitrary payload data, including non-CBOR bytestring $payload-block-data /= block-type-specific-data ; Administrative record as a payload data specialization $payload-block-data /= embedded-cbor<admin-record> admin-record = $admin-record .within admin-record-structure admin-record-structure = [ record-type-code: uint, record-content: any ] ; Only one defined record type $admin-record /= [1, status-record-content] status-record-content = [ bundle-status-information, status-report-reason-code: uint, source-node-eid: eid, subject-creation-timestamp: creation-timestamp, ? ( subject-payload-offset: uint, subject-payload-length: uint ) ] bundle-status-information = [ reporting-node-received-bundle: status-info-content, Burleigh Expires February 2020 [Page 59] Internet-Draft Bundle Protocol Version 7 August 2019 reporting-node-forwarded-bundle: status-info-content, reporting-node-delivered-bundle: status-info-content, reporting-node-deleted-bundle: status-info-content ] status-info-content = [ status-indicator: bool, ? timestamp: dtn-time ] ; Previous Node extension block $extension-block-structure /= extension-block-use<7, embedded-cbor<ext-data-previous-node>> ext-data-previous-node = eid ; Bundle Age extension block $extension-block-structure /= extension-block-use<8, embedded-cbor<ext-data-bundle-age>> ext-data-bundle-age = uint ; Hop Count extension block $extension-block-structure /= extension-block-use<9, embedded-cbor<ext-data-hop-count>> ext-data-hop-count = [ hop-limit: uint, hop-count: uint ] Burleigh Expires February 2020 [Page 60] Internet-Draft Bundle Protocol Version 7 August 2019 Authors' Addresses Scott Burleigh Jet Propulsion Laboratory, California Institute of Technology 4800 Oak Grove Dr. Pasadena, CA 91109-8099 US Phone: +1 818 393 3353 Email: Scott.C.Burleigh@jpl.nasa.gov Kevin Fall Roland Computing Services 3871 Piedmont Ave. Suite 8 Oakland, CA 94611 US Email: kfall+rcs@kfall.com Edward J. Birrane Johns Hopkins University Applied Physics Laboratory 11100 Johns Hopkins Rd Laurel, MD 20723 US Phone: +1 443 778 7423 Email: Edward.Birrane@jhuapl.edu Burleigh Expires February 2020 [Page 61]