draft-ietf-rtcweb-transports-01.txt | draft-ietf-rtcweb-transports-02.txt | |||
---|---|---|---|---|
Network Working Group H. Alvestrand | Network Working Group H. Alvestrand | |||
Internet-Draft Google | Internet-Draft Google | |||
Intended status: Standards Track September 3, 2013 | Intended status: Standards Track January 22, 2014 | |||
Expires: March 7, 2014 | Expires: July 26, 2014 | |||
Transports for RTCWEB | Transports for RTCWEB | |||
draft-ietf-rtcweb-transports-01 | draft-ietf-rtcweb-transports-02 | |||
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. | |||
Requirements Language | ||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | ||||
document are to be interpreted as described in RFC 2119 [RFC2119]. | ||||
Status of this Memo | 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 March 7, 2014. | This Internet-Draft will expire on July 26, 2014. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2013 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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
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. Transport and Middlebox specification . . . . . . . . . . . . . 3 | 2. Requirements language . . . . . . . . . . . . . . . . . . . . . 3 | |||
2.1. System-provided interfaces . . . . . . . . . . . . . . . . 3 | 3. Transport and Middlebox specification . . . . . . . . . . . . . 3 | |||
2.2. Middle box related functions . . . . . . . . . . . . . . . 4 | 3.1. System-provided interfaces . . . . . . . . . . . . . . . . 3 | |||
2.3. Transport protocols implemented . . . . . . . . . . . . . . 4 | 3.2. Usage of Quality of Service functions . . . . . . . . . . . 4 | |||
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 | 3.3. Support for multiplexing . . . . . . . . . . . . . . . . . 4 | |||
4. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 | 3.4. Middle box related functions . . . . . . . . . . . . . . . 4 | |||
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5 | 3.5. Transport protocols implemented . . . . . . . . . . . . . . 5 | |||
6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 | |||
6.1. Normative References . . . . . . . . . . . . . . . . . . . 5 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 | |||
6.2. Informative References . . . . . . . . . . . . . . . . . . 7 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
Appendix A. Change log . . . . . . . . . . . . . . . . . . . . . . 7 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
A.1. Changes from -00 to -01 . . . . . . . . . . . . . . . . . . 7 | 7.1. Normative References . . . . . . . . . . . . . . . . . . . 6 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 7.2. Informative References . . . . . . . . . . . . . . . . . . 8 | |||
Appendix A. Change log . . . . . . . . . . . . . . . . . . . . . . 8 | ||||
A.1. Changes from -00 to -01 . . . . . . . . . . . . . . . . . . 8 | ||||
A.2. Changes from -01 to -02 . . . . . . . . . . . . . . . . . . 9 | ||||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 9 | ||||
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 | |||
transport protocos that are used by conforming implementations. | transport protocos that are used by conforming implementations. | |||
This protocol suite is designed for WebRTC, and intends to satisfy | This protocol suite is designed for WebRTC, and intends to satisfy | |||
the security considerations described in the WebRTC security | the security considerations described in the WebRTC security | |||
documents, [I-D.ietf-rtcweb-security] and | documents, [I-D.ietf-rtcweb-security] and | |||
[I-D.ietf-rtcweb-security-arch]. | [I-D.ietf-rtcweb-security-arch]. | |||
2. Transport and Middlebox specification | 2. Requirements language | |||
2.1. System-provided interfaces | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | ||||
document are to be interpreted as described in RFC 2119 [RFC2119]. | ||||
3. Transport and Middlebox specification | ||||
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 RTCWEB | |||
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, this specification assumes the ability to set the | For both protocols, IPv4 and IPv6 support is assumed; applications | |||
DSCP code point of the sockets opened on a per-packet basis, in order | MUST be able to utilize both IPv4 and IPv6 where available. | |||
to achieve the prioritizations described in [I-D.ietf-rtcweb-qos]. | ||||
It does not assume that the DSCP codepoints will be honored, and does | ||||
assume that they may be zeroed or changed, since this is a local | ||||
configuration issue. | ||||
If DSCP code points can only be set on a per-socket basis, not per- | For UDP, this specification assumes the ability to set the DSCP code | |||
packet, one loses the ability to have the network discriminate | point of the sockets opened on a per-packet basis, in order to | |||
reliably between classes of traffic sent over the same transport, but | achieve the prioritizations described in | |||
this does not prevent communication. | [I-D.dhesikan-tsvwg-rtcweb-qos] when multiple media types are | |||
multiplexed. It does not assume that the DSCP codepoints will be | ||||
honored, and does assume that they may be zeroed or changed, since | ||||
this is a local configuration issue. | ||||
This specification does not assume that the implementation will have | This specification does not assume that the implementation will have | |||
access to ICMP or raw IP. | access to ICMP or raw IP. | |||
2.2. Middle box related functions | 3.2. Usage of Quality of Service 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. | ||||
3.3. Support for multiplexing | ||||
RTCWEB implementations MUST support the ability to send and receive | ||||
multiple SSRCs on the same transport, and MUST support the ability to | ||||
send and receive multiple SSRCs on multiple simultaneous transports, | ||||
including the ability to send and receive audio and video on the same | ||||
transport. The choice of configuration is done at higher layers | ||||
(above transport), using mechanisms like BUNDLE | ||||
[I-D.ietf-mmusic-sdp-bundle-negotiation]. Further information on RTP | ||||
usage is found in [I-D.ietf-rtcweb-rtp-usage]. | ||||
When different content types according to | ||||
[I-D.dhesikan-tsvwg-rtcweb-qos] are used on the same transport, | ||||
appropriate per-packet DSCP marking SHOULD be used. | ||||
DISCUSSION: Minimizing the number of transports has advantages in | ||||
traversing NATs and firewalls, due to the reduced chance of | ||||
negotiation failure. However, some network prioritization mechanisms | ||||
(in particular active queue management techniques and flow- | ||||
recognizing deep packet inspection boxes) will perform better when | ||||
flows with different characteristics are separated on different | ||||
5-tuples. Since the optimum for this tradeoff is unknown, and may be | ||||
variable, it is inappropriate to embed this choice in the protocol | ||||
layer, and this is therefore left to the control of the application. | ||||
3.4. 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 implementation, not ICE-Lite. | ||||
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. | |||
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 | |||
TURN using TLS between the client and the server MUST be supported. | TURN using TLS between the client and the server MUST be supported. | |||
See [RFC5766] section 2.1 for details. | ||||
ICE TCP candidates [RFC6062] MAY be supported; this may allow | In order to deal with situations where one party is on an IPv4 | |||
applications to achieve peer-to-peer communication across UDP- | network and the other party is on an IPv6 network, TURN extensions | |||
blocking firewalls, but this also requires use of the SRTP/AVPF/TCP | for IPv6 [RFC6156] MUST be supported. | |||
profile of RTP. | ||||
The following specifications MUST be supported: | ||||
o ICE [RFC5245] | ||||
o TURN, including TURN over TCP[RFC5766]. | TURN TCP candidates [RFC6062] SHOULD be supported; this allows | |||
applications to achieve peer-to-peer communication when both parties | ||||
are behind UDP-blocking firewalls using a single TURN server. (In | ||||
this case, one can also achieve communication using two TURN servers | ||||
that use TCP between the server and the client, and UDP between the | ||||
TURN servers.) | ||||
TURN over TLS over TCP MAY be supported. (QUESTION: SHOULD? MUST?) | ICE-TCP candidates [RFC6544] MAY be supported; this may allow | |||
applications to communicate to peers with public IP addresses across | ||||
UDP-blocking firewalls without using a TURN server. | ||||
For referring to STUN and TURN servers, this specification depends on | The ALTERNATE-SERVER mechanism specified in [RFC5389] (STUN) section | |||
the STUN URI, [I-D.nandakumar-rtcweb-stun-uri]. | 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. | |||
2.3. Transport protocols implemented | 3.5. Transport protocols implemented | |||
For transport of media, secure RTP is used. The details of the | ||||
profile of RTP used are described in "RTP Usage" | ||||
[I-D.ietf-rtcweb-rtp-usage]. | ||||
For data transport over the RTCWEB data channel | For data transport over the RTCWEB data channel | |||
[I-D.ietf-rtcweb-data-channel], RTCWEB implementations support SCTP | [I-D.ietf-rtcweb-data-channel], RTCWEB implementations MUST support | |||
over DTLS over ICE. This 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 | |||
SCTP is defined in [I-D.ietf-mmusic-sctp-sdp]. | SDP is defined in [I-D.ietf-mmusic-sctp-sdp]. | |||
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]. | |||
For transport of media, secure RTP is used. The details of the | ||||
profile of RTP used are described in "RTP Usage" | ||||
[I-D.ietf-rtcweb-rtp-usage]. | ||||
RTCWEB implementations MUST support multiplexing of 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. Further separation of the DTLS traffic | [RFC5764], section 5.1.2. All application layer protocol payloads | |||
into SCTP and "other" is described in <need reference>. | over this DTLS connection are SCTP packets. | |||
3. IANA Considerations | 4. 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. | |||
4. Security Considerations | 5. Security Considerations | |||
Security considerations are enumerated in [I-D.ietf-rtcweb-security]. | Security considerations are enumerated in [I-D.ietf-rtcweb-security]. | |||
5. Acknowledgements | 6. 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. | |||
6. References | Special thanks for reviews of earlier versions of this draft go to | |||
Magnus Westerlund, Markus Isomaki and Dan Wing; the contributions | ||||
from Andrew Hutton also deserve special mention. | ||||
6.1. Normative References | 7. References | |||
7.1. Normative References | ||||
[I-D.dhesikan-tsvwg-rtcweb-qos] | ||||
Dhesikan, S., Druta, D., Jones, P., and J. Polk, "DSCP and | ||||
other packet markings for RTCWeb QoS", | ||||
draft-dhesikan-tsvwg-rtcweb-qos-03 (work in progress), | ||||
December 2013. | ||||
[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-04 | Description Protocol (SDP)", draft-ietf-mmusic-sctp-sdp-05 | |||
(work in progress), June 2013. | (work in progress), October 2013. | |||
[I-D.ietf-rtcweb-data-channel] | [I-D.ietf-rtcweb-data-channel] | |||
Jesup, R., Loreto, S., and M. Tuexen, "RTCWeb Data | Jesup, R., Loreto, S., and M. Tuexen, "RTCWeb Data | |||
Channels", draft-ietf-rtcweb-data-channel-05 (work in | Channels", draft-ietf-rtcweb-data-channel-06 (work in | |||
progress), July 2013. | progress), October 2013. | |||
[I-D.ietf-rtcweb-qos] | ||||
Dhesikan, S., Druta, D., Jones, P., and J. Polk, "DSCP and | ||||
other packet markings for RTCWeb QoS", | ||||
draft-ietf-rtcweb-qos-00 (work in progress), October 2012. | ||||
[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-07 (work in progress), | draft-ietf-rtcweb-rtp-usage-11 (work in progress), | |||
July 2013. | December 2013. | |||
[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-05 (work in progress), | draft-ietf-rtcweb-security-05 (work in progress), | |||
July 2013. | July 2013. | |||
[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-07 (work in progress), | draft-ietf-rtcweb-security-arch-07 (work in progress), | |||
July 2013. | July 2013. | |||
[I-D.ietf-tsvwg-sctp-dtls-encaps] | [I-D.ietf-tsvwg-sctp-dtls-encaps] | |||
Jesup, R., Loreto, S., Stewart, R., and M. Tuexen, "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-01 (work in progress), | draft-ietf-tsvwg-sctp-dtls-encaps-02 (work in progress), | |||
July 2013. | October 2013. | |||
[I-D.nandakumar-rtcweb-stun-uri] | ||||
Nandakumar, S., Salgueiro, G., Jones, P., and M. Petit- | ||||
Huguenin, "URI Scheme for Session Traversal Utilities for | ||||
NAT (STUN) Protocol", draft-nandakumar-rtcweb-stun-uri-05 | ||||
(work in progress), July 2013. | ||||
[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. | |||
[RFC5245] Rosenberg, J., "Interactive Connectivity Establishment | [RFC5245] Rosenberg, J., "Interactive Connectivity Establishment | |||
(ICE): A Protocol for Network Address Translator (NAT) | (ICE): A Protocol for Network Address Translator (NAT) | |||
Traversal for Offer/Answer Protocols", RFC 5245, | Traversal for Offer/Answer Protocols", RFC 5245, | |||
April 2010. | April 2010. | |||
[RFC5389] Rosenberg, J., Mahy, R., Matthews, P., and D. Wing, | ||||
"Session Traversal Utilities for NAT (STUN)", RFC 5389, | ||||
October 2008. | ||||
[RFC5764] McGrew, D. and E. Rescorla, "Datagram Transport Layer | [RFC5764] McGrew, D. and E. Rescorla, "Datagram Transport Layer | |||
Security (DTLS) Extension to Establish Keys for the Secure | Security (DTLS) Extension to Establish Keys for the Secure | |||
Real-time Transport Protocol (SRTP)", RFC 5764, May 2010. | Real-time Transport Protocol (SRTP)", RFC 5764, May 2010. | |||
[RFC5766] Mahy, R., Matthews, P., and J. Rosenberg, "Traversal Using | [RFC5766] Mahy, R., Matthews, P., and J. Rosenberg, "Traversal Using | |||
Relays around NAT (TURN): Relay Extensions to Session | Relays around NAT (TURN): Relay Extensions to Session | |||
Traversal Utilities for NAT (STUN)", RFC 5766, April 2010. | Traversal Utilities for NAT (STUN)", RFC 5766, April 2010. | |||
[RFC6062] Perreault, S. and J. Rosenberg, "Traversal Using Relays | [RFC6062] Perreault, S. and J. Rosenberg, "Traversal Using Relays | |||
around NAT (TURN) Extensions for TCP Allocations", | around NAT (TURN) Extensions for TCP Allocations", | |||
RFC 6062, November 2010. | RFC 6062, November 2010. | |||
6.2. Informative References | [RFC6156] Camarillo, G., Novo, O., and S. Perreault, "Traversal | |||
Using Relays around NAT (TURN) Extension for IPv6", | ||||
RFC 6156, April 2011. | ||||
[RFC6544] Rosenberg, J., Keranen, A., Lowekamp, B., and A. Roach, | ||||
"TCP Candidates with Interactive Connectivity | ||||
Establishment (ICE)", RFC 6544, March 2012. | ||||
7.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-01 (work | draft-hutton-rtcweb-nat-firewall-considerations-02 (work | |||
in progress), June 2013. | in progress), September 2013. | |||
[I-D.ietf-mmusic-sdp-bundle-negotiation] | ||||
Holmberg, C., Alvestrand, H., and C. Jennings, | ||||
"Multiplexing Negotiation Using Session Description | ||||
Protocol (SDP) Port Numbers", | ||||
draft-ietf-mmusic-sdp-bundle-negotiation-05 (work in | ||||
progress), October 2013. | ||||
[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-07 (work | based Applications", draft-ietf-rtcweb-overview-08 (work | |||
in progress), August 2013. | in progress), September 2013. | |||
[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. | |||
[RFC5128] Srisuresh, P., Ford, B., and D. Kegel, "State of Peer-to- | [RFC5128] Srisuresh, P., Ford, B., and D. Kegel, "State of Peer-to- | |||
Peer (P2P) Communication across Network Address | Peer (P2P) Communication across Network Address | |||
Translators (NATs)", RFC 5128, March 2008. | Translators (NATs)", RFC 5128, March 2008. | |||
skipping to change at page 7, line 41 | skipping to change at page 9, line 4 | |||
o Clarified DSCP requirements, with reference to -qos- | o Clarified DSCP requirements, with reference to -qos- | |||
o Clarified "symmetric NAT" -> "NATs which perform endpoint- | o Clarified "symmetric NAT" -> "NATs which perform endpoint- | |||
dependent mapping" | dependent mapping" | |||
o Made support of TURN over TCP mandatory | o Made support of TURN over TCP mandatory | |||
o Made support of TURN over TLS a MAY, and added open question | o Made support of TURN over TLS a MAY, and added open question | |||
o Added an informative reference to -firewalls- | o Added an informative reference to -firewalls- | |||
o Called out that we don't make requirements on HTTP proxy | o Called out that we don't make requirements on HTTP proxy | |||
interaction (yet) | interaction (yet | |||
A.2. Changes from -01 to -02 | ||||
o Required support for 300 Alternate Server from STUN. | ||||
o Separated the ICE-TCP candidate requirement from the TURN-TCP | ||||
requirement. | ||||
o Added new sections on using QoS functions, and on multiplexing | ||||
considerations. | ||||
o Removed all mention of RTP profiles. Those are the business of | ||||
the RTP usage draft, not this one. | ||||
o Required support for TURN IPv6 extensions. | ||||
o Removed reference to the TURN URI scheme, as it was unnecessary. | ||||
o Made an explicit statement that multiplexing (or not) is an | ||||
application matter. | ||||
. | ||||
Author's Address | Author's Address | |||
Harald Alvestrand | Harald Alvestrand | |||
Email: harald@alvestrand.no | Email: harald@alvestrand.no | |||
End of changes. 38 change blocks. | ||||
91 lines changed or deleted | 171 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/ |