draft-ietf-rtcweb-transports-03.txt | draft-ietf-rtcweb-transports-04.txt | |||
---|---|---|---|---|
Network Working Group H. Alvestrand | Network Working Group H. Alvestrand | |||
Internet-Draft Google | Internet-Draft Google | |||
Intended status: Standards Track March 31, 2014 | Intended status: Standards Track April 25, 2014 | |||
Expires: October 2, 2014 | Expires: October 27, 2014 | |||
Transports for RTCWEB | Transports for RTCWEB | |||
draft-ietf-rtcweb-transports-03 | draft-ietf-rtcweb-transports-04 | |||
Abstract | Abstract | |||
This document describes the data transport protocols used by RTCWEB, | This document describes the data transport protocols used by RTCWEB, | |||
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 October 2, 2014. | This Internet-Draft will expire on October 27, 2014. | |||
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 13 | skipping to change at page 2, line 13 | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
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. Usage of Quality of Service - DSCP and Multiplexing . . . 4 | 3.4. Middle box related functions . . . . . . . . . . . . . . . 4 | |||
3.5. Middle box related functions . . . . . . . . . . . . . . . 5 | 3.5. Transport protocols implemented . . . . . . . . . . . . . 5 | |||
3.6. Transport protocols implemented . . . . . . . . . . . . . 6 | 4. Media Prioritization . . . . . . . . . . . . . . . . . . . . . 6 | |||
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 4.1. Usage of Quality of Service - DSCP and Multiplexing . . . 6 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | 4.2. Local prioritization . . . . . . . . . . . . . . . . . . . 7 | |||
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | |||
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
7.1. Normative References . . . . . . . . . . . . . . . . . . . 7 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
7.2. Informative References . . . . . . . . . . . . . . . . . . 9 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
Appendix A. Change log . . . . . . . . . . . . . . . . . . . . . 10 | 8.1. Normative References . . . . . . . . . . . . . . . . . . . 9 | |||
A.1. Changes from -00 to -01 . . . . . . . . . . . . . . . . . 10 | 8.2. Informative References . . . . . . . . . . . . . . . . . . 11 | |||
A.2. Changes from -01 to -02 . . . . . . . . . . . . . . . . . 10 | Appendix A. Change log . . . . . . . . . . . . . . . . . . . . . 11 | |||
A.3. Changes from -02 to -03 . . . . . . . . . . . . . . . . . 11 | A.1. Changes from -00 to -01 . . . . . . . . . . . . . . . . . 11 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 11 | A.2. Changes from -01 to -02 . . . . . . . . . . . . . . . . . 12 | |||
A.3. Changes from -02 to -03 . . . . . . . . . . . . . . . . . 12 | ||||
A.4. Changes from -03 to -04 . . . . . . . . . . . . . . . . . 13 | ||||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 13 | ||||
1. Introduction | 1. Introduction | |||
The IETF RTCWEB effort, part of the WebRTC effort carried out in | The IETF RTCWEB effort, part of the WebRTC effort carried out in | |||
cooperation between the IETF and the W3C, is aimed at specifying a | cooperation between the IETF and the W3C, is aimed at specifying a | |||
protocol suite that is useful for real time multimedia exchange | protocol suite that is useful for real time multimedia exchange | |||
between browsers. | between browsers. | |||
The overall effort is described in the RTCWEB overview document, | The overall effort is described in the RTCWEB overview document, | |||
[I-D.ietf-rtcweb-overview]. This document focuses on the data | [I-D.ietf-rtcweb-overview]. This document focuses on the data | |||
skipping to change at page 3, line 45 | skipping to change at page 3, line 45 | |||
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 | achieve the prioritizations described in [I-D.ietf-tsvwg-rtcweb-qos] | |||
[I-D.dhesikan-tsvwg-rtcweb-qos] (see Section 3.4) when multiple media | (see Section 4.1) when multiple media types are multiplexed. It does | |||
types are multiplexed. It does not assume that the DSCP codepoints | not assume that the DSCP codepoints will be honored, and does assume | |||
will be honored, and does assume that they may be zeroed or changed, | that they may be zeroed or changed, since this is a local | |||
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 RTCWEB 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 on top of the RTCWEB implementation MUST be | |||
skipping to change at page 4, line 30 | skipping to change at page 4, line 30 | |||
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 | |||
addresses. This is a change from the rules specified by [RFC3484]. | addresses. This is a change from the rules specified by [RFC3484]. | |||
For applications that select a single address, this is usually done | For applications that select a single address, this is usually done | |||
by the IPV6_PREFER_SRC_TMP specified in [RFC5014]. However, this | by the IPV6_PREFER_SRC_TMP preference flag specified in [RFC5014]. | |||
rule is not completely obvious in the ICE scope. This is therefore | However, this rule is not completely obvious in the ICE scope. This | |||
clarified as follows: | is therefore clarified as follows: | |||
When a client gathers all IPv6 addresses on a host, and both | When a client gathers all IPv6 addresses on a host, and both | |||
temporary addresses and permanent addresses of the same scope are | temporary addresses and permanent addresses of the same scope are | |||
present, the client SHOULD discard the permanent addresses before | present, the client SHOULD discard the permanent addresses before | |||
forming pairs. This is consistent with the default policy described | forming pairs. This is consistent with the default policy described | |||
in [RFC6724]. | in [RFC6724]. | |||
3.4. Usage of Quality of Service - DSCP and Multiplexing | 3.4. Middle box related functions | |||
WebRTC implementations SHOULD attempt to set QoS on the packets sent, | ||||
according to the guidelines in [I-D.dhesikan-tsvwg-rtcweb-qos]. It | ||||
is appropriate to depart from this recommendation when running on | ||||
platforms where QoS marking is not implemented. | ||||
There exist a number of schemes for achieving quality of service that | ||||
do not depend solely on DSCP code points. Some of these schemes | ||||
depend on classifying the traffic into flows based on 5-tuple (source | ||||
address, source port, protocol, destination address, destination | ||||
port) or 6-tuple (same as above + DSCP code point). Under differing | ||||
conditions, it may therefore make sense for a sending application to | ||||
choose any of the configurations: | ||||
o Each media stream carried on its own 5-tuple | ||||
o Media streams grouped by media type into 5-tuples (such as | ||||
carrying all audio on one 5-tuple) | ||||
o All media sent over a single 5-tuple, with or without | ||||
differentiation into 6-tuples based on DSCP code points | ||||
In each of the configurations mentioned, data channels may be carried | ||||
in its own 5-tuple, or multiplexed together with one of the media | ||||
flows. | ||||
More complex configurations, such as sending a high priority video | ||||
stream on one 5-tuple and sending all other video streams multiplexed | ||||
together over another 5-tuple, can also be envisioned. | ||||
A sending implementation MUST be able to multiplex all media and data | ||||
on a single 5-tuple (fully bundled), MUST be able to send each media | ||||
stream and data on their own 5-tuple (fully unbundled), and MAY | ||||
choose to support other configurations. | ||||
NOTE IN DRAFT: is there a need to place the "group by media type, | ||||
with data multiplexed on the video" as a MUST or SHOULD | ||||
configuration? | ||||
A receiving implementation MUST be able to receive media and data in | ||||
all these configurations. | ||||
3.5. Middle box related functions | ||||
The primary mechanism to deal with middle boxes is ICE, which is an | The primary mechanism to deal with middle boxes is ICE, which is an | |||
appropriate way to deal with NAT boxes and firewalls that accept | appropriate way to deal with NAT boxes and firewalls that accept | |||
traffic from the inside, but only from the outside if it's in | traffic from the inside, but only from the outside if it's in | |||
response to inside traffic (simple stateful firewalls). | response to inside traffic (simple stateful firewalls). | |||
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. | ICE implementation, not ICE-Lite; this allows interworking with both | |||
ICE and ICE-Lite implementations when they are 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 | |||
which perform endpoint-dependent mapping (as defined in [RFC5128] | which perform endpoint-dependent mapping (as defined in [RFC5128] | |||
section 2.4), TURN [RFC5766] MUST be supported. | section 2.4), TURN [RFC5766] MUST be supported. | |||
Configuration of STUN and TURN servers, both from browser | Configuration of STUN and TURN servers, both from browser | |||
configuration and from an applicaiton, MUST be supported. | configuration and from an applicaiton, MUST be supported. | |||
In order to deal with firewalls that block all UDP traffic, TURN | In order to deal with firewalls that block all UDP traffic, TURN | |||
using TCP between the client and the server MUST be supported, and | using TCP between the client and the server MUST be supported, and | |||
skipping to change at page 6, line 23 | skipping to change at page 5, line 30 | |||
However, such candidates are not seen as providing any significant | However, such candidates are not seen as providing any significant | |||
benefit. First, use of TURN TCP would only be relevant in cases | benefit. First, use of TURN TCP would only be relevant in cases | |||
which both peers are required to use TCP to establish a | which both peers are required to use TCP to establish a | |||
PeerConnection. Secondly, that use case is anyway supported by both | PeerConnection. Secondly, that use case is anyway supported by both | |||
sides establishing UDP relay candidates using TURN over TCP to | sides establishing UDP relay candidates using TURN over TCP to | |||
connect to the relay server. Thirdly, using TCP only between the | connect to the relay server. Thirdly, using TCP only between the | |||
endpoint and its relay may result in less issues with TCP in regards | endpoint and its relay may result in less issues with TCP in regards | |||
to real-time constraints, e.g. due to head of line blocking. | to real-time constraints, e.g. due to head of line blocking. | |||
ICE-TCP candidates [RFC6544] MAY be supported; this may allow | ICE-TCP candidates [RFC6544] MUST be supported; this may allow | |||
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 RTCWEB 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. | NOTE IN DRAFT: This may be added. | |||
3.6. 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]. | [I-D.ietf-rtcweb-rtp-usage]. | |||
For data transport over the RTCWEB data channel | For data transport over the RTCWEB data channel | |||
[I-D.ietf-rtcweb-data-channel], RTCWEB implementations MUST support | [I-D.ietf-rtcweb-data-channel], RTCWEB 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 RTCWEB data channels is described in | |||
skipping to change at page 7, line 14 | skipping to change at page 6, line 22 | |||
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 RTCWEB 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 | RTCWEB 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. | |||
4. IANA Considerations | 4. Media Prioritization | |||
The RTCWEB prioritization model is that the application tells the | ||||
RTCWEB implementation about the priority of media and data flows | ||||
through an API. | ||||
The priority associated with a media or data flow is classified as | ||||
"normal", "below normal", "high" or "very high". There are only four | ||||
priority levels at the API. | ||||
The priority settings affect two pieces of behavior: Packet markings | ||||
and packet send sequence decisions. Each is described in its own | ||||
section below. | ||||
4.1. Usage of Quality of Service - DSCP and Multiplexing | ||||
WebRTC implementations SHOULD attempt to set QoS on the packets sent, | ||||
according to the guidelines in [I-D.ietf-tsvwg-rtcweb-qos]. It is | ||||
appropriate to depart from this recommendation when running on | ||||
platforms where QoS marking is not implemented. | ||||
The implementation MAY turn off use of DSCP markings if it detects | ||||
symptoms of unexpected behaviour like priority inversion or blocking | ||||
of packets with certain DSCP markings. The detection of these | ||||
conditions is implementation dependent. (Question: Does there need | ||||
to be an API knob to turn off DSCP markings?) | ||||
There exist a number of schemes for achieving quality of service that | ||||
do not depend solely on DSCP code points. Some of these schemes | ||||
depend on classifying the traffic into flows based on 5-tuple (source | ||||
address, source port, protocol, destination address, destination | ||||
port) or 6-tuple (same as above + DSCP code point). Under differing | ||||
conditions, it may therefore make sense for a sending application to | ||||
choose any of the configurations: | ||||
o Each media stream carried on its own 5-tuple | ||||
o Media streams grouped by media type into 5-tuples (such as | ||||
carrying all audio on one 5-tuple) | ||||
o All media sent over a single 5-tuple, with or without | ||||
differentiation into 6-tuples based on DSCP code points | ||||
In each of the configurations mentioned, data channels may be carried | ||||
in its own 5-tuple, or multiplexed together with one of the media | ||||
flows. | ||||
More complex configurations, such as sending a high priority video | ||||
stream on one 5-tuple and sending all other video streams multiplexed | ||||
together over another 5-tuple, can also be envisioned. More | ||||
information on mapping media flows to 5-tuples can be found in | ||||
[I-D.ietf-rtcweb-rtp-usage]. | ||||
A sending implementation MUST be able to multiplex all media and data | ||||
on a single 5-tuple (fully bundled), MUST be able to send each media | ||||
stream on its own 5-tuple and data on its own 5-tuple (fully | ||||
unbundled), and MAY choose to support other configurations. | ||||
Sending data over multiple 5-tuples is not supported. | ||||
NOTE IN DRAFT: is there a need to place the "group by media type, | ||||
with data multiplexed on the video" as a MUST or SHOULD | ||||
configuration? Are there other MUST configurations? | ||||
NOTE IN DRAFT: It's been suggested that at least one "MUST" | ||||
configuration should be with data channels on its own 5-tuple, | ||||
separate from the media. Opinions sought. | ||||
A receiving implementation MUST be able to receive media and data in | ||||
all these configurations. | ||||
4.2. Local prioritization | ||||
When an RTCWEB implementation has packets to send on multiple streams | ||||
that are congestion-controlled under the same congestion controller, | ||||
the RTCWEB implementation SHOULD serve the streams in a weighted | ||||
round-robin fashion, with each stream at each level of priority 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, but will lead to packet loss due to full send buffers | ||||
occuring first on the highest volume flows at any given priority | ||||
level. 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. | ||||
NOTE: The appropriate algorithm for deciding when to send SCTP data | ||||
vs media data is not described yet. | ||||
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. | |||
5. 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]. | |||
6. Acknowledgements | 7. Acknowledgements | |||
This document is based on earlier versions embedded in | This document is based on earlier versions embedded in | |||
[I-D.ietf-rtcweb-overview], which were the results of contributions | [I-D.ietf-rtcweb-overview], which were the results of contributions | |||
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 | |||
Magnus Westerlund, Markus Isomaki and Dan Wing; the contributions | Magnus Westerlund, Markus Isomaki and Dan Wing; the contributions | |||
from Andrew Hutton also deserve special mention. | from Andrew Hutton also deserve special mention. | |||
7. References | 8. References | |||
7.1. Normative References | ||||
[I-D.dhesikan-tsvwg-rtcweb-qos] | 8.1. Normative References | |||
Dhesikan, S., Druta, D., Jones, P., and J. Polk, "DSCP and | ||||
other packet markings for RTCWeb QoS", | ||||
draft-dhesikan-tsvwg-rtcweb-qos-06 (work in progress), | ||||
March 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-06 | |||
(work in progress), February 2014. | (work in progress), February 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-07 (work in | Channels", draft-ietf-rtcweb-data-channel-08 (work in | |||
progress), February 2014. | progress), April 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-12 (work in progress), | draft-ietf-rtcweb-rtp-usage-13 (work in progress), | |||
February 2014. | April 2014. | |||
[I-D.ietf-rtcweb-security] | [I-D.ietf-rtcweb-security] | |||
Rescorla, E., "Security Considerations for WebRTC", | Rescorla, E., "Security Considerations for WebRTC", | |||
draft-ietf-rtcweb-security-06 (work in progress), | draft-ietf-rtcweb-security-06 (work in progress), | |||
January 2014. | January 2014. | |||
[I-D.ietf-rtcweb-security-arch] | [I-D.ietf-rtcweb-security-arch] | |||
Rescorla, E., "WebRTC Security Architecture", | Rescorla, E., "WebRTC Security Architecture", | |||
draft-ietf-rtcweb-security-arch-09 (work in progress), | draft-ietf-rtcweb-security-arch-09 (work in progress), | |||
February 2014. | February 2014. | |||
[I-D.ietf-tsvwg-rtcweb-qos] | ||||
Dhesikan, S., Druta, D., Jones, P., and J. Polk, "DSCP and | ||||
other packet markings for RTCWeb QoS", | ||||
draft-ietf-tsvwg-rtcweb-qos-00 (work in progress), | ||||
April 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", | Encapsulation of SCTP Packets", | |||
draft-ietf-tsvwg-sctp-dtls-encaps-03 (work in progress), | draft-ietf-tsvwg-sctp-dtls-encaps-03 (work in progress), | |||
February 2014. | February 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, "A | |||
New Data Chunk for Stream Control Transmission Protocol", | New Data Chunk for Stream Control Transmission Protocol", | |||
draft-ietf-tsvwg-sctp-ndata-00 (work in progress), | draft-ietf-tsvwg-sctp-ndata-00 (work in progress), | |||
skipping to change at page 9, line 42 | skipping to change at page 11, line 13 | |||
RFC 6156, April 2011. | RFC 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. | |||
7.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-rtcweb-overview] | [I-D.ietf-rtcweb-overview] | |||
Alvestrand, H., "Overview: Real Time Protocols for Brower- | Alvestrand, H., "Overview: Real Time Protocols for Brower- | |||
based Applications", draft-ietf-rtcweb-overview-09 (work | based Applications", draft-ietf-rtcweb-overview-09 (work | |||
skipping to change at page 11, line 36 | skipping to change at page 13, line 8 | |||
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 RTCWEB implementation MUST support both IPv4 and IPv6. | |||
A.4. Changes from -03 to -04 | ||||
o Added a section on prioritization, moved the DSCP section into it, | ||||
and added a section on local prioritization, giving a specific | ||||
algorithm for interpreting "priority" in local prioritization. | ||||
o ICE-TCP candidates was changed from MAY to MUST, in recognition of | ||||
the sense of the room at the London IETF. | ||||
Author's Address | Author's Address | |||
Harald Alvestrand | Harald Alvestrand | |||
Email: harald@alvestrand.no | Email: harald@alvestrand.no | |||
End of changes. 21 change blocks. | ||||
89 lines changed or deleted | 168 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/ |