draft-ietf-dtn-mtcpcl-00.txt   draft-ietf-dtn-mtcpcl-01.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
Intended status: Standards Track February 28, 2019 Intended status: Standards Track April 23, 2019
Expires: September 2019 Expires: September 2019
Minimal TCP Convergence-Layer Protocol Minimal TCP Convergence-Layer Protocol
draft-ietf-dtn-mtcpcl-00.txt draft-ietf-dtn-mtcpcl-01.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 31 skipping to change at page 1, line 31
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 September 1, 2019. This Internet-Draft will expire on October 25, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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 22 skipping to change at page 2, line 22
the MTCP convergence-layer protocol adapter utilize a standard TCP the MTCP convergence-layer protocol adapter utilize a standard TCP
connection for the purposes of bundle transmission. connection for the purposes of bundle transmission.
Table of Contents Table of Contents
1. Introduction...................................................2 1. Introduction...................................................2
2. Conventions used in this document..............................3 2. Conventions used in this document..............................3
3. MTCP Design Elements...........................................3 3. MTCP Design Elements...........................................3
3.1. MTCP Sessions.............................................3 3.1. MTCP Sessions.............................................3
3.2. MTCP Protocol Data Units..................................4 3.2. MTCP Protocol Data Units..................................4
4. MTCP Procedures................................................5 4. MTCP Procedures................................................4
4.1. MPDU Transmission.........................................5 4.1. MPDU Transmission.........................................4
4.2. Reception Session Formation...............................5 4.2. Reception Session Formation...............................5
4.3. MPDU Reception............................................5 4.3. MPDU Reception............................................5
5. Security Considerations........................................6 5. Security Considerations........................................5
6. IANA Considerations............................................6 6. IANA Considerations............................................6
7. References.....................................................7 7. References.....................................................6
7.1. Normative References......................................7 7.1. Normative References......................................6
7.2. Informative References....................................7 7.2. Informative References....................................7
8. Acknowledgments................................................7 8. Acknowledgments................................................7
Appendix A. For More Information..................................8 Appendix A. For More Information..................................8
1. Introduction 1. Introduction
This document describes the Minimal TCP (MTCP) protocol, a Delay- This document describes the Minimal TCP (MTCP) protocol, a Delay-
Tolerant Networking (DTN) Bundle Protocol (BP) [RFC5050] Tolerant Networking (DTN) Bundle Protocol (BP) [RFC5050]
"convergence layer" protocol that uses a standard TCP connection to "convergence layer" protocol that uses a standard TCP connection to
transmit bundles from one BP node to another node to which it is transmit bundles from one BP node to another node to which it is
skipping to change at page 3, line 44 skipping to change at page 3, line 44
issued by some MCLA, termed the session's "receiver". That portion issued by some MCLA, termed the session's "receiver". That portion
of the state of a session that is exposed to the session's sender is of the state of a session that is exposed to the session's sender is
termed the "transmission element" of the session. That portion of termed the "transmission element" of the session. That portion of
the state of a session that is exposed to the session's receiver is the state of a session that is exposed to the session's receiver is
termed the "reception element" of the session. termed the "reception element" of the session.
The values of the parameters constraining MTCP's TCP connection The values of the parameters constraining MTCP's TCP connection
establishment, including the establishment of Transport Layer establishment, including the establishment of Transport Layer
Security (TLS; [RFC8446]) sessions within the connections, SHALL be Security (TLS; [RFC8446]) sessions within the connections, SHALL be
provided by management, by means that are beyond the scope of this provided by management, by means that are beyond the scope of this
specification. specification. No TCP port number will be reserved for MTCP
connection purposes.
The use of TLS to secure MTCP sessions is optional but is strongly The use of TLS to secure MTCP sessions is optional but is strongly
recommended. When it is determined, by management, that an MTCP recommended. When it is determined, by management, that an MTCP
session between a given sender and receiver is to be secured by TLS: session between a given sender and receiver is to be secured by TLS:
. Following establishment of the session's TCP connection, the . Following establishment of the session's TCP connection, the
sender and receiver SHALL undertake a TLS handshake in sender and receiver SHALL undertake a TLS handshake in
accordance with [RFC8446] with the sender acting in the role of accordance with [RFC8446] with the sender acting in the role of
"client". The parameter settings governing each such handshake "client". The parameter settings governing each such handshake
(again, determined by management) are an implementation matter, (again, determined by management) are an implementation matter,
but the handshake SHOULD conform to all recommended best but the handshake SHOULD conform to all recommended best
practices of [RFC7525] and its updates and successors. practices of [RFC7525] and its updates and successors.
. If the handshake does not result in successful establishment of . If the handshake does not result in successful establishment of
a TLS session, then the session's TCP connection SHALL be a TLS session, then the session's TCP connection SHALL be
terminated and the attempt to form an MTCP session shall be terminated and the attempt to form an MTCP session SHALL be
abandoned. abandoned.
MTCP sessions are unidirectional; that is, bundles transmitted via MTCP sessions are unidirectional; that is, bundles transmitted via
an MTCP session are transmitted only from the session's sender to an MTCP session are transmitted only from the session's sender to
its receiver. When bidirectional exchange of bundles between MCLAs its receiver. When bidirectional exchange of bundles between MCLAs
via MTCP is required, two MTCP sessions are formed, one in each via MTCP is required, two MTCP sessions are formed, one in each
direction. direction.
Closure of either element of a session MAY occur either upon request Closure of either element of a session MAY occur either upon request
of the bundle protocol agent or upon detection of any error. of the bundle protocol agent or upon detection of any error.
Closure of either element of an MTCP session SHALL cause the Closure of either element of an MTCP session SHALL cause the
corresponding TCP connection to be terminated (unless termination of corresponding TCP connection to be terminated (unless termination of
that connection was in fact the cause of the closure of that session that connection was in fact the cause of the closure of that session
element). Since termination of the associated TCP connection will element). Since termination of the associated TCP connection will
result in errors at the other element of the session, termination of result in errors at the other element of the session, termination of
either element of the session will effectively terminate the either element of the session will effectively terminate the
session. session.
3.2. MTCP Protocol Data Units 3.2. MTCP Protocol Data Units
An MTCP protocol data unit (MPDU) is simply a serialized bundle An MTCP protocol data unit (MPDU) is simply a serialized bundle in a
preceded by an integer indicating the length of that serialized CBOR representation that indicates the length of that serialized
bundle. An MPDU is constructed as follows. bundle. An MPDU is constructed as follows.
Each MPDU SHALL be represented as a CBOR array. The number of items Each MPDU SHALL be a single serialized BP bundle, termed the
in the array SHALL be 2. "encapsulated bundle", represented as a CBOR byte string of definite
length (NOT an indefinite-length byte string).
The first item of the MPDU array SHALL be the length of the
serialized bundle that is encapsulated in the MPDU, represented as a
CBOR unsigned integer.
The second item of the MPDU array SHALL be a single serialized BP
bundle, termed the "encapsulated bundle", represented as a CBOR byte
string of definite length (NOT an indefinite-length byte string).
4. MTCP Procedures 4. MTCP Procedures
4.1. MPDU Transmission 4.1. MPDU Transmission
When an MCLA is requested by the bundle protocol agent to send a When an MCLA is requested by the bundle protocol agent to send a
bundle to a peer MCLA identified by some IP address and port number: bundle to a peer MCLA identified by some IP address and port number:
. If no MTCP session enabling transmission to that MCLA has been . If no MTCP session enabling transmission to that MCLA has been
formed, the MCLA SHALL attempt to form that session. If this formed, the MCLA SHALL attempt to form that session. If this
skipping to change at page 5, line 48 skipping to change at page 5, line 38
passive OPEN with an active TCP OPEN issued by some MCLA, an MTCP passive OPEN with an active TCP OPEN issued by some MCLA, an MTCP
session is formed as noted earlier; MPDUs may be received via the session is formed as noted earlier; MPDUs may be received via the
reception element of such session. reception element of such session.
4.3. MPDU Reception 4.3. MPDU Reception
From the moment at which an MTCP session reception element is first From the moment at which an MTCP session reception element is first
exposed to the moment at which it is closed, in a continuous cycle, exposed to the moment at which it is closed, in a continuous cycle,
the corresponding session's receiver SHALL: the corresponding session's receiver SHALL:
. Attempt to receive, by TCP via the corresponding session, the
length of the next bundle sent via this session. If this
attempt fails for any reason, the reception element SHALL be
closed and no further steps of this procedure will be
attempted.
. Attempt to receive, by TCP via the corresponding session, a . Attempt to receive, by TCP via the corresponding session, a
serialized bundle of the indicated length. If this attempt serialized BP bundle represented as a CBOR byte string of
fails for any reason, the reception element SHALL be closed and definite length. If this attempt fails for any reason, the
no further steps of this procedure will be attempted. reception element SHALL be closed and no further steps of this
procedure will be attempted.
. Deliver the received serialized bundle to the bundle protocol . Deliver the received serialized bundle to the bundle protocol
agent. agent.
5. Security Considerations 5. Security Considerations
Because MTCP constitutes a nearly negligible extension of TCP, it Because MTCP constitutes a nearly negligible extension of TCP, it
introduces virtually no security considerations beyond the well- introduces virtually no security considerations beyond the well-
known TCP security considerations. To address these considerations, known TCP security considerations. To address these considerations,
the use of TLS to secure MTCP sessions is strongly recommended. the use of TLS to secure MTCP sessions is strongly recommended.
skipping to change at page 7, line 9 skipping to change at page 6, line 36
this possibility. this possibility.
6. IANA Considerations 6. IANA Considerations
No new IANA considerations apply. No new IANA considerations apply.
7. References 7. References
7.1. Normative References 7.1. Normative References
[RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, "Recommendations [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre,
for Secure Use of Transport Layer Security (TLS) and Datagram "Recommendations for Secure Use of Transport Layer Security (TLS)
Transport Layer Security (DTLS)", BCP 195, RFC 7525, May 2015. and Datagram Transport Layer Security (DTLS)", BCP 195, RFC 7525,
May 2015.
[RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC
793, DOI 10.17487/RFC0793, September 1981. 793, DOI 10.17487/RFC0793, September 1981.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, August 2018. Version 1.3", RFC 8446, August 2018.
 End of changes. 13 change blocks. 
33 lines changed or deleted 24 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/