| rfc8837xml2.original.xml | rfc8837.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='utf-8'?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| <?rfc toc="yes"?> | ||||
| <?rfc tocompact="yes"?> | ||||
| <?rfc tocdepth="3"?> | ||||
| <?rfc tocindent="yes"?> | ||||
| <?rfc symrefs="yes"?> | ||||
| <?rfc sortrefs="yes"?> | ||||
| <?rfc comments="yes"?> | ||||
| <?rfc inline="yes"?> | ||||
| <?rfc compact="yes"?> | ||||
| <?rfc subcompact="no"?> | ||||
| <rfc category="std" docName="draft-ietf-tsvwg-rtcweb-qos-18" | ||||
| ipr="trust200902"> | ||||
| <rfc xmlns:xi="http://www.w3.org/2001/XInclude" number="8837" | ||||
| submissionType="IETF" consensus="true" category="std" | ||||
| docName="draft-ietf-tsvwg-rtcweb-qos-18" ipr="trust200902" obsoletes="" upd | ||||
| ates="" xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" version=" | ||||
| 3"> | ||||
| <!-- xml2rfc v2v3 conversion 2.45.2 --> | ||||
| <front> | <front> | |||
| <title abbrev="WebRTC QoS"> | <title abbrev="WebRTC QoS"> | |||
| DSCP Packet Markings for WebRTC QoS | Differentiated Services Code Point (DSCP) Packet Markings for WebRTC QoS | |||
| </title> | </title> | |||
| <seriesInfo name="RFC" value="8837"/> | ||||
| <author fullname="Paul E. Jones" initials="P." surname="Jones"> | <author fullname="Paul E. Jones" initials="P." surname="Jones"> | |||
| <organization>Cisco Systems</organization> | <organization>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>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." | ||||
| surname="Jennings"> | ||||
| <organization>Cisco Systems</organization> | <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>AT&T</organization> | |||
| <address> | <address> | |||
| <email>dd5826@att.com</email> | <email>dd5826@att.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date month="July" year="2020"/> | ||||
| <date/> | <keyword>Diffserv</keyword> | |||
| <keyword>rtcweb</keyword> | ||||
| <abstract> | <abstract> | |||
| <t> | <t> | |||
| 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> | |||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <section title="Introduction"> | <section numbered="true" toc="default"> | |||
| <name>Introduction</name> | ||||
| <t> | <t> | |||
| Differentiated Services Code Point (DSCP) <xref target="RFC2474"/> | Differentiated Services Code Point (DSCP) <xref target="RFC2474" format= "default"/> | |||
| 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> | <t> | |||
| Networks where these DSCP markings are beneficial (likely to | Networks in which 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"> | ||||
| <t> | <li> | |||
| <list style="numbers"> | ||||
| <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> | ||||
| <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> | ||||
| <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> | <t> | |||
| There are cases where these DSCP markings do not help, but, | There are cases where these DSCP markings do not help but, | |||
| aside from possible priority inversion for "less than best | aside from possible priority inversion for "Less-than-Best-Effort | |||
| effort traffic" (see Section 5), they seldom make things worse | traffic" (see <xref target="dscp-mappings" format="default"/>), they seld | |||
| om make things worse | ||||
| if packets are marked appropriately. | if packets are marked appropriately. | |||
| </t> | </t> | |||
| <t> | <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> | <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="default"> | ||||
| <section title="Terminology"> | <name>Terminology</name> | |||
| <t> | <t> | |||
| 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>", | |||
| </t> | "<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"/> <xref | ||||
| target="RFC8174"/> when, and only when, they appear in all capitals, as | ||||
| shown here. | ||||
| </t> | ||||
| <t> | <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"/> and carry the same meaning in this | |||
| document. | document. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Relation to Other Specifications"> | <name>Relation to Other Specifications</name> | |||
| <t> | <t> | |||
| This document is a complement to <xref target="RFC7657"/>, which | This document is a complement to <xref target="RFC7657" format="default" />, 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"/> strea | |||
| ms that | ||||
| are multiplexed onto a single transport-layer flow. | are multiplexed onto a single transport-layer flow. | |||
| </t> | </t> | |||
| <t> | <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"/> 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"/>. 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"/> traffic over the | |||
| same 5-tuple as RTP streams, which would also be marked as per | same 5-tuple as RTP streams, which would also be marked per | |||
| that table. The guidance in <xref target="RFC7657"/> says that | that table. The guidance in <xref target="RFC7657" format="default"/> s | |||
| ays 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> | <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> | <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"/>. Further, a m | |||
| itigation 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="default"> | ||||
| <section title="Inputs"> | <name>Inputs</name> | |||
| <t> | <t> | |||
| 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"> | ||||
| <li> | ||||
| media flows that are RTP streams | ||||
| <xref target="RFC8834" format="default"/> | ||||
| </li> | ||||
| <li> | ||||
| data flows that are data channels | ||||
| <xref target="RFC8831" format="default"/> | ||||
| </li> | ||||
| </ul> | ||||
| <t> | <t> | |||
| Each of the RTP streams and distinct data channels consists of | 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"/>.) | ||||
| </t> | </t> | |||
| <t> | <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"> | |||
| <li> | ||||
| 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"/> | |||
| </t> | <xref target="G.1010" format="default"/>) with or without audio, or da | |||
| ta. | ||||
| <t> | </li> | |||
| <li> | ||||
| 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> | <t> | |||
| <xref target="I-D.ietf-rtcweb-transports"/> defines in more | <xref target="RFC8835" format="default"/> 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> | <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"/> and | |||
| browser APIs do not exist to allow an application to to | 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" title="DSCP Mappings"> | <section anchor="dscp-mappings" numbered="true" toc="default"> | |||
| <name>DSCP Mappings</name> | ||||
| <t> | <t> | |||
| 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"/>. | |||
| 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"/>. A web browser <bcp14>SHOULD< | |||
| to mark the appropriate media packets. More information on EF | /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 | |||
| forwarding which provides the basic best effort service | target="RFC3246" format="default"/> and <xref target="RFC2597" | |||
| <xref target="RFC2474"/>. | format="default"/>, respectively. DF is Default Forwarding, which provid | |||
| es the basic best-effort service | ||||
| <xref target="RFC2474" format="default"/>. | ||||
| </t> | </t> | |||
| <t> | <t> | |||
| WebRTC use of multiple DSCP values may encounter network blocking | WebRTC's use of multiple DSCP values may result in packets with | |||
| of packets with certain DSCP values. See section 4.2 of | certain DSCP values being blocked by a network. See | |||
| <xref target="I-D.ietf-rtcweb-transports"/> for further | <xref target="RFC8835" sectionFormat="of" section="4.2"/> 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"> | ||||
| <texttable anchor="table-dscp" | <name>Recommended DSCP Values for WebRTC Applications</name> | |||
| title="Recommended DSCP Values for WebRTC Applications"> | <thead> | |||
| <ttcol align="center">Flow Type</ttcol> | <tr> | |||
| <ttcol align="center">Very Low</ttcol> | <th align="center">Flow Type</th> | |||
| <ttcol align="center">Low</ttcol> | <th align="center">Very Low</th> | |||
| <ttcol align="center">Medium</ttcol> | <th align="center">Low</th> | |||
| <ttcol align="center">High</ttcol> | <th align="center">Medium</th> | |||
| <c>Audio</c> | <th align="center">High</th> | |||
| <c>CS1 (8)</c> | </tr> | |||
| <c>DF (0)</c> | </thead> | |||
| <c>EF (46)</c> | <tbody> | |||
| <c>EF (46)</c> | <tr> | |||
| <c> </c> | <td align="center">Audio</td> | |||
| <c> </c> | <td align="center">LE (1)</td> | |||
| <c> </c> | <td align="center">DF (0)</td> | |||
| <c> </c> | <td align="center">EF (46)</td> | |||
| <c> </c> | <td align="center">EF (46)</td> | |||
| <c>Interactive Video with or without Audio</c> | </tr> | |||
| <c>CS1 (8)</c> | <tr> | |||
| <c>DF (0)</c> | <td align="center"> </td> | |||
| <c>AF42, AF43 (36, 38)</c> | <td align="center"> </td> | |||
| <c>AF41, AF42 (34, 36)</c> | <td align="center"> </td> | |||
| <c> </c> | <td align="center"> </td> | |||
| <c> </c> | <td align="center"> </td> | |||
| <c> </c> | </tr> | |||
| <c> </c> | <tr> | |||
| <c> </c> | <td align="center">Interactive Video with or without Audio</td> | |||
| <c>Non-Interactive Video with or without Audio</c> | <td align="center">LE (1)</td> | |||
| <c>CS1 (8)</c> | <td align="center">DF (0)</td> | |||
| <c>DF (0)</c> | <td align="center">AF42, AF43 (36, 38)</td> | |||
| <c>AF32, AF33 (28, 30)</c> | <td align="center">AF41, AF42 (34, 36)</td> | |||
| <c>AF31, AF32 (26, 28)</c> | </tr> | |||
| <c> </c> | <tr> | |||
| <c> </c> | <td align="center"> </td> | |||
| <c> </c> | <td align="center"> </td> | |||
| <c> </c> | <td align="center"> </td> | |||
| <c> </c> | <td align="center"> </td> | |||
| <c>Data</c> | <td align="center"> </td> | |||
| <c>CS1 (8)</c> | </tr> | |||
| <c>DF (0)</c> | <tr> | |||
| <c>AF11</c> | <td align="center">Non-Interactive Video with or without Audio</td> | |||
| <c>AF21</c> | <td align="center">LE (1)</td> | |||
| </texttable> | <td align="center">DF (0)</td> | |||
| <td align="center">AF32, AF33 (28, 30)</td> | ||||
| <td align="center">AF31, AF32 (26, 28)</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="center"> </td> | ||||
| <td align="center"> </td> | ||||
| <td align="center"> </td> | ||||
| <td align="center"> </td> | ||||
| <td align="center"> </td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="center">Data</td> | ||||
| <td align="center">LE (1)</td> | ||||
| <td align="center">DF (0)</td> | ||||
| <td align="center">AF11</td> | ||||
| <td align="center">AF21</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <t> | <t> | |||
| The application priority, indicated by the columns "very low", | The application priority, indicated by the columns "Very Low", | |||
| "low", "Medium", and "high", signifies the relative importance | "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> | <t> | |||
| The above table assumes that packets marked with CS1 are treated | The above table assumes that packets marked with LE are treated as | |||
| as "less than best effort", such as the LE behavior described in | lower effort (i.e., "less than best effort"), such as the LE behavior | |||
| <xref target="RFC3662"/>. However, the treatment of CS1 is | described in <xref target="RFC8622" format="default"/>. However, the treatme | |||
| implementation dependent. If an implementation treats CS1 as | nt of LE is | |||
| other than "less than best effort", then the actual priority | implementation dependent. If an implementation treats LE as other | |||
| (or, more precisely, the per-hop-behavior) of the packets may be | than "less than best effort", then the actual priority (or, more | |||
| changed from what is intended. It is common for CS1 to be | precisely, the per-hop behavior) of the packets may be changed from | |||
| treated the same as DF, so applications and browsers using CS1 | what is intended. It is common for LE to be treated the same as DF, | |||
| cannot assume that CS1 will be treated differently than DF | so applications and browsers using LE cannot assume that LE will be | |||
| <xref target="RFC7657"/>. However, it is also possible per | treated differently than DF <xref target="RFC7657" format="default"/>. Durin | |||
| <xref target="RFC2474"/> for CS1 traffic to be given better | g development of this | |||
| treatment than DF, thus caution should be exercised when | document, the CS1 DSCP was recommended for "very low" application | |||
| electing to use CS1. This is one of the cases where marking | priority traffic; implementations that followed that recommendation | |||
| packets using these recommendations can make things worse. | <bcp14>SHOULD</bcp14> be updated to use the LE DSCP instead of the CS1 DSCP. | |||
| </t> | </t> | |||
| <t> | <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> | <t> | |||
| The browser SHOULD first select the flow type of the flow. | The browser <bcp14>SHOULD</bcp14> 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> | <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"/>, for which the | |||
| Interactive Video DSCP values in Table 1 SHOULD be used. | interactive video DSCP values in Table 1 <bcp14>SHOULD</bcp14> be used. | |||
| Browsers MUST NOT use the AF3x DSCP values (for Non-Interactive | Browsers <bcp14>MUST NOT</bcp14> use the AF3x DSCP values (for non-inter | |||
| Video in Table 1) for WebRTC applications. Non-browser | active | |||
| implementations of WebRTC MAY use the AF3x DSCP values for video | 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> | <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> | |||
| skipping to change at line 407 ¶ | skipping to change at line 391 ¶ | |||
| 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> | <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"/> 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"/>. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| For reasons discussed in Section 6 of | For reasons discussed in | |||
| <xref target="RFC7657"/>, if multiple flows are multiplexed | <xref target="RFC7657" sectionFormat="of" section="6"/>, if multiple flo | |||
| using a reliable transport (e.g., TCP) then all of the packets | ws 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> | <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 DCSP 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> | <t> | |||
| If a packet enters a network that has no support for a flow | If a packet enters a network that has no support for a flow-type-applica | |||
| type-application priority combination specified in | tion priority combination specified in | |||
| <xref target="table-dscp"/>, then the network node at the edge | <xref target="tab-dscp" format="default"/>, 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> | <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="default"> | ||||
| <section title="Security Considerations"> | <name>Security Considerations</name> | |||
| <t> | <t> | |||
| 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> | <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" | |||
| and Section 6 of <xref target="RFC4594"/>. Please also see | sectionFormat="of" section="7"/> | |||
| <xref target="I-D.ietf-rtcweb-security"/> as an additional | and <xref target="RFC4594" sectionFormat="of" section="6"/>. Please als | |||
| o see | ||||
| <xref target="RFC8826" format="default"/> as an additional | ||||
| reference. | reference. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section title="IANA Considerations"> | <section numbered="true" toc="default"> | |||
| <t> | <name>IANA Considerations</name> | |||
| This specification does not require any actions from IANA. | <t>This document has no IANA actions.</t> | |||
| </t> | ||||
| </section> | </section> | |||
| <section title="Downward References"> | <section numbered="true" toc="default"> | |||
| <name>Downward References</name> | ||||
| <t> | <t> | |||
| 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"/> and <xref target="RFC7657" for | |||
| the parts of the former RFC used by this specification are | mat="default"/>. However, | |||
| sufficiently stable for this downward reference. The guidance | 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> | ||||
| <back> | ||||
| <references> | ||||
| <name>References</name> | ||||
| <references> | ||||
| <name>Normative References</name> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.4594.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.2119.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.7657.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.7742.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.8174.xml"/> | ||||
| <section title="Acknowledgements"> | <!-- draft-ietf-rtcweb-data-channel: 8831 --> | |||
| <reference anchor="RFC8831" target="https://www.rfc-editor.org/info/rfc8831"> | ||||
| <front> | ||||
| <title>WebRTC Data Channels</title> | ||||
| <author initials="R" surname="Jesup" fullname="Randell Jesup"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="S" surname="Loreto" fullname="Salvatore Loreto"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="M" surname="Tüxen" fullname="Michael Tüxen"> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month='July' year='2020'/> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8831"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8831"/> | ||||
| </reference> | ||||
| <!--draft-ietf-rtcweb-security: RFC 8826 --> | ||||
| <reference anchor="RFC8826" target="https://www.rfc-editor.org/info/rfc8826"> | ||||
| <front> | ||||
| <title>Security Considerations for WebRTC</title> | ||||
| <author initials='E.' surname='Rescorla' fullname='Eric Rescorla'> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month='July' year='2020'/> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8826"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8826"/> | ||||
| </reference> | ||||
| <!-- draft-ietf-rtcweb-rtp-usage; RFC 8834 --> | ||||
| <reference anchor="RFC8834" target="https://www.rfc-editor.org/info/rfc8834"> | ||||
| <front> | ||||
| <title>Media Transport and Use of RTP in WebRTC</title> | ||||
| <author initials="C." surname="Perkins" fullname="Colin Perkins"> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials="M." surname="Westerlund" fullname="Magnus Westerlund"> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials="J." surname="Ott" fullname="Jörg Ott"> | ||||
| <organization /> | ||||
| </author> | ||||
| <date month="July" year="2020" /> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8834" /> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8834"/> | ||||
| </reference> | ||||
| <!-- draft-ietf-rtcweb-transports-17: 8835 --> | ||||
| <reference anchor="RFC8835" target="https://www.rfc-editor.org/info/rfc8835"> | ||||
| <front> | ||||
| <title>Transports for WebRTC</title> | ||||
| <author initials="H." surname="Alvestrand" fullname="Harald Alvestrand"> | ||||
| <organization /> | ||||
| </author> | ||||
| <date month="July" year="2020" /> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8835" /> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8835"/> | ||||
| </reference> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC | ||||
| .8622.xml"/> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.2474.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.2597.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.3246.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.3550.xml"/> | ||||
| <!-- draft-ietf-rmcat-coupled-cc (RFC 8699) (Published) --> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8699. | ||||
| xml"/> | ||||
| <reference anchor="G.1010"> | ||||
| <front> | ||||
| <title>End-user multimedia QoS categories</title> | ||||
| <author> | ||||
| <organization>ITU-T</organization> | ||||
| </author> | ||||
| <date month="November" year="2001"/> | ||||
| </front> | ||||
| <seriesInfo name="ITU-T Recommendation" value="G.1010"/> | ||||
| </reference> | ||||
| </references> | ||||
| </references> | ||||
| <section numbered="false" toc="default"> | ||||
| <name>Acknowledgements</name> | ||||
| <t> | <t> | |||
| Thanks to David Black, Magnus Westerlund, Paolo Severini, Jim | Thanks to <contact fullname="David Black"/>, <contact fullname="Magnus | |||
| Hasselbrook, Joe Marcus, Erik Nordmark, Michael Tuexen, and | Westerlund"/>, <contact fullname="Paolo Severini"/>, <contact fullname="J | |||
| Brian Carpenter for their invaluable input. | im | |||
| Hasselbrook"/>, <contact fullname="Joe Marcus"/>, <contact fullname="Eri | ||||
| k | ||||
| Nordmark"/>, <contact fullname="Michael Tüxen"/>, and | ||||
| <contact fullname="Brian Carpenter"/> for their invaluable input. | ||||
| </t> | </t> | |||
| </section> | </section> | |||
| <section numbered="false" toc="default"> | ||||
| <section title="Dedication"> | <name>Dedication</name> | |||
| <t> | <t> | |||
| This document is dedicated to the memory of James Polk, a | 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 title="Document History"> | ||||
| <t> | ||||
| Note to RFC Editor: Please remove this section. | ||||
| </t> | ||||
| <t> | ||||
| This document was originally an individual submission in RTCWeb WG. | ||||
| 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 | ||||
| as that seemed to be a better match. | ||||
| </t> | ||||
| </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. 106 change blocks. | ||||
| 308 lines changed or deleted | 380 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||