CLUE Working Group C. Holmberg Internet-Draft Ericsson Intended status: Standards Track February 12, 2014 Expires: August 16, 2014 CLUE Protocol Data Channel draft-holmberg-clue-datachannel-03 Abstract This document specifies how to use the Stream Control Transmission Protocol (SCTP) on top of the Datagram Transport Layer Security (DTLS) protocol (SCTPoDTLS) for transporting CLUE protocol messages between CLUE entities. The document describes the SCTP considerations for CLUE, and the SDP Offer/Answer procedures for negotiating a SCTPoDTLS connection for CLUE. Details and procedures associated with the CLUE protocol are outside the scope of this document. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on August 16, 2014. Copyright Notice Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of Holmberg Expires August 16, 2014 [Page 1] Internet-Draft CLUE Protocol Data Channel February 2014 publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Usage of SCTPoDTLS in the CLUE Context . . . . . . . . . . . 3 3.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2. CLUE Data Channel Definition . . . . . . . . . . . . . . 3 3.3. RTCWEB Data Channel Protocol Usage . . . . . . . . . . . 4 3.4. SCTP Considerations . . . . . . . . . . . . . . . . . . . 4 3.4.1. SCTP Payload Protocol Identifier (PPID) . . . . . . . 4 3.4.2. Reliability . . . . . . . . . . . . . . . . . . . . . 4 3.4.3. Order . . . . . . . . . . . . . . . . . . . . . . . . 5 3.4.4. Stream Reset . . . . . . . . . . . . . . . . . . . . 5 3.4.5. Interleaving . . . . . . . . . . . . . . . . . . . . 5 3.4.6. SCTP Multihoming . . . . . . . . . . . . . . . . . . 5 4. SDP Offer/Answer Procedures . . . . . . . . . . . . . . . . . 5 4.1. SDP-based WebRTC Data Channel Negotiation Usage . . . . . 5 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 6 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 9.1. Normative References . . . . . . . . . . . . . . . . . . 6 9.2. Informative References . . . . . . . . . . . . . . . . . 7 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction This document specifies how to use the Stream Control Transmission Protocol (SCTP) on top of the Datagram Transport Layer Security (DTLS) protocol (SCTPoDTLS) for transporting CLUE protocol messages between CLUE entities. The document describes the SCTP considerations for CLUE, and the SDP Offer/Answer procedures for negotiating a SCTPoDTLS connection for CLUE. Details and procedures associated with the CLUE protocol are outside the scope of this document. Holmberg Expires August 16, 2014 [Page 2] Internet-Draft CLUE Protocol Data Channel February 2014 2. Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC 2119 [RFC2119]. CLUE data channel refers to the SCTPoDTLS association that is used between two CLUE entities in order to transport CLUE messages. CLUE message refers to a CLUE protocol message that is sent over the CLUE data channel. CLUE entity refers to a SIP User Agent (UA) device that supports the CLUE mechanism (including the CLUE protocol). [RFC4960] defines a SCTP stream as a unidirectional logical channel established from one to another associated SCTP endpoint, within which all user messages are delivered in sequence except for those submitted to the unordered delivery service. [RFC4960] defines a SCTP identifier as a unsigned integer, which identifies an SCTP stream. 3. Usage of SCTPoDTLS in the CLUE Context 3.1. General This section defines the CLUE data channel, and describes the SCTP features and extensions used to realize it. The CLUE data channel realization, and set of SCTP features, are based on the the RTCWEB data channel defined in [I-D.ietf-rtcweb-data-channel]. This will allow CLUE entities to be interoperable with entities implementing [I-D.ietf-rtcweb-data-channel]. 3.2. CLUE Data Channel Definition The CLUE data channel is realized by using the Stream Control Transmission Protocol (SCTP) on top of the Datagram Transport Layer Security (DTLS) protocol [I-D.ietf-tsvwg-sctp-dtls-encaps]. The realization of a bidirectional CLUE Data Channel is a pair of one incoming SCTP stream and one outgoing SCTP stream. These streams are then used to transport CLUE messages in both directions. The SCTP streams MUST belong to the same SCTP association. Holmberg Expires August 16, 2014 [Page 3] Internet-Draft CLUE Protocol Data Channel February 2014 Within a given CLUE session, CLUE entities MUST use a single CLUE data channel for all CLUE messages associated with the CLUE session. The SCTP streams MUST have identical SCTP stream identifier values, unless a specific value is already used for some other purpose. OPEN ISSUE #1: The requirement to use identical STCP stream identifier values might be modified depending on what mechanism will be used to negotiate the identifier values. 3.3. RTCWEB Data Channel Protocol Usage OPEN ISSUE #2: It is FFS whether the RTCWEB Data Channel Protocol [I-D.ietf-rtcweb-data-protocol] will be used with the CLUE data channel. NOTE: If [I-D.ietf-rtcweb-data-protocol] will be used with the CLUE data channel, a new associated 'protocol' value needs to be registered with IANA in the 'Protocol Registry' defined by [I-D.ietf-rtcweb-data-protocol]. 3.4. SCTP Considerations 3.4.1. SCTP Payload Protocol Identifier (PPID) CLUE entities MUST use the PPID value 51 when sending CLUE messages, according to the procedures in [I-D.ietf-rtcweb-data-channel]. NOTE: As described in [I-D.ietf-rtcweb-data-channel], the PPID value 51 indicates that the SCTP message contains data encoded in a UTF-8 format. The PPID value 51 does not indicate what protocol the SCTP message contains. NOTE: If the RTCWEB Data Channel Protocol [I-D.ietf-rtcweb-data-protocol] will be used for the CLUE data channel, the PPID value 50 will be used for Data Channel Protocol messages. 3.4.2. Reliability The usage of SCTP for the data channel ensures reliable transport of CLUE messages. NOTE: [I-D.ietf-rtcweb-data-channel] requires the support of the partial reliability extension defined in [RFC3758]. This is not needed for CLUE, as messages are required to always be sent reliably. [I-D.ietf-rtcweb-data-channel] also mandates support of the limited retransmission policy defined in [I-D.tuexen-tsvwg-sctp-prpolicies]. Holmberg Expires August 16, 2014 [Page 4] Internet-Draft CLUE Protocol Data Channel February 2014 3.4.3. Order CLUE entities MUST use the ordered delivery SCTP service, as described in section 6.6 of [RFC2960]. 3.4.4. Stream Reset CLUE entities MUST support the stream reset extension defined in [RFC6525] The dynamic address reconfiguration extension defined in [RFC5061] MUST be used to signal the support of the stream reset extension defined in [RFC6525]. Other features of [RFC5061] MUST NOT be used. 3.4.5. Interleaving CLUE entities MUST support the message interleaving mechanism defined in [I-D.stewart-tsvwg-sctp-ndata]. 3.4.6. SCTP Multihoming CLUE entities MUST NOT use SCTP multihoming. NOTE: The SCTPoDTLS mechanism does not support SCTP multihoming. 4. SDP Offer/Answer Procedures 4.1. SDP-based WebRTC Data Channel Negotiation Usage OPEN ISSUE #3: It is FFS whether the SDP-based WebRTC Data Channel Negotiation mechanism [I-D.ejzak-dispatch-webrtc-data-channel-sdpneg] will be used with the CLUE data channel. NOTE: If [I-D.ejzak-dispatch-webrtc-data-channel-sdpneg] will be used with the CLUE data channel, a new associated 'sub-protocol' value needs to be registered with IANA. 5. Security Considerations TBD 6. IANA Considerations [RFC EDITOR NOTE: Please replace RFC-XXXX with the RFC number of this document.] Holmberg Expires August 16, 2014 [Page 5] Internet-Draft CLUE Protocol Data Channel February 2014 7. Acknowledgments Thanks to Paul Kyzivat and Christian Groves for comments on the document. 8. Change Log [RFC EDITOR NOTE: Please remove this section when publishing] Changes from draft-holmberg-clue-datachannel-02 o PPID value for CLUE messages added o References updated Changes from draft-holmberg-clue-datachannel-01 o More text added Changes from draft-holmberg-clue-datachannel-00 o Editorial corrections based on comments from Paul K 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2960] Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer, H., Taylor, T., Rytina, I., Kalla, M., Zhang, L., and V. Paxson, "Stream Control Transmission Protocol", RFC 2960, October 2000. [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002. [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with Session Description Protocol (SDP)", RFC 3264, June 2002. [RFC4960] Stewart, R., "Stream Control Transmission Protocol", RFC 4960, September 2007. Holmberg Expires August 16, 2014 [Page 6] Internet-Draft CLUE Protocol Data Channel February 2014 [RFC5061] Stewart, R., Xie, Q., Tuexen, M., Maruyama, S., and M. Kozuka, "Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration", RFC 5061, September 2007. [RFC6525] Stewart, R., Tuexen, M., and P. Lei, "Stream Control Transmission Protocol (SCTP) Stream Reconfiguration", RFC 6525, February 2012. [I-D.ietf-tsvwg-sctp-dtls-encaps] Tuexen, M., Stewart, R., Jesup, R., and S. Loreto, "DTLS Encapsulation of SCTP Packets", draft-ietf-tsvwg-sctp- dtls-encaps-02.txt (work in progress), October 2013. [I-D.ietf-rtcweb-data-channel] Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data Channels", draft-ietf-rtcweb-data-channel-07.txt (work in progress), February 2014. [I-D.ietf-rtcweb-data-protocol] Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data Channel Establishment Protocol", draft-ietf-rtcweb-data- protocol-03.txt (work in progress), February 2014. [I-D.ejzak-dispatch-webrtc-data-channel-sdpneg] Ejzak, R. and J. Marcon, "SDP-based WebRTC data channel negotiation", draft-ejzak-dispatch-webrtc-data-channel- sdpneg-00.txt (work in progress), October 2013. [I-D.stewart-tsvwg-sctp-ndata] Stewart, R., Tuexen, M., Loreto, S., and R. Seggelmann, "A New Data Chunk for Stream Control Transmission Protocol", draft-stewart-tsvwg-sctp-ndata-03.txt (work in progress), October 2013. [I-D.tuexen-tsvwg-sctp-prpolicies] Tuexen, M., Seggelmann, R., Stewart, R., and S. Loreto, "Additional Policies for the Partial Delivery Extension of the Stream Control Transmission Protocol", draft-tuexen- tsvwg-sctp-prpolicies-03.txt (work in progress), October 2013. 9.2. Informative References [RFC3758] Stewart, R., Ramalho, M., Xie, Q., Tuexen, M., and P. Conrad, "Stream Control Transmission Protocol (SCTP) Partial Reliability Extension", RFC 3758, May 2004. Holmberg Expires August 16, 2014 [Page 7] Internet-Draft CLUE Protocol Data Channel February 2014 Author's Address Christer Holmberg Ericsson Hirsalantie 11 Jorvas 02420 Finland Email: christer.holmberg@ericsson.com Holmberg Expires August 16, 2014 [Page 8]