rfc8837xml2.original.xml | rfc8837.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='utf-8'?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" conse | |||
<?rfc toc="yes"?> | nsus="true" docName="draft-ietf-tsvwg-rtcweb-qos-18" indexInclude="true" ipr="tr | |||
<?rfc tocompact="yes"?> | ust200902" number="8837" prepTime="2021-01-16T23:27:34" scripts="Common,Latin" s | |||
<?rfc tocdepth="3"?> | ortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="tru | |||
<?rfc tocindent="yes"?> | e" xml:lang="en"> | |||
<?rfc symrefs="yes"?> | <link href="https://datatracker.ietf.org/doc/draft-ietf-tsvwg-rtcweb-qos-18" r | |||
<?rfc sortrefs="yes"?> | el="prev"/> | |||
<?rfc comments="yes"?> | <link href="https://dx.doi.org/10.17487/rfc8837" rel="alternate"/> | |||
<?rfc inline="yes"?> | <link href="urn:issn:2070-1721" rel="alternate"/> | |||
<?rfc compact="yes"?> | ||||
<?rfc subcompact="no"?> | ||||
<rfc category="std" docName="draft-ietf-tsvwg-rtcweb-qos-18" | ||||
ipr="trust200902"> | ||||
<front> | <front> | |||
<title abbrev="WebRTC QoS"> | <title abbrev="WebRTC QoS">Differentiated Services Code Point (DSCP) Packet | |||
DSCP Packet Markings for WebRTC QoS | Markings for WebRTC QoS</title> | |||
</title> | <seriesInfo name="RFC" value="8837" stream="IETF"/> | |||
<author fullname="Paul E. Jones" initials="P." surname="Jones"> | <author fullname="Paul E. Jones" initials="P." surname="Jones"> | |||
<organization>Cisco Systems</organization> | <organization showOnFrontPage="true">Cisco Systems</organization> | |||
<address> | <address> | |||
<email>paulej@packetizer.com</email> | <email>paulej@packetizer.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Subha Dhesikan" initials="S." surname="Dhesikan"> | <author fullname="Subha Dhesikan" initials="S." surname="Dhesikan"> | |||
<organization>Cisco Systems</organization> | <organization showOnFrontPage="true">Individual</organization> | |||
<address> | <address> | |||
<email>sdhesika@cisco.com</email> | <email>sdhesikan@gmail.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Cullen Jennings" initials="C." surname="Jennings"> | ||||
<author fullname="Cullen Jennings" initials="C." | <organization showOnFrontPage="true">Cisco Systems</organization> | |||
surname="Jennings"> | ||||
<organization>Cisco Systems</organization> | ||||
<address> | <address> | |||
<email>fluffy@cisco.com</email> | <email>fluffy@cisco.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Dan Druta" initials="D." surname="Druta"> | <author fullname="Dan Druta" initials="D." surname="Druta"> | |||
<organization>AT&T</organization> | <organization showOnFrontPage="true">AT&T</organization> | |||
<address> | <address> | |||
<email>dd5826@att.com</email> | <email>dd5826@att.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date month="01" year="2021"/> | ||||
<date/> | <keyword>Diffserv</keyword> | |||
<keyword>rtcweb</keyword> | ||||
<abstract> | <abstract pn="section-abstract"> | |||
<t> | <t indent="0" pn="section-abstract-1"> | |||
Many networks, such as service provider and enterprise networks, | Networks can provide different forwarding treatments for individual | |||
can provide different forwarding treatments for individual | ||||
packets based on Differentiated Services Code Point (DSCP) | packets based on Differentiated Services Code Point (DSCP) | |||
values on a per-hop basis. This document provides the | values on a per-hop basis. This document provides the | |||
recommended DSCP values for web browsers to use for various | recommended DSCP values for web browsers to use for various | |||
classes of WebRTC traffic. | classes of Web Real-Time Communication (WebRTC) traffic. | |||
</t> | </t> | |||
</abstract> | </abstract> | |||
<boilerplate> | ||||
<section anchor="status-of-memo" numbered="false" removeInRFC="false" toc= | ||||
"exclude" pn="section-boilerplate.1"> | ||||
<name slugifiedName="name-status-of-this-memo">Status of This Memo</name | ||||
> | ||||
<t indent="0" pn="section-boilerplate.1-1"> | ||||
This is an Internet Standards Track document. | ||||
</t> | ||||
<t indent="0" pn="section-boilerplate.1-2"> | ||||
This document is a product of the Internet Engineering Task Force | ||||
(IETF). It represents the consensus of the IETF community. It has | ||||
received public review and has been approved for publication by | ||||
the Internet Engineering Steering Group (IESG). Further | ||||
information on Internet Standards is available in Section 2 of | ||||
RFC 7841. | ||||
</t> | ||||
<t indent="0" pn="section-boilerplate.1-3"> | ||||
Information about the current status of this document, any | ||||
errata, and how to provide feedback on it may be obtained at | ||||
<eref target="https://www.rfc-editor.org/info/rfc8837" brackets="non | ||||
e"/>. | ||||
</t> | ||||
</section> | ||||
<section anchor="copyright" numbered="false" removeInRFC="false" toc="excl | ||||
ude" pn="section-boilerplate.2"> | ||||
<name slugifiedName="name-copyright-notice">Copyright Notice</name> | ||||
<t indent="0" pn="section-boilerplate.2-1"> | ||||
Copyright (c) 2021 IETF Trust and the persons identified as the | ||||
document authors. All rights reserved. | ||||
</t> | ||||
<t indent="0" pn="section-boilerplate.2-2"> | ||||
This document is subject to BCP 78 and the IETF Trust's Legal | ||||
Provisions Relating to IETF Documents | ||||
(<eref target="https://trustee.ietf.org/license-info" brackets="none | ||||
"/>) in effect on the date of | ||||
publication of this document. Please review these documents | ||||
carefully, as they describe your rights and restrictions with | ||||
respect to this document. Code Components extracted from this | ||||
document must include Simplified BSD License text as described in | ||||
Section 4.e of the Trust Legal Provisions and are provided without | ||||
warranty as described in the Simplified BSD License. | ||||
</t> | ||||
</section> | ||||
</boilerplate> | ||||
<toc> | ||||
<section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" p | ||||
n="section-toc.1"> | ||||
<name slugifiedName="name-table-of-contents">Table of Contents</name> | ||||
<ul bare="true" empty="true" indent="2" spacing="compact" pn="section-to | ||||
c.1-1"> | ||||
<li pn="section-toc.1-1.1"> | ||||
<t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref der | ||||
ivedContent="1" format="counter" sectionFormat="of" target="section-1"/>. <xref | ||||
derivedContent="" format="title" sectionFormat="of" target="name-introduction"> | ||||
Introduction</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.2"> | ||||
<t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref der | ||||
ivedContent="2" format="counter" sectionFormat="of" target="section-2"/>. <xref | ||||
derivedContent="" format="title" sectionFormat="of" target="name-terminology">T | ||||
erminology</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.3"> | ||||
<t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref der | ||||
ivedContent="3" format="counter" sectionFormat="of" target="section-3"/>. <xref | ||||
derivedContent="" format="title" sectionFormat="of" target="name-relation-to-ot | ||||
her-specifica">Relation to Other Specifications</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.4"> | ||||
<t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" form | ||||
at="counter" sectionFormat="of" target="section-4"/>. <xref derivedContent="" f | ||||
ormat="title" sectionFormat="of" target="name-inputs">Inputs</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.5"> | ||||
<t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" form | ||||
at="counter" sectionFormat="of" target="section-5"/>. <xref derivedContent="" f | ||||
ormat="title" sectionFormat="of" target="name-dscp-mappings">DSCP Mappings</xref | ||||
></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.6"> | ||||
<t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" form | ||||
at="counter" sectionFormat="of" target="section-6"/>. <xref derivedContent="" f | ||||
ormat="title" sectionFormat="of" target="name-security-considerations">Security | ||||
Considerations</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.7"> | ||||
<t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" form | ||||
at="counter" sectionFormat="of" target="section-7"/>. <xref derivedContent="" f | ||||
ormat="title" sectionFormat="of" target="name-iana-considerations">IANA Consider | ||||
ations</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.8"> | ||||
<t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" form | ||||
at="counter" sectionFormat="of" target="section-8"/>. <xref derivedContent="" f | ||||
ormat="title" sectionFormat="of" target="name-downward-references">Downward Refe | ||||
rences</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.9"> | ||||
<t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" form | ||||
at="counter" sectionFormat="of" target="section-9"/>. <xref derivedContent="" f | ||||
ormat="title" sectionFormat="of" target="name-references">References</xref></t> | ||||
<ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
n-toc.1-1.9.2"> | ||||
<li pn="section-toc.1-1.9.2.1"> | ||||
<t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent= | ||||
"9.1" format="counter" sectionFormat="of" target="section-9.1"/>. <xref derived | ||||
Content="" format="title" sectionFormat="of" target="name-normative-references"> | ||||
Normative References</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.9.2.2"> | ||||
<t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent= | ||||
"9.2" format="counter" sectionFormat="of" target="section-9.2"/>. <xref derived | ||||
Content="" format="title" sectionFormat="of" target="name-informative-references | ||||
">Informative References</xref></t> | ||||
</li> | ||||
</ul> | ||||
</li> | ||||
<li pn="section-toc.1-1.10"> | ||||
<t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" form | ||||
at="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent=" | ||||
" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgeme | ||||
nts</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.11"> | ||||
<t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" form | ||||
at="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent=" | ||||
" format="title" sectionFormat="of" target="name-dedication">Dedication</xref></ | ||||
t> | ||||
</li> | ||||
<li pn="section-toc.1-1.12"> | ||||
<t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" form | ||||
at="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent=" | ||||
" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Add | ||||
resses</xref></t> | ||||
</li> | ||||
</ul> | ||||
</section> | ||||
</toc> | ||||
</front> | </front> | |||
<middle> | <middle> | |||
<section title="Introduction"> | <section numbered="true" toc="include" removeInRFC="false" pn="section-1"> | |||
<t> | <name slugifiedName="name-introduction">Introduction</name> | |||
Differentiated Services Code Point (DSCP) <xref target="RFC2474"/> | <t indent="0" pn="section-1-1"> | |||
Differentiated Services Code Point (DSCP) <xref target="RFC2474" format= | ||||
"default" sectionFormat="of" derivedContent="RFC2474"/> | ||||
packet marking can help provide QoS in some environments. | packet marking can help provide QoS in some environments. | |||
This specification provides default packet marking for browsers | This specification provides default packet marking for browsers | |||
that support WebRTC applications, but does not change any advice | that support WebRTC applications, but does not change any advice | |||
or requirements in other IETF RFCs. The contents of this | or requirements in other RFCs. The contents of this | |||
specification are intended to be a simple set of implementation | specification are intended to be a simple set of implementation | |||
recommendations based on the previous RFCs. | recommendations based on previous RFCs. | |||
</t> | </t> | |||
<t indent="0" pn="section-1-2"> | ||||
<t> | Networks in which these DSCP markings are beneficial (likely to | |||
Networks where these DSCP markings are beneficial (likely to | ||||
improve QoS for WebRTC traffic) include: | improve QoS for WebRTC traffic) include: | |||
</t> | </t> | |||
<ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-1-3" | ||||
<t> | > | |||
<list style="numbers"> | <li pn="section-1-3.1" derivedCounter="1."> | |||
<t> | ||||
Private, wide-area networks. Network administrators have | Private, wide-area networks. Network administrators have | |||
control over remarking packets and treatment of packets. | control over remarking packets and treatment of packets. | |||
</t> | </li> | |||
<li pn="section-1-3.2" derivedCounter="2."> | ||||
<t> | ||||
Residential Networks. If the congested link is the | Residential Networks. If the congested link is the | |||
broadband uplink in a cable or DSL scenario, often | broadband uplink in a cable or DSL scenario, residential | |||
residential routers/NAT support preferential treatment based | routers/NAT often support preferential treatment based | |||
on DSCP. | on DSCP. | |||
</t> | </li> | |||
<li pn="section-1-3.3" derivedCounter="3."> | ||||
<t> | ||||
Wireless Networks. If the congested link is a local | Wireless Networks. If the congested link is a local | |||
wireless network, marking may help. | wireless network, marking may help. | |||
</t> | </li> | |||
</list> | </ol> | |||
</t> | <t indent="0" pn="section-1-4"> | |||
There are cases where these DSCP markings do not help but, | ||||
<t> | aside from possible priority inversion for "Less-than-Best-Effort | |||
There are cases where these DSCP markings do not help, but, | traffic" (see <xref target="dscp-mappings" format="default" sectionFormat | |||
aside from possible priority inversion for "less than best | ="of" derivedContent="Section 5"/>), they seldom make things worse | |||
effort traffic" (see Section 5), they seldom make things worse | ||||
if packets are marked appropriately. | if packets are marked appropriately. | |||
</t> | </t> | |||
<t indent="0" pn="section-1-5"> | ||||
<t> | DSCP values are, in principle, site specific with each site | |||
DSCP values are in principle site specific, with each site | selecting its own code points for controlling per-hop behavior | |||
selecting its own code points for controlling per-hop-behavior | to influence the QoS for transport-layer flows. However, in the | |||
to influence the QoS for transport-layer flows. However in the | ||||
WebRTC use cases, the browsers need to set them to something | WebRTC use cases, the browsers need to set them to something | |||
when there is no site specific information. This document | when there is no site-specific information. This document | |||
describes a subset of DSCP code point values drawn from existing | describes a subset of DSCP code point values drawn from existing | |||
RFCs and common usage for use with WebRTC applications. These | RFCs and common usage for use with WebRTC applications. These | |||
code points are intended to be the default values used by a | code points are intended to be the default values used by a | |||
WebRTC application. While other values could be used, using a | WebRTC application. While other values could be used, using a | |||
non-default value may result in unexpected per-hop behavior. It | non-default value may result in unexpected per-hop behavior. It | |||
is RECOMMENDED that WebRTC applications use non-default values | is <bcp14>RECOMMENDED</bcp14> that WebRTC applications use non-default v alues | |||
only in private networks that are configured to use different | only in private networks that are configured to use different | |||
values. | values. | |||
</t> | </t> | |||
<t indent="0" pn="section-1-6"> | ||||
<t> | ||||
This specification defines inputs that are provided by the | This specification defines inputs that are provided by the | |||
WebRTC application hosted in the browser that aid the browser in | WebRTC application hosted in the browser that aid the browser in | |||
determining how to set the various packet markings. The | determining how to set the various packet markings. The | |||
specification also defines the mapping from abstract QoS | specification also defines the mapping from abstract QoS | |||
policies (flow type, priority level) to those packet markings. | policies (flow type, priority level) to those packet markings. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="include" removeInRFC="false" pn="section-2"> | ||||
<section title="Terminology"> | <name slugifiedName="name-terminology">Terminology</name> | |||
<t> | <t indent="0" pn="section-2-1"> | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14> | |||
"OPTIONAL" in this document are to be interpreted as described | ", | |||
in <xref target="RFC2119"/>. | "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | |||
"<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
be | ||||
interpreted as described in BCP 14 <xref target="RFC2119" format="default" s | ||||
ectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="defa | ||||
ult" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they app | ||||
ear in all capitals, as | ||||
shown here. | ||||
</t> | </t> | |||
<t indent="0" pn="section-2-2"> | ||||
<t> | ||||
The terms "browser" and "non-browser" are defined in | The terms "browser" and "non-browser" are defined in | |||
<xref target="RFC7742"/> and carry the same meaning in this | <xref target="RFC7742" format="default" sectionFormat="of" derivedConten t="RFC7742"/> and carry the same meaning in this | |||
document. | document. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="include" removeInRFC="false" pn="section-3"> | ||||
<section title="Relation to Other Specifications"> | <name slugifiedName="name-relation-to-other-specifica">Relation to Other S | |||
<t> | pecifications</name> | |||
This document is a complement to <xref target="RFC7657"/>, which | <t indent="0" pn="section-3-1"> | |||
This document is a complement to <xref target="RFC7657" format="default" | ||||
sectionFormat="of" derivedContent="RFC7657"/>, which | ||||
describes the interaction between DSCP and real-time | describes the interaction between DSCP and real-time | |||
communications. That RFC covers the implications of using | communications. That RFC covers the implications of using | |||
various DSCP values, particularly focusing on Real-time | various DSCP values, particularly focusing on the Real-time | |||
Transport Protocol (RTP) <xref target="RFC3550"/> streams that | Transport Protocol (RTP) <xref target="RFC3550" format="default" section | |||
Format="of" derivedContent="RFC3550"/> streams that | ||||
are multiplexed onto a single transport-layer flow. | are multiplexed onto a single transport-layer flow. | |||
</t> | </t> | |||
<t indent="0" pn="section-3-2"> | ||||
<t> | ||||
There are a number of guidelines specified in | There are a number of guidelines specified in | |||
<xref target="RFC7657"/> that apply to marking traffic sent by | <xref target="RFC7657" format="default" sectionFormat="of" derivedConten t="RFC7657"/> that apply to marking traffic sent by | |||
WebRTC applications, as it is common for multiple RTP streams to | WebRTC applications, as it is common for multiple RTP streams to | |||
be multiplexed on the same transport-layer flow. Generally, the | be multiplexed on the same transport-layer flow. Generally, the | |||
RTP streams would be marked with a value as appropriate from | RTP streams would be marked with a value as appropriate from | |||
<xref target="table-dscp"/>. A WebRTC application might also | <xref target="tab-dscp" format="default" sectionFormat="of" derivedConte nt="Table 1"/>. A WebRTC application might also | |||
multiplex data channel | multiplex data channel | |||
<xref target="I-D.ietf-rtcweb-data-channel"/> traffic over the | <xref target="RFC8831" format="default" sectionFormat="of" derivedConten | |||
same 5-tuple as RTP streams, which would also be marked as per | t="RFC8831"/> traffic over the | |||
that table. The guidance in <xref target="RFC7657"/> says that | same 5-tuple as RTP streams, which would also be marked per | |||
that table. The guidance in <xref target="RFC7657" format="default" sec | ||||
tionFormat="of" derivedContent="RFC7657"/> says that | ||||
all data channel traffic would be marked with a single value | all data channel traffic would be marked with a single value | |||
that is typically different than the value(s) used for RTP | that is typically different from the value(s) used for RTP | |||
streams multiplexed with the data channel traffic over the same | streams multiplexed with the data channel traffic over the same | |||
5-tuple, assuming RTP streams are marked with a value other than | 5-tuple, assuming RTP streams are marked with a value other than | |||
default forwarding (DF). This is expanded upon further in the | Default Forwarding (DF). This is expanded upon further in the | |||
next section. | next section. | |||
</t> | </t> | |||
<t indent="0" pn="section-3-3"> | ||||
<t> | ||||
This specification does not change or override the advice in any | This specification does not change or override the advice in any | |||
other IETF RFCs about setting packet markings. Rather, it | other RFCs about setting packet markings. Rather, it | |||
simply selects a subset of DSCP values that is relevant in the | simply selects a subset of DSCP values that is relevant in the | |||
WebRTC context. | WebRTC context. | |||
</t> | </t> | |||
<t indent="0" pn="section-3-4"> | ||||
<t> | ||||
The DSCP value set by the endpoint is not trusted by the | The DSCP value set by the endpoint is not trusted by the | |||
network. In addition, the DSCP value may be remarked at any | network. In addition, the DSCP value may be remarked at any | |||
place in the network for a variety of reasons to any other DSCP | place in the network for a variety of reasons to any other DSCP | |||
value, including default forwarding (DF) value to provide basic | value, including the DF value to provide basic | |||
best effort service. Even so, there is benefit in marking | best-effort service. Even so, there is a benefit to marking | |||
traffic even if it only benefits the first few hops. The | traffic even if it only benefits the first few hops. The | |||
implications are discussed in Secton 3.2 of | implications are discussed in | |||
<xref target="RFC7657"/>. Further, a mitigation for such action | <xref target="RFC7657" sectionFormat="of" section="3.2" format="default" | |||
derivedLink="https://rfc-editor.org/rfc/rfc7657#section-3.2" derivedContent="RF | ||||
C7657"/>. Further, a mitigation for such action | ||||
is through an authorization mechanism. Such an authorization | is through an authorization mechanism. Such an authorization | |||
mechanism is outside the scope of this document. | mechanism is outside the scope of this document. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="include" removeInRFC="false" pn="section-4"> | ||||
<section title="Inputs"> | <name slugifiedName="name-inputs">Inputs</name> | |||
<t> | <t indent="0" pn="section-4-1"> | |||
WebRTC applications send and receive two types of flows of | This document recommends DSCP values for two classes of WebRTC flows: | |||
significance to this document: | ||||
<list style="symbols"> | ||||
<t> | ||||
media flows which are RTP streams | ||||
<xref target="I-D.ietf-rtcweb-rtp-usage"/> | ||||
</t> | ||||
<t> | ||||
data flows which are data channels | ||||
<xref target="I-D.ietf-rtcweb-data-channel"/> | ||||
</t> | ||||
</list> | ||||
</t> | </t> | |||
<ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4-2 | ||||
<t> | "> | |||
Each of the RTP streams and distinct data channels consists of | <li pn="section-4-2.1"> | |||
media flows that are RTP streams | ||||
<xref target="RFC8834" format="default" sectionFormat="of" derivedCo | ||||
ntent="RFC8834"/> | ||||
</li> | ||||
<li pn="section-4-2.2"> | ||||
data flows that are data channels | ||||
<xref target="RFC8831" format="default" sectionFormat="of" derivedCo | ||||
ntent="RFC8831"/> | ||||
</li> | ||||
</ul> | ||||
<t indent="0" pn="section-4-3"> | ||||
Each of the RTP streams and distinct data channels consist of | ||||
all of the packets associated with an independent media entity, | all of the packets associated with an independent media entity, | |||
so an RTP stream or distinct data channel is not always | so an RTP stream or distinct data channel is not always | |||
equivalent to a transport-layer flow defined by a 5-tuple | equivalent to a transport-layer flow defined by a 5-tuple | |||
(source address, destination address, source port, destination | (source address, destination address, source port, destination | |||
port, and protocol). There may be multiple RTP streams and data | port, and protocol). There may be multiple RTP streams and data | |||
channels multiplexed over the same 5-tuple, with each having a | channels multiplexed over the same 5-tuple, with each having a | |||
different level of importance to the application and, therefore, | different level of importance to the application and, therefore, | |||
potentially marked using different DSCP values than another RTP | potentially marked using different DSCP values than another RTP | |||
stream or data channel within the same transport-layer flow. | stream or data channel within the same transport-layer flow. | |||
(Note that there are restrictions with respect to marking | (Note that there are restrictions with respect to marking | |||
different data channels carried within the same SCTP association | different data channels carried within the same Stream Control | |||
as outlined in <xref target="dscp-mappings"/>.) | Transmission Protocol (SCTP) association | |||
as outlined in <xref target="dscp-mappings" format="default" sectionForm | ||||
at="of" derivedContent="Section 5"/>.) | ||||
</t> | </t> | |||
<t indent="0" pn="section-4-4"> | ||||
<t> | ||||
The following are the inputs provided by the WebRTC application | The following are the inputs provided by the WebRTC application | |||
to the browser: | to the browser: | |||
<list style="symbols"> | </t> | |||
<t> | <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4-5 | |||
"> | ||||
<li pn="section-4-5.1"> | ||||
Flow Type: The application provides this input because it knows | Flow Type: The application provides this input because it knows | |||
if the flow is audio, interactive video <xref target="RFC4594"/> | if the flow is audio, interactive video (<xref target="RFC4594" form | |||
<xref target="G.1010"/> with or without audio, or data. | at="default" sectionFormat="of" derivedContent="RFC4594"/> | |||
</t> | <xref target="G.1010" format="default" sectionFormat="of" derivedConte | |||
nt="G.1010"/>) with or without audio, or data. | ||||
<t> | </li> | |||
<li pn="section-4-5.2"> | ||||
Application Priority: Another input is the relative | Application Priority: Another input is the relative | |||
importance of an RTP stream or data channel. Many | importance of an RTP stream or data channel. Many | |||
applications have multiple flows of the same Flow Type and | applications have multiple flows of the same flow type and | |||
often some flows are more important than others. For | some flows are often more important than others. For | |||
example, in a video conference where there are usually audio | example, in a video conference where there are usually audio | |||
and video flows, the audio flow may be more important than | and video flows, the audio flow may be more important than | |||
the video flow. JavaScript applications can tell the | the video flow. JavaScript applications can tell the | |||
browser whether a particular flow is high, medium, low or | browser whether a particular flow is of High, Medium, Low, or | |||
very low importance to the application. | Very Low importance to the application. | |||
</t> | </li> | |||
</list> | </ul> | |||
</t> | <t indent="0" pn="section-4-6"> | |||
<xref target="RFC8835" format="default" sectionFormat="of" derivedConten | ||||
<t> | t="RFC8835"/> defines in more | |||
<xref target="I-D.ietf-rtcweb-transports"/> defines in more | ||||
detail what an individual flow is within the WebRTC | detail what an individual flow is within the WebRTC | |||
context and priorities for media and data flows. | context and priorities for media and data flows. | |||
</t> | </t> | |||
<t indent="0" pn="section-4-7"> | ||||
<t> | ||||
Currently in WebRTC, media sent over RTP is assumed to be | Currently in WebRTC, media sent over RTP is assumed to be | |||
interactive <xref target="I-D.ietf-rtcweb-transports"/> and | interactive <xref target="RFC8835" format="default" sectionFormat="of" d | |||
browser APIs do not exist to allow an application to to | erivedContent="RFC8835"/> and | |||
browser APIs do not exist to allow an application to | ||||
differentiate between interactive and non-interactive video. | differentiate between interactive and non-interactive video. | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="dscp-mappings" numbered="true" toc="include" removeInRFC="f | ||||
<section anchor="dscp-mappings" title="DSCP Mappings"> | alse" pn="section-5"> | |||
<t> | <name slugifiedName="name-dscp-mappings">DSCP Mappings</name> | |||
<t indent="0" pn="section-5-1"> | ||||
The DSCP values for each flow type of interest to WebRTC based | The DSCP values for each flow type of interest to WebRTC based | |||
on application priority are shown in <xref target="table-dscp"/>. | on application priority are shown in <xref target="tab-dscp" format="def ault" sectionFormat="of" derivedContent="Table 1"/>. | |||
These values are based on the framework and recommended values in | These values are based on the framework and recommended values in | |||
<xref target="RFC4594"/>. A web browser SHOULD use these values | <xref target="RFC4594" format="default" sectionFormat="of" derivedConten | |||
to mark the appropriate media packets. More information on EF | t="RFC4594"/>. A web browser <bcp14>SHOULD</bcp14> use these values | |||
can be found in <xref target="RFC3246"/>. More information on | to mark the appropriate media packets. More information on Expedited | |||
AF can be found in <xref target="RFC2597"/>. DF is default | Forwarding (EF) and Assured Forwarding (AF) can be found in <xref target= | |||
forwarding which provides the basic best effort service | "RFC3246" format="default" sectionFormat="of" derivedContent="RFC3246"/> and <xr | |||
<xref target="RFC2474"/>. | ef target="RFC2597" format="default" sectionFormat="of" derivedContent="RFC2597" | |||
/>, respectively. DF is Default Forwarding, which provides the basic best-effor | ||||
t service | ||||
<xref target="RFC2474" format="default" sectionFormat="of" derivedConten | ||||
t="RFC2474"/>. | ||||
</t> | </t> | |||
<t indent="0" pn="section-5-2"> | ||||
<t> | WebRTC's use of multiple DSCP values may result in packets with | |||
WebRTC use of multiple DSCP values may encounter network blocking | certain DSCP values being blocked by a network. See | |||
of packets with certain DSCP values. See section 4.2 of | <xref target="RFC8835" sectionFormat="of" section="4.2" format="default" | |||
<xref target="I-D.ietf-rtcweb-transports"/> for further | derivedLink="https://rfc-editor.org/rfc/rfc8835#section-4.2" derivedContent="RF | |||
C8835"/> for further | ||||
discussion, including how WebRTC implementations establish and | discussion, including how WebRTC implementations establish and | |||
maintain connectivity when such blocking is encountered. | maintain connectivity when such blocking is encountered. | |||
</t> | </t> | |||
<table anchor="tab-dscp" align="center" pn="table-1"> | ||||
<texttable anchor="table-dscp" | <name slugifiedName="name-recommended-dscp-values-for">Recommended DSCP | |||
title="Recommended DSCP Values for WebRTC Applications"> | Values for WebRTC Applications</name> | |||
<ttcol align="center">Flow Type</ttcol> | <thead> | |||
<ttcol align="center">Very Low</ttcol> | <tr> | |||
<ttcol align="center">Low</ttcol> | <th align="center" colspan="1" rowspan="1">Flow Type</th> | |||
<ttcol align="center">Medium</ttcol> | <th align="center" colspan="1" rowspan="1">Very Low</th> | |||
<ttcol align="center">High</ttcol> | <th align="center" colspan="1" rowspan="1">Low</th> | |||
<c>Audio</c> | <th align="center" colspan="1" rowspan="1">Medium</th> | |||
<c>CS1 (8)</c> | <th align="center" colspan="1" rowspan="1">High</th> | |||
<c>DF (0)</c> | </tr> | |||
<c>EF (46)</c> | </thead> | |||
<c>EF (46)</c> | <tbody> | |||
<c> </c> | <tr> | |||
<c> </c> | <td align="center" colspan="1" rowspan="1">Audio</td> | |||
<c> </c> | <td align="center" colspan="1" rowspan="1">LE (1)</td> | |||
<c> </c> | <td align="center" colspan="1" rowspan="1">DF (0)</td> | |||
<c> </c> | <td align="center" colspan="1" rowspan="1">EF (46)</td> | |||
<c>Interactive Video with or without Audio</c> | <td align="center" colspan="1" rowspan="1">EF (46)</td> | |||
<c>CS1 (8)</c> | </tr> | |||
<c>DF (0)</c> | <tr> | |||
<c>AF42, AF43 (36, 38)</c> | <td align="center" colspan="1" rowspan="1"> </td> | |||
<c>AF41, AF42 (34, 36)</c> | <td align="center" colspan="1" rowspan="1"> </td> | |||
<c> </c> | <td align="center" colspan="1" rowspan="1"> </td> | |||
<c> </c> | <td align="center" colspan="1" rowspan="1"> </td> | |||
<c> </c> | <td align="center" colspan="1" rowspan="1"> </td> | |||
<c> </c> | </tr> | |||
<c> </c> | <tr> | |||
<c>Non-Interactive Video with or without Audio</c> | <td align="center" colspan="1" rowspan="1">Interactive Video with or | |||
<c>CS1 (8)</c> | without Audio</td> | |||
<c>DF (0)</c> | <td align="center" colspan="1" rowspan="1">LE (1)</td> | |||
<c>AF32, AF33 (28, 30)</c> | <td align="center" colspan="1" rowspan="1">DF (0)</td> | |||
<c>AF31, AF32 (26, 28)</c> | <td align="center" colspan="1" rowspan="1">AF42, AF43 (36, 38)</td> | |||
<c> </c> | <td align="center" colspan="1" rowspan="1">AF41, AF42 (34, 36)</td> | |||
<c> </c> | </tr> | |||
<c> </c> | <tr> | |||
<c> </c> | <td align="center" colspan="1" rowspan="1"> </td> | |||
<c> </c> | <td align="center" colspan="1" rowspan="1"> </td> | |||
<c>Data</c> | <td align="center" colspan="1" rowspan="1"> </td> | |||
<c>CS1 (8)</c> | <td align="center" colspan="1" rowspan="1"> </td> | |||
<c>DF (0)</c> | <td align="center" colspan="1" rowspan="1"> </td> | |||
<c>AF11</c> | </tr> | |||
<c>AF21</c> | <tr> | |||
</texttable> | <td align="center" colspan="1" rowspan="1">Non-Interactive Video wit | |||
h or without Audio</td> | ||||
<t> | <td align="center" colspan="1" rowspan="1">LE (1)</td> | |||
The application priority, indicated by the columns "very low", | <td align="center" colspan="1" rowspan="1">DF (0)</td> | |||
"low", "Medium", and "high", signifies the relative importance | <td align="center" colspan="1" rowspan="1">AF32, AF33 (28, 30)</td> | |||
<td align="center" colspan="1" rowspan="1">AF31, AF32 (26, 28)</td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center" colspan="1" rowspan="1"> </td> | ||||
<td align="center" colspan="1" rowspan="1"> </td> | ||||
<td align="center" colspan="1" rowspan="1"> </td> | ||||
<td align="center" colspan="1" rowspan="1"> </td> | ||||
<td align="center" colspan="1" rowspan="1"> </td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center" colspan="1" rowspan="1">Data</td> | ||||
<td align="center" colspan="1" rowspan="1">LE (1)</td> | ||||
<td align="center" colspan="1" rowspan="1">DF (0)</td> | ||||
<td align="center" colspan="1" rowspan="1">AF11</td> | ||||
<td align="center" colspan="1" rowspan="1">AF21</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
<t indent="0" pn="section-5-4"> | ||||
The application priority, indicated by the columns "Very Low", | ||||
"Low", "Medium", and "High", signifies the relative importance | ||||
of the flow within the application. It is an input that the | of the flow within the application. It is an input that the | |||
browser receives to assist in selecting the DSCP value and | browser receives to assist in selecting the DSCP value and | |||
adjusting the network transport behavior. | adjusting the network transport behavior. | |||
</t> | </t> | |||
<t indent="0" pn="section-5-5"> | ||||
<t> | The above table assumes that packets marked with LE are treated as | |||
The above table assumes that packets marked with CS1 are treated | lower effort (i.e., "less than best effort"), such as the LE behavior | |||
as "less than best effort", such as the LE behavior described in | described in <xref target="RFC8622" format="default" sectionFormat="of" deriv | |||
<xref target="RFC3662"/>. However, the treatment of CS1 is | edContent="RFC8622"/>. However, the treatment of LE is | |||
implementation dependent. If an implementation treats CS1 as | implementation dependent. If an implementation treats LE as other | |||
other than "less than best effort", then the actual priority | than "less than best effort", then the actual priority (or, more | |||
(or, more precisely, the per-hop-behavior) of the packets may be | precisely, the per-hop behavior) of the packets may be changed from | |||
changed from what is intended. It is common for CS1 to be | what is intended. It is common for LE to be treated the same as DF, | |||
treated the same as DF, so applications and browsers using CS1 | so applications and browsers using LE cannot assume that LE will be | |||
cannot assume that CS1 will be treated differently than DF | treated differently than DF <xref target="RFC7657" format="default" sectionFo | |||
<xref target="RFC7657"/>. However, it is also possible per | rmat="of" derivedContent="RFC7657"/>. During development of this | |||
<xref target="RFC2474"/> for CS1 traffic to be given better | document, the CS1 DSCP was recommended for "very low" application | |||
treatment than DF, thus caution should be exercised when | priority traffic; implementations that followed that recommendation | |||
electing to use CS1. This is one of the cases where marking | <bcp14>SHOULD</bcp14> be updated to use the LE DSCP instead of the CS1 DSCP. | |||
packets using these recommendations can make things worse. | ||||
</t> | </t> | |||
<t indent="0" pn="section-5-6"> | ||||
<t> | ||||
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, | This could mean that a packet marked as EF may not get through, | |||
although the same packet marked with a different DSCP value would | although the same packet marked with a different DSCP value would | |||
have gotten through. This is not a flaw, but how excess EF | have gotten through. This is not a flaw, but how excess EF | |||
traffic is intended to be treated. | traffic is intended to be treated. | |||
</t> | </t> | |||
<t indent="0" pn="section-5-7"> | ||||
<t> | The browser <bcp14>SHOULD</bcp14> first select the flow type of the flow | |||
The browser SHOULD first select the flow type of the flow. | . | |||
Within the flow type, the relative importance of the flow | Within the flow type, the relative importance of the flow | |||
SHOULD be used to select the appropriate DSCP value. | <bcp14>SHOULD</bcp14> be used to select the appropriate DSCP value. | |||
</t> | </t> | |||
<t indent="0" pn="section-5-8"> | ||||
<t> | ||||
Currently, all WebRTC video is assumed to be interactive | Currently, all WebRTC video is assumed to be interactive | |||
<xref target="I-D.ietf-rtcweb-transports"/>, for which the | <xref target="RFC8835" format="default" sectionFormat="of" derivedConten | |||
Interactive Video DSCP values in Table 1 SHOULD be used. | t="RFC8835"/>, for which the | |||
Browsers MUST NOT use the AF3x DSCP values (for Non-Interactive | interactive video DSCP values in Table 1 <bcp14>SHOULD</bcp14> be used. | |||
Video in Table 1) for WebRTC applications. Non-browser | Browsers <bcp14>MUST NOT</bcp14> use the AF3x DSCP values (for non-inter | |||
implementations of WebRTC MAY use the AF3x DSCP values for video | active | |||
video in Table 1) for WebRTC applications. Non-browser | ||||
implementations of WebRTC <bcp14>MAY</bcp14> use the AF3x DSCP values fo | ||||
r video | ||||
that is known not to be interactive, e.g., all video in a WebRTC | that is known not to be interactive, e.g., all video in a WebRTC | |||
video playback application that is not implemented in a | video playback application that is not implemented in a | |||
browser. | browser. | |||
</t> | </t> | |||
<t indent="0" pn="section-5-9"> | ||||
<t> | ||||
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 | specificity and helps in selecting the right DSCP value for the | |||
flow. All packets within a flow SHOULD have the same application | flow. All packets within a flow <bcp14>SHOULD</bcp14> have the same app lication | |||
priority. In some cases, the selected application priority cell | priority. In some cases, the selected application priority cell | |||
may have multiple DSCP values, such as AF41 and AF42. These offer | may have multiple DSCP values, such as AF41 and AF42. These offer | |||
different drop precedences. The different drop precedence | different drop precedences. The different drop precedence | |||
values provides additional granularity in classifying packets | values provide additional granularity in classifying packets | |||
within a flow. For example, in a video conference the video | within a flow. For example, in a video conference, the video | |||
flow may have medium application priority, thus either AF42 or | flow may have medium application priority, thus either AF42 or | |||
AF43 may be selected. More important video packets (e.g., a | AF43 may be selected. More important video packets (e.g., a | |||
video picture or frame encoded without any dependency on any | video picture or frame encoded without any dependency on any | |||
prior pictures or frames) might be marked with AF42 and less | prior pictures or frames) might be marked with AF42 and less | |||
important packets (e.g., a video picture or frame encoded based | important packets (e.g., a video picture or frame encoded based | |||
on the content of one or more prior pictures or frames) might be | on the content of one or more prior pictures or frames) might be | |||
marked with AF43 (e.g., receipt of the more important packets | marked with AF43 (e.g., receipt of the more important packets | |||
enables a video renderer to continue after one or more packets | enables a video renderer to continue after one or more packets | |||
are lost). | are lost). | |||
</t> | </t> | |||
<t indent="0" pn="section-5-10"> | ||||
<t> | ||||
It is worth noting that the application priority is utilized by | It is worth noting that the application priority is utilized by | |||
the coupled congestion control mechanism for media flows per | the coupled congestion control mechanism for media flows per | |||
<xref target="I-D.ietf-rmcat-coupled-cc"/> and the SCTP | <xref target="RFC8699" format="default" sectionFormat="of" derivedConten t="RFC8699"/> and the SCTP | |||
scheduler for data channel traffic per | scheduler for data channel traffic per | |||
<xref target="I-D.ietf-rtcweb-data-channel"/>. | <xref target="RFC8831" format="default" sectionFormat="of" derivedConten t="RFC8831"/>. | |||
</t> | </t> | |||
<t indent="0" pn="section-5-11"> | ||||
<t> | For reasons discussed in | |||
For reasons discussed in Section 6 of | <xref target="RFC7657" sectionFormat="of" section="6" format="default" d | |||
<xref target="RFC7657"/>, if multiple flows are multiplexed | erivedLink="https://rfc-editor.org/rfc/rfc7657#section-6" derivedContent="RFC765 | |||
using a reliable transport (e.g., TCP) then all of the packets | 7"/>, if multiple flows are multiplexed | |||
for all flows multiplexed over that transport-layer flow MUST be | using a reliable transport (e.g., TCP), then all of the packets | |||
for all flows multiplexed over that transport-layer flow <bcp14>MUST</bc | ||||
p14> be | ||||
marked using the same DSCP value. Likewise, all WebRTC data | marked using the same DSCP value. Likewise, all WebRTC data | |||
channel packets transmitted over an SCTP association MUST be | channel packets transmitted over an SCTP association <bcp14>MUST</bcp14> be | |||
marked using the same DSCP value, regardless of how many data | marked using the same DSCP value, regardless of how many data | |||
channels (streams) exist or what kind of traffic is carried over | channels (streams) exist or what kind of traffic is carried over | |||
the various SCTP streams. In the event that the browser wishes | the various SCTP streams. In the event that the browser wishes | |||
to change the DSCP value in use for an SCTP association, it MUST | to change the DSCP value in use for an SCTP association, it <bcp14>MUST< /bcp14> | |||
reset the SCTP congestion controller after changing values. | reset the SCTP congestion controller after changing values. | |||
Frequent changes in the DSCP value used for an SCTP association | However, frequent changes in the DSCP value used for an SCTP association | |||
are discouraged, though, as this would defeat any attempts at | are discouraged, as this would defeat any attempts at | |||
effectively managing congestion. It should also be noted that | effectively managing congestion. It should also be noted that | |||
any change in DSCP value that results in a reset of the | any change in DSCP value that results in a reset of the | |||
congestion controller puts the SCTP association back into slow | congestion controller puts the SCTP association back into slow | |||
start, which may have undesirable effects on application | start, which may have undesirable effects on application | |||
performance. | performance. | |||
</t> | </t> | |||
<t indent="0" pn="section-5-12"> | ||||
<t> | ||||
For the data channel traffic multiplexed over an SCTP | For the data channel traffic multiplexed over an SCTP | |||
association, it is RECOMMENDED that the DSCP value selected be | association, it is <bcp14>RECOMMENDED</bcp14> that the DSCP value select ed be | |||
the one associated with the highest priority requested for all | the one associated with the highest priority requested for all | |||
data channels multiplexed over the SCTP association. Likewise, | data channels multiplexed over the SCTP association. Likewise, | |||
when multiplexing multiple flows over a TCP connection, | when multiplexing multiple flows over a TCP connection, | |||
the DCSP value selected should be the one associated with the | the DSCP value selected <bcp14>SHOULD</bcp14> be the one associated with the | |||
highest priority requested for all multiplexed flows. | highest priority requested for all multiplexed flows. | |||
</t> | </t> | |||
<t indent="0" pn="section-5-13"> | ||||
<t> | If a packet enters a network that has no support for a flow-type-applica | |||
If a packet enters a network that has no support for a flow | tion priority combination specified in | |||
type-application priority combination specified in | <xref target="tab-dscp" format="default" sectionFormat="of" derivedConte | |||
<xref target="table-dscp"/>, then the network node at the edge | nt="Table 1"/>, then the network node at the edge | |||
will remark the DSCP value based on policies. This could result | will remark the DSCP value based on policies. This could result | |||
in the flow not getting the network treatment it expects based | in the flow not getting the network treatment it expects based | |||
on the original DSCP value in the packet. Subsequently, if the | on the original DSCP value in the packet. Subsequently, if the | |||
packet enters a network that supports a larger number of these | packet enters a network that supports a larger number of these | |||
combinations, there may not be sufficient information in the | combinations, there may not be sufficient information in the | |||
packet to restore the original markings. Mechanisms for | packet to restore the original markings. Mechanisms for | |||
restoring such original DSCP is outside the scope of this | restoring such original DSCP is outside the scope of this | |||
document. | document. | |||
</t> | </t> | |||
<t indent="0" pn="section-5-14"> | ||||
<t> | ||||
In summary, DSCP marking provides neither guarantees nor | In summary, DSCP marking provides neither guarantees nor | |||
promised levels of service. However, DSCP marking is expected | promised levels of service. However, DSCP marking is expected | |||
to provide a statistical improvement in real-time service as a | to provide a statistical improvement in real-time service as a | |||
whole. The service provided to a packet is dependent upon the | whole. The service provided to a packet is dependent upon the | |||
network design along the path, as well as the network conditions | network design along the path, as well as the network conditions | |||
at every hop. | at every hop. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="include" removeInRFC="false" pn="section-6"> | ||||
<section title="Security Considerations"> | <name slugifiedName="name-security-considerations">Security Considerations | |||
<t> | </name> | |||
<t indent="0" pn="section-6-1"> | ||||
Since the JavaScript application specifies the flow type and | Since the JavaScript application specifies the flow type and | |||
application priority that determine the media flow DSCP values | application priority that determine the media flow DSCP values | |||
used by the browser, the browser could consider application use | used by the browser, the browser could consider application use | |||
of a large number of higher priority flows to be suspicious. | of a large number of higher priority flows to be suspicious. | |||
If the server hosting the JavaScript application is compromised, | If the server hosting the JavaScript application is compromised, | |||
many browsers within the network might simultaneously transmit | many browsers within the network might simultaneously transmit | |||
flows with the same DSCP marking. The DiffServ architecture | flows with the same DSCP marking. The Diffserv architecture | |||
requires ingress traffic conditioning for reasons that include | requires ingress traffic conditioning for reasons that include | |||
protecting the network from this sort of attack. | protecting the network from this sort of attack. | |||
</t> | </t> | |||
<t indent="0" pn="section-6-2"> | ||||
<t> | ||||
Otherwise, this specification does not add any additional | Otherwise, this specification does not add any additional | |||
security implications beyond those addressed in the following | security implications beyond those addressed in the following | |||
DSCP-related specifications. For security implications on use | DSCP-related specifications. For security implications on use | |||
of DSCP, please refer to Section 7 of <xref target="RFC7657"/> | of DSCP, please refer to <xref target="RFC7657" sectionFormat="of" secti | |||
and Section 6 of <xref target="RFC4594"/>. Please also see | on="7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7657#section- | |||
<xref target="I-D.ietf-rtcweb-security"/> as an additional | 7" derivedContent="RFC7657"/> | |||
and <xref target="RFC4594" sectionFormat="of" section="6" format="defaul | ||||
t" derivedLink="https://rfc-editor.org/rfc/rfc4594#section-6" derivedContent="RF | ||||
C4594"/>. Please also see | ||||
<xref target="RFC8826" format="default" sectionFormat="of" derivedConten | ||||
t="RFC8826"/> as an additional | ||||
reference. | reference. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="include" removeInRFC="false" pn="section-7"> | ||||
<section title="IANA Considerations"> | <name slugifiedName="name-iana-considerations">IANA Considerations</name> | |||
<t> | <t indent="0" pn="section-7-1">This document has no IANA actions.</t> | |||
This specification does not require any actions from IANA. | ||||
</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="include" removeInRFC="false" pn="section-8"> | ||||
<section title="Downward References"> | <name slugifiedName="name-downward-references">Downward References</name> | |||
<t> | <t indent="0" pn="section-8-1"> | |||
This specification contains a downwards reference to | This specification contains downwards references to | |||
<xref target="RFC4594"/> and <xref target="RFC7657"/>. However, | <xref target="RFC4594" format="default" sectionFormat="of" derivedConten | |||
the parts of the former RFC used by this specification are | t="RFC4594"/> and <xref target="RFC7657" format="default" sectionFormat="of" der | |||
sufficiently stable for this downward reference. The guidance | ivedContent="RFC7657"/>. However, | |||
the parts of the former RFCs used by this specification are | ||||
sufficiently stable for these downward references. The guidance | ||||
in the latter RFC is necessary to understand the Diffserv | in the latter RFC is necessary to understand the Diffserv | |||
technology used in this document and the motivation | technology used in this document and the motivation | |||
for the recommended DSCP values and procedures. | for the recommended DSCP values and procedures. | |||
</t> | </t> | |||
</section> | </section> | |||
</middle> | ||||
<section title="Acknowledgements"> | <back> | |||
<t> | <references pn="section-9"> | |||
Thanks to David Black, Magnus Westerlund, Paolo Severini, Jim | <name slugifiedName="name-references">References</name> | |||
Hasselbrook, Joe Marcus, Erik Nordmark, Michael Tuexen, and | <references pn="section-9.1"> | |||
Brian Carpenter for their invaluable input. | <name slugifiedName="name-normative-references">Normative References</na | |||
me> | ||||
<reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2 | ||||
119" quoteTitle="true" derivedAnchor="RFC2119"> | ||||
<front> | ||||
<title>Key words for use in RFCs to Indicate Requirement Levels</tit | ||||
le> | ||||
<author initials="S." surname="Bradner" fullname="S. Bradner"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date year="1997" month="March"/> | ||||
<abstract> | ||||
<t indent="0">In many standards track documents several words are | ||||
used to signify the requirements in the specification. These words are often ca | ||||
pitalized. This document defines these words as they should be interpreted in IE | ||||
TF documents. This document specifies an Internet Best Current Practices for th | ||||
e Internet Community, and requests discussion and suggestions for improvements.< | ||||
/t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="14"/> | ||||
<seriesInfo name="RFC" value="2119"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC2119"/> | ||||
</reference> | ||||
<reference anchor="RFC4594" target="https://www.rfc-editor.org/info/rfc4 | ||||
594" quoteTitle="true" derivedAnchor="RFC4594"> | ||||
<front> | ||||
<title>Configuration Guidelines for DiffServ Service Classes</title> | ||||
<author initials="J." surname="Babiarz" fullname="J. Babiarz"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="K." surname="Chan" fullname="K. Chan"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="F." surname="Baker" fullname="F. Baker"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date year="2006" month="August"/> | ||||
<abstract> | ||||
<t indent="0">This document describes service classes configured w | ||||
ith Diffserv and recommends how they can be used and how to construct them using | ||||
Differentiated Services Code Points (DSCPs), traffic conditioners, Per-Hop Beha | ||||
viors (PHBs), and Active Queue Management (AQM) mechanisms. There is no intrins | ||||
ic requirement that particular DSCPs, traffic conditioners, PHBs, and AQM be use | ||||
d for a certain service class, but as a policy and for interoperability it is us | ||||
eful to apply them consistently. This memo provides information for the Interne | ||||
t community.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="4594"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC4594"/> | ||||
</reference> | ||||
<reference anchor="RFC7657" target="https://www.rfc-editor.org/info/rfc7 | ||||
657" quoteTitle="true" derivedAnchor="RFC7657"> | ||||
<front> | ||||
<title>Differentiated Services (Diffserv) and Real-Time Communicatio | ||||
n</title> | ||||
<author initials="D." surname="Black" fullname="D. Black" role="edit | ||||
or"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="P." surname="Jones" fullname="P. Jones"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date year="2015" month="November"/> | ||||
<abstract> | ||||
<t indent="0">This memo describes the interaction between Differen | ||||
tiated Services (Diffserv) network quality-of-service (QoS) functionality and re | ||||
al- time network communication, including communication based on the Real-time T | ||||
ransport Protocol (RTP). Diffserv is based on network nodes applying different | ||||
forwarding treatments to packets whose IP headers are marked with different Diff | ||||
serv Codepoints (DSCPs). WebRTC applications, as well as some conferencing appli | ||||
cations, have begun using the Session Description Protocol (SDP) bundle negotiat | ||||
ion mechanism to send multiple traffic streams with different QoS requirements u | ||||
sing the same network 5-tuple. The results of using multiple DSCPs to obtain di | ||||
fferent QoS treatments within a single network 5-tuple have transport protocol i | ||||
nteractions, particularly with congestion control functionality (e.g., reorderin | ||||
g). In addition, DSCP markings may be changed or removed between the traffic so | ||||
urce and destination. This memo covers the implications of these Diffserv aspec | ||||
ts for real-time network communication, including WebRTC.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="7657"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC7657"/> | ||||
</reference> | ||||
<reference anchor="RFC7742" target="https://www.rfc-editor.org/info/rfc7 | ||||
742" quoteTitle="true" derivedAnchor="RFC7742"> | ||||
<front> | ||||
<title>WebRTC Video Processing and Codec Requirements</title> | ||||
<author initials="A.B." surname="Roach" fullname="A.B. Roach"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date year="2016" month="March"/> | ||||
<abstract> | ||||
<t indent="0">This specification provides the requirements and con | ||||
siderations for WebRTC applications to send and receive video across a network. | ||||
It specifies the video processing that is required as well as video codecs and | ||||
their parameters.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="7742"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC7742"/> | ||||
</reference> | ||||
<reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8 | ||||
174" quoteTitle="true" derivedAnchor="RFC8174"> | ||||
<front> | ||||
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</ti | ||||
tle> | ||||
<author initials="B." surname="Leiba" fullname="B. Leiba"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date year="2017" month="May"/> | ||||
<abstract> | ||||
<t indent="0">RFC 2119 specifies common key words that may be used | ||||
in protocol specifications. This document aims to reduce the ambiguity by cla | ||||
rifying that only UPPERCASE usage of the key words have the defined special mea | ||||
nings.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="14"/> | ||||
<seriesInfo name="RFC" value="8174"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8174"/> | ||||
</reference> | ||||
<reference anchor="RFC8622" target="https://www.rfc-editor.org/info/rfc8 | ||||
622" quoteTitle="true" derivedAnchor="RFC8622"> | ||||
<front> | ||||
<title>A Lower-Effort Per-Hop Behavior (LE PHB) for Differentiated S | ||||
ervices</title> | ||||
<author initials="R." surname="Bless" fullname="R. Bless"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date year="2019" month="June"/> | ||||
<abstract> | ||||
<t indent="0">This document specifies properties and characteristi | ||||
cs of a Lower- Effort Per-Hop Behavior (LE PHB). The primary objective of this | ||||
LE PHB is to protect Best-Effort (BE) traffic (packets forwarded with the defaul | ||||
t PHB) from LE traffic in congestion situations, i.e., when resources become sca | ||||
rce, BE traffic has precedence over LE traffic and may preempt it. Alternativel | ||||
y, packets forwarded by the LE PHB can be associated with a scavenger service cl | ||||
ass, i.e., they scavenge otherwise-unused resources only. There are numerous us | ||||
es for this PHB, e.g., for background traffic of low precedence, such as bulk da | ||||
ta transfers with low priority in time, non-time-critical backups, larger softwa | ||||
re updates, web search engines while gathering information from web servers and | ||||
so on. This document recommends a standard Differentiated Services Code Point ( | ||||
DSCP) value for the LE PHB.</t> | ||||
<t indent="0">This specification obsoletes RFC 3662 and updates th | ||||
e DSCP recommended in RFCs 4594 and 8325 to use the DSCP assigned in this specif | ||||
ication.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8622"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8622"/> | ||||
</reference> | ||||
<reference anchor="RFC8826" target="https://www.rfc-editor.org/info/rfc8 | ||||
826" quoteTitle="true" derivedAnchor="RFC8826"> | ||||
<front> | ||||
<title>Security Considerations for WebRTC</title> | ||||
<author initials="E." surname="Rescorla" fullname="Eric Rescorla"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date month="January" year="2021"/> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8826"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8826"/> | ||||
</reference> | ||||
<reference anchor="RFC8831" target="https://www.rfc-editor.org/info/rfc8 | ||||
831" quoteTitle="true" derivedAnchor="RFC8831"> | ||||
<front> | ||||
<title>WebRTC Data Channels</title> | ||||
<author initials="R" surname="Jesup" fullname="Randell Jesup"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="S" surname="Loreto" fullname="Salvatore Loreto"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="M" surname="Tüxen" fullname="Michael Tüxen"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date month="January" year="2021"/> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8831"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8831"/> | ||||
</reference> | ||||
<reference anchor="RFC8834" target="https://www.rfc-editor.org/info/rfc8 | ||||
834" quoteTitle="true" derivedAnchor="RFC8834"> | ||||
<front> | ||||
<title>Media Transport and Use of RTP in WebRTC</title> | ||||
<author initials="C." surname="Perkins" fullname="Colin Perkins"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="M." surname="Westerlund" fullname="Magnus Westerlu | ||||
nd"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="J." surname="Ott" fullname="Jörg Ott"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date month="January" year="2021"/> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8834"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8834"/> | ||||
</reference> | ||||
<reference anchor="RFC8835" target="https://www.rfc-editor.org/info/rfc8 | ||||
835" quoteTitle="true" derivedAnchor="RFC8835"> | ||||
<front> | ||||
<title>Transports for WebRTC</title> | ||||
<author initials="H." surname="Alvestrand" fullname="Harald Alvestra | ||||
nd"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date month="January" year="2021"/> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8835"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8835"/> | ||||
</reference> | ||||
</references> | ||||
<references pn="section-9.2"> | ||||
<name slugifiedName="name-informative-references">Informative References | ||||
</name> | ||||
<reference anchor="G.1010" target="https://www.itu.int/rec/T-REC-G.1010- | ||||
200111-I/en" quoteTitle="true" derivedAnchor="G.1010"> | ||||
<front> | ||||
<title>End-user multimedia QoS categories</title> | ||||
<author> | ||||
<organization showOnFrontPage="true">ITU-T</organization> | ||||
</author> | ||||
<date month="November" year="2001"/> | ||||
</front> | ||||
<seriesInfo name="ITU-T Recommendation" value="G.1010"/> | ||||
</reference> | ||||
<reference anchor="RFC2474" target="https://www.rfc-editor.org/info/rfc2 | ||||
474" quoteTitle="true" derivedAnchor="RFC2474"> | ||||
<front> | ||||
<title>Definition of the Differentiated Services Field (DS Field) in | ||||
the IPv4 and IPv6 Headers</title> | ||||
<author initials="K." surname="Nichols" fullname="K. Nichols"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="S." surname="Blake" fullname="S. Blake"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="F." surname="Baker" fullname="F. Baker"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="D." surname="Black" fullname="D. Black"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date year="1998" month="December"/> | ||||
<abstract> | ||||
<t indent="0">This document defines the IP header field, called th | ||||
e DS (for differentiated services) field. [STANDARDS-TRACK]</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="2474"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC2474"/> | ||||
</reference> | ||||
<reference anchor="RFC2597" target="https://www.rfc-editor.org/info/rfc2 | ||||
597" quoteTitle="true" derivedAnchor="RFC2597"> | ||||
<front> | ||||
<title>Assured Forwarding PHB Group</title> | ||||
<author initials="J." surname="Heinanen" fullname="J. Heinanen"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="F." surname="Baker" fullname="F. Baker"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="W." surname="Weiss" fullname="W. Weiss"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="J." surname="Wroclawski" fullname="J. Wroclawski"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date year="1999" month="June"/> | ||||
<abstract> | ||||
<t indent="0">This document defines a general use Differentiated S | ||||
ervices (DS) Per-Hop-Behavior (PHB) Group called Assured Forwarding (AF). [STAND | ||||
ARDS-TRACK]</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="2597"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC2597"/> | ||||
</reference> | ||||
<reference anchor="RFC3246" target="https://www.rfc-editor.org/info/rfc3 | ||||
246" quoteTitle="true" derivedAnchor="RFC3246"> | ||||
<front> | ||||
<title>An Expedited Forwarding PHB (Per-Hop Behavior)</title> | ||||
<author initials="B." surname="Davie" fullname="B. Davie"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="A." surname="Charny" fullname="A. Charny"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="J.C.R." surname="Bennet" fullname="J.C.R. Bennet"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="K." surname="Benson" fullname="K. Benson"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="J.Y." surname="Le Boudec" fullname="J.Y. Le Boudec | ||||
"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="W." surname="Courtney" fullname="W. Courtney"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="S." surname="Davari" fullname="S. Davari"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="V." surname="Firoiu" fullname="V. Firoiu"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="D." surname="Stiliadis" fullname="D. Stiliadis"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date year="2002" month="March"/> | ||||
<abstract> | ||||
<t indent="0">This document defines a PHB (per-hop behavior) calle | ||||
d Expedited Forwarding (EF). The PHB is a basic building block in the Different | ||||
iated Services architecture. EF is intended to provide a building block for low | ||||
delay, low jitter and low loss services by ensuring that the EF aggregate is se | ||||
rved at a certain configured rate. This document obsoletes RFC 2598. [STANDARDS | ||||
-TRACK]</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="3246"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC3246"/> | ||||
</reference> | ||||
<reference anchor="RFC3550" target="https://www.rfc-editor.org/info/rfc3 | ||||
550" quoteTitle="true" derivedAnchor="RFC3550"> | ||||
<front> | ||||
<title>RTP: A Transport Protocol for Real-Time Applications</title> | ||||
<author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne | ||||
"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="S." surname="Casner" fullname="S. Casner"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="R." surname="Frederick" fullname="R. Frederick"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="V." surname="Jacobson" fullname="V. Jacobson"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date year="2003" month="July"/> | ||||
<abstract> | ||||
<t indent="0">This memorandum describes RTP, the real-time transpo | ||||
rt protocol. RTP provides end-to-end network transport functions suitable for a | ||||
pplications transmitting real-time data, such as audio, video or simulation data | ||||
, over multicast or unicast network services. RTP does not address resource res | ||||
ervation and does not guarantee quality-of- service for real-time services. The | ||||
data transport is augmented by a control protocol (RTCP) to allow monitoring of | ||||
the data delivery in a manner scalable to large multicast networks, and to prov | ||||
ide minimal control and identification functionality. RTP and RTCP are designed | ||||
to be independent of the underlying transport and network layers. The protocol | ||||
supports the use of RTP-level translators and mixers. Most of the text in this | ||||
memorandum is identical to RFC 1889 which it obsoletes. There are no changes in | ||||
the packet formats on the wire, only changes to the rules and algorithms govern | ||||
ing how the protocol is used. The biggest change is an enhancement to the scalab | ||||
le timer algorithm for calculating when to send RTCP packets in order to minimiz | ||||
e transmission in excess of the intended rate when many participants join a sess | ||||
ion simultaneously. [STANDARDS-TRACK]</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="STD" value="64"/> | ||||
<seriesInfo name="RFC" value="3550"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC3550"/> | ||||
</reference> | ||||
<reference anchor="RFC8699" target="https://www.rfc-editor.org/info/rfc8 | ||||
699" quoteTitle="true" derivedAnchor="RFC8699"> | ||||
<front> | ||||
<title>Coupled Congestion Control for RTP Media</title> | ||||
<author initials="S." surname="Islam" fullname="S. Islam"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="M." surname="Welzl" fullname="M. Welzl"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<author initials="S." surname="Gjessing" fullname="S. Gjessing"> | ||||
<organization showOnFrontPage="true"/> | ||||
</author> | ||||
<date year="2020" month="January"/> | ||||
<abstract> | ||||
<t indent="0">When multiple congestion-controlled Real-time Transp | ||||
ort Protocol (RTP) sessions traverse the same network bottleneck, combining thei | ||||
r controls can improve the total on-the-wire behavior in terms of delay, loss, a | ||||
nd fairness. This document describes such a method for flows that have the same | ||||
sender, in a way that is as flexible and simple as possible while minimizing the | ||||
number of changes needed to existing RTP applications. This document also speci | ||||
fies how to apply the method for the Network-Assisted Dynamic Adaptation (NADA) | ||||
congestion control algorithm and provides suggestions on how to apply it to othe | ||||
r congestion control algorithms.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8699"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8699"/> | ||||
</reference> | ||||
</references> | ||||
</references> | ||||
<section numbered="false" toc="include" removeInRFC="false" pn="section-appe | ||||
ndix.a"> | ||||
<name slugifiedName="name-acknowledgements">Acknowledgements</name> | ||||
<t indent="0" pn="section-appendix.a-1"> | ||||
Thanks to <contact fullname="David Black"/>, <contact fullname="Magnus | ||||
Westerlund"/>, <contact fullname="Paolo Severini"/>, <contact fullname="Jim | ||||
Hasselbrook"/>, <contact fullname="Joe Marcus"/>, <contact fullname="Erik N | ||||
ordmark"/>, <contact fullname="Michael Tüxen"/>, and | ||||
<contact fullname="Brian Carpenter"/> for their invaluable input. | ||||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="false" toc="include" removeInRFC="false" pn="section-appe | ||||
<section title="Dedication"> | ndix.b"> | |||
<t> | <name slugifiedName="name-dedication">Dedication</name> | |||
This document is dedicated to the memory of James Polk, a | <t indent="0" pn="section-appendix.b-1"> | |||
This document is dedicated to the memory of <contact fullname="James Pol | ||||
k"/>, a | ||||
long-time friend and colleague. James made important | long-time friend and colleague. James made important | |||
contributions to this specification, including serving initially | contributions to this specification, including serving initially | |||
as one of the primary authors. The IETF global community mourns | as one of the primary authors. The IETF global community mourns | |||
his loss and he will be missed dearly. | his loss and he will be missed dearly. | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="authors-addresses" numbered="false" removeInRFC="false" toc | ||||
<section title="Document History"> | ="include" pn="section-appendix.c"> | |||
<t> | <name slugifiedName="name-authors-addresses">Authors' Addresses</name> | |||
Note to RFC Editor: Please remove this section. | <author fullname="Paul E. Jones" initials="P." surname="Jones"> | |||
</t> | <organization showOnFrontPage="true">Cisco Systems</organization> | |||
<address> | ||||
<t> | <email>paulej@packetizer.com</email> | |||
This document was originally an individual submission in RTCWeb WG. | </address> | |||
The RTCWeb working group selected it to be become a WG document. | </author> | |||
Later the transport ADs requested that this be moved to the TSVWG WG | <author fullname="Subha Dhesikan" initials="S." surname="Dhesikan"> | |||
as that seemed to be a better match. | <organization showOnFrontPage="true">Individual</organization> | |||
</t> | <address> | |||
<email>sdhesikan@gmail.com</email> | ||||
</address> | ||||
</author> | ||||
<author fullname="Cullen Jennings" initials="C." surname="Jennings"> | ||||
<organization showOnFrontPage="true">Cisco Systems</organization> | ||||
<address> | ||||
<email>fluffy@cisco.com</email> | ||||
</address> | ||||
</author> | ||||
<author fullname="Dan Druta" initials="D." surname="Druta"> | ||||
<organization showOnFrontPage="true">AT&T</organization> | ||||
<address> | ||||
<email>dd5826@att.com</email> | ||||
</address> | ||||
</author> | ||||
</section> | </section> | |||
</middle> | ||||
<back> | ||||
<references title="Normative References"> | ||||
<?rfc include='reference.RFC.4594'?> | ||||
<?rfc include='reference.RFC.2119'?> | ||||
<?rfc include='reference.RFC.7657'?> | ||||
<?rfc include='reference.RFC.7742'?> | ||||
<?rfc include='reference.I-D.ietf-rtcweb-security'?> | ||||
<?rfc include='reference.I-D.ietf-rtcweb-transports'?> | ||||
<?rfc include='reference.I-D.ietf-rtcweb-rtp-usage'?> | ||||
<?rfc include='reference.I-D.ietf-rtcweb-data-channel'?> | ||||
</references> | ||||
<references title="Informative References"> | ||||
<?rfc include='reference.RFC.2474'?> | ||||
<?rfc include='reference.RFC.2597'?> | ||||
<?rfc include='reference.RFC.3246'?> | ||||
<?rfc include='reference.RFC.3550'?> | ||||
<?rfc include='reference.RFC.3662'?> | ||||
<?rfc include='reference.I-D.ietf-rmcat-coupled-cc'?> | ||||
<reference anchor="G.1010"> | ||||
<front> | ||||
<title>End-user multimedia QoS categories</title> | ||||
<author> | ||||
<organization>International Telecommunications Union</organization> | ||||
</author> | ||||
<date month="November" year="2001"/> | ||||
</front> | ||||
<seriesInfo name="Recommendation" value="ITU-T G.1010"/> | ||||
</reference> | ||||
</references> | ||||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 89 change blocks. | ||||
351 lines changed or deleted | 907 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |