draft-ietf-tsvwg-rtcweb-qos-14.txt   draft-ietf-tsvwg-rtcweb-qos-15.txt 
Network Working Group P. Jones Network Working Group P. Jones
Internet-Draft S. Dhesikan Internet-Draft S. Dhesikan
Intended status: Standards Track C. Jennings Intended status: Standards Track C. Jennings
Expires: September 11, 2016 Cisco Systems Expires: September 19, 2016 Cisco Systems
D. Druta D. Druta
AT&T AT&T
March 10, 2016 March 18, 2016
DSCP and other packet markings for WebRTC QoS DSCP and other packet markings for WebRTC QoS
draft-ietf-tsvwg-rtcweb-qos-14 draft-ietf-tsvwg-rtcweb-qos-15
Abstract Abstract
Many networks, such as service provider and enterprise networks, can Many networks, such as service provider and enterprise networks, can
provide different forwarding treatments for individual packets based provide different forwarding treatments for individual packets based
on Differentiated Services Code Point (DSCP) values on a per-hop on Differentiated Services Code Point (DSCP) values on a per-hop
basis. This document provides the recommended DSCP values for web basis. This document provides the recommended DSCP values for web
browsers to use for various classes of WebRTC traffic. browsers to use for various classes of WebRTC traffic.
Status of This Memo Status of This Memo
skipping to change at page 1, line 37 skipping to change at page 1, line 37
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 September 11, 2016. This Internet-Draft will expire on September 19, 2016.
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 18 skipping to change at page 2, line 18
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Relation to Other Specifications . . . . . . . . . . . . . . 3 2. Relation to Other Specifications . . . . . . . . . . . . . . 3
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5. DSCP Mappings . . . . . . . . . . . . . . . . . . . . . . . . 5 5. DSCP Mappings . . . . . . . . . . . . . . . . . . . . . . . . 5
6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
8. Downward References . . . . . . . . . . . . . . . . . . . . . 7 8. Downward References . . . . . . . . . . . . . . . . . . . . . 7
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8
10. Dedication . . . . . . . . . . . . . . . . . . . . . . . . . 8 10. Dedication . . . . . . . . . . . . . . . . . . . . . . . . . 8
11. Document History . . . . . . . . . . . . . . . . . . . . . . 8 11. Document History . . . . . . . . . . . . . . . . . . . . . . 8
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
12.1. Normative References . . . . . . . . . . . . . . . . . . 8 12.1. Normative References . . . . . . . . . . . . . . . . . . 8
12.2. Informative References . . . . . . . . . . . . . . . . . 9 12.2. Informative References . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction 1. Introduction
Differentiated Services Code Point (DSCP) [RFC2474] packet marking Differentiated Services Code Point (DSCP) [RFC2474] packet marking
can help provide QoS in some environments. This specification can help provide QoS in some environments. This specification
provides default packet marking for browsers that support WebRTC provides default packet marking for browsers that support WebRTC
applications, but does not change any advice or requirements in applications, but does not change any advice or requirements in other
existing IETF RFCs. The contents of this specification are intended IETF RFCs. The contents of this specification are intended to be a
to be a simple set of implementation recommendations based on the simple set of implementation recommendations based on the previous
previous RFCs. RFCs.
There are many use cases where such marking does not help, but it There are many use cases where such marking does not help, but it
seldom makes things worse if packets are marked appropriately. There seldom makes things worse if packets are marked appropriately. There
are some environments where DSCP markings frequently help, though. are some environments where DSCP markings frequently help, though.
These include: These include:
1. Private, wide-area networks. 1. Private, wide-area networks. Network administrators have control
over remarking packets and treatment of packets.
2. Residential Networks. If the congested link is the broadband 2. Residential Networks. If the congested link is the broadband
uplink in a cable or DSL scenario, often residential routers/NAT uplink in a cable or DSL scenario, often residential routers/NAT
support preferential treatment based on DSCP. support preferential treatment based on DSCP.
3. Wireless Networks. If the congested link is a local wireless 3. Wireless Networks. If the congested link is a local wireless
network, marking may help. network, marking may help.
DSCP values are in principle site specific, with each site selecting DSCP values are in principle site specific, with each site selecting
its own code points for controlling per-hop-behavior to influence the its own code points for controlling per-hop-behavior to influence the
skipping to change at page 3, line 41 skipping to change at page 3, line 44
data channel [I-D.ietf-rtcweb-data-channel] traffic over the same data channel [I-D.ietf-rtcweb-data-channel] traffic over the same
5-tuple as RTP streams, which would also be marked as per that table. 5-tuple as RTP streams, which would also be marked as per that table.
The guidance in [RFC7657] says that all data channel traffic would be The guidance in [RFC7657] says that all data channel traffic would be
marked with a single value that is typically different than the marked with a single value that is typically different than the
value(s) used for RTP streams multiplexed with the data channel value(s) used for RTP streams multiplexed with the data channel
traffic over the same 5-tuple, assuming RTP streams are marked with a traffic over the same 5-tuple, assuming RTP streams are marked with a
value other than default forwarding (DF). This is expanded upon value other than default forwarding (DF). This is expanded upon
further in the next section. further in the next section.
This specification does not change or override the advice in any This specification does not change or override the advice in any
other standards about setting packet markings. Rather, it simply other IETF RFCs about setting packet markings. Rather, it simply
selects a subset of DSCP values that is relevant in the WebRTC selects a subset of DSCP values that is relevant in the WebRTC
context. context.
The DSCP value set by the endpoint is not trusted by the network. In The DSCP value set by the endpoint is not trusted by the network. In
addition, the DSCP value may be remarked at any place in the network addition, the DSCP value may be remarked at any place in the network
for a variety of reasons to any other DSCP value, including default for a variety of reasons to any other DSCP value, including default
forwarding (DF) value to provide basic best effort service. Even so, forwarding (DF) value to provide basic best effort service. Even so,
there is benefit in marking traffic even if it only benefits the there is benefit in marking traffic even if it only benefits the
first few hops. The implications are discussed in Secton 3.2 of first few hops. The implications are discussed in Secton 3.2 of
[RFC7657]. Further, a mitigation for such action is through an [RFC7657]. Further, a mitigation for such action is through an
skipping to change at page 6, line 6 skipping to change at page 6, line 6
"less than best effort", such as the LE behavior described in "less than best effort", such as the LE behavior described in
[RFC3662]. However, the treatment of CS1 is implementation [RFC3662]. However, the treatment of CS1 is implementation
dependent. If an implementation treats CS1 as other than "less than dependent. If an implementation treats CS1 as other than "less than
best effort", then the actual priority (or, more precisely, the per- best effort", then the actual priority (or, more precisely, the per-
hop-behavior) of the packets may be changed from what is intended. hop-behavior) of the packets may be changed from what is intended.
It is common for CS1 to be treated the same as DF, so applications It is common for CS1 to be treated the same as DF, so applications
and browsers using CS1 cannot assume that CS1 will be treated and browsers using CS1 cannot assume that CS1 will be treated
differently than DF [RFC7657]. However, it is also possible per differently than DF [RFC7657]. However, it is also possible per
[RFC2474] for CS1 traffic to be given better treatment than DF, thus [RFC2474] for CS1 traffic to be given better treatment than DF, thus
caution should be exercised when electing to use CS1. caution should be exercised when electing to use CS1. This is one of
the cases where marking packets using these recommendations can make
things worse.
Implementers should also note that excess EF traffic is dropped. Implementers should also note that excess EF traffic is dropped.
This could mean that a packet marked as EF may not get through as This could mean that a packet marked as EF may not get through,
opposed to a packet marked with a different DSCP value. This is not although the same packet marked with a different DSCP value would
a flaw, but how excess EF traffic is intended to be treated. have gotten through. This is not a flaw, but how excess EF traffic
is intended to be treated.
The browser SHOULD first select the flow type of the flow. Within The browser SHOULD first select the flow type of the flow. Within
the flow type, the relative importance of the flow SHOULD be used to the flow type, the relative importance of the flow SHOULD be used to
select the appropriate DSCP value. select the appropriate DSCP value.
The combination of flow type and application priority provides The combination of flow type and application priority provides
specificity and helps in selecting the right DSCP value for the flow. specificity and helps in selecting the right DSCP value for the flow.
All packets within a flow SHOULD have the same application priority. All packets within a flow SHOULD have the same application priority.
In some cases, the selected application priority cell may have In some cases, the selected application priority cell may have
multiple DSCP values, such as AF41 and AF42. These offer different multiple DSCP values, such as AF41 and AF42. These offer different
drop precedences. The different drop precedence values provides drop precedences. The different drop precedence values provides
additional granularity in classifying packets within a flow. For additional granularity in classifying packets within a flow. For
example, in a video conference, the video flow may have medium example, in a video conference, the video flow may have medium
application priority. If so, either AF42 or AF43 may be selected. application priority. If so, either AF42 or AF43 may be selected.
If the I-frames in the stream are more important than the P-frames, If the I-frames in the stream are more important than the P-frames,
then the I-frames can be marked with AF42 and the P-frames marked then the I-frames can be marked with AF42 and the P-frames marked
with AF43. with AF43. (See Section 3 of [RFC6386] for a description of video
frame types.)
It is worth noting that the application priority is utilized by the It is worth noting that the application priority is utilized by the
coupled congestion control mechanism for media flows per coupled congestion control mechanism for media flows per
[I-D.ietf-rmcat-coupled-cc] and the SCTP scheduler for data channel [I-D.ietf-rmcat-coupled-cc] and the SCTP scheduler for data channel
traffic per [I-D.ietf-rtcweb-data-channel]. traffic per [I-D.ietf-rtcweb-data-channel].
For reasons discussed in Section 6 of [RFC7657], if multiple flows For reasons discussed in Section 6 of [RFC7657], if multiple flows
are multiplexed using a reliable transport (e.g., TCP) then all of are multiplexed using a reliable transport (e.g., TCP) then all of
the packets for all flows multiplexed over that transport-layer flow the packets for all flows multiplexed over that transport-layer flow
MUST be marked using the same DSCP value. Likewise, all WebRTC data MUST be marked using the same DSCP value. Likewise, all WebRTC data
skipping to change at page 7, line 31 skipping to change at page 7, line 33
restoring such original DSCP is outside the scope of this document. restoring such original DSCP is outside the scope of this document.
In summary, DSCP marking provides neither guarantees nor promised In summary, DSCP marking provides neither guarantees nor promised
levels of service. However, DSCP marking is expected to provide a levels of service. However, DSCP marking is expected to provide a
statistical improvement in real-time service as a whole. The service statistical improvement in real-time service as a whole. The service
provided to a packet is dependent upon the network design along the provided to a packet is dependent upon the network design along the
path, as well as the network conditions at every hop. path, as well as the network conditions at every hop.
6. Security Considerations 6. Security Considerations
This specification does not add any additional security implication This specification does not add any additional security implications
other than the normal application use of DSCP not already addressed beyond those addressed in the following DSCP-related specifications.
by the following specifications. For security implications on use of For security implications on use of DSCP, please refer to Section 7
DSCP, please refer to Section 7 of [RFC7657] and Section 6 of of [RFC7657] and Section 6 of [RFC4594]. Please also see
[RFC4594]. Please also see [I-D.ietf-rtcweb-security] as an [I-D.ietf-rtcweb-security] as an additional reference.
additional reference.
7. IANA Considerations 7. IANA Considerations
This specification does not require any actions from IANA. This specification does not require any actions from IANA.
8. Downward References 8. Downward References
This specification contains a downwards reference to [RFC4594]. This specification contains a downwards reference to [RFC4594] and
However, the parts of that RFC used by this specification are [RFC7657]. However, the parts of the former RFC used by this
sufficiently stable for this downward reference. specification are sufficiently stable for this downward reference.
The guidance in the latter RFC is necessary to understand the
Diffserv technology used in this document and the motivation for the
recommended DSCP values and procedures.
9. Acknowledgements 9. Acknowledgements
Thanks to David Black, Magnus Westerland, Paolo Severini, Jim Thanks to David Black, Magnus Westerland, Paolo Severini, Jim
Hasselbrook, Joe Marcus, Erik Nordmark, Michael Tuexen, and Brian Hasselbrook, Joe Marcus, Erik Nordmark, Michael Tuexen, and Brian
Carpenter for their invaluable input. Carpenter for their invaluable input.
10. Dedication 10. Dedication
This document is dedicated to the memory of James Polk, a long-time This document is dedicated to the memory of James Polk, a long-time
friend and colleague. James made important contributions to this friend and colleague. James made important contributions to this
specification, including being one of its primary authors. The IETF specification, including serving initially as one of the primary
global community mourns his loss and he will be missed dearly. authors. The IETF global community mourns his loss and he will be
missed dearly.
11. Document History 11. Document History
Note to RFC Editor: Please remove this section. Note to RFC Editor: Please remove this section.
This document was originally an individual submission in RTCWeb WG. This document was originally an individual submission in RTCWeb WG.
The RTCWeb working group selected it to be become a WG document. The RTCWeb working group selected it to be become a WG document.
Later the transport ADs requested that this be moved to the TSVWG WG Later the transport ADs requested that this be moved to the TSVWG WG
as that seemed to be a better match. as that seemed to be a better match.
skipping to change at page 8, line 33 skipping to change at page 8, line 40
12.1. Normative References 12.1. Normative References
[I-D.ietf-rtcweb-data-channel] [I-D.ietf-rtcweb-data-channel]
Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data
Channels", draft-ietf-rtcweb-data-channel-13 (work in Channels", draft-ietf-rtcweb-data-channel-13 (work in
progress), January 2015. progress), January 2015.
[I-D.ietf-rtcweb-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-25 (work in progress), June draft-ietf-rtcweb-rtp-usage-26 (work in progress), March
2015. 2016.
[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-08 (work in progress), February 2015.
[I-D.ietf-rtcweb-transports] [I-D.ietf-rtcweb-transports]
Alvestrand, H., "Transports for WebRTC", draft-ietf- Alvestrand, H., "Transports for WebRTC", draft-ietf-
rtcweb-transports-11 (work in progress), January 2016. rtcweb-transports-11 (work in progress), January 2016.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
skipping to change at page 9, line 44 skipping to change at page 10, line 5
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,
July 2003, <http://www.rfc-editor.org/info/rfc3550>. July 2003, <http://www.rfc-editor.org/info/rfc3550>.
[RFC3662] Bless, R., Nichols, K., and K. Wehrle, "A Lower Effort [RFC3662] Bless, R., Nichols, K., and K. Wehrle, "A Lower Effort
Per-Domain Behavior (PDB) for Differentiated Services", Per-Domain Behavior (PDB) for Differentiated Services",
RFC 3662, DOI 10.17487/RFC3662, December 2003, RFC 3662, DOI 10.17487/RFC3662, December 2003,
<http://www.rfc-editor.org/info/rfc3662>. <http://www.rfc-editor.org/info/rfc3662>.
[RFC6386] Bankoski, J., Koleszar, J., Quillio, L., Salonen, J.,
Wilkins, P., and Y. Xu, "VP8 Data Format and Decoding
Guide", RFC 6386, DOI 10.17487/RFC6386, November 2011,
<http://www.rfc-editor.org/info/rfc6386>.
[W3C.REC-html5-20141028] [W3C.REC-html5-20141028]
Hickson, I., Berjon, R., Faulkner, S., Leithead, T., Hickson, I., Berjon, R., Faulkner, S., Leithead, T.,
Navara, E., O&#039;Connor, E., and S. Pfeiffer, "HTML5", Navara, E., O&#039;Connor, E., and S. Pfeiffer, "HTML5",
World Wide Web Consortium Recommendation REC- World Wide Web Consortium Recommendation REC-
html5-20141028, October 2014, html5-20141028, October 2014,
<http://www.w3.org/TR/2014/REC-html5-20141028>. <http://www.w3.org/TR/2014/REC-html5-20141028>.
Authors' Addresses Authors' Addresses
Paul E. Jones Paul E. Jones
 End of changes. 16 change blocks. 
29 lines changed or deleted 42 lines changed or added

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