Network Working Group                                      H. Alvestrand
Internet-Draft                                                    Google
Intended status: Standards Track                         August 18, 2013
Expires: February 19, 2014


                         Transports for RTCWEB
                    draft-ietf-rtcweb-transports-00

Abstract

   This document describes the data transport protocols used by RTCWEB,
   including the protocols used for interaction with intermediate boxes
   such as firewalls, relays and NAT boxes.

Requirements Language

   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 RFC 2119 [RFC2119].

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 February 19, 2014.

Copyright Notice

   Copyright (c) 2013 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
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect



Alvestrand              Expires February 19, 2014               [Page 1]


Internet-Draft              WebRTC Transports                August 2013


   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  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Transport and Middlebox specification . . . . . . . . . . . . . 3
     2.1.  System-provided interfaces  . . . . . . . . . . . . . . . . 3
     2.2.  Middle box related functions  . . . . . . . . . . . . . . . 3
     2.3.  Transport protocols implemented . . . . . . . . . . . . . . 4
   3.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4
   4.  Security Considerations . . . . . . . . . . . . . . . . . . . . 4
   5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 5
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 5
     6.1.  Normative References  . . . . . . . . . . . . . . . . . . . 5
     6.2.  Informative References  . . . . . . . . . . . . . . . . . . 6
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 6































Alvestrand              Expires February 19, 2014               [Page 2]


Internet-Draft              WebRTC Transports                August 2013


1.  Introduction

   The IETF RTCWEB effort, part of the WebRTC effort carried out in
   cooperation between the IETF and the W3C, is aimed at specifying a
   protocol suite that is useful for real time multimedia exchange
   between browsers.

   The overall effort is described in the RTCWEB overview document,
   [I-D.ietf-rtcweb-overview].  This document focuses on the data
   transport protocos that are used by conforming implementations.

   This protocol suite is designed for WebRTC, and intends to satisfy
   the security considerations described in the WebRTC security
   documents, [I-D.ietf-rtcweb-security] and
   [I-D.ietf-rtcweb-security-arch].


2.  Transport and Middlebox specification

2.1.  System-provided interfaces

   The protocol specifications used here assume that the following
   protocols are available to the implementations of the RTCWEB
   protocols:

   o  UDP.  This is the protocol assumed by most protocol elements
      described.

   o  TCP.  This is used for HTTP/WebSockets, as well as for TURN/SSL
      and ICE-TCP.

   For both protocols, this specification assumes the ability to set the
   DSCP code point of the sockets opened.  It does not assume that the
   DSCP codepoints will be honored, and does assume that they may be
   zeroed or changed, since this is a local configuration issue.

   This specification does not assume that the implementation will have
   access to ICMP or raw IP.

2.2.  Middle box related functions

   The primary mechanism to deal with middle boxes is ICE, which is an
   appropriate way to deal with NAT boxes and firewalls that accept
   traffic from the inside, but only from the outside if it's in
   response to inside traffic (simple stateful firewalls).

   In order to deal with symmetric NATs, TURN MUST be supported.




Alvestrand              Expires February 19, 2014               [Page 3]


Internet-Draft              WebRTC Transports                August 2013


   In order to deal with firewalls that block all UDP traffic, TURN over
   TCP MUST be supported.  (QUESTION: What about ICE-TCP?)

   The following specifications MUST be supported:

   o  ICE [RFC5245]

   o  TURN, including TURN over TCP [[QUESTION: and TURN over TLS]],
      [RFC5766].

   For referring to STUN and TURN servers, this specification depends on
   the STUN URI, [I-D.nandakumar-rtcweb-stun-uri].

2.3.  Transport protocols implemented

   For data transport over the RTCWEB data channel
   [I-D.ietf-rtcweb-data-channel], RTCWEB implementations support SCTP
   over DTLS over ICE.  This is specified in
   [I-D.ietf-tsvwg-sctp-dtls-encaps].  Negotiation of this transport in
   SCTP is defined in [I-D.ietf-mmusic-sctp-sdp].

   The setup protocol for RTCWEB data channels is described in
   [I-D.jesup-rtcweb-data-protocol].

   For transport of media, secure RTP is used.  The details of the
   profile of RTP used are described in "RTP Usage"
   [I-D.ietf-rtcweb-rtp-usage].

   RTCWEB implementations MUST support multiplexing of SCTP/DTLS and RTP
   over the same port pair, as described in the DTLS_SRTP specification
   [RFC5764], section 5.1.2.


3.  IANA Considerations

   This document makes no request of IANA.

   Note to RFC Editor: this section may be removed on publication as an
   RFC.


4.  Security Considerations

   Security considerations are enumerated in [I-D.ietf-rtcweb-security].







Alvestrand              Expires February 19, 2014               [Page 4]


Internet-Draft              WebRTC Transports                August 2013


5.  Acknowledgements

   This document is based on earlier versions embedded in
   [I-D.ietf-rtcweb-overview], which were the results of contributions
   from many RTCWEB WG members.


6.  References

6.1.  Normative References

   [I-D.ietf-mmusic-sctp-sdp]
              Loreto, S. and G. Camarillo, "Stream Control Transmission
              Protocol (SCTP)-Based Media Transport in the Session
              Description Protocol (SDP)", draft-ietf-mmusic-sctp-sdp-04
              (work in progress), June 2013.

   [I-D.ietf-rtcweb-data-channel]
              Jesup, R., Loreto, S., and M. Tuexen, "RTCWeb Data
              Channels", draft-ietf-rtcweb-data-channel-05 (work in
              progress), July 2013.

   [I-D.ietf-rtcweb-rtp-usage]
              Perkins, C., Westerlund, M., and J. Ott, "Web Real-Time
              Communication (WebRTC): Media Transport and Use of RTP",
              draft-ietf-rtcweb-rtp-usage-07 (work in progress),
              July 2013.

   [I-D.ietf-rtcweb-security]
              Rescorla, E., "Security Considerations for WebRTC",
              draft-ietf-rtcweb-security-05 (work in progress),
              July 2013.

   [I-D.ietf-rtcweb-security-arch]
              Rescorla, E., "WebRTC Security Architecture",
              draft-ietf-rtcweb-security-arch-07 (work in progress),
              July 2013.

   [I-D.ietf-tsvwg-sctp-dtls-encaps]
              Jesup, R., Loreto, S., Stewart, R., and M. Tuexen, "DTLS
              Encapsulation of SCTP Packets",
              draft-ietf-tsvwg-sctp-dtls-encaps-01 (work in progress),
              July 2013.

   [I-D.nandakumar-rtcweb-stun-uri]
              Nandakumar, S., Salgueiro, G., Jones, P., and M. Petit-
              Huguenin, "URI Scheme for Session Traversal Utilities for
              NAT (STUN) Protocol", draft-nandakumar-rtcweb-stun-uri-05



Alvestrand              Expires February 19, 2014               [Page 5]


Internet-Draft              WebRTC Transports                August 2013


              (work in progress), July 2013.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC5245]  Rosenberg, J., "Interactive Connectivity Establishment
              (ICE): A Protocol for Network Address Translator (NAT)
              Traversal for Offer/Answer Protocols", RFC 5245,
              April 2010.

   [RFC5764]  McGrew, D. and E. Rescorla, "Datagram Transport Layer
              Security (DTLS) Extension to Establish Keys for the Secure
              Real-time Transport Protocol (SRTP)", RFC 5764, May 2010.

   [RFC5766]  Mahy, R., Matthews, P., and J. Rosenberg, "Traversal Using
              Relays around NAT (TURN): Relay Extensions to Session
              Traversal Utilities for NAT (STUN)", RFC 5766, April 2010.

6.2.  Informative References

   [I-D.ietf-rtcweb-overview]
              Alvestrand, H., "Overview: Real Time Protocols for Brower-
              based Applications", draft-ietf-rtcweb-overview-06 (work
              in progress), February 2013.

   [I-D.jesup-rtcweb-data-protocol]
              Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data Channel
              Protocol", draft-jesup-rtcweb-data-protocol-04 (work in
              progress), February 2013.


Author's Address

   Harald Alvestrand
   Google

   Email: harald@alvestrand.no














Alvestrand              Expires February 19, 2014               [Page 6]