draft-ietf-rtcweb-transports-09.txt | draft-ietf-rtcweb-transports-10.txt | |||
---|---|---|---|---|
Network Working Group H. Alvestrand | Network Working Group H. Alvestrand | |||
Internet-Draft Google | Internet-Draft Google | |||
Intended status: Standards Track July 6, 2015 | Intended status: Standards Track October 19, 2015 | |||
Expires: January 7, 2016 | Expires: April 21, 2016 | |||
Transports for WebRTC | Transports for WebRTC | |||
draft-ietf-rtcweb-transports-09 | draft-ietf-rtcweb-transports-10 | |||
Abstract | Abstract | |||
This document describes the data transport protocols used by WebRTC, | 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 | |||
skipping to change at page 1, line 32 | skipping to change at page 1, line 32 | |||
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 January 7, 2016. | This Internet-Draft will expire on April 21, 2016. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2015 IETF Trust and the persons identified as the | Copyright (c) 2015 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 14 | skipping to change at page 2, line 14 | |||
Table of Contents | Table of Contents | |||
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 . . . . . . . . . . . . . . 4 | 3.2. Ability to use IPv4 and IPv6 . . . . . . . . . . . . . . 4 | |||
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 . . . . . . . . . . . . . 6 | |||
4. Media Prioritization . . . . . . . . . . . . . . . . . . . . 6 | 4. Media Prioritization . . . . . . . . . . . . . . . . . . . . 6 | |||
4.1. Usage of Quality of Service - DSCP and Multiplexing . . . 6 | 4.1. Local prioritization . . . . . . . . . . . . . . . . . . 7 | |||
4.2. Local prioritization . . . . . . . . . . . . . . . . . . 8 | 4.2. Usage of Quality of Service - DSCP and Multiplexing . . . 8 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | |||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 9 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 10 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . 12 | 8.2. Informative References . . . . . . . . . . . . . . . . . 12 | |||
Appendix A. Change log . . . . . . . . . . . . . . . . . . . . . 12 | Appendix A. Change log . . . . . . . . . . . . . . . . . . . . . 13 | |||
A.1. Changes from -00 to -01 . . . . . . . . . . . . . . . . . 12 | A.1. Changes from -00 to -01 . . . . . . . . . . . . . . . . . 13 | |||
A.2. Changes from -01 to -02 . . . . . . . . . . . . . . . . . 13 | A.2. Changes from -01 to -02 . . . . . . . . . . . . . . . . . 13 | |||
A.3. Changes from -02 to -03 . . . . . . . . . . . . . . . . . 13 | A.3. Changes from -02 to -03 . . . . . . . . . . . . . . . . . 14 | |||
A.4. Changes from -03 to -04 . . . . . . . . . . . . . . . . . 14 | A.4. Changes from -03 to -04 . . . . . . . . . . . . . . . . . 14 | |||
A.5. Changes from -04 to -05 . . . . . . . . . . . . . . . . . 14 | A.5. Changes from -04 to -05 . . . . . . . . . . . . . . . . . 14 | |||
A.6. Changes from -05 to -06 . . . . . . . . . . . . . . . . . 14 | A.6. Changes from -05 to -06 . . . . . . . . . . . . . . . . . 15 | |||
A.7. Changes from -06 to -07 . . . . . . . . . . . . . . . . . 14 | A.7. Changes from -06 to -07 . . . . . . . . . . . . . . . . . 15 | |||
A.8. Changes from -07 to -08 . . . . . . . . . . . . . . . . . 15 | A.8. Changes from -07 to -08 . . . . . . . . . . . . . . . . . 15 | |||
A.9. Changes from -08 to -09 . . . . . . . . . . . . . . . . . 15 | A.9. Changes from -08 to -09 . . . . . . . . . . . . . . . . . 15 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 15 | A.10. Changes from -09 to -10 . . . . . . . . . . . . . . . . . 15 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 16 | ||||
1. Introduction | 1. Introduction | |||
WebRTC 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. | |||
WebRTC is described in the WebRTC overview document, | WebRTC is described in the WebRTC overview document, | |||
[I-D.ietf-rtcweb-overview], which also defines terminology used in | [I-D.ietf-rtcweb-overview], which also defines terminology used in | |||
this document, including the terms "WebRTC device" and "WebRTC | this document, including the terms "WebRTC device" and "WebRTC | |||
browser". | browser". | |||
skipping to change at page 3, line 38 | skipping to change at page 3, line 38 | |||
elements described. | elements described. | |||
o TCP [RFC0793]. This is used for HTTP/WebSockets, as well as for | o TCP [RFC0793]. This is used for HTTP/WebSockets, as well as for | |||
TURN/SSL and ICE-TCP. | TURN/SSL 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.2) 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 WebRTC 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. | |||
skipping to change at page 5, line 45 | skipping to change at page 5, line 45 | |||
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. | |||
The WebRTC implementation MAY support accessing the Internet through | The WebRTC implementation MAY support accessing the Internet through | |||
an HTTP proxy. If it does so, it MUST support the "connect" header | an HTTP proxy. If it does so, it MUST support the "ALPN" header as | |||
as specified in [I-D.ietf-httpbis-tunnel-protocol]. | specified in [RFC7639], and proxy authentication as described in | |||
Section 4.3.6 of [RFC7231] and [RFC7235] MUST also be supported. | ||||
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 WebRTC data channel | For data transport over the WebRTC data channel | |||
[I-D.ietf-rtcweb-data-channel], WebRTC 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. | |||
skipping to change at page 6, line 43 | skipping to change at page 6, line 47 | |||
4. Media Prioritization | 4. Media Prioritization | |||
The WebRTC prioritization model is that the application tells the | The WebRTC prioritization model is that the application tells the | |||
WebRTC 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 send | |||
and packet send sequence decisions. Each is described in its own | sequence decisions and packet markings. Each is described in its own | |||
section below. | section below. | |||
4.1. Usage of Quality of Service - DSCP and Multiplexing | 4.1. Local prioritization | |||
Local prioritization is applied at the local node, before the packet | ||||
is sent. This means that the prioritization has full access to the | ||||
data about the individual packets, and can choose differing treatment | ||||
based on the stream a packet belongs to. | ||||
When an WebRTC implementation has packets to send on multiple streams | ||||
(with each media stream and each data channel considered as one | ||||
"stream" for this purpose) that are congestion-controlled under the | ||||
same congestion controller, the WebRTC implementation SHOULD cause | ||||
data to be emitted in such a way that each stream at each level of | ||||
priority is being given approximately twice the transmission capacity | ||||
(measured in payload bytes) of the level below. | ||||
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 | ||||
both have data to send. This prioritization is independent of the | ||||
media type. The details of which packet to send first are | ||||
implementation defined. | ||||
For example: If there is a very high priority audio flow sending 100 | ||||
byte packets, and a normal priority video flow sending 1000 byte | ||||
packets, and outgoing capacity exists for sending >5000 payload | ||||
bytes, it would be appropriate to send 4000 bytes (40 packets) of | ||||
audio and 1000 bytes (one packet) of video as the result of a single | ||||
pass of sending decisions. | ||||
Conversely, if the audio flow is marked normal priority and the video | ||||
flow is marked very high priority, the scheduler may decide to send 2 | ||||
video packets (2000 bytes) and 5 audio packets (500 bytes) when | ||||
outgoing capacity exists for sending > 2500 payload bytes. | ||||
If there are two very high priority audio flows, each will be able to | ||||
send 4000 bytes in the same period where a normal priority video flow | ||||
is able to send 1000 bytes. | ||||
Two example implementation strategies are: | ||||
o When the available bandwidth is known from the congestion control | ||||
algorithm, configure each codec and each data channel with a | ||||
target send rate that is appropriate to its share of the available | ||||
bandwidth. | ||||
o When congestion control indicates that a specified number of | ||||
packets can be sent, send packets that are available to send using | ||||
a weighted round robin scheme across the connections. | ||||
Any combination of these, or other schemes that have the same effect, | ||||
is valid, as long as the distribution of transmission capacity is | ||||
approximately correct. | ||||
For media, it is usually inappropriate to use deep queues for | ||||
sending; it is more useful to, for instance, skip intermediate frames | ||||
that have no dependencies on them in order to achieve a lower | ||||
bitrate. For reliable data, queues are useful. | ||||
4.2. Usage of Quality of Service - DSCP and Multiplexing | ||||
When the packet is sent, the network will make decisions about | ||||
queueing and/or discarding the packet that can affect the quality of | ||||
the communication. The sender can attempt to set the DSCP field of | ||||
the packet to influence these decisions. | ||||
Implementations SHOULD attempt to set QoS on the packets sent, | Implementations SHOULD attempt to set QoS on the packets sent, | |||
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. | |||
to be an API knob to turn off DSCP markings? If nobody argues for | ||||
it, this parenthesis will be removed.) | ||||
All packets carrying data from the SCTP association supporting the | All packets carrying data from the SCTP association supporting the | |||
data channels MUST use a single DSCP code point. | data channels MUST use a single DSCP code point. The code point used | |||
SHOULD be that recommended by [I-D.ietf-tsvwg-rtcweb-qos] for the | ||||
highest priority data channel carried. Note that this means that all | ||||
data packets, no matter what their relative priority is, will be | ||||
treated the same by the network. | ||||
All packets on one TCP connection, no matter what it carries, MUST | All packets on one TCP connection, no matter what it carries, MUST | |||
use a single DSCP code point. | use a single DSCP code point. | |||
More advice on the use of DSCP code points with RTP is given in | More advice on the use of DSCP code points with RTP is given in | |||
[I-D.ietf-dart-dscp-rtp]. | [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 | |||
skipping to change at page 8, line 16 | skipping to change at page 9, line 37 | |||
It MAY choose to support other configurations, such as bundling each | It MAY choose to support other configurations, such as bundling each | |||
media type (audio, video or data) into its own 5-tuple (bundling by | media type (audio, video or data) into its own 5-tuple (bundling by | |||
media type). | media type). | |||
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 | ||||
When an WebRTC implementation has packets to send on multiple streams | ||||
(with each media stream and each data channel considered as one | ||||
"stream" for this purpose) that are congestion-controlled under the | ||||
same congestion controller, the WebRTC implementation SHOULD cause | ||||
data to be emitted in such a way that each stream at each level of | ||||
priority is being given approximately twice the transmission capacity | ||||
(measured in payload bytes) of the level below. | ||||
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 | ||||
both have data to send. This prioritization is independent of the | ||||
media type. The details of which packet to send first are | ||||
implementation defined. | ||||
For example: If there is a very high priority audio flow sending 100 | ||||
byte packets, and a normal priority video flow sending 1000 byte | ||||
packets, and outgoing capacity exists for sending >5000 payload | ||||
bytes, it would be appropriate to send 4000 bytes (40 packets) of | ||||
audio and 1000 bytes (one packet) of video as the result of a single | ||||
pass of sending decisions. | ||||
Conversely, if the audio flow is marked normal priority and the video | ||||
flow is marked very high priority, the scheduler may decide to send 2 | ||||
video packets (2000 bytes) and 5 audio packets (500 bytes) when | ||||
outgoing capacity exists for sending > 2500 payload bytes. | ||||
If there are two very high priority audio flows, each will be able to | ||||
send 4000 bytes in the same period where a normal priority video flow | ||||
is able to send 1000 bytes. | ||||
Two example implementation strategies are: | ||||
o When the available bandwidth is known from the congestion control | ||||
algorithm, configure each codec and each data channel with a | ||||
target send rate that is appropriate to its share of the available | ||||
bandwidth. | ||||
o When congestion control indicates that a specified number of | ||||
packets can be sent, send packets that are available to send using | ||||
a weighted round robin scheme across the connections. | ||||
Any combination of these, or other schemes that have the same effect, | ||||
is valid, as long as the distribution of transmission capacity is | ||||
approximately correct. | ||||
For media, it is usually inappropriate to use deep queues for | ||||
sending; it is more useful to, for instance, skip intermediate frames | ||||
that have no dependencies on them in order to achieve a lower | ||||
bitrate. For reliable data, queues are useful. | ||||
5. IANA Considerations | 5. IANA Considerations | |||
This document makes no request of IANA. | This document makes no request of IANA. | |||
Note to RFC Editor: this section may be removed on publication as an | Note to RFC Editor: this section may be removed on publication as an | |||
RFC. | RFC. | |||
6. Security Considerations | 6. Security Considerations | |||
Security considerations are enumerated in [I-D.ietf-rtcweb-security]. | Security considerations are enumerated in [I-D.ietf-rtcweb-security]. | |||
skipping to change at page 9, line 45 | skipping to change at page 10, line 19 | |||
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.ietf-httpbis-tunnel-protocol] | ||||
Hutton, A., Uberti, J., and M. Thomson, "The Tunnel- | ||||
Protocol HTTP Request Header Field", draft-ietf-httpbis- | ||||
tunnel-protocol-01 (work in progress), January 2015. | ||||
[I-D.ietf-mmusic-sctp-sdp] | [I-D.ietf-mmusic-sctp-sdp] | |||
Holmberg, C., Loreto, S., and G. Camarillo, "Stream | Holmberg, C., Loreto, S., and G. Camarillo, "Stream | |||
Control Transmission Protocol (SCTP)-Based Media Transport | Control Transmission Protocol (SCTP)-Based Media Transport | |||
in the Session Description Protocol (SDP)", draft-ietf- | in the Session Description Protocol (SDP)", draft-ietf- | |||
mmusic-sctp-sdp-12 (work in progress), January 2015. | mmusic-sctp-sdp-14 (work in progress), March 2015. | |||
[I-D.ietf-rtcweb-alpn] | [I-D.ietf-rtcweb-alpn] | |||
Thomson, M., "Application Layer Protocol Negotiation for | Thomson, M., "Application Layer Protocol Negotiation for | |||
Web Real-Time Communications (WebRTC)", draft-ietf-rtcweb- | Web Real-Time Communications (WebRTC)", draft-ietf-rtcweb- | |||
alpn-00 (work in progress), July 2014. | alpn-01 (work in progress), February 2015. | |||
[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-13 (work in | Channels", draft-ietf-rtcweb-data-channel-13 (work in | |||
progress), January 2015. | progress), January 2015. | |||
[I-D.ietf-rtcweb-data-protocol] | [I-D.ietf-rtcweb-data-protocol] | |||
Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data Channel | Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data Channel | |||
Establishment Protocol", draft-ietf-rtcweb-data- | Establishment Protocol", draft-ietf-rtcweb-data- | |||
protocol-09 (work in progress), January 2015. | protocol-09 (work in progress), January 2015. | |||
[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-22 (work in progress), | draft-ietf-rtcweb-rtp-usage-22 (work in progress), | |||
February 2015. | February 2015. | |||
[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-07 (work in progress), July 2014. | ietf-rtcweb-security-08 (work in progress), February 2015. | |||
[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-10 (work in progress), July 2014. | rtcweb-security-arch-11 (work in progress), March 2015. | |||
[I-D.ietf-tsvwg-rtcweb-qos] | [I-D.ietf-tsvwg-rtcweb-qos] | |||
Dhesikan, S., Jennings, C., Druta, D., Jones, P., and J. | Dhesikan, S., Jennings, C., Druta, D., Jones, P., and J. | |||
Polk, "DSCP and other packet markings for RTCWeb QoS", | Polk, "DSCP and other packet markings for RTCWeb QoS", | |||
draft-ietf-tsvwg-rtcweb-qos-03 (work in progress), | draft-ietf-tsvwg-rtcweb-qos-03 (work in progress), | |||
November 2014. | November 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-09 (work in progress), January 2015. | dtls-encaps-09 (work in progress), January 2015. | |||
[I-D.ietf-tsvwg-sctp-ndata] | [I-D.ietf-tsvwg-sctp-ndata] | |||
Stewart, R., Tuexen, M., Loreto, S., and R. Seggelmann, | Stewart, R., Tuexen, M., Loreto, S., and R. Seggelmann, | |||
"Stream Schedulers and a New Data Chunk for the Stream | "Stream Schedulers and User Message Interleaving for the | |||
Control Transmission Protocol", draft-ietf-tsvwg-sctp- | Stream Control Transmission Protocol", draft-ietf-tsvwg- | |||
ndata-02 (work in progress), January 2015. | sctp-ndata-03 (work in progress), March 2015. | |||
[I-D.martinsen-mmusic-ice-dualstack-fairness] | [I-D.martinsen-mmusic-ice-dualstack-fairness] | |||
Martinsen, P., Reddy, T., and P. Patil, "ICE IPv4/IPv6 | Martinsen, P., Reddy, T., and P. Patil, "ICE IPv4/IPv6 | |||
Dual Stack Fairness", draft-martinsen-mmusic-ice- | Dual Stack Fairness", draft-martinsen-mmusic-ice- | |||
dualstack-fairness-02 (work in progress), February 2015. | dualstack-fairness-02 (work in progress), February 2015. | |||
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, | [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, DOI | |||
August 1980. | 10.17487/RFC0768, August 1980, | |||
<http://www.rfc-editor.org/info/rfc768>. | ||||
[RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC | [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC | |||
793, September 1981. | 793, DOI 10.17487/RFC0793, September 1981, | |||
<http://www.rfc-editor.org/info/rfc793>. | ||||
[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 12, line 17 | skipping to change at page 12, line 33 | |||
6156, April 2011. | 6156, April 2011. | |||
[RFC6544] Rosenberg, J., Keranen, A., Lowekamp, B., and A. Roach, | [RFC6544] Rosenberg, J., Keranen, A., Lowekamp, B., and A. Roach, | |||
"TCP Candidates with Interactive Connectivity | "TCP Candidates with Interactive Connectivity | |||
Establishment (ICE)", RFC 6544, March 2012. | Establishment (ICE)", RFC 6544, March 2012. | |||
[RFC6724] Thaler, D., Draves, R., Matsumoto, A., and T. Chown, | [RFC6724] Thaler, D., Draves, R., Matsumoto, A., and T. Chown, | |||
"Default Address Selection for Internet Protocol Version 6 | "Default Address Selection for Internet Protocol Version 6 | |||
(IPv6)", RFC 6724, September 2012. | (IPv6)", RFC 6724, September 2012. | |||
[RFC7231] Fielding, R. and J. Reschke, "Hypertext Transfer Protocol | ||||
(HTTP/1.1): Semantics and Content", RFC 7231, June 2014. | ||||
[RFC7235] Fielding, R. and J. Reschke, "Hypertext Transfer Protocol | ||||
(HTTP/1.1): Authentication", RFC 7235, June 2014. | ||||
[RFC7639] Hutton, A., Uberti, J., and M. Thomson, "The ALPN HTTP | ||||
Header Field", RFC 7639, DOI 10.17487/RFC7639, August | ||||
2015, <http://www.rfc-editor.org/info/rfc7639>. | ||||
8.2. Informative References | 8.2. Informative References | |||
[I-D.ietf-dart-dscp-rtp] | [I-D.ietf-dart-dscp-rtp] | |||
Black, D. and P. Jones, "Differentiated Services | Black, D. and P. Jones, "Differentiated Services | |||
(DiffServ) and Real-time Communication", draft-ietf-dart- | (DiffServ) and Real-time Communication", draft-ietf-dart- | |||
dscp-rtp-10 (work in progress), November 2014. | dscp-rtp-08 (work in progress), October 2014. | |||
[I-D.ietf-rtcweb-overview] | [I-D.ietf-rtcweb-overview] | |||
Alvestrand, H., "Overview: Real Time Protocols for | Alvestrand, H., "Overview: Real Time Protocols for | |||
Browser-based Applications", draft-ietf-rtcweb-overview-13 | Browser-based Applications", draft-ietf-rtcweb-overview-13 | |||
(work in progress), November 2014. | (work in progress), November 2014. | |||
[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 15, line 18 | skipping to change at page 15, line 43 | |||
o Deleted "bundle each media type (audio, video or data) into its | o Deleted "bundle each media type (audio, video or data) into its | |||
own 5-tuple (bundling by media type)" from MUST support | own 5-tuple (bundling by media type)" from MUST support | |||
configuration, since JSEP does not have a means to negotiate this | configuration, since JSEP does not have a means to negotiate this | |||
configuration | configuration | |||
A.9. Changes from -08 to -09 | A.9. Changes from -08 to -09 | |||
o Added a clarifying note about DTLS-SRTP and ICE interaction. | o Added a clarifying note about DTLS-SRTP and ICE interaction. | |||
A.10. Changes from -09 to -10 | ||||
o Re-added references to proxy authentication lost in 07-08 | ||||
transition (Bug #5) | ||||
o Rearranged and rephrased text in section 4 about prioritization to | ||||
reflect discussions in TSVWG. | ||||
o Changed the "Connect" header to "ALPN", and updated reference. | ||||
(Bug #6) | ||||
Author's Address | Author's Address | |||
Harald Alvestrand | Harald Alvestrand | |||
Email: harald@alvestrand.no | Email: harald@alvestrand.no | |||
End of changes. 29 change blocks. | ||||
95 lines changed or deleted | 126 lines changed or added | |||
This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |