draft-ietf-rtcweb-transports-05.txt | draft-ietf-rtcweb-transports-06.txt | |||
---|---|---|---|---|
Network Working Group H. Alvestrand | Network Working Group H. Alvestrand | |||
Internet-Draft Google | Internet-Draft Google | |||
Intended status: Standards Track June 11, 2014 | Intended status: Standards Track August 11, 2014 | |||
Expires: December 13, 2014 | Expires: February 12, 2015 | |||
Transports for RTCWEB | Transports for WebRTC | |||
draft-ietf-rtcweb-transports-05 | draft-ietf-rtcweb-transports-06 | |||
Abstract | Abstract | |||
This document describes the data transport protocols used by RTCWEB, | This document describes the data transport protocols used by WebRTC, | |||
including the protocols used for interaction with intermediate boxes | including the protocols used for interaction with intermediate boxes | |||
such as firewalls, relays and NAT boxes. | such as firewalls, relays and NAT boxes. | |||
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). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on December 13, 2014. | This Internet-Draft will expire on February 12, 2015. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2014 IETF Trust and the persons identified as the | Copyright (c) 2014 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 17 | skipping to change at page 2, line 17 | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Requirements language . . . . . . . . . . . . . . . . . . . . 3 | 2. Requirements language . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Transport and Middlebox specification . . . . . . . . . . . . 3 | 3. Transport and Middlebox specification . . . . . . . . . . . . 3 | |||
3.1. System-provided interfaces . . . . . . . . . . . . . . . 3 | 3.1. System-provided interfaces . . . . . . . . . . . . . . . 3 | |||
3.2. Ability to use IPv4 and IPv6 . . . . . . . . . . . . . . 3 | 3.2. Ability to use IPv4 and IPv6 . . . . . . . . . . . . . . 3 | |||
3.3. Usage of temporary IPv6 addresses . . . . . . . . . . . . 4 | 3.3. Usage of temporary IPv6 addresses . . . . . . . . . . . . 4 | |||
3.4. Middle box related functions . . . . . . . . . . . . . . 4 | 3.4. Middle box related functions . . . . . . . . . . . . . . 4 | |||
3.5. Transport protocols implemented . . . . . . . . . . . . . 5 | 3.5. Transport protocols implemented . . . . . . . . . . . . . 5 | |||
4. Media Prioritization . . . . . . . . . . . . . . . . . . . . 6 | 4. Media Prioritization . . . . . . . . . . . . . . . . . . . . 6 | |||
4.1. Usage of Quality of Service - DSCP and Multiplexing . . . 6 | 4.1. Usage of Quality of Service - DSCP and Multiplexing . . . 6 | |||
4.2. Local prioritization . . . . . . . . . . . . . . . . . . 7 | 4.2. Local prioritization . . . . . . . . . . . . . . . . . . 8 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | |||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 9 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 9 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . 11 | 8.2. Informative References . . . . . . . . . . . . . . . . . 11 | |||
Appendix A. Change log . . . . . . . . . . . . . . . . . . . . . 11 | Appendix A. Change log . . . . . . . . . . . . . . . . . . . . . 12 | |||
A.1. Changes from -00 to -01 . . . . . . . . . . . . . . . . . 11 | A.1. Changes from -00 to -01 . . . . . . . . . . . . . . . . . 12 | |||
A.2. Changes from -01 to -02 . . . . . . . . . . . . . . . . . 12 | A.2. Changes from -01 to -02 . . . . . . . . . . . . . . . . . 13 | |||
A.3. Changes from -02 to -03 . . . . . . . . . . . . . . . . . 12 | A.3. Changes from -02 to -03 . . . . . . . . . . . . . . . . . 13 | |||
A.4. Changes from -03 to -04 . . . . . . . . . . . . . . . . . 13 | A.4. Changes from -03 to -04 . . . . . . . . . . . . . . . . . 13 | |||
A.5. Changes from -04 to -05 . . . . . . . . . . . . . . . . . 13 | A.5. Changes from -04 to -05 . . . . . . . . . . . . . . . . . 14 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 13 | A.6. Changes from -05 to -06 . . . . . . . . . . . . . . . . . 14 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 14 | ||||
1. Introduction | 1. Introduction | |||
RTCWEB is a protocol suite aimed at real time multimedia exchange | WebRTC is a protocol suite aimed at real time multimedia exchange | |||
between browsers, and between browsers and other entities. | between browsers, and between browsers and other entities. | |||
RTCWEB is described in the RTCWEB overview document, | WebRTC is described in the WebRTC overview document, | |||
[I-D.ietf-rtcweb-overview]. | [I-D.ietf-rtcweb-overview], which also defines terminology used in | |||
this document. | ||||
This document focuses on the data transport protocols that are used | This document focuses on the data transport protocols that are used | |||
by conforming implementations, including the protocols used for | by conforming implementations, including the protocols used for | |||
interaction with intermediate boxes such as firewalls, relays and NAT | interaction with intermediate boxes such as firewalls, relays and NAT | |||
boxes. | boxes. | |||
This protocol suite intends to satisfy the security considerations | This protocol suite intends to satisfy the security considerations | |||
described in the RTCWEB security documents, | described in the WebRTC security documents, | |||
[I-D.ietf-rtcweb-security] and [I-D.ietf-rtcweb-security-arch]. | [I-D.ietf-rtcweb-security] and [I-D.ietf-rtcweb-security-arch]. | |||
This document describes requirements that apply to all WebRTC | ||||
devices. When there are requirements that apply only to WebRTC | ||||
browsers, this is called out by using the word "browser". | ||||
2. Requirements language | 2. Requirements language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
3. Transport and Middlebox specification | 3. Transport and Middlebox specification | |||
3.1. System-provided interfaces | 3.1. System-provided interfaces | |||
The protocol specifications used here assume that the following | The protocol specifications used here assume that the following | |||
protocols are available to the implementations of the RTCWEB | protocols are available to the implementations of the WebRTC | |||
protocols: | protocols: | |||
o UDP. This is the protocol assumed by most protocol elements | o UDP. This is the protocol assumed by most protocol elements | |||
described. | described. | |||
o TCP. This is used for HTTP/WebSockets, as well as for TURN/SSL | o TCP. This is used for HTTP/WebSockets, as well as for TURN/SSL | |||
and ICE-TCP. | and ICE-TCP. | |||
For both protocols, IPv4 and IPv6 support is assumed. | For both protocols, IPv4 and IPv6 support is assumed. | |||
For UDP, this specification assumes the ability to set the DSCP code | For UDP, this specification assumes the ability to set the DSCP code | |||
point of the sockets opened on a per-packet basis, in order to | point of the sockets opened on a per-packet basis, in order to | |||
achieve the prioritizations described in [I-D.ietf-tsvwg-rtcweb-qos] | achieve the prioritizations described in [I-D.ietf-tsvwg-rtcweb-qos] | |||
(see Section 4.1) when multiple media types are multiplexed. It does | (see Section 4.1) when multiple media types are multiplexed. It does | |||
not assume that the DSCP codepoints will be honored, and does assume | not assume that the DSCP codepoints will be honored, and does assume | |||
that they may be zeroed or changed, since this is a local | that they may be zeroed or changed, since this is a local | |||
configuration issue. | configuration issue. | |||
Platforms that do not give access to these interfaces will not be | Platforms that do not give access to these interfaces will not be | |||
able to support a conforming RTCWEB implementation. | able to support a conforming WebRTC implementation. | |||
This specification does not assume that the implementation will have | This specification does not assume that the implementation will have | |||
access to ICMP or raw IP. | access to ICMP or raw IP. | |||
3.2. Ability to use IPv4 and IPv6 | 3.2. Ability to use IPv4 and IPv6 | |||
Web applications running on top of the RTCWEB implementation MUST be | Web applications running in a WebRTC browser MUST be able to utilize | |||
able to utilize both IPv4 and IPv6 where available - that is, when | both IPv4 and IPv6 where available - that is, when two peers have | |||
two peers have only IPv4 connectivity to each other, or they have | only IPv4 connectivity to each other, or they have only IPv6 | |||
only IPv6 connectivity to each other, applications running on top of | connectivity to each other, applications running in the WebRTC | |||
the RTCWEB implementation MUST be able to communicate. | browser MUST be able to communicate. | |||
When TURN is used, and the TURN server has IPv4 or IPv6 connectivity | When TURN is used, and the TURN server has IPv4 or IPv6 connectivity | |||
to the peer or its TURN server, candidates of the appropriate types | to the peer or its TURN server, candidates of the appropriate types | |||
MUST be supported. The "Happy Eyeballs" specification for ICE | MUST be supported. The "Happy Eyeballs" specification for ICE | |||
[I-D.reddy-mmusic-ice-happy-eyeballs] SHOULD be supported. | [I-D.reddy-mmusic-ice-happy-eyeballs] SHOULD be supported. | |||
3.3. Usage of temporary IPv6 addresses | 3.3. Usage of temporary IPv6 addresses | |||
The IPv6 default address selection specification [RFC6724] specifies | The IPv6 default address selection specification [RFC6724] specifies | |||
that temporary addresses [RFC4941] are to be preferred over permanent | that temporary addresses [RFC4941] are to be preferred over permanent | |||
skipping to change at page 4, line 37 | skipping to change at page 4, line 42 | |||
ICE [RFC5245] MUST be supported. The implementation MUST be a full | ICE [RFC5245] MUST be supported. The implementation MUST be a full | |||
ICE implementation, not ICE-Lite. A full ICE implementation allows | ICE implementation, not ICE-Lite. A full ICE implementation allows | |||
interworking with both ICE and ICE-Lite implementations when they are | interworking with both ICE and ICE-Lite implementations when they are | |||
deployed appropriately. | deployed appropriately. | |||
In order to deal with situations where both parties are behind NATs | In order to deal with situations where both parties are behind NATs | |||
of the type that perform endpoint-dependent mapping (as defined in | of the type that perform endpoint-dependent mapping (as defined in | |||
[RFC5128] section 2.4), TURN [RFC5766] MUST be supported. | [RFC5128] section 2.4), TURN [RFC5766] MUST be supported. | |||
Configuration of STUN and TURN servers, both from browser | WebRTC browsers MUST support configuration of STUN and TURN servers, | |||
configuration and from an application, MUST be supported. | both from browser configuration and from an application. | |||
In order to deal with firewalls that block all UDP traffic, the mode | In order to deal with firewalls that block all UDP traffic, the mode | |||
of TURN that uses TCP between the client and the server MUST be | of TURN that uses TCP between the client and the server MUST be | |||
supported, and the mode of TURN that uses TLS over TCP between the | supported, and the mode of TURN that uses TLS over TCP between the | |||
client and the server MUST be supported. See [RFC5766] section 2.1 | client and the server MUST be supported. See [RFC5766] section 2.1 | |||
for details. | for details. | |||
In order to deal with situations where one party is on an IPv4 | In order to deal with situations where one party is on an IPv4 | |||
network and the other party is on an IPv6 network, TURN extensions | network and the other party is on an IPv6 network, TURN extensions | |||
for IPv6 [RFC6156] MUST be supported. | for IPv6 [RFC6156] MUST be supported. | |||
skipping to change at page 5, line 31 | skipping to change at page 5, line 38 | |||
applications to communicate to peers with public IP addresses across | applications to communicate to peers with public IP addresses across | |||
UDP-blocking firewalls without using a TURN server. | UDP-blocking firewalls without using a TURN server. | |||
If TCP connections are used, RTP framing according to [RFC4571] MUST | If TCP connections are used, RTP framing according to [RFC4571] MUST | |||
be used, both for the RTP packets and for the DTLS packets used to | be used, both for the RTP packets and for the DTLS packets used to | |||
carry data channels. | carry data channels. | |||
The ALTERNATE-SERVER mechanism specified in [RFC5389] (STUN) section | The ALTERNATE-SERVER mechanism specified in [RFC5389] (STUN) section | |||
11 (300 Try Alternate) MUST be supported. | 11 (300 Try Alternate) MUST be supported. | |||
Further discussion of the interaction of RTCWEB with firewalls is | Further discussion of the interaction of WebRTC with firewalls is | |||
contained in [I-D.hutton-rtcweb-nat-firewall-considerations]. This | contained in [I-D.hutton-rtcweb-nat-firewall-considerations]. This | |||
document makes no requirements on interacting with HTTP proxies or | document makes no requirements on interacting with HTTP proxies or | |||
HTTP proxy configuration methods. | HTTP proxy configuration methods. | |||
NOTE IN DRAFT: This may be added. | The WebRTC implementation MAY support accessing the Internet through | |||
an HTTP proxy. If it does so, it MUST support the "connect" header | ||||
as specified in [I-D.hutton-httpbis-connect-protocol]. | ||||
3.5. Transport protocols implemented | 3.5. Transport protocols implemented | |||
For transport of media, secure RTP is used. The details of the | For transport of media, secure RTP is used. The details of the | |||
profile of RTP used are described in "RTP Usage" | profile of RTP used are described in "RTP Usage" | |||
[I-D.ietf-rtcweb-rtp-usage]. Key exchange MUST be done using DTLS- | [I-D.ietf-rtcweb-rtp-usage]. Key exchange MUST be done using DTLS- | |||
SRTP, as described in [I-D.ietf-rtcweb-security-arch]. | SRTP, as described in [I-D.ietf-rtcweb-security-arch]. | |||
For data transport over the RTCWEB data channel | For data transport over the WebRTC data channel | |||
[I-D.ietf-rtcweb-data-channel], RTCWEB implementations MUST support | [I-D.ietf-rtcweb-data-channel], WebRTC implementations MUST support | |||
SCTP over DTLS over ICE. This encapsulation is specified in | SCTP over DTLS over ICE. This encapsulation is specified in | |||
[I-D.ietf-tsvwg-sctp-dtls-encaps]. Negotiation of this transport in | [I-D.ietf-tsvwg-sctp-dtls-encaps]. Negotiation of this transport in | |||
SDP is defined in [I-D.ietf-mmusic-sctp-sdp]. The SCTP extension for | SDP is defined in [I-D.ietf-mmusic-sctp-sdp]. The SCTP extension for | |||
NDATA, [I-D.ietf-tsvwg-sctp-ndata], MUST be supported. | NDATA, [I-D.ietf-tsvwg-sctp-ndata], MUST be supported. | |||
The setup protocol for RTCWEB data channels is described in | The setup protocol for WebRTC data channels is described in | |||
[I-D.jesup-rtcweb-data-protocol]. | [I-D.jesup-rtcweb-data-protocol]. | |||
RTCWEB implementations MUST support multiplexing of DTLS and RTP over | WebRTC implementations MUST support multiplexing of DTLS and RTP over | |||
the same port pair, as described in the DTLS_SRTP specification | the same port pair, as described in the DTLS_SRTP specification | |||
[RFC5764], section 5.1.2. All application layer protocol payloads | [RFC5764], section 5.1.2. All application layer protocol payloads | |||
over this DTLS connection are SCTP packets. | over this DTLS connection are SCTP packets. | |||
Protocol identification MUST be supplied as part of the DTLS | ||||
handshake, as specified in [I-D.thomson-rtcweb-alpn]. | ||||
4. Media Prioritization | 4. Media Prioritization | |||
The RTCWEB prioritization model is that the application tells the | The WebRTC prioritization model is that the application tells the | |||
RTCWEB implementation about the priority of media and data flows | WebRTC implementation about the priority of media and data flows | |||
through an API. | through an API. | |||
The priority associated with a media or data flow is classified as | The priority associated with a media or data flow is classified as | |||
"normal", "below normal", "high" or "very high". There are only four | "normal", "below normal", "high" or "very high". There are only four | |||
priority levels at the API. | priority levels at the API. | |||
The priority settings affect two pieces of behavior: Packet markings | The priority settings affect two pieces of behavior: Packet markings | |||
and packet send sequence decisions. Each is described in its own | and packet send sequence decisions. Each is described in its own | |||
section below. | section below. | |||
skipping to change at page 6, line 40 | skipping to change at page 6, line 50 | |||
according to the guidelines in [I-D.ietf-tsvwg-rtcweb-qos]. It is | according to the guidelines in [I-D.ietf-tsvwg-rtcweb-qos]. It is | |||
appropriate to depart from this recommendation when running on | appropriate to depart from this recommendation when running on | |||
platforms where QoS marking is not implemented. | platforms where QoS marking is not implemented. | |||
The implementation MAY turn off use of DSCP markings if it detects | The implementation MAY turn off use of DSCP markings if it detects | |||
symptoms of unexpected behaviour like priority inversion or blocking | symptoms of unexpected behaviour like priority inversion or blocking | |||
of packets with certain DSCP markings. The detection of these | of packets with certain DSCP markings. The detection of these | |||
conditions is implementation dependent. (Question: Does there need | conditions is implementation dependent. (Question: Does there need | |||
to be an API knob to turn off DSCP markings?) | to be an API knob to turn off DSCP markings?) | |||
All packets arrying data from the SCTP association supporting the | ||||
data channels MUST use a single DSCP code point. | ||||
All packets on one TCP connection, no matter what it carries, MUST | ||||
use a single DSCP code point. | ||||
More advice on the use of DSCP code points with RTP is given in | ||||
[I-D.ietf-dart-dscp-rtp]. | ||||
There exist a number of schemes for achieving quality of service that | There exist a number of schemes for achieving quality of service that | |||
do not depend solely on DSCP code points. Some of these schemes | do not depend solely on DSCP code points. Some of these schemes | |||
depend on classifying the traffic into flows based on 5-tuple (source | depend on classifying the traffic into flows based on 5-tuple (source | |||
address, source port, protocol, destination address, destination | address, source port, protocol, destination address, destination | |||
port) or 6-tuple (5-tuple + DSCP code point). Under differing | port) or 6-tuple (5-tuple + DSCP code point). Under differing | |||
conditions, it may therefore make sense for a sending application to | conditions, it may therefore make sense for a sending application to | |||
choose any of the configurations: | choose any of the configurations: | |||
o Each media stream carried on its own 5-tuple | o Each media stream carried on its own 5-tuple | |||
skipping to change at page 7, line 38 | skipping to change at page 8, line 10 | |||
It MAY choose to support other configurations. | It MAY choose to support other configurations. | |||
Sending data over multiple 5-tuples is not supported. | Sending data over multiple 5-tuples is not supported. | |||
A receiving implementation MUST be able to receive media and data in | A receiving implementation MUST be able to receive media and data in | |||
all these configurations. | all these configurations. | |||
4.2. Local prioritization | 4.2. Local prioritization | |||
When an RTCWEB implementation has packets to send on multiple streams | When an WebRTC implementation has packets to send on multiple streams | |||
(with each media stream and each data channel considered as one | (with each media stream and each data channel considered as one | |||
"stream" for this purpose) that are congestion-controlled under the | "stream" for this purpose) that are congestion-controlled under the | |||
same congestion controller, the RTCWEB implementation SHOULD cause | same congestion controller, the WebRTC implementation SHOULD cause | |||
data to be emitted in such a way that each stream at each level of | data to be emitted in such a way that each stream at each level of | |||
priority is being given approximately twice the transmission capacity | priority is being given approximately twice the transmission capacity | |||
(measured in payload bytes) of the level below. | (measured in payload bytes) of the level below. | |||
Thus, when congestion occurs, a "very high" priority flow will have | Thus, when congestion occurs, a "very high" priority flow will have | |||
the ability to send 8 times as much data as a "below normal" flow if | the ability to send 8 times as much data as a "below normal" flow if | |||
both have data to send. This prioritization is independent of the | both have data to send. This prioritization is independent of the | |||
media type. The details of which packet to send first are | media type. The details of which packet to send first are | |||
implementation defined. | implementation defined. | |||
skipping to change at page 9, line 19 | skipping to change at page 9, line 39 | |||
from many RTCWEB WG members. | from many RTCWEB WG members. | |||
Special thanks for reviews of earlier versions of this draft go to | Special thanks for reviews of earlier versions of this draft go to | |||
Eduardo Gueiros, Magnus Westerlund, Markus Isomaki and Dan Wing; the | Eduardo Gueiros, Magnus Westerlund, Markus Isomaki and Dan Wing; the | |||
contributions from Andrew Hutton also deserve special mention. | contributions from Andrew Hutton also deserve special mention. | |||
8. References | 8. References | |||
8.1. Normative References | 8.1. Normative References | |||
[I-D.hutton-httpbis-connect-protocol] | ||||
Hutton, A., Uberti, J., and M. Thomson, "HTTP Connect - | ||||
Tunnel Protocol For WebRTC", draft-hutton-httpbis-connect- | ||||
protocol-00 (work in progress), June 2014. | ||||
[I-D.ietf-mmusic-sctp-sdp] | [I-D.ietf-mmusic-sctp-sdp] | |||
Loreto, S. and G. Camarillo, "Stream Control Transmission | Loreto, S. and G. Camarillo, "Stream Control Transmission | |||
Protocol (SCTP)-Based Media Transport in the Session | Protocol (SCTP)-Based Media Transport in the Session | |||
Description Protocol (SDP)", draft-ietf-mmusic-sctp-sdp-06 | Description Protocol (SDP)", draft-ietf-mmusic-sctp-sdp-07 | |||
(work in progress), February 2014. | (work in progress), July 2014. | |||
[I-D.ietf-rtcweb-data-channel] | [I-D.ietf-rtcweb-data-channel] | |||
Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data | Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data | |||
Channels", draft-ietf-rtcweb-data-channel-08 (work in | Channels", draft-ietf-rtcweb-data-channel-11 (work in | |||
progress), April 2014. | progress), July 2014. | |||
[I-D.ietf-rtcweb-rtp-usage] | [I-D.ietf-rtcweb-rtp-usage] | |||
Perkins, C., Westerlund, M., and J. Ott, "Web Real-Time | Perkins, C., Westerlund, M., and J. Ott, "Web Real-Time | |||
Communication (WebRTC): Media Transport and Use of RTP", | Communication (WebRTC): Media Transport and Use of RTP", | |||
draft-ietf-rtcweb-rtp-usage-13 (work in progress), April | draft-ietf-rtcweb-rtp-usage-16 (work in progress), July | |||
2014. | 2014. | |||
[I-D.ietf-rtcweb-security] | [I-D.ietf-rtcweb-security] | |||
Rescorla, E., "Security Considerations for WebRTC", draft- | Rescorla, E., "Security Considerations for WebRTC", draft- | |||
ietf-rtcweb-security-06 (work in progress), January 2014. | ietf-rtcweb-security-07 (work in progress), July 2014. | |||
[I-D.ietf-rtcweb-security-arch] | [I-D.ietf-rtcweb-security-arch] | |||
Rescorla, E., "WebRTC Security Architecture", draft-ietf- | Rescorla, E., "WebRTC Security Architecture", draft-ietf- | |||
rtcweb-security-arch-09 (work in progress), February 2014. | rtcweb-security-arch-10 (work in progress), July 2014. | |||
[I-D.ietf-tsvwg-rtcweb-qos] | [I-D.ietf-tsvwg-rtcweb-qos] | |||
Dhesikan, S., Druta, D., Jones, P., and J. Polk, "DSCP and | Dhesikan, S., Jennings, C., Druta, D., Jones, P., and J. | |||
other packet markings for RTCWeb QoS", draft-ietf-tsvwg- | Polk, "DSCP and other packet markings for RTCWeb QoS", | |||
rtcweb-qos-00 (work in progress), April 2014. | draft-ietf-tsvwg-rtcweb-qos-02 (work in progress), June | |||
2014. | ||||
[I-D.ietf-tsvwg-sctp-dtls-encaps] | [I-D.ietf-tsvwg-sctp-dtls-encaps] | |||
Tuexen, M., Stewart, R., Jesup, R., and S. Loreto, "DTLS | Tuexen, M., Stewart, R., Jesup, R., and S. Loreto, "DTLS | |||
Encapsulation of SCTP Packets", draft-ietf-tsvwg-sctp- | Encapsulation of SCTP Packets", draft-ietf-tsvwg-sctp- | |||
dtls-encaps-03 (work in progress), February 2014. | dtls-encaps-05 (work in progress), July 2014. | |||
[I-D.ietf-tsvwg-sctp-ndata] | [I-D.ietf-tsvwg-sctp-ndata] | |||
Stewart, R., Tuexen, M., Loreto, S., and R. Seggelmann, "A | Stewart, R., Tuexen, M., Loreto, S., and R. Seggelmann, | |||
New Data Chunk for Stream Control Transmission Protocol", | "Stream Schedulers and a New Data Chunk for the Stream | |||
draft-ietf-tsvwg-sctp-ndata-00 (work in progress), | Control Transmission Protocol", draft-ietf-tsvwg-sctp- | |||
February 2014. | ndata-01 (work in progress), July 2014. | |||
[I-D.reddy-mmusic-ice-happy-eyeballs] | [I-D.reddy-mmusic-ice-happy-eyeballs] | |||
Reddy, T., Patil, P., and P. Martinsen, "Happy Eyeballs | Reddy, T., Patil, P., and P. Martinsen, "Happy Eyeballs | |||
Extension for ICE", draft-reddy-mmusic-ice-happy- | Extension for ICE", draft-reddy-mmusic-ice-happy- | |||
eyeballs-06 (work in progress), February 2014. | eyeballs-07 (work in progress), June 2014. | |||
[I-D.thomson-rtcweb-alpn] | ||||
Thomson, M., "Application Layer Protocol Negotiation for | ||||
Web Real-Time Communications (WebRTC)", draft-thomson- | ||||
rtcweb-alpn-00 (work in progress), April 2014. | ||||
[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. | |||
[RFC4571] Lazzaro, J., "Framing Real-time Transport Protocol (RTP) | [RFC4571] Lazzaro, J., "Framing Real-time Transport Protocol (RTP) | |||
and RTP Control Protocol (RTCP) Packets over Connection- | and RTP Control Protocol (RTCP) Packets over Connection- | |||
Oriented Transport", RFC 4571, July 2006. | Oriented Transport", RFC 4571, July 2006. | |||
[RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy | [RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy | |||
Extensions for Stateless Address Autoconfiguration in | Extensions for Stateless Address Autoconfiguration in | |||
skipping to change at page 11, line 21 | skipping to change at page 12, line 5 | |||
(IPv6)", RFC 6724, September 2012. | (IPv6)", RFC 6724, September 2012. | |||
8.2. Informative References | 8.2. Informative References | |||
[I-D.hutton-rtcweb-nat-firewall-considerations] | [I-D.hutton-rtcweb-nat-firewall-considerations] | |||
Stach, T., Hutton, A., and J. Uberti, "RTCWEB | Stach, T., Hutton, A., and J. Uberti, "RTCWEB | |||
Considerations for NATs, Firewalls and HTTP proxies", | Considerations for NATs, Firewalls and HTTP proxies", | |||
draft-hutton-rtcweb-nat-firewall-considerations-03 (work | draft-hutton-rtcweb-nat-firewall-considerations-03 (work | |||
in progress), January 2014. | in progress), January 2014. | |||
[I-D.ietf-dart-dscp-rtp] | ||||
Black, D. and P. Jones, "Differentiated Services | ||||
(DiffServ) and Real-time Communication", draft-ietf-dart- | ||||
dscp-rtp-02 (work in progress), August 2014. | ||||
[I-D.ietf-rtcweb-overview] | [I-D.ietf-rtcweb-overview] | |||
Alvestrand, H., "Overview: Real Time Protocols for Brower- | Alvestrand, H., "Overview: Real Time Protocols for | |||
based Applications", draft-ietf-rtcweb-overview-09 (work | Browser-based Applications", draft-ietf-rtcweb-overview-10 | |||
in progress), February 2014. | (work in progress), June 2014. | |||
[I-D.jesup-rtcweb-data-protocol] | [I-D.jesup-rtcweb-data-protocol] | |||
Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data Channel | Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data Channel | |||
Protocol", draft-jesup-rtcweb-data-protocol-04 (work in | Protocol", draft-jesup-rtcweb-data-protocol-04 (work in | |||
progress), February 2013. | progress), February 2013. | |||
[RFC3484] Draves, R., "Default Address Selection for Internet | [RFC3484] Draves, R., "Default Address Selection for Internet | |||
Protocol version 6 (IPv6)", RFC 3484, February 2003. | Protocol version 6 (IPv6)", RFC 3484, February 2003. | |||
[RFC5014] Nordmark, E., Chakrabarti, S., and J. Laganier, "IPv6 | [RFC5014] Nordmark, E., Chakrabarti, S., and J. Laganier, "IPv6 | |||
skipping to change at page 13, line 6 | skipping to change at page 13, line 44 | |||
o Added RFC 4571 reference for framing RTP packets over TCP. | o Added RFC 4571 reference for framing RTP packets over TCP. | |||
o Downgraded TURN TCP candidates from SHOULD to MAY, and added more | o Downgraded TURN TCP candidates from SHOULD to MAY, and added more | |||
language discussing TCP usage. | language discussing TCP usage. | |||
o Added language on IPv6 temporary addresses. | o Added language on IPv6 temporary addresses. | |||
o Added language describing multiplexing choices. | o Added language describing multiplexing choices. | |||
o Added a separate section detailing what it means when we say that | o Added a separate section detailing what it means when we say that | |||
an RTCWEB implementation MUST support both IPv4 and IPv6. | an WebRTC implementation MUST support both IPv4 and IPv6. | |||
A.4. Changes from -03 to -04 | A.4. Changes from -03 to -04 | |||
o Added a section on prioritization, moved the DSCP section into it, | o Added a section on prioritization, moved the DSCP section into it, | |||
and added a section on local prioritization, giving a specific | and added a section on local prioritization, giving a specific | |||
algorithm for interpreting "priority" in local prioritization. | algorithm for interpreting "priority" in local prioritization. | |||
o ICE-TCP candidates was changed from MAY to MUST, in recognition of | o ICE-TCP candidates was changed from MAY to MUST, in recognition of | |||
the sense of the room at the London IETF. | the sense of the room at the London IETF. | |||
skipping to change at page 13, line 32 | skipping to change at page 14, line 23 | |||
RTCWEB. | RTCWEB. | |||
o Addressed a number of clarity / language comments | o Addressed a number of clarity / language comments | |||
o Rewrote the prioritization to cover data channels and to describe | o Rewrote the prioritization to cover data channels and to describe | |||
multiple ways of prioritizing flows | multiple ways of prioritizing flows | |||
o Made explicit reference to "MUST do DTLS-SRTP", and referred to | o Made explicit reference to "MUST do DTLS-SRTP", and referred to | |||
security-arch for details | security-arch for details | |||
A.6. Changes from -05 to -06 | ||||
o Changed all references to "RTCWEB" to "WebRTC", except one | ||||
reference to the working group | ||||
o Added reference to the httpbis "connect" protocol (being adopted | ||||
by HTTPBIS) | ||||
o Added reference to the ALPN header (being adopted by RTCWEB) | ||||
o Added reference to the DART RTP document | ||||
o Said explicitly that SCTP for data channels has a single DSCP | ||||
codepoint | ||||
Author's Address | Author's Address | |||
Harald Alvestrand | Harald Alvestrand | |||
Email: harald@alvestrand.no | Email: harald@alvestrand.no | |||
End of changes. 39 change blocks. | ||||
58 lines changed or deleted | 109 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |