draft-ietf-rtcweb-transports-16.txt   draft-ietf-rtcweb-transports-17.txt 
Network Working Group H. Alvestrand Network Working Group H. Alvestrand
Internet-Draft Google Internet-Draft Google
Intended status: Standards Track October 4, 2016 Intended status: Standards Track October 26, 2016
Expires: April 7, 2017 Expires: April 29, 2017
Transports for WebRTC Transports for WebRTC
draft-ietf-rtcweb-transports-16 draft-ietf-rtcweb-transports-17
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 April 7, 2017. This Internet-Draft will expire on April 29, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 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 26 skipping to change at page 2, line 26
4.1. Local prioritization . . . . . . . . . . . . . . . . . . 8 4.1. Local prioritization . . . . . . . . . . . . . . . . . . 8
4.2. Usage of Quality of Service - DSCP and Multiplexing . . . 9 4.2. Usage of Quality of Service - DSCP and Multiplexing . . . 9
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.1. Normative References . . . . . . . . . . . . . . . . . . 11 8.1. Normative References . . . . . . . . . . . . . . . . . . 11
8.2. Informative References . . . . . . . . . . . . . . . . . 15 8.2. Informative References . . . . . . . . . . . . . . . . . 15
Appendix A. Change log . . . . . . . . . . . . . . . . . . . . . 16 Appendix A. Change log . . . . . . . . . . . . . . . . . . . . . 16
A.1. Changes from -00 to -01 . . . . . . . . . . . . . . . . . 16 A.1. Changes from -00 to -01 . . . . . . . . . . . . . . . . . 16
A.2. Changes from -01 to -02 . . . . . . . . . . . . . . . . . 17 A.2. Changes from -01 to -02 . . . . . . . . . . . . . . . . . 16
A.3. Changes from -02 to -03 . . . . . . . . . . . . . . . . . 17 A.3. Changes from -02 to -03 . . . . . . . . . . . . . . . . . 17
A.4. Changes from -03 to -04 . . . . . . . . . . . . . . . . . 17 A.4. Changes from -03 to -04 . . . . . . . . . . . . . . . . . 17
A.5. Changes from -04 to -05 . . . . . . . . . . . . . . . . . 18 A.5. Changes from -04 to -05 . . . . . . . . . . . . . . . . . 17
A.6. Changes from -05 to -06 . . . . . . . . . . . . . . . . . 18 A.6. Changes from -05 to -06 . . . . . . . . . . . . . . . . . 17
A.7. Changes from -06 to -07 . . . . . . . . . . . . . . . . . 18 A.7. Changes from -06 to -07 . . . . . . . . . . . . . . . . . 18
A.8. Changes from -07 to -08 . . . . . . . . . . . . . . . . . 18 A.8. Changes from -07 to -08 . . . . . . . . . . . . . . . . . 18
A.9. Changes from -08 to -09 . . . . . . . . . . . . . . . . . 19 A.9. Changes from -08 to -09 . . . . . . . . . . . . . . . . . 18
A.10. Changes from -09 to -10 . . . . . . . . . . . . . . . . . 19 A.10. Changes from -09 to -10 . . . . . . . . . . . . . . . . . 18
A.11. Changes from -10 to -11 . . . . . . . . . . . . . . . . . 19 A.11. Changes from -10 to -11 . . . . . . . . . . . . . . . . . 18
A.12. Changes from -11 to -12 . . . . . . . . . . . . . . . . . 19 A.12. Changes from -11 to -12 . . . . . . . . . . . . . . . . . 19
A.13. Changes from -12 to -13 . . . . . . . . . . . . . . . . . 19 A.13. Changes from -12 to -13 . . . . . . . . . . . . . . . . . 19
A.14. Changes from -13 to -14 . . . . . . . . . . . . . . . . . 19 A.14. Changes from -13 to -14 . . . . . . . . . . . . . . . . . 19
A.15. Changes from -14 to -15 . . . . . . . . . . . . . . . . . 19 A.15. Changes from -14 to -15 . . . . . . . . . . . . . . . . . 19
A.16. Changes from -15 to -16 . . . . . . . . . . . . . . . . . 20 A.16. Changes from -15 to -16 . . . . . . . . . . . . . . . . . 19
A.17. Changes from -16 to -17 . . . . . . . . . . . . . . . . . 20
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 20 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 20
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 endpoint" and "WebRTC this document, including the terms "WebRTC endpoint" and "WebRTC
skipping to change at page 4, line 16 skipping to change at page 4, line 16
access to ICMP or raw IP. access to ICMP or raw IP.
The following protocols may be used, but can be implemented by a The following protocols may be used, but can be implemented by a
WebRTC endpoint, and are therefore not defined as "system-provided WebRTC endpoint, and are therefore not defined as "system-provided
interfaces": interfaces":
o TURN - Traversal Using Relays Around NAT, [RFC5766] o TURN - Traversal Using Relays Around NAT, [RFC5766]
o STUN - Session Traversal Utilities for NAT, [RFC5389] o STUN - Session Traversal Utilities for NAT, [RFC5389]
o ICE - Interactive Connectivity Establishment, [RFC5245] o ICE - Interactive Connectivity Establishment,
[I-D.ietf-ice-rfc5245bis]
o TLS - Transport Layer Security, [RFC5246] o TLS - Transport Layer Security, [RFC5246]
o DTLS - Datagram Transport Layer Security, [RFC6347]. o DTLS - Datagram Transport Layer Security, [RFC6347].
3.2. Ability to use IPv4 and IPv6 3.2. Ability to use IPv4 and IPv6
Web applications running in a WebRTC browser MUST be able to utilize Web applications running in a WebRTC browser MUST be able to utilize
both IPv4 and IPv6 where available - that is, when two peers have both IPv4 and IPv6 where available - that is, when two peers have
only IPv4 connectivity to each other, or they have only IPv6 only IPv4 connectivity to each other, or they have only IPv6
skipping to change at page 5, line 20 skipping to change at page 5, line 20
restart, deprecated addresses that are currently in use MAY be restart, deprecated addresses that are currently in use MAY be
retained. retained.
3.4. Middle box related functions 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 is in traffic from the inside, but only from the outside if it is 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 [I-D.ietf-ice-rfc5245bis] MUST be supported. The implementation
ICE implementation, not ICE-Lite. A full ICE implementation allows MUST be a full ICE implementation, not ICE-Lite. A full ICE
interworking with both ICE and ICE-Lite implementations when they are implementation allows interworking with both ICE and ICE-Lite
deployed appropriately. 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
of the type that perform endpoint-dependent mapping (as defined in of the type that perform endpoint-dependent mapping (as defined in
[RFC5128] section 2.4), TURN [RFC5766] MUST be supported. [RFC5128] section 2.4), TURN [RFC5766] MUST be supported.
WebRTC browsers MUST support configuration of STUN and TURN servers, WebRTC browsers MUST support configuration of STUN and TURN servers,
both from browser configuration and from an application. both from browser configuration and from an application.
Note that there is other work around STUN and TURN sever discovery Note that there is other work around STUN and TURN sever discovery
and management, including [I-D.ietf-tram-turn-server-discovery] for and management, including [I-D.ietf-tram-turn-server-discovery] for
skipping to change at page 7, line 6 skipping to change at page 7, line 6
[I-D.ietf-rtcweb-data-channel], WebRTC endpoints MUST support SCTP [I-D.ietf-rtcweb-data-channel], WebRTC endpoints MUST support SCTP
over DTLS over ICE. This encapsulation is specified in 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 WebRTC data channels described in The setup protocol for WebRTC data channels described in
[I-D.ietf-rtcweb-data-protocol] MUST be supported. [I-D.ietf-rtcweb-data-protocol] MUST be supported.
Note: DTLS-SRTP as defined in [RFC5764] section 6.7.1 defines the Note: DTLS-SRTP as defined in [RFC5764] section 6.7.1 defines the
interaction between DTLS and ICE ( [RFC5245]). The effect of this interaction between DTLS and ICE ( [I-D.ietf-ice-rfc5245bis]). The
specification is that all ICE candidate pairs associated with a effect of this specification is that all ICE candidate pairs
single component are part of the same DTLS association. Thus, there associated with a single component are part of the same DTLS
will only be one DTLS handshake even if there are multiple valid association. Thus, there will only be one DTLS handshake even if
candidate pairs. there are multiple valid candidate pairs.
WebRTC endpoints MUST support multiplexing of DTLS and RTP over the WebRTC endpoints MUST support multiplexing of DTLS and RTP over the
same port pair, as described in the DTLS-SRTP specification same port pair, as described in the DTLS-SRTP specification
[RFC5764], section 5.1.2, with clarifications in [RFC5764], section 5.1.2, with clarifications in
[I-D.ietf-avtcore-rfc5764-mux-fixes]. All application layer protocol [I-D.ietf-avtcore-rfc5764-mux-fixes]. All application layer protocol
payloads over this DTLS connection are SCTP packets. payloads over this DTLS connection are SCTP packets.
Protocol identification MUST be supplied as part of the DTLS Protocol identification MUST be supplied as part of the DTLS
handshake, as specified in [I-D.ietf-rtcweb-alpn]. handshake, as specified in [I-D.ietf-rtcweb-alpn].
skipping to change at page 9, line 33 skipping to change at page 9, line 33
the communication. The sender can attempt to set the DSCP field of the communication. The sender can attempt to set the DSCP field of
the packet to influence these decisions. 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. Some examples of such
behaviors are described in [ANRW16]. The detection of these
conditions is implementation dependent. conditions is implementation dependent.
A particularly hard problem is when one media transport uses multiple A particularly hard problem is when one media transport uses multiple
DSCP code points, where one may be blocked and another may be DSCP code points, where one may be blocked and another may be
allowed. This is allowed even within a single media flow for video allowed. This is allowed even within a single media flow for video
in [I-D.ietf-tsvwg-rtcweb-qos]. Implementations need to diagnose in [I-D.ietf-tsvwg-rtcweb-qos]. Implementations need to diagnose
this scenario; one possible implementation is to send initial ICE this scenario; one possible implementation is to send initial ICE
probes with DSCP 0, and send ICE probes on all the DSCP code points probes with DSCP 0, and send ICE probes on all the DSCP code points
that are intended to be used once a candidate pair has been selected. that are intended to be used once a candidate pair has been selected.
If one or more of the DSCP-marked probes fail, the sender will switch If one or more of the DSCP-marked probes fail, the sender will switch
skipping to change at page 12, line 9 skipping to change at page 12, line 9
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-avtcore-rfc5764-mux-fixes] [I-D.ietf-avtcore-rfc5764-mux-fixes]
Petit-Huguenin, M. and G. Salgueiro, "Multiplexing Scheme Petit-Huguenin, M. and G. Salgueiro, "Multiplexing Scheme
Updates for Secure Real-time Transport Protocol (SRTP) Updates for Secure Real-time Transport Protocol (SRTP)
Extension for Datagram Transport Layer Security (DTLS)", Extension for Datagram Transport Layer Security (DTLS)",
draft-ietf-avtcore-rfc5764-mux-fixes-10 (work in draft-ietf-avtcore-rfc5764-mux-fixes-11 (work in
progress), July 2016. progress), September 2016.
[I-D.ietf-avtcore-rtp-circuit-breakers] [I-D.ietf-avtcore-rtp-circuit-breakers]
Perkins, C. and V. Singh, "Multimedia Congestion Control: Perkins, C. and V. Singh, "Multimedia Congestion Control:
Circuit Breakers for Unicast RTP Sessions", draft-ietf- Circuit Breakers for Unicast RTP Sessions", draft-ietf-
avtcore-rtp-circuit-breakers-18 (work in progress), August avtcore-rtp-circuit-breakers-06 (work in progress), July
2016. 2014.
[I-D.ietf-ice-rfc5245bis]
Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive
Connectivity Establishment (ICE): A Protocol for Network
Address Translator (NAT) Traversal", draft-ietf-ice-
rfc5245bis-04 (work in progress), June 2016.
[I-D.ietf-mmusic-ice-dualstack-fairness] [I-D.ietf-mmusic-ice-dualstack-fairness]
Martinsen, P., Reddy, T., and P. Patil, "ICE Multihomed Martinsen, P., Reddy, T., and P. Patil, "ICE Multihomed
and IPv4/IPv6 Dual Stack Fairness", draft-ietf-mmusic-ice- and IPv4/IPv6 Dual Stack Fairness", draft-ietf-mmusic-ice-
dualstack-fairness-02 (work in progress), September 2015. dualstack-fairness-02 (work in progress), September 2015.
[I-D.ietf-mmusic-sctp-sdp] [I-D.ietf-mmusic-sctp-sdp]
Holmberg, C., Loreto, S., and G. Camarillo, "Stream Loreto, S. and G. Camarillo, "Stream Control Transmission
Control Transmission Protocol (SCTP)-Based Media Transport Protocol (SCTP)-Based Media Transport in the Session
in the Session Description Protocol (SDP)", draft-ietf- Description Protocol (SDP)", draft-ietf-mmusic-sctp-sdp-07
mmusic-sctp-sdp-16 (work in progress), February 2016. (work in progress), July 2014.
[I-D.ietf-rmcat-cc-requirements] [I-D.ietf-rmcat-cc-requirements]
Jesup, R. and Z. Sarker, "Congestion Control Requirements Jesup, R., "Congestion Control Requirements For RMCAT",
for Interactive Real-Time Media", draft-ietf-rmcat-cc- draft-ietf-rmcat-cc-requirements-06 (work in progress),
requirements-09 (work in progress), December 2014. October 2014.
[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-04 (work in progress), May 2016. alpn-00 (work in progress), July 2014.
[I-D.ietf-rtcweb-data-channel] [I-D.ietf-rtcweb-data-channel]
Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data
Channels", draft-ietf-rtcweb-data-channel-13 (work in Channels", draft-ietf-rtcweb-data-channel-12 (work in
progress), January 2015. progress), September 2014.
[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-08 (work in progress), September 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-15 Browser-based Applications", draft-ietf-rtcweb-overview-11
(work in progress), January 2016. (work in progress), August 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-26 (work in progress), March draft-ietf-rtcweb-rtp-usage-17 (work in progress), August
2016. 2014.
[I-D.ietf-rtcweb-security] [I-D.ietf-rtcweb-security]
Rescorla, E., "Security Considerations for WebRTC", draft- Rescorla, E., "Security Considerations for WebRTC", draft-
ietf-rtcweb-security-08 (work in progress), February 2015. ietf-rtcweb-security-07 (work in progress), July 2014.
[I-D.ietf-rtcweb-security-arch] [I-D.ietf-rtcweb-security-arch]
Rescorla, E., "WebRTC Security Architecture", draft-ietf- Rescorla, E., "WebRTC Security Architecture", draft-ietf-
rtcweb-security-arch-11 (work in progress), March 2015. rtcweb-security-arch-10 (work in progress), July 2014.
[I-D.ietf-tsvwg-rtcweb-qos] [I-D.ietf-tsvwg-rtcweb-qos]
Jones, P., Dhesikan, S., Jennings, C., and D. Druta, "DSCP Dhesikan, S., Jennings, C., Druta, D., Jones, P., and J.
Packet Markings for WebRTC QoS", draft-ietf-tsvwg-rtcweb- Polk, "DSCP and other packet markings for RTCWeb QoS",
qos-17 (work in progress), May 2016. draft-ietf-tsvwg-rtcweb-qos-02 (work in progress), June
2014.
[I-D.ietf-tsvwg-sctp-dtls-encaps] [I-D.ietf-tsvwg-sctp-dtls-encaps]
Tuexen, M., Stewart, R., Jesup, R., and S. Loreto, "DTLS Tuexen, M., Stewart, R., Jesup, R., and S. Loreto, "DTLS
Encapsulation of SCTP Packets", draft-ietf-tsvwg-sctp- Encapsulation of SCTP Packets", draft-ietf-tsvwg-sctp-
dtls-encaps-09 (work in progress), January 2015. dtls-encaps-05 (work in progress), July 2014.
[I-D.ietf-tsvwg-sctp-ndata] [I-D.ietf-tsvwg-sctp-ndata]
Stewart, R., Tuexen, M., Loreto, S., and R. Seggelmann, Stewart, R., Tuexen, M., Loreto, S., and R. Seggelmann,
"Stream Schedulers and User Message Interleaving for the "Stream Schedulers and a New Data Chunk for the Stream
Stream Control Transmission Protocol", draft-ietf-tsvwg- Control Transmission Protocol", draft-ietf-tsvwg-sctp-
sctp-ndata-05 (work in progress), March 2016. ndata-01 (work in progress), July 2014.
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, DOI [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
10.17487/RFC0768, August 1980, 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, DOI 10.17487/RFC0793, September 1981, 793, 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, DOI 10.17487/ Requirement Levels", BCP 14, RFC 2119, March 1997.
RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[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, DOI 10.17487/RFC4571, July Oriented Transport", RFC 4571, July 2006.
2006, <http://www.rfc-editor.org/info/rfc4571>.
[RFC4594] Babiarz, J., Chan, K., and F. Baker, "Configuration [RFC4594] Babiarz, J., Chan, K., and F. Baker, "Configuration
Guidelines for DiffServ Service Classes", RFC 4594, DOI Guidelines for DiffServ Service Classes", RFC 4594, August
10.17487/RFC4594, August 2006, 2006.
<http://www.rfc-editor.org/info/rfc4594>.
[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
IPv6", RFC 4941, DOI 10.17487/RFC4941, September 2007, IPv6", RFC 4941, September 2007.
<http://www.rfc-editor.org/info/rfc4941>.
[RFC5245] Rosenberg, J., "Interactive Connectivity Establishment
(ICE): A Protocol for Network Address Translator (NAT)
Traversal for Offer/Answer Protocols", RFC 5245, DOI
10.17487/RFC5245, April 2010,
<http://www.rfc-editor.org/info/rfc5245>.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, DOI 10.17487/ (TLS) Protocol Version 1.2", RFC 5246, August 2008.
RFC5246, August 2008,
<http://www.rfc-editor.org/info/rfc5246>.
[RFC5389] Rosenberg, J., Mahy, R., Matthews, P., and D. Wing, [RFC5389] Rosenberg, J., Mahy, R., Matthews, P., and D. Wing,
"Session Traversal Utilities for NAT (STUN)", RFC 5389, "Session Traversal Utilities for NAT (STUN)", RFC 5389,
DOI 10.17487/RFC5389, October 2008, October 2008.
<http://www.rfc-editor.org/info/rfc5389>.
[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, DOI Real-time Transport Protocol (SRTP)", RFC 5764, May 2010.
10.17487/RFC5764, May 2010,
<http://www.rfc-editor.org/info/rfc5764>.
[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, DOI Traversal Utilities for NAT (STUN)", RFC 5766, April 2010.
10.17487/RFC5766, April 2010,
<http://www.rfc-editor.org/info/rfc5766>.
[RFC6062] Perreault, S., Ed. and J. Rosenberg, "Traversal Using [RFC6062] Perreault, S. and J. Rosenberg, "Traversal Using Relays
Relays around NAT (TURN) Extensions for TCP Allocations", around NAT (TURN) Extensions for TCP Allocations", RFC
RFC 6062, DOI 10.17487/RFC6062, November 2010, 6062, November 2010.
<http://www.rfc-editor.org/info/rfc6062>.
[RFC6156] Camarillo, G., Novo, O., and S. Perreault, Ed., "Traversal [RFC6156] Camarillo, G., Novo, O., and S. Perreault, "Traversal
Using Relays around NAT (TURN) Extension for IPv6", RFC Using Relays around NAT (TURN) Extension for IPv6", RFC
6156, DOI 10.17487/RFC6156, April 2011, 6156, April 2011.
<http://www.rfc-editor.org/info/rfc6156>.
[RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer [RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer
Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347, Security Version 1.2", RFC 6347, January 2012.
January 2012, <http://www.rfc-editor.org/info/rfc6347>.
[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, DOI 10.17487/RFC6544, Establishment (ICE)", RFC 6544, March 2012.
March 2012, <http://www.rfc-editor.org/info/rfc6544>.
[RFC6724] Thaler, D., Ed., 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, DOI 10.17487/RFC6724, September 2012, (IPv6)", RFC 6724, September 2012.
<http://www.rfc-editor.org/info/rfc6724>.
[RFC7231] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer [RFC7231] Fielding, R. and J. Reschke, "Hypertext Transfer Protocol
Protocol (HTTP/1.1): Semantics and Content", RFC 7231, DOI (HTTP/1.1): Semantics and Content", RFC 7231, June 2014.
10.17487/RFC7231, June 2014,
<http://www.rfc-editor.org/info/rfc7231>.
[RFC7235] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer [RFC7235] Fielding, R. and J. Reschke, "Hypertext Transfer Protocol
Protocol (HTTP/1.1): Authentication", RFC 7235, DOI (HTTP/1.1): Authentication", RFC 7235, June 2014.
10.17487/RFC7235, June 2014,
<http://www.rfc-editor.org/info/rfc7235>.
[RFC7639] Hutton, A., Uberti, J., and M. Thomson, "The ALPN HTTP [RFC7639] Hutton, A., Uberti, J., and M. Thomson, "The ALPN HTTP
Header Field", RFC 7639, DOI 10.17487/RFC7639, August Header Field", RFC 7639, DOI 10.17487/RFC7639, August
2015, <http://www.rfc-editor.org/info/rfc7639>. 2015, <http://www.rfc-editor.org/info/rfc7639>.
[RFC7656] Lennox, J., Gross, K., Nandakumar, S., Salgueiro, G., and [RFC7656] Lennox, J., Gross, K., Nandakumar, S., Salgueiro, G., and
B. Burman, Ed., "A Taxonomy of Semantics and Mechanisms B. Burman, Ed., "A Taxonomy of Semantics and Mechanisms
for Real-Time Transport Protocol (RTP) Sources", RFC 7656, for Real-Time Transport Protocol (RTP) Sources", RFC 7656,
DOI 10.17487/RFC7656, November 2015, DOI 10.17487/RFC7656, November 2015,
<http://www.rfc-editor.org/info/rfc7656>. <http://www.rfc-editor.org/info/rfc7656>.
8.2. Informative References 8.2. Informative References
[ANRW16] Barik, R., Welzl, M., and A. Elmokashfi, "How to say that
you're special: Can we use bits in the IPv4 header?", ACM,
IRTF, ISOC Applied Networking Research Workshop (ANRW
2016), Berlin , July 2016.
[I-D.ietf-rmcat-coupled-cc] [I-D.ietf-rmcat-coupled-cc]
Islam, S., Welzl, M., and S. Gjessing, "Coupled congestion Islam, S., Welzl, M., and S. Gjessing, "Coupled congestion
control for RTP media", draft-ietf-rmcat-coupled-cc-03 control for RTP media", draft-ietf-rmcat-coupled-cc-03
(work in progress), July 2016. (work in progress), July 2016.
[I-D.ietf-rtcweb-return] [I-D.ietf-rtcweb-return]
Schwartz, B. and J. Uberti, "Recursively Encapsulated TURN Schwartz, B. and J. Uberti, "Recursively Encapsulated TURN
(RETURN) for Connectivity and Privacy in WebRTC", draft- (RETURN) for Connectivity and Privacy in WebRTC", draft-
ietf-rtcweb-return-01 (work in progress), January 2016. ietf-rtcweb-return-01 (work in progress), January 2016.
[I-D.ietf-tram-turn-server-discovery] [I-D.ietf-tram-turn-server-discovery]
Patil, P., Reddy, T., and D. Wing, "TURN Server Auto Patil, P., Reddy, T., and D. Wing, "TURN Server Auto
Discovery", draft-ietf-tram-turn-server-discovery-09 (work Discovery", draft-ietf-tram-turn-server-discovery-00 (work
in progress), August 2016. in progress), July 2014.
[RFC3484] Draves, R., "Default Address Selection for Internet [RFC3484] Draves, R., "Default Address Selection for Internet
Protocol version 6 (IPv6)", RFC 3484, DOI 10.17487/ Protocol version 6 (IPv6)", RFC 3484, February 2003.
RFC3484, February 2003,
<http://www.rfc-editor.org/info/rfc3484>.
[RFC5014] Nordmark, E., Chakrabarti, S., and J. Laganier, "IPv6 [RFC5014] Nordmark, E., Chakrabarti, S., and J. Laganier, "IPv6
Socket API for Source Address Selection", RFC 5014, DOI Socket API for Source Address Selection", RFC 5014,
10.17487/RFC5014, September 2007, September 2007.
<http://www.rfc-editor.org/info/rfc5014>.
[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, DOI 10.17487/RFC5128, March Translators (NATs)", RFC 5128, March 2008.
2008, <http://www.rfc-editor.org/info/rfc5128>.
[RFC7657] Black, D., Ed. and P. Jones, "Differentiated Services [RFC7657] Black, D., Ed. and P. Jones, "Differentiated Services
(Diffserv) and Real-Time Communication", RFC 7657, DOI (Diffserv) and Real-Time Communication", RFC 7657, DOI 10
10.17487/RFC7657, November 2015, .17487/RFC7657, November 2015,
<http://www.rfc-editor.org/info/rfc7657>. <http://www.rfc-editor.org/info/rfc7657>.
Appendix A. Change log Appendix A. Change log
This section should be removed before publication as an RFC. This section should be removed before publication as an RFC.
A.1. Changes from -00 to -01 A.1. Changes from -00 to -01
o Clarified DSCP requirements, with reference to -qos- o Clarified DSCP requirements, with reference to -qos-
skipping to change at page 20, line 32 skipping to change at page 20, line 10
#42) #42)
o Added a note mentioning that rtp-usage requires circut breaker and o Added a note mentioning that rtp-usage requires circut breaker and
congestion control (issue #43) congestion control (issue #43)
o Added mention of the "don't discard temporary IPv6 addresses that o Added mention of the "don't discard temporary IPv6 addresses that
are in use" (issue #44) are in use" (issue #44)
o Added a reference to draft-ietf-rmcat-coupled-cc (issue #46) o Added a reference to draft-ietf-rmcat-coupled-cc (issue #46)
A.17. Changes from -16 to -17
o Added an informative reference to the "DSCP blackholing" paper
o Changed the reference for ICE from RFC 5245 to draft-ietf-ice-
rfc5245bis
Author's Address Author's Address
Harald Alvestrand Harald Alvestrand
Google Google
Email: harald@alvestrand.no Email: harald@alvestrand.no
 End of changes. 51 change blocks. 
116 lines changed or deleted 105 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/