<?xmlversion="1.0"?> <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ <!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"> <!ENTITY rfc3550 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3550.xml"> <!ENTITY rfc3551 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3551.xml"> <!ENTITY rfc3611 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3611.xml"> <!ENTITY rfc4585 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4585.xml"> <!ENTITY rfc5506 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5506.xml"> <!ENTITY rfc5166 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5166.xml"> <!ENTITY rfc5033 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5033.xml"> <!ENTITY rfc8593 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8593.xml"> <!-- <!ENTITY rfc5681 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5681.xml"> --> <!ENTITY rfc8083 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8083.xml"> <!ENTITY I-D.ietf-rmcat-cc-requirements PUBLIC "" "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-rmcat-cc-requirements.xml"> <!ENTITY I-D.ietf-avtcore-rtp-circuit-breakers PUBLIC "" "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-avtcore-rtp-circuit-breakers.xml"> <!ENTITY I-D.ietf-netvc-testing PUBLIC "" "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-netvc-testing.xml"> <!ENTITY I-D.ietf-rmcat-eval-test PUBLIC "" "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-rmcat-eval-test.xml"> <!ENTITY I-D.ietf-rmcat-wireless-tests PUBLIC "" "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-rmcat-wireless-tests.xml"> ]> <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> <?rfc toc="yes" ?> <?rfc compact="yes" ?> <?rfc symrefs="yes" ?>version='1.0' encoding='utf-8'?> <rfcipr="trust200902"xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="info" consensus="true" docName="draft-ietf-rmcat-eval-criteria-14"category="info"> <!-- What is the category field value-->indexInclude="true" ipr="trust200902" number="8868" prepTime="2021-01-19T00:08:29" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en"> <link href="https://datatracker.ietf.org/doc/draft-ietf-rmcat-eval-criteria-14" rel="prev"/> <link href="https://dx.doi.org/10.17487/rfc8868" rel="alternate"/> <link href="urn:issn:2070-1721" rel="alternate"/> <front> <title abbrev="Evaluating Congestion Control forRMCAT"> EvaluatingInteractive Real-Time Media">Evaluating Congestion Control for InteractiveReal-time Media <!--Evaluation Criteria for RTP Congestion Avoidance Techniques --> </title>Real-Time Media</title> <seriesInfo name="RFC" value="8868" stream="IETF"/> <author initials="V." surname="Singh" fullname="Varun Singh"> <organizationabbrev="callstats.io"> CALLSTATSabbrev="callstats.io" showOnFrontPage="true">CALLSTATS I/OOy </organization>Oy</organization> <address> <postal><street>Runeberginkatu 4c A 4</street><street>Rauhankatu 11 C</street> <code>00100</code> <city>Helsinki</city> <country>Finland</country> </postal> <email>varun.singh@iki.fi</email><uri> https://www.callstats.io/about </uri><uri>https://www.callstats.io/</uri> </address> </author> <author initials="J." surname="Ott"fullname="Joergfullname="Jörg Ott"><organization>Technical<organization showOnFrontPage="true">Technical University of Munich</organization> <address> <postal><street>Faculty<extaddr>Department ofInformatics</street>Informatics</extaddr> <extaddr>Chair of Connected Mobility</extaddr> <street>Boltzmannstrasse 3</street><city>Garching bei München</city> <region>DE</region><city>Garching</city> <code>85748</code> <country>Germany</country> </postal> <email>ott@in.tum.de</email> </address> </author> <author fullname="Stefan Holmer" initials="S." surname="Holmer"> <organizationabbrev="Google">Google</organization>abbrev="Google" showOnFrontPage="true">Google</organization> <address> <postal> <street>Kungsbron 2</street> <code>11122</code> <city>Stockholm</city> <country>Sweden</country> </postal> <email>holmer@google.com</email> </address> </author> <dateyear="2020" month="3"/>month="01" year="2021"/> <area>TSV</area><workgroup>RMCAT WG</workgroup><workgroup>RMCAT</workgroup> <keyword>RTP</keyword> <keyword>RTCP</keyword> <keyword>Congestion Control</keyword><abstract> <t>The Real-time<abstract pn="section-abstract"> <t indent="0" pn="section-abstract-1">The Real-Time Transport Protocol (RTP) is used to transmit media in telephony and video conferencing applications. This document describes the guidelines to evaluate new congestion control algorithms for interactive point-to-point real-time media.</t> </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 document is not an Internet Standards Track specification; it is published for informational purposes. </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). Not all documents approved by the IESG are candidates for any level of Internet Standard; see 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/rfc8868" brackets="none"/>. </t> </section> <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" 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" pn="section-toc.1"> <name slugifiedName="name-table-of-contents">Table of Contents</name> <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1"> <li pn="section-toc.1-1.1"> <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="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 derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t> </li> <li pn="section-toc.1-1.3"> <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-metrics">Metrics</xref></t> <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2"> <li pn="section-toc.1-1.3.2.1"> <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-rtp-log-format">RTP Log Format</xref></t> </li> </ul> </li> <li pn="section-toc.1-1.4"> <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-list-of-network-parameters">List of Network Parameters</xref></t> <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2"> <li pn="section-toc.1-1.4.2.1"> <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-one-way-propagation-delay">One-Way Propagation Delay</xref></t> </li> <li pn="section-toc.1-1.4.2.2"> <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-end-to-end-loss">End-to-End Loss</xref></t> </li> <li pn="section-toc.1-1.4.2.3"> <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-drop-tail-router-queue-leng">Drop-Tail Router Queue Length</xref></t> </li> <li pn="section-toc.1-1.4.2.4"> <t indent="0" pn="section-toc.1-1.4.2.4.1"><xref derivedContent="4.4" format="counter" sectionFormat="of" target="section-4.4"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-loss-generation-model">Loss Generation Model</xref></t> </li> <li pn="section-toc.1-1.4.2.5"> <t indent="0" pn="section-toc.1-1.4.2.5.1"><xref derivedContent="4.5" format="counter" sectionFormat="of" target="section-4.5"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-jitter-models">Jitter Models</xref></t> <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.5.2"> <li pn="section-toc.1-1.4.2.5.2.1"> <t indent="0" pn="section-toc.1-1.4.2.5.2.1.1"><xref derivedContent="4.5.1" format="counter" sectionFormat="of" target="section-4.5.1"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-random-bounded-pdv-rbpdv">Random Bounded PDV (RBPDV)</xref></t> </li> <li pn="section-toc.1-1.4.2.5.2.2"> <t indent="0" pn="section-toc.1-1.4.2.5.2.2.1"><xref derivedContent="4.5.2" format="counter" sectionFormat="of" target="section-4.5.2"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-approximately-random-subjec">Approximately Random Subject to No-Reordering Bounded PDV (NR-BPDV)</xref></t> </li> <li pn="section-toc.1-1.4.2.5.2.3"> <t indent="0" pn="section-toc.1-1.4.2.5.2.3.1"><xref derivedContent="4.5.3" format="counter" sectionFormat="of" target="section-4.5.3"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-recommended-distribution">Recommended Distribution</xref></t> </li> </ul> </li> </ul> </li> <li pn="section-toc.1-1.5"> <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-traffic-models">Traffic Models</xref></t> <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2"> <li pn="section-toc.1-1.5.2.1"> <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-tcp-traffic-model">TCP Traffic Model</xref></t> </li> <li pn="section-toc.1-1.5.2.2"> <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-rtp-video-model">RTP Video Model</xref></t> </li> <li pn="section-toc.1-1.5.2.3"> <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-background-udp">Background UDP</xref></t> </li> </ul> </li> <li pn="section-toc.1-1.6"> <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>. <xref derivedContent="" format="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" format="counter" sectionFormat="of" target="section-7"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t> </li> <li pn="section-toc.1-1.8"> <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t> <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2"> <li pn="section-toc.1-1.8.2.1"> <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t> </li> <li pn="section-toc.1-1.8.2.2"> <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t> </li> </ul> </li> <li pn="section-toc.1-1.9"> <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t> </li> <li pn="section-toc.1-1.10"> <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t> </li> <li pn="section-toc.1-1.11"> <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t> </li> </ul> </section> </toc> </front> <middle> <sectiontitle="Introduction"> <t>Thisnumbered="true" toc="include" removeInRFC="false" pn="section-1"> <name slugifiedName="name-introduction">Introduction</name> <t indent="0" pn="section-1-1">This memo describes the guidelines to help with evaluating new congestion control algorithms for interactive point-to-pointreal timereal-time media. The requirements for the congestion control algorithm are outlined in <xreftarget="I-D.ietf-rmcat-cc-requirements" />).target="RFC8836" format="default" sectionFormat="of" derivedContent="RFC8836"/>. This document builds upon previous work at the IETF: <xreftarget="RFC5033">Specifyingtarget="RFC5033" format="default" sectionFormat="of" derivedContent="RFC5033">Specifying New Congestion Control Algorithms</xref> and <xreftarget="RFC5166">Metricstarget="RFC5166" format="default" sectionFormat="of" derivedContent="RFC5166">Metrics for the Evaluation of Congestion Control Algorithms</xref>.</t><t>The<t indent="0" pn="section-1-2">The guidelines proposed in the document are intended to help prevent a congestion collapse, to promote fair capacityusageusage, and to optimize the media flow's throughput. Furthermore, the proposed congestion control algorithms are expected to operate within the envelope of the circuit breakers defined in RFC 8083 <xreftarget="RFC8083">RFC8083</xref>.</t> <t>Thistarget="RFC8083" format="default" sectionFormat="of" derivedContent="RFC8083"/>.</t> <t indent="0" pn="section-1-3">This document only provides the broad set of network parameters andandtraffic models for evaluating a new congestion control algorithm. The minimalrequirementsrequirement for congestion control proposals is to produce or present results for the test scenarios described in <xreftarget="I-D.ietf-rmcat-eval-test" />target="RFC8867" format="default" sectionFormat="of" derivedContent="RFC8867"/> (Basic Test Cases), which also defines the specifics for the test cases. Additionally, proponents may produce evaluation results for the <xreftarget="I-D.ietf-rmcat-wireless-tests">target="RFC8869" format="default" sectionFormat="of" derivedContent="RFC8869"> wireless test scenarios</xref>. </t><t><t indent="0" pn="section-1-4"> This document does not cover application-specific implications of congestion control algorithms and how those could be evaluated. Therefore, no quality metrics are defined for performance evaluation; quality metrics and the algorithms to infer those vary between media types. Metrics and algorithms to assess, e.g., the quality ofexperienceexperience, evolve continuously so that determining suitable choices is left for future work. However, there is consensus that each congestion control algorithm should be able to show that it is useful for interactive video by performing analysis usingareal codecs and video sequences and state-of-the-art quality metrics. </t><t><t indent="0" pn="section-1-5"> Beyond optimizing individual metrics, real-time applications may have further options to trade off performance, e.g., across multiple media; refer to the <xreftarget="I-D.ietf-rmcat-cc-requirements">RMCATtarget="RFC8836" format="default" sectionFormat="of" derivedContent="RFC8836">RMCAT requirements</xref> document. Such trade-offs may be defined in the future. </t> </section> <sectiontitle="Terminology" anchor="sec-terminology"> <!--<t> The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, <xref target="RFC2119" /> and indicate requirement levels for compliant implementations. </t> --> <t>anchor="sec-terminology" numbered="true" toc="include" removeInRFC="false" pn="section-2"> <name slugifiedName="name-terminology">Terminology</name> <t indent="0" pn="section-2-1"> The terminology defined in <xreftarget="RFC3550">RTP</xref>,target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550">RTP</xref>, <xreftarget="RFC3551">RTPtarget="RFC3551" format="default" sectionFormat="of" derivedContent="RFC3551">RTP Profile for Audio and Video Conferences with Minimal Control</xref>, <xreftarget="RFC3611">RTCPtarget="RFC3611" format="default" sectionFormat="of" derivedContent="RFC3611">RTCP Extended Report (XR)</xref>, <xreftarget="RFC4585">Extendedtarget="RFC4585" format="default" sectionFormat="of" derivedContent="RFC4585">Extended RTP Profile forRTCP-basedRTCP-Based Feedback (RTP/AVPF)</xref> and <xreftarget="RFC5506">Supporttarget="RFC5506" format="default" sectionFormat="of" derivedContent="RFC5506">Support for Reduced-Size RTCP</xref>apply.</t>applies.</t> </section> <sectiontitle="Metrics" anchor="cc-metrics"> <!-- <t><xref target="RFC5166" /> describes the basic metrics for congestion control. Metrics that are of interest for interactive multimedia are: <list style="symbols"> <t>Throughput.</t> <t>Minimizing oscillations in the transmission rate (stability) when the end-to-end capacity varies slowly.</t> <t>Delay.</t> <t>Reactivity to transient events.</t> <t>Packet losses and discards.</t> <t>Users' quality of experience</t> <t>Section 2.1 of <xref target="RFC5166" /> discusses the tradeoff between throughput, delay and loss.</t> </list></t> --> <t>anchor="cc-metrics" numbered="true" toc="include" removeInRFC="false" pn="section-3"> <name slugifiedName="name-metrics">Metrics</name> <t indent="0" pn="section-3-1"> This document specifies testing criteria for evaluating congestion control algorithms for RTP media flows. Proposed algorithms are to prove their performance by means of simulation and/or emulation experiments for all the cases described.</t><t>Each<t indent="0" pn="section-3-2">Each experiment is expected to log every incoming and outgoing packet (the RTP logging format is described in <xref target="rtp-logging"/>).format="default" sectionFormat="of" derivedContent="Section 3.1"/>). The logging can be done inside the application or at the endpoints using PCAP (packet capture, e.g., tcpdump <xreftarget="tcpdump"/>, wiresharktarget="tcpdump" format="default" sectionFormat="of" derivedContent="tcpdump"/>, Wireshark <xreftarget="wireshark"/>).target="wireshark" format="default" sectionFormat="of" derivedContent="wireshark"/>). The following metrics are calculated based on the information in the packet logs:<list style="numbers"> <t>Sending</t> <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-3-3"> <li pn="section-3-3.1" derivedCounter="1.">Sending rate,Receiverreceiver rate,Goodputgoodput (measured at 200msintervals)</t> <t>Packetsintervals)</li> <li pn="section-3-3.2" derivedCounter="2.">Packets sent,Packets received</t> <t>Bytespackets received</li> <li pn="section-3-3.3" derivedCounter="3.">Bytes sent, bytesreceived</t> <t>Packet delay</t> <t>Packetsreceived</li> <li pn="section-3-3.4" derivedCounter="4.">Packet delay</li> <li pn="section-3-3.5" derivedCounter="5.">Packets lost,Packetspackets discarded (from the playout or de-jitterbuffer)</t> <t>If using,buffer)</li> <li pn="section-3-3.6" derivedCounter="6.">If using retransmission or FEC: post-repairloss</t> <!-- <t>[Editor's note: Howloss</li> <li pn="section-3-3.7" derivedCounter="7."> <t indent="0" pn="section-3-3.7.1">Self-fairness and fairness with respect tohandle packet re-transmissions? loss before retransmission, after retransmission?]</t> --> <!-- t>Fairness or Unfairness: Experiments testing the performance of an RMCAT proposal against any cross-traffic must define its expected criteria for fairness. The "unfairness" test guideline (measured at 1s intervals) is:<vspace /> 1. Does not trigger the circuit breaker.<vspace /> 2. No RMCAT stream achieves more than 3 times the average throughput of the RMCAT stream with the lowest average throughput, for a case when the competing streams have similar RTTs.<vspace /> 3. RTT should not grow by a factor of 3 for the existing flows when a new flow is added. <vspace /> --> <t>Self-Fairness and Fairness with respect to cross traffic:cross traffic: Experiments testing a given congestion control proposal must report on relative ratios of the average throughput (measured at coarser time intervals) obtained by each RTP media stream. In the presence of background cross-traffic such as TCP, the report must also include the relative ratio between average throughput of RTP media streams and cross-traffic streams.<vspace/></t> <t indent="0" pn="section-3-3.7.2"> During static periods of a test (i.e., when bottleneck bandwidth is constant and no arrival/departure of streams), thesereportreports on relative ratios serve as an indicator of howfairfairly the RTP streams share bandwidth amongst themselves and against cross-traffic streams. The throughput measurement interval should be set at a few values (for example, at1s, 5s,1 s, 5 s, and20s)20 s) in order to measure fairness across differenttime scales. <vspace/>timescales. </t> <t indent="0" pn="section-3-3.7.3"> As a general guideline, the relative ratio betweencongestion controlledcongestion-controlled RTP flows with the same priority level and similar path RTT should be bounded between(0.3330.333 and3.)3. For example, see the test scenarios described in <xreftarget="I-D.ietf-rmcat-eval-test" />.</t> <t>Convergencetarget="RFC8867" format="default" sectionFormat="of" derivedContent="RFC8867"/>.</t> </li> <li pn="section-3-3.8" derivedCounter="8.">Convergence time: The time taken to reach a stable rate at startup, after the available link capacity changes, or when new flows get added to the bottlenecklink.</t> <t>Instabilitylink.</li> <li pn="section-3-3.9" derivedCounter="9.">Instability or oscillation in the sending rate: The frequency or number of instances when the sending rate oscillates between an high watermark level and a low watermark level, or vice-versa in a defined time window. For example, the watermarks can be set at 4x interval: 500 Kbps, 2 Mbps, and a time window of500ms.</t> <!-- <t>[Open issue (2): Convergence time was discussed briefly in the design meetings. It is defined as: the time it takes the congestion control to reach a stable rate (at startup or after new RMCAT flows are added). What is a stable rate?]</t> --> <t>Bandwidth Utilization,500 ms.</li> <li pn="section-3-3.10" derivedCounter="10.">Bandwidth utilization, defined as the ratio of the instantaneous sending rate to the instantaneous bottleneckcapacity.capacity: This metric is useful only when acongestion controlledcongestion-controlled RTP flow is by itself or is competing with similarcross-traffic.</t> </list></t> <t>cross-traffic.</li> </ol> <t indent="0" pn="section-3-4"> Note that the above metrics are all objective application-independent metrics. Refer toSection 3, in<xref target="I-D.ietf-netvc-testing"/>section="3" sectionFormat="of" format="default" derivedLink="https://tools.ietf.org/html/draft-ietf-netvc-testing-09#section-3" derivedContent="netvc-testing"/> for objective metrics for evaluating codecs. </t><t>From<t indent="0" pn="section-3-5">From thelogslogs, the statistical measures (min, max, mean, standarddeviationdeviation, and variance) for the whole duration or any specific part of the session can be calculated. Also the metrics (sending rate, receiver rate, goodput, latency) can be visualized in graphs as variation overtime,time; the measurements in the plot are at1 secondone-second intervals. Additionally, from thelogslogs, it is possible to plot the histogram orCDFcumulative distribution function (CDF) of packet delay.</t><!-- t>[Open issue (1): Using Jain-fairness index (JFI) for measuring self-fairness between RTP flows? measured at what intervals? visualized as a CDF or<section anchor="rtp-logging" numbered="true" toc="include" removeInRFC="false" pn="section-3.1"> <name slugifiedName="name-rtp-log-format">RTP Log Format</name> <t indent="0" pn="section-3.1-1"> Having atime series? Additionally: Use JFI forcommon log format simplifies running analyses across different measurement setups and comparingfairness betweentheir results. </t> <artwork name="" type="" align="left" alt="" pn="section-3.1-2"> Send or receive timestamp (Unix): <int>.<int> -- sec.usec decimal RTPand long TCP flows? ]</t --> <!-- <t> <list style="empty"> <t>(i) Bandwidth Utilization: is the ratio of the encoding rate to the (available) end-to-end path capacity. <list style="symbols"> <t>Under-utilization: is the periodpayload type <int> -- decimal SSRC <int> -- hexadecimal RTP sequence no <int> -- decimal RTP timestamp <int> -- decimal marker bit 0|1 -- character Payload size <int> -- # bytes, decimal </artwork> <t indent="0" pn="section-3.1-3">Each line oftime whentheendpoint's encoding rate is lower thanlog file should be terminated with CRLF, CR, or LF characters. Empty lines are disregarded.</t> <t indent="0" pn="section-3.1-4">If theend-to-end capacity, i.e.,congestion control implements retransmissions or Forward Error Correction (FEC), thebandwidth utilization is less than 1.</t> <t>Overuse: isevaluation should report both packet loss (before applying error resilience) and residual packet loss (after applying error resilience).</t> <t indent="0" pn="section-3.1-5">These data should suffice to compute theperiodmedia-encoding independent metrics described above. Use oftime when the endpoint's encoding rate is higher thana common log will allow simplified post-processing and analysis across different implementations. </t> </section> </section> <section anchor="add-params" numbered="true" toc="include" removeInRFC="false" pn="section-4"> <name slugifiedName="name-list-of-network-parameters">List of Network Parameters</name> <t indent="0" pn="section-4-1">The implementors are encouraged to choose evaluation settings from theend-to-end capacity, i.e.,following values initially:</t> <section anchor="scen-delay" numbered="true" toc="include" removeInRFC="false" pn="section-4.1"> <name slugifiedName="name-one-way-propagation-delay">One-Way Propagation Delay</name> <t indent="0" pn="section-4.1-1">Experiments are expected to verify that thebandwidth utilization is greater than 1.</t> <t>Steady-state:congestion control isthe periodable to work across a broad range oftime when the endpoint's encoding rate is relatively stable, i.e.,path characteristics, including challenging situations, for example, over transcontinental and/or satellite links. Tests thus account for thebandwidth utilization is constant.</t> </list></t> <t></t> <t>(ii) Packet Loss and Discard Rate.</t> <t></t> <t>(iii) Fair Share.following different latencies: </t><t></t> <t>[Editor's Note: This metric should match the ones defined<ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.1-2"> <li pn="section-4.1-2.1" derivedCounter="1.">Very low latency: 0-1 ms</li> <li pn="section-4.1-2.2" derivedCounter="2.">Low latency: 50 ms</li> <li pn="section-4.1-2.3" derivedCounter="3.">High latency: 150 ms</li> <li pn="section-4.1-2.4" derivedCounter="4.">Extreme latency: 300 ms</li> </ol> </section> <section anchor="scen-loss" numbered="true" toc="include" removeInRFC="false" pn="section-4.2"> <name slugifiedName="name-end-to-end-loss">End-to-End Loss</name> <t indent="0" pn="section-4.2-1"> Many paths in the<xref target="I-D.ietf-rmcat-cc-requirements">RMCAT requirements</xref> document.]</t> <t></t> <t>(iv) Quality: ThereInternet today aremany different types of quality metrics for audiolargely lossless; however, in scenarios featuring interference in wireless networks, sending to andvideo. Audio quality is often expressedreceiving from remote regions, or high/fast mobility, media flows may exhibit substantial packet loss. This variety needs to be reflected appropriately by the tests.</t> <t indent="0" pn="section-4.2-2">To model aMOS ("Mean Opinion Score") and can be calculated using an objective algorithm (E-model/R-model). Section 4.7wide range of<xref target="RFC3611" /> can also be used for VoIP metrics. Similarly, there exist several metrics to measure video quality, for example Peak Signal to Noise Ratio (PSNR). </t> <t>[Editor's Note: Shouldlossy links, thealgorithm compare average PSNR of test video sequences or what other video quality metricexperiments canbe used? If Qualitychoose one of the following loss rates; the fractional loss isused as a metric, it should not betheonly metric used to compare rate-control schemes. Also, algorithms using different codecs cannot be compared]. </t> </list>ratio of packets lost and packets sent: </t>--><ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.2-3"> <li pn="section-4.2-3.1" derivedCounter="1.">no loss: 0%</li> <li pn="section-4.2-3.2" derivedCounter="2.">1%</li> <li pn="section-4.2-3.3" derivedCounter="3.">5%</li> <li pn="section-4.2-3.4" derivedCounter="4.">10%</li> <li pn="section-4.2-3.5" derivedCounter="5.">20%</li> </ol> </section> <sectiontitle="RTP Log Format" anchor="rtp-logging"> <t> Having a common log format simplifies running analyses across and comparing different measurements. The log fileanchor="scen-queue" numbered="true" toc="include" removeInRFC="false" pn="section-4.3"> <name slugifiedName="name-drop-tail-router-queue-leng">Drop-Tail Router Queue Length</name> <t indent="0" pn="section-4.3-1">Routers should betab or comma separated containingconfigured to use drop-tail queues in thefollowing details: </t> <figure><artwork><![CDATA[ Send or receive timestamp (Unix): <int>.<int> -- sec.usec decimal RTP payload type <int> -- decimal SSRC <int> -- hexadecimal RTP sequence no <int> -- decimal RTP timestamp <int> -- decimal marker bit 0|1 -- character Payload size <int> -- # bytes, decimal ]]></artwork></figure> <t>Each line of the log file should be terminatedexperiments due to their (still) prevalent nature. Experimentation withCRLF, CR, or LF characters. Empty lines are disregarded.</t> <t>If the congestion control implements retransmissions or FEC,Active Queue Management (AQM) schemes is encouraged but not mandatory. </t> <t indent="0" pn="section-4.3-2">The router queue length is measured as theevaluation should report both packet loss (before applying error-resilience) and residual packet loss (after applying error-resilience).</t> <t>These data should sufficetime taken tocomputedrain themedia-encoding independent metrics described above. Use of a common log will allow simplified post-processing and analysis across different implementations. </t> <!-- <t>The retransmissions for post-repair loss metric be loggedFIFO queue. It has been noted ina separate file, asvarious discussions that therepair streamsqueue length in the currently deployed Internet varies significantly. While the core backbone network has very short queue length, the home gateways usually havedifferent payload type and/or SSRC.</t> --> </section> </section> <!-- <section title="Congestion control requirements" anchor="cc-require"> <t> </t> </section> --> <!-- <section title="Guidelines" anchor="cc-guidelines"> <t>A congestion control algorithm shouldlarger queue length. Those various queue lengths can betestedcategorized insimulation or a testbed environment, andtheexperiments should be repeated multiple times to infer statistical significance. Thefollowingguidelines are considered for evaluation:</t> <section title="Avoiding Congestion Collapse"> <t>The congestion control algorithm is expected to take an action, such as reducingway: </t> <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.3-3"> <li pn="section-4.3-3.1" derivedCounter="1.">QoS-aware (or short): 70 ms</li> <li pn="section-4.3-3.2" derivedCounter="2.">Nominal: 300-500 ms</li> <li pn="section-4.3-3.3" derivedCounter="3.">Buffer-bloated: 1000-2000 ms</li> </ol> <t indent="0" pn="section-4.3-4"> Here thesending rate, when it detects congestion. Typically, it should intervene beforesize of thecircuit breaker <xref target="I-D.ietf-avtcore-rtp-circuit-breakers" />queue isengaged. </t> <t>Doesmeasured in bytes or packets. To convert thecongestion control propose any changesqueue length measured in seconds to(or diverge from) the circuit breaker conditions definedqueue length in<xref target="I-D.ietf-avtcore-rtp-circuit-breakers" />.</t>bytes:</t> <t indent="0" pn="section-4.3-5">QueueSize (in bytes) = QueueSize (in sec) x Throughput (in bps)/8</t> </section> <sectiontitle="Stability"> <t>The congestion control should be assessednumbered="true" toc="include" removeInRFC="false" pn="section-4.4"> <name slugifiedName="name-loss-generation-model">Loss Generation Model</name> <t indent="0" pn="section-4.4-1"> Many models forits stability when the path characteristics do not change over time. Changing the media encoding rate estimate too often or by too much may adversely affect the application layer performance.</t> </section> <section title ="Media Traffic"> <t>The congestion control algorithm shouldgenerating packet loss are available: some generate correlated packet losses, others generate independent packet losses. In addition, packet losses can also beassessedextracted from packet traces. As a (simple) minimum loss model withdifferent types of media behavior, i.e.,minimal parameterization (i.e., themedia should contain idle and data-limited periods. For example, periods of silence for audio, varying amount of motion for video, or bursty nature of I-frames. </t> <t>The evaluation mayloss rate), independent random losses must bedoneused intwo stages. In the first stage,theendpoint generates traffic atevaluation. </t> <t indent="0" pn="section-4.4-2"> It is known that independent loss models may reflect reality poorly, and hence more sophisticated loss models could be considered. Suitable models for correlated losses include therate calculatedGilbert-Elliot model <xref target="gilbert-elliott" format="default" sectionFormat="of" derivedContent="gilbert-elliott"/> and models that generate losses bythe congestion controller. In the second stage, real codecs ormodeling a queue with its (different) drop behaviors. </t> </section> <section anchor="JM" numbered="true" toc="include" removeInRFC="false" pn="section-4.5"> <name slugifiedName="name-jitter-models">Jitter Models</name> <t indent="0" pn="section-4.5-1">This section defines jitter models for the purposes ofvideo codecs are usedthis document. When jitter is tomimic application-limited data periods and varying video frame sizes.</t> </section> <section title="Start-up Behavior"> <t>The congestion control algorithm shouldbeassessed with different start-rates. The main reason isapplied toobserve the behavior ofboth thecongestion control in different test scenarios, suchcongestion-controlled RTP flow and any competing flow (such aswhena TCP competingwith varying amount of cross-traffic or how quicklyflow), the competing flow will use the jitter definition below that does not allow for reordering of packets on thecongestion control algorithm achieve a stable sending rate.</t> </section> <section title="Diverse Environments"> <t>The congestion control algorithm should be assessedcompeting flow (see NR-BPDV definition below).</t> <t indent="0" pn="section-4.5-2">Jitter is an overloaded term inheterogeneous environments, containing both wired and wireless paths. Examples of wireless access technologies are: 802.11, GPRS, HSPA, or LTE. One ofcommunications. It is typically used to refer to themain challengesvariation ofthe wireless environments for the congestion control algorithm isa metric (e.g., delay) with respect todistinguish between congestion induced loss and transmission (bit-error) loss. Congestion control algorithms may incorrectly identify transmission losssome reference metric (e.g., average delay or minimum delay). For example in RFC 3550, jitter is computed ascongestion loss and reducethemedia encoding rate by too much,smoothed difference in packet arrival times relative to their respective expected arrival times, whichmay cause oscillatory behavior and deteriorateis particularly meaningful if theusers' quality of experience. Furthermore,underlying packetloss may induce additionaldelayin networks with wireless paths due to link-layer retransmissions.</t> </section> <section title="Varying Path Characteristics"> <t>The congestion control algorithm should be evaluated for a range of path characteristics such as, different end-to-end capacity and latency, varying amount of cross traffic on a bottleneck link andvariation was caused by arouter's queue length. ForGaussian random process.</t> <t indent="0" pn="section-4.5-3">Because jitter is an overloaded term, we use themoment, only Drop Tail queues are used. However, if new Active Queue Management (AQM) schemes become available,term Packet Delay Variation (PDV) instead to describe theperformancevariation of delay of individual packets in thecongestion control algorithm should be again evaluated.</t> <t>In an experiment, ifsame sense as themedia only flowsIETF IP Performance Metrics (IPPM) working group has defined PDV ina single direction,their documents (e.g., RFC 3393) and as thefeedback path should also be testedITU-T SG16 has defined IP Packet Delay Variation (IPDV) in their documents (e.g., Y.1540).</t> <t indent="0" pn="section-4.5-4">Most PDV distributions in packet network systems are one-sided distributions, the measurement of which withvarying amountsa finite number ofimpairment.</t> <t>The main motivation for the previous and current criteria is to identify situationsmeasurement samples results inwhichone-sided histograms. In theproposed congestion controlusual packet network transport case, there isless performant.</t> </section> <section title="Reacting to Transient Events or Interruptions"> <t>The congestion control algorithm should be able to handle changes in end-to-end capacity and latency. Latency may change due to route updates, link failures, hand-overs etc. In mobile environmenttypically one packet that transited theend-to-end capacity may vary due tonetwork with theinterference, fading, hand-overs, etc. In wired networksminimum delay; a (large) number of packets transit theend-to-end capacity may vary due to changes in resource reservation.</t> </section> <section title="Fairness With Similar Cross-Traffic"> <t>The congestion control algorithm should be evaluated when competingnetwork within some (smaller) positive variation from this minimum delay, and a (small) number of the packets transit the network withother RTP flows usingdelays higher than thesamemedian oranother candidate congestion control algorithm. The proposal should highlight the bottleneck capacity share of each RTP flow.</t> </section> <section title="Impact on Cross-Traffic"> <t>The congestion control algorithmaverage transit time (these are outliers). Although infrequent, outliers can cause significant deleterious operation in adaptive systems and should beevaluated when competing with standard TCP. Short TCP flows may beconsideredas transient events and thein rate adaptation designs for RTPflow may give waycongestion control.</t> <t indent="0" pn="section-4.5-5">In this section we define two different bounded PDV characteristics, 1) Random Bounded PDV and 2) Approximately Random Subject to No-Reordering Bounded PDV.</t> <t indent="0" pn="section-4.5-6">The former, 1) Random Bounded PDV, is presented for information only, while theshort TCP flowlatter, 2) Approximately Random Subject tocomplete quickly. However, long-lived TCP flows may starve out the RTP flow depending on router queue length. </t> <t>The proposal should also measureNo-Reordering Bounded PDV, must be used in theimpact on varied number of cross-traffic sources, i.e., few and many competing flows, or mixing various amounts of TCP and similar cross-traffic.</t> </section>evaluation.</t> <sectiontitle="Extensions to RTP/RTCP"> <t>The congestion control algorithm should indicate if any protocol extensions are requirednumbered="true" toc="include" removeInRFC="false" pn="section-4.5.1"> <name slugifiedName="name-random-bounded-pdv-rbpdv">Random Bounded PDV (RBPDV)</name> <t indent="0" pn="section-4.5.1-1">The RBPDV probability distribution function (PDF) is specified toimplement itbe of some mathematically describable function that includes some practical minimum andshould carefully describemaximum discrete values suitable for testing. For example, theimpact ofminimum value, x_min, might be specified as theextension.</t> </section> </section> --> <section anchor="add-params" title="List of Network Parameters"> <t>The implementors initially are encouragedminimum transit time packet, and the maximum value, x_max, might be defined tochoose evaluation settings frombe two standard deviations higher than thefollowing values:</t> <section anchor="scen-delay" title="One-way Propagation Delay"> <!-- --> <t>Experimentsmean.</t> <t indent="0" pn="section-4.5.1-2">Since we areexpectedtypically interested in the distribution relative toverify thatthecongestion control is ablemean delay packet, we define the zero mean PDV sample, z(n), towork acrossbe z(n) = x(n) - x_mean, where x(n) is abroad rangesample ofpath characteristics, also including challenging situations, for example over trans-continental and/or satellite links. Tests thus account for the following different latencies: <list style="numbers"> <t>Very low latency: 0-1ms</t> <t>Low latency: 50ms</t> <t>High latency: 150ms</t> <t>Extreme latency: 300ms</t> </list></t> </section> <section anchor="scen-loss" title="End-to-end Loss"> <t>Many paths intheInternet today are largely lossless but, with wireless networksRBPDV random variable x andinterference, towards remote regions, or in scenarios featuring high/fast mobility, media flows may exhibit substantial packet loss. This variety needs to be reflected appropriately byx_mean is thetests.</t> <t>To model a wide rangemean oflossy links,x.</t> <t indent="0" pn="section-4.5.1-3">We assume here that s(n) is theexperiments can choose oneoriginal source time of packet n and thefollowing loss rates,post-jitter induced emission time, j(n), for packet n is: </t> <t indent="0" pn="section-4.5.1-4">j(n) = {[z(n) + x_mean] + s(n)}.</t> <t indent="0" pn="section-4.5.1-5"> It follows that thefractional loss isseparation in theratiopost-jitter time of packetslostn andpackets sent. <list style="numbers"> <t>no loss: 0%</t> <t>1%</t> <t>5%</t> <t>10%</t> <t>20%</t> </list></t> </section> <section anchor="scen-queue" title="Drop Tail Router Queue Length"> <t>Routers should be configured to use Drop Trail queues in the experiments due to their (still) prevalent nature. Experimentation with AQM schemes is encouraged but not mandatory. </t> <t>The router queue lengthn+1 ismeasured as the time taken to drain{[s(n+1)-s(n)] - [z(n)-z(n+1)]}. Since theFIFO queue. It has been noted in various discussionsfirst term is always a positive quantity, we note that packet reordering at thequeue length inreceiver is possible whenever thecurrent deployed Internet varies significantly. Whilesecond term is greater than thecore backbone network has very short queue length,first. Said another way, whenever thehome gateways usually have larger queue length. Those various queue lengths can be categorizeddifference in possible zero mean PDV sample delays (i.e., [x_max-x_min]) exceeds thefollowing way: <list style="numbers"> <t>QoS-aware (or short): 70ms</t> <t>Nominal: 300-500ms</t> <t>Buffer-bloated: 1000-2000ms</t> </list> Here the sizeinter-departure time of any two sent packets, we have thequeue is measuredpossibility of packet reordering.</t> <t indent="0" pn="section-4.5.1-6">There are important use cases inbytes orreal networks where packets can become reordered, such as in load-balancing topologies andto convertduring route changes. However, for thequeue length measured in seconds to queue length in bytes:</t> <t>QueueSize (in bytes) = QueueSize (in sec) x Throughput (in bps)/8</t> <!-- <t>and 2) queue length in packets:</t> <t>QueueSize (in pkts) = QueueSize (in bytes)/MTU, MTU=1500</t> --> <!-- <t>[Open issue (11): Confirmvast majority of cases, there is no packet reordering because most of theabove values, do we needtime packets follow the same path. Due todefine parameters for other types of queues?]</t> --> </section> <section title="Loss generation model"> <t> Many models for generatingthis, if a packetlossbecomes overly delayed, the packets after it on that flow areavailable, some yield correlated, others independent losses; losses canalsobe extracted from packet traces. As a (simple) minimum loss model with minimal parameterization (i.e., the loss rate), independent random losses must be used in the evaluation. </t> <t> Itdelayed. This isknown that independent loss models may reflect reality poorly and hence more sophisticated loss models could be considered. Suitable models for correlated losses includes the Gilbert-Elliot model <xref target="gilbert-elliott"/> and losses generated by modeling a queue including its (different) drop behaviors. </t> </section> <section anchor="JM" title="Jitter models"> <t>This section defines jitter modelsespecially true forthe purposes of this document. When jitter ismobile wireless links where there are per-flow queues prior tobe appliedbase station scheduling. Owing toboth the congestion controlled RTP flow and any competing flow (such as a TCP competing flow), the competing flow willthis important use case, we define another PDV profile similar to thejitter definition belowabove, but one that does not allow forre-ordering of packets on the competing flow (see NR-RBPDV definition below).</t> <t>Jitter is an overloaded term in communications. It is typically usedreordering within a flow.</t> </section> <section numbered="true" toc="include" removeInRFC="false" pn="section-4.5.2"> <name slugifiedName="name-approximately-random-subjec">Approximately Random Subject toreferNo-Reordering Bounded PDV (NR-BPDV)</name> <t indent="0" pn="section-4.5.2-1">No Reordering BPDV, NR-BPDV, is defined similarly to thevariation of a metric (e.g., delay)above withrespect to some reference metric (e.g., average delay or minimum delay). For example, RFC 3550 jitter is computedone important exception. Let serial(n) be defined as thesmoothed difference inserialization delay of packetarrival times relative to their respective expected arrival times, which is particularly meaningful ifn at theunderlying packet delay variation was caused bylowest bottleneck link rate (or other appropriate rate) in aGaussian random process.</t> <t>Because jitter is an overloaded term,given test. Then weuse the term Packet Delay Variation (PDV) instead to describeproduce all thevariation of delaypost-jitter values for j(n) for n = 1, 2, ... N, where N is the length ofindividual packets inthesame sensesource sequence s to be offset. The exception can be stated asthe IETF IPPM WG has defined PDV in their documents (e.g., RFC 3393)follows: We revisit all j(n) beginning from index n=2, andas the ITU-T SG16 has defined IP Packet Delay Variation (IPDV) in their documents (e.g., Y.1540).</t> <t>Most PDV distributions in packet network systems are one-sided distributions,if j(n) is determined to be less than [j(n-1)+serial(n-1)], we redefine j(n) to be equal to [j(n-1)+serial(n-1)] and continue for all remaining n (i.e., n = 3, 4, .. N). This models themeasurement of which with a finite number of measurement samples results in one-sided histograms. Incase where theusualpacketnetwork transport case, theren istypically onesent immediately after packetthat transited(n-1) at thenetwork withbottleneck link rate. Although this is generally the theoretical minimumdelay; a (large) number ofin that it assumes that no other packetstransit the network within some (smaller) positive variationfromthis minimum delay, and a (small) number of the packets transit the network with delays higher than the median or average transit time (theseother flows areoutliers). Although infrequent, outliers can cause significant deleterious operationinadaptive systemsbetween packet n andshould be considered in rate adaptation designsn+1 at the bottleneck link, it is a reasonable assumption forRTP congestion control.</t> <t>Inper-flow queuing.</t> <t indent="0" pn="section-4.5.2-2">We note that thissection we define two different bounded PDV characteristics, 1) Random Bounded PDV and 2) Approximately Random Subject to No-Reordering Bounded PDV.</t> <t>The former, 1) Random Bounded PDV is presentedassumption holds forinformation only,some important exception cases, such as packets immediately following outliers. There are a multitude of software-controlled elements common on end-to-end Internet paths (such as firewalls, application-layer gateways, and other middleboxes) that stop processing packets while servicing other functions (e.g., garbage collection). Often these devices do not drop packets, but rather queue them for later processing and cause many of thelatter, 2)outliers. Thus NR-BPDV models this particular use case (assuming serial(n+1) is defined appropriately for the device causing the outlier) and is believed to be important for adaptation development for congestion-controlled RTP streams.</t> </section> <section numbered="true" toc="include" removeInRFC="false" pn="section-4.5.3"> <name slugifiedName="name-recommended-distribution">Recommended Distribution</name> <t indent="0" pn="section-4.5.3-1">Whether Random Bounded PDV or Approximately Random Subject to No-Reordering Bounded PDV,must be used in the evaluation.</t> <section title="Random Bounded PDV (RBPDV)"> <t>The RBPDV probability distribution function (PDF)it isspecifiedrecommended that z(n) is distributed according tobe of some mathematically describable function which includes some practical minimum and maximum discrete values suitablea truncated Gaussian fortesting. For example,theminimum value, x_min, might be specified asabove jitter models:</t> <t indent="0" pn="section-4.5.3-2">z(n) ~ |max(min(N(0, std<sup>2</sup>), N_STD * std), -N_STD * std)|</t> <t indent="0" pn="section-4.5.3-3">where N(0, std<sup>2</sup>) is theminimum transit time packetGaussian distribution with zero mean andthe maximum value, x_max, might be defined to be twostd is standarddeviations higher thandeviation. Recommended values:</t> <ul empty="true" bare="false" indent="3" spacing="normal" pn="section-4.5.3-4"> <li pn="section-4.5.3-4.1">std = 5 ms</li> <li pn="section-4.5.3-4.2">N_STD = 3</li> </ul> </section> </section> </section> <section anchor="app-additional" numbered="true" toc="include" removeInRFC="false" pn="section-5"> <name slugifiedName="name-traffic-models">Traffic Models</name> <section numbered="true" toc="include" removeInRFC="false" pn="section-5.1"> <name slugifiedName="name-tcp-traffic-model">TCP Traffic Model</name> <t indent="0" pn="section-5.1-1">Long-lived TCP flows will download data throughout themean.</t> <t>Since wesession and aretypically interested in the distribution relativeexpected tothe mean delay packet, we define the zero mean PDV sample, z(n),have infinite amount of data tobe z(n) = x(n) - x_mean, where x(n) is a samplesend or receive. This roughly applies, for example, when downloading software distributions.</t> <t indent="0" pn="section-5.1-2">Each short TCP flow is modeled as a sequence of file downloads interleaved with idle periods. Not all short TCP flows start at the same time, i.e., some start in the ON state while others start in the OFF state.</t> <t indent="0" pn="section-5.1-3">The short TCP flows can be modeled as follows: 30 connections start simultaneously fetching small (30-50 KB) amounts of data, evenly distributed. This covers the case where the short TCP flows are fetching web page resources rather than video files.</t> <t indent="0" pn="section-5.1-4">The idle period between bursts of starting a group of TCP flows is typically derived from an exponential distribution with the mean value of 10 seconds.</t> <aside pn="section-5.1-5"> <t indent="0" pn="section-5.1-5.1">These values were picked based on the data available at <eref target="https://httparchive.org/reports/state-of-the-web?start=2015_10_01&end=2015_11_01&view=list" brackets="angle"/> as of October 2015.</t> </aside> <t indent="0" pn="section-5.1-6"> Many different TCP congestion control schemes are deployed today. Therefore, experimentation with a range of different schemes, especially including CUBIC <xref target="RFC8312" format="default" sectionFormat="of" derivedContent="RFC8312"/>, is encouraged. Experiments must document in detail which congestion control schemes they tested against and which parameters were used. </t> </section> <section numbered="true" toc="include" removeInRFC="false" pn="section-5.2"> <name slugifiedName="name-rtp-video-model">RTP Video Model</name> <t indent="0" pn="section-5.2-1"> <xref target="RFC8593" format="default" sectionFormat="of" derivedContent="RFC8593"/> describes two types of video traffic models for evaluating candidate algorithms for RTP congestion control. The first model statistically characterizes the behavior of a video encoder, whereas the second model uses video traces. </t> <t indent="0" pn="section-5.2-2"> Sample video test sequences are available at <xref target="xiph-seq" format="default" sectionFormat="of" derivedContent="xiph-seq"/>. The following two video streams are the recommended minimum for testing: Foreman (CIF sequence) and FourPeople (720p); both come as raw video data to be encoded dynamically. As these video sequences are short (300 and 600 frames, respectively), they shall be stitched together repeatedly until the desired length is reached. </t> </section> <section numbered="true" toc="include" removeInRFC="false" pn="section-5.3"> <name slugifiedName="name-background-udp">Background UDP</name> <t indent="0" pn="section-5.3-1">Background UDP flow is modeled as a constant bit rate (CBR) flow. It will download data at a particular CBR for the complete session, or will change to particular CBR at predefined intervals. The inter-packet interval is calculated based on the CBR and the packet size (typically set to the path MTU size, the default value can be 1500 bytes). </t> <t indent="0" pn="section-5.3-2">Note that new transport protocols such as QUIC may use UDP; however, due to their congestion control algorithms, they will exhibit behavior conceptually similar in nature to TCP flows above and can thus be subsumed by the above, including the division into short-lived and long-lived flows. As QUIC evolves independently of TCP congestion control algorithms, its future congestion control should be considered as competing traffic as appropriate. </t> </section> </section> <section numbered="true" toc="include" removeInRFC="false" pn="section-6"> <name slugifiedName="name-security-considerations">Security Considerations</name> <t indent="0" pn="section-6-1"> This document specifies evaluation criteria and parameters for assessing and comparing the performance of congestion control protocols and algorithms for real-time communication. This memo itself is thus not subject to security considerations but the protocols and algorithms evaluated may be. In particular, successful operation under all tests defined in this document may suffice for a comparative evaluation but must not be interpreted that the protocol is free of risks when deployed on the Internet as briefly described in the following by example. </t> <t indent="0" pn="section-6-2"> Such evaluations are expected to be carried out in controlled environments for limited numbers of parallel flows. As such, these evaluations are by definition limited and will not be able to systematically consider possible interactions or very large groups of communicating nodes under all possible circumstances, so that careful protocol design is advised to avoid incidentally contributing traffic that could lead to unstable networks, e.g., (local) congestion collapse. </t> <t indent="0" pn="section-6-3"> This specification focuses on assessing the regular operation of the protocols and algorithms under consideration. It does not suggest checks against malicious use of the protocols -- by the sender, the receiver, or intermediate parties, e.g., through faked, dropped, replicated, or modified congestion signals. It is up to the protocol specifications themselves to ensure that authenticity, integrity, and/or plausibility of received signals are checked, and the appropriate actions (or non-actions) are taken. </t> </section> <section numbered="true" toc="include" removeInRFC="false" pn="section-7"> <name slugifiedName="name-iana-considerations">IANA Considerations</name> <t indent="0" pn="section-7-1">This document has no IANA actions.</t> </section> </middle> <back> <displayreference target="I-D.ietf-netvc-testing" to="netvc-testing"/> <references pn="section-8"> <name slugifiedName="name-references">References</name> <references pn="section-8.1"> <name slugifiedName="name-normative-references">Normative References</name> <reference anchor="RFC3550" target="https://www.rfc-editor.org/info/rfc3550" 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 transport protocol. RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services. RTP does not address resource reservation 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 theRBPDV random variable xdata delivery in a manner scalable to large multicast networks, andx_mean is the meanto provide minimal control and identification functionality. RTP and RTCP are designed to be independent ofx.</t> <t>We assume here that s(n) istheoriginal source time of packet nunderlying transport and network layers. The protocol supports thepost-jitter induced emission time, j(n), for packet n is: </t> <t>j(n) = {[z(n) + x_mean] + s(n)}.</t> <t> It follows that the separation in the post-jitter timeuse ofpackets nRTP-level translators andn+1 is {[s(n+1)-s(n)] - [z(n)-z(n+1)]}. Since the first term is always a positive quantity, we note that packet reordering at the receiver is possible whenever the second term is greater than the first. Said another way, whenever the difference in possible zero mean PDV sample delays (i.e., [x_max-x_min]) exceeds the inter-departure timemixers. Most ofany two sent packets, we havethepossibility of packet re-ordering.</t> <t>There are important use cases in real networks where packets can become re-ordered such astext inload balancing topologies and during route changes. However, for the vast majority of cases therethis memorandum is identical to RFC 1889 which it obsoletes. There are nopacket re-ordering because most of the time packets followchanges in thesame path. Due to this, if apacketbecomes overly delayed, the packets after itformats onthat flow are also delayed. This is especially true for mobile wireless links where there are per-flow queues prior to base station scheduling. Owing to this important use case, we define another PDV profile similar totheabove, but one that does not allow for re-ordering within a flow.</t> </section> <section title="Approximately Random Subjectwire, only changes toNo-Reordering Bounded PDV (NR-RPVD)"> <t>No Reordering RPDV, NR-RPVD,the rules and algorithms governing how the protocol is used. The biggest change isdefined similarlyan enhancement to theabove with one important exception. Let serial(n) be defined as the serialization delayscalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess ofpacket n atthelowest bottleneck linkintended rate(or other appropriate rate) inwhen many participants join agiven test. Then we produce all the post-jitter valuessession 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="RFC3551" target="https://www.rfc-editor.org/info/rfc3551" quoteTitle="true" derivedAnchor="RFC3551"> <front> <title>RTP Profile forj(n)Audio and Video Conferences with Minimal Control</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> <date year="2003" month="July"/> <abstract> <t indent="0">This document describes a profile called "RTP/AVP" forn = 1,the use of the real-time transport protocol (RTP), version 2,... N, where N isand thelengthassociated control protocol, RTCP, within audio and video multiparticipant conferences with minimal control. It provides interpretations of generic fields within thesource sequence s to be offset-ed. The exception can be stated as follows: We revisit all j(n) beginning from index n=2,RTP specification suitable for audio andif j(n) is determined to be less than [j(n-1)+serial(n-1)], we redefine j(n)video conferences. In particular, this document defines a set of default mappings from payload type numbers to encodings. This document also describes how audio and video data may beequalcarried within RTP. It defines a set of standard encodings and their names when used within RTP. The descriptions provide pointers to[j(n-1)+serial(n-1)]reference implementations andcontinuethe detailed standards. This document is meant as an aid forall remaining n (i.e., n = 3, 4, .. N).implementors of audio, video and other real-time multimedia applications. Thismodelsmemorandum obsoletes RFC 1890. It is mostly backwards-compatible except for functions removed because two interoperable implementations were not found. The additions to RFC 1890 codify existing practice in thecase whereuse of payload formats under this profile and include new payload formats defined since RFC 1890 was published. [STANDARDS-TRACK]</t> </abstract> </front> <seriesInfo name="STD" value="65"/> <seriesInfo name="RFC" value="3551"/> <seriesInfo name="DOI" value="10.17487/RFC3551"/> </reference> <reference anchor="RFC3611" target="https://www.rfc-editor.org/info/rfc3611" quoteTitle="true" derivedAnchor="RFC3611"> <front> <title>RTP Control Protocol Extended Reports (RTCP XR)</title> <author initials="T." surname="Friedman" fullname="T. Friedman" role="editor"> <organization showOnFrontPage="true"/> </author> <author initials="R." surname="Caceres" fullname="R. Caceres" role="editor"> <organization showOnFrontPage="true"/> </author> <author initials="A." surname="Clark" fullname="A. Clark" role="editor"> <organization showOnFrontPage="true"/> </author> <date year="2003" month="November"/> <abstract> <t indent="0">This document defines the Extended Report (XR) packetn is sent immediately after packet (n-1) attype for thebottleneck link rate. Although this is generallyRTP Control Protocol (RTCP), and defines how thetheoretical minimum in thatuse of XR packets can be signaled by an application if itassumes that no otheremploys the Session Description Protocol (SDP). XR packetsfrom other flowsarein-between packet ncomposed of report blocks, andn+1 atseven block types are defined here. The purpose of thebottleneck link, itextended reporting format isa reasonable assumption for per flow queuing.</t> <t>We noteto convey information thatthis assumption holds for some important exception cases,supplements the six statistics that are contained in the report blocks used by RTCP's Sender Report (SR) and Receiver Report (RR) packets. Some applications, such aspackets immediately following outliers. There are a multitudemulticast inference ofsoftware controlled elements common on end-to-end Internet paths (such as firewalls, ALGs and other middleboxes) which stop processing packets while servicingnetwork characteristics (MINC) or voice over IP (VoIP) monitoring, require otherfunctions (e.g., garbage collection). Often these devices do not drop packets, but rather queue them for later processingandcause many ofmore detailed statistics. In addition to theoutliers. Thus NR-RPVD modelsblock types defined here, additional block types may be defined in the future by adhering to the framework that thisparticulardocument provides.</t> </abstract> </front> <seriesInfo name="RFC" value="3611"/> <seriesInfo name="DOI" value="10.17487/RFC3611"/> </reference> <reference anchor="RFC4585" target="https://www.rfc-editor.org/info/rfc4585" quoteTitle="true" derivedAnchor="RFC4585"> <front> <title>Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)</title> <author initials="J." surname="Ott" fullname="J. Ott"> <organization showOnFrontPage="true"/> </author> <author initials="S." surname="Wenger" fullname="S. Wenger"> <organization showOnFrontPage="true"/> </author> <author initials="N." surname="Sato" fullname="N. Sato"> <organization showOnFrontPage="true"/> </author> <author initials="C." surname="Burmeister" fullname="C. Burmeister"> <organization showOnFrontPage="true"/> </author> <author initials="J." surname="Rey" fullname="J. Rey"> <organization showOnFrontPage="true"/> </author> <date year="2006" month="July"/> <abstract> <t indent="0">Real-time media streams that usecase (assuming serial(n+1)RTP are, to some degree, resilient against packet losses. Receivers may use the base mechanisms of the Real-time Transport Control Protocol (RTCP) to report packet reception statistics and thus allow a sender to adapt its transmission behavior in the mid-term. This isdefined appropriatelythe sole means for feedback and feedback-based error repair (besides a few codec-specific mechanisms). This document defines an extension to thedevice causingAudio-visual Profile (AVP) that enables receivers to provide, statistically, more immediate feedback to theoutlier)senders and thusis believed to be importantallows for short-term adaptationdevelopment for congestion controlled RTP streams.</t> </section> <section title="Recommended distribution"> <t>Whether Random Bounded PDV or Approximately Random Subjectand efficient feedback-based repair mechanisms toNo-Reordering Bounded PDV, it is recommended that z(n) is distributed accordingbe implemented. This early feedback profile (AVPF) maintains the AVP bandwidth constraints for RTCP and preserves scalability toa truncated Gaussianlarge groups. [STANDARDS-TRACK]</t> </abstract> </front> <seriesInfo name="RFC" value="4585"/> <seriesInfo name="DOI" value="10.17487/RFC4585"/> </reference> <reference anchor="RFC5506" target="https://www.rfc-editor.org/info/rfc5506" quoteTitle="true" derivedAnchor="RFC5506"> <front> <title>Support forthe above jitter models:</t> <t>z(n) ~ |max(min(N(0, std^2), N_STD * std), -N_STD * std)|</t> <t>where N(0, std^2) is the Gaussian distribution with zero meanReduced-Size Real-Time Transport Control Protocol (RTCP): Opportunities andstandard deviation std. Recommended values:</t> <t><list style="symbols"> <t>std = 5 ms</t> <t>N_STD = 3</t> </list></t> </section> </section> </section> <!-- <section title="WiFi or Cellular Links"> <t> <xref target="I-D.ietf-rmcat-wireless-tests" /> describes the test casesConsequences</title> <author initials="I." surname="Johansson" fullname="I. Johansson"> <organization showOnFrontPage="true"/> </author> <author initials="M." surname="Westerlund" fullname="M. Westerlund"> <organization showOnFrontPage="true"/> </author> <date year="2009" month="April"/> <abstract> <t indent="0">This memo discusses benefits and issues that arise when allowing Real-time Transport Protocol (RTCP) packets tosimulate networksbe transmitted withwireless links.reduced size. Thedocument describes mechanism to simulate both cellular and WiFi networks. </t> </section> --> <section anchor="app-additional" title="Traffic Models"> <section title="TCP traffic model"> <t>Long-lived TCP flows will download data throughoutsize can be reduced if thesession andrules on how to create compound packets outlined in RFC 3550 areexpectedremoved or changed. Based on that analysis, this memo defines certain changes tohave infinite amount of datathe rules tosend or receive.allow feedback messages to be sent as Reduced-Size RTCP packets under certain conditions when using the RTP/AVPF (Real-time Transport Protocol / Audio-Visual Profile with Feedback) profile (RFC 4585). Thisroughly applies,document updates RFC 3550, RFC 3711, and RFC 4585. [STANDARDS-TRACK]</t> </abstract> </front> <seriesInfo name="RFC" value="5506"/> <seriesInfo name="DOI" value="10.17487/RFC5506"/> </reference> <reference anchor="RFC8083" target="https://www.rfc-editor.org/info/rfc8083" quoteTitle="true" derivedAnchor="RFC8083"> <front> <title>Multimedia Congestion Control: Circuit Breakers forexample, when downloading software distributions.</t> <t>Each short TCP flowUnicast RTP Sessions</title> <author initials="C." surname="Perkins" fullname="C. Perkins"> <organization showOnFrontPage="true"/> </author> <author initials="V." surname="Singh" fullname="V. Singh"> <organization showOnFrontPage="true"/> </author> <date year="2017" month="March"/> <abstract> <t indent="0">The Real-time Transport Protocol (RTP) is widely used in telephony, video conferencing, and telepresence applications. Such applications are often run on best-effort UDP/IP networks. If congestion control ismodeled asnot implemented in these applications, then network congestion can lead to uncontrolled packet loss and asequenceresulting deterioration offile downloads interleaved with idle periods. Not all short TCP flows start at the same time, i.e., some start in the ON state while others start intheOFF state.</t> <t>The short TCP flows can be modeleduser's multimedia experience. The congestion control algorithm acts asfollows: 30 connections start simultaneously fetching small (30-50 KB) amounts of data, evenly distributed. This coversa safety measure by stopping RTP flows from using excessive resources and protecting thecase wherenetwork from overload. At theshort TCP flowstime of this writing, however, while there arefetching web page resources rather than video files.</t> <t>The idle period between burstsseveral proprietary solutions, there is no standard algorithm for congestion control ofstartinginteractive RTP flows.</t> <t indent="0">This document does not propose agroupcongestion control algorithm. It instead defines a minimal set ofTCP flows is typically derived fromRTP circuit breakers: conditions under which anexponential distribution withRTP sender needs to stop transmitting media data to protect themean valuenetwork from excessive congestion. It is expected that, in the absence of10 seconds.</t> <t>[These values were picked basedlong-lived excessive congestion, RTP applications running on best-effort IP networks will be able to operate without triggering these circuit breakers. To avoid triggering thedata available at http://httparchive.org/interesting.php as of October 2015].</t> <t> Many different TCPRTP circuit breaker, any Standards Track congestion controlschemes are deployed today. Therefore, experimentation with a range of different schemes, especially including CUBIC, is encouraged. Experiments mustalgorithms defined for RTP will need to operate within the envelope set by these RTP circuit breaker algorithms.</t> </abstract> </front> <seriesInfo name="RFC" value="8083"/> <seriesInfo name="DOI" value="10.17487/RFC8083"/> </reference> <reference anchor="RFC8593" target="https://www.rfc-editor.org/info/rfc8593" quoteTitle="true" derivedAnchor="RFC8593"> <front> <title>Video Traffic Models for RTP Congestion Control Evaluations</title> <author initials="X." surname="Zhu" fullname="X. Zhu"> <organization showOnFrontPage="true"/> </author> <author initials="S." surname="Mena" fullname="S. Mena"> <organization showOnFrontPage="true"/> </author> <author initials="Z." surname="Sarker" fullname="Z. Sarker"> <organization showOnFrontPage="true"/> </author> <date year="2019" month="May"/> <abstract> <t indent="0">This documentin detail which congestion control schemes they tested against and which parameters were used. </t> </section> <section title="RTP Video model"> <t> <xref target="RFC8593"/>describes twotypes ofreference video traffic models for evaluatingcandidate algorithms forRTP congestioncontrol.control algorithms. The first model statistically characterizes the behavior of a live videoencoder, whereasencoder in response to changing requests on thesecond model uses video traces. </t> <t> Sampletarget videotest sequences are available at <xref target="xiph-seq"></xref>.rate. Thefollowing two video streams are the recommended minimum for testing: Foreman (CIF sequence)second model is trace-driven andFourPeople (720p); both come as raw video data to beemulates the output of actual encodeddynamically. As thesevideosequencesframe sizes from a high-resolution test sequence. Both models areshort (300designed to strike a balance between simplicity, repeatability, and600 frames, respectively, they shall be stitched together repeatedly untilauthenticity in modeling thedesired length is reached. </t> </section> <section title="Background UDP"> <t>Background UDP flow is modeled asinteractions between aconstant bit rate (CBR) flow. It will download data atlive video traffic source and the congestion control module. Finally, the document describes how both approaches can be combined into aparticular CBR ratehybrid model.</t> </abstract> </front> <seriesInfo name="RFC" value="8593"/> <seriesInfo name="DOI" value="10.17487/RFC8593"/> </reference> <reference anchor="RFC8836" target="https://www.rfc-editor.org/info/rfc8836" quoteTitle="true" derivedAnchor="RFC8836"> <front> <title>Congestion Control Requirements forthe complete session, or will change to particular CBR rate at predefined intervals. The inter packet interval is calculated basedInteractive Real-Time Media</title> <author initials="R" surname="Jesup" fullname="Randell Jesup"> <organization showOnFrontPage="true"/> </author> <author initials="Z" surname="Sarker" fullname="Zaheduzzaman Sarker" role="editor"> <organization showOnFrontPage="true"/> </author> <date month="January" year="2021"/> </front> <seriesInfo name="RFC" value="8836"/> <seriesInfo name="DOI" value="10.17487/RFC8836"/> </reference> </references> <references pn="section-8.2"> <name slugifiedName="name-informative-references">Informative References</name> <reference anchor="gilbert-elliott" target="https://ieeexplore.ieee.org/document/5755057" quoteTitle="true" derivedAnchor="gilbert-elliott"> <front> <title>The Gilbert-Elliott Model for Packet Loss in Real Time Services on theCBRInternet</title> <author surname="Hasslinger" fullname="Gerhard Hasslinger"> <organization showOnFrontPage="true"/> </author> <author surname="Hohlfeld" fullname="Oliver Hohlfeld"> <organization showOnFrontPage="true"/> </author> <date month="3" year="2008"/> <abstract> <t indent="0">The estimation of quality for real-time services over telecommunication networks requires realistic models for impairments and failures during transmission. We focus on thepacket size (is typically setclassical Gilbert-Elliott model whose second order statistics is derived over arbitrary time scales and used to fit packet loss processes of traffic traces measured in thepath MTU size, the default value can be 1500 bytes). </t> <t>NoteIP back- bone of Deutsche Telekom. The results show thatnew transport protocols such as QUIC may use UDP but, duesimple Markov models are appropriate totheircapture the observed loss pattern. </t> </abstract> </front> <refcontent>14th GI/ITG Conference - Measurement, Modelling and Evalutation [sic] of Computer and Communication Systems</refcontent> </reference> <reference anchor="I-D.ietf-netvc-testing" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-netvc-testing-09" derivedAnchor="netvc-testing"> <front> <title>Video Codec Testing and Quality Measurement</title> <author initials="T" surname="Daede" fullname="Thomas Daede"> <organization showOnFrontPage="true"/> </author> <author initials="A" surname="Norkin" fullname="Andrey Norkin"> <organization showOnFrontPage="true"/> </author> <author initials="I" surname="Brailovskiy" fullname="Ilya Brailovskiy"> <organization showOnFrontPage="true"/> </author> <date month="January" day="31" year="2020"/> <abstract> <t indent="0">This document describes guidelines and procedures for evaluating a video codec. This covers subjective and objective tests, test conditions, and materials used for the test.</t> </abstract> </front> <seriesInfo name="Internet-Draft" value="draft-ietf-netvc-testing-09"/> <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-netvc-testing-09.txt"/> <refcontent>Work in Progress</refcontent> </reference> <reference anchor="RFC5033" target="https://www.rfc-editor.org/info/rfc5033" quoteTitle="true" derivedAnchor="RFC5033"> <front> <title>Specifying New Congestion Control Algorithms</title> <author initials="S." surname="Floyd" fullname="S. Floyd"> <organization showOnFrontPage="true"/> </author> <author initials="M." surname="Allman" fullname="M. Allman"> <organization showOnFrontPage="true"/> </author> <date year="2007" month="August"/> <abstract> <t indent="0">The IETF's standard congestion controlalgorithms, will exhibit behavior conceptually similar in natureschemes have been widely shown toTCP flows above and can thusbesubsumed by the above, includinginadequate for various environments (e.g., high-speed networks). Recent research has yielded many alternate congestion control schemes that significantly differ from thedivision into short- and long-lived flows. As QUIC evolves independently of TCPIETF's congestion controlalgorithms, its futureprinciples. Using these new congestion controlshould be considered as competingschemes in the global Internet has possible ramifications to both the trafficas appropriate. </t> </section> </section> <section title="Security Considerations"> <t> This document specifies evaluation criteria and parameters for assessing and comparingusing theperformance ofnew congestion controlprotocolsandalgorithms for real-time communication. This memo itself is thus not subjecttosecurity considerations buttraffic using theprotocols and algorithms evaluated may be. In particular, successful operation under all tests defined incurrently standardized congestion control. Therefore, the IETF must proceed with caution when dealing with alternate congestion control proposals. The goal of this documentmay sufficeis to provide guidance fora comparative evaluation but must not be interpreted thatconsidering alternate congestion control algorithms within theprotocol is free of risks when deployed onIETF. This document specifies an Internet Best Current Practices for the Internetas briefly described inCommunity, and requests discussion and suggestions for improvements.</t> </abstract> </front> <seriesInfo name="BCP" value="133"/> <seriesInfo name="RFC" value="5033"/> <seriesInfo name="DOI" value="10.17487/RFC5033"/> </reference> <reference anchor="RFC5166" target="https://www.rfc-editor.org/info/rfc5166" quoteTitle="true" derivedAnchor="RFC5166"> <front> <title>Metrics for thefollowing by example. </t> <t> Such evaluations are expectedEvaluation of Congestion Control Mechanisms</title> <author initials="S." surname="Floyd" fullname="S. Floyd" role="editor"> <organization showOnFrontPage="true"/> </author> <date year="2008" month="March"/> <abstract> <t indent="0">This document discusses the metrics to becarried outconsidered incontrolled environments for limited numbersan evaluation ofparallel flows. As such, these evaluations are by definition limited and will not be able to systematically consider possible interactionsnew orvery large groupsmodified congestion control mechanisms for the Internet. These include metrics for the evaluation ofcommunicating nodes under all possible circumstances, so that careful protocol design is advised to avoid incidentally contributing traffic that could leadnew transport protocols, of proposed modifications tounstable networks, e.g., (local)TCP, of application-level congestioncollapse. </t> <t>control, and of Active Queue Management (AQM) mechanisms in the router. Thisspecification focuses on assessingdocument is theregular operationfirst in a series of documents aimed at improving theprotocols and algorithms under considerations. It does not suggest checks against maliciousmodels that we useof the protocols -- by the sender,in thereceiver, or intermediate parties, e.g., through faked, dropped, replicated, or modified congestion signals. Itevaluation of transport protocols.</t> <t indent="0">This document isup to the protocol specifications themselves to ensure that authenticity, integrity, and/or plausibilitya product ofreceived signals are checked andtheappropriate actions (or non-actions) are taken. </t> </section> <section title="IANA Considerations"> <t>There are no IANA impacts in this memo.</t> </section> <section anchor="contrib" title="Contributors"> <t>The contentTransport Modeling Research Group (TMRG), andconcepts within thishas received detailed feedback from many members of the Research Group (RG). As the documentaretries to make clear, there is not necessarily aproduct ofconsensus within thediscussion carried out inresearch community (or theDesign Team.</t> <t>Michael Ramalho providedIETF community, thetext forvendor community, theJitter model.</t> </section> <section title="Acknowledgments"> <t> Much of this document is derived from previous work onoperations community, or any other community) about the metrics that congestion controlat the IETF.</t> <t> The authors would likemechanisms should be designed tothank Harald Alvestrand, Anna Brunstrom, Luca De Cicco, Wesley Eddy, Lars Eggert, Kevin Gross, Vinayak Hegde, Randell Jesup, Mirja Kuehlewind, Karen Nielsen, Piers O'Hanlon, Colin Perkins, Michael Ramalho, Zaheduzzaman Sarker, Timothy B. Terriberry, Michael Welzl, Mo Zanaty, and Xiaoqing Zhu for providing valuable feedback on earlier versionsoptimize, in terms ofthis draft. Additionally, also thanktrade-offs between throughput and delay, fairness between competing flows, and theparticipantslike. However, we believe that there is a clear consensus that congestion control mechanisms should be evaluated in terms ofthe design teamtrade-offs between a range of metrics, rather than in terms of optimizing for a single metric. This memo provides information fortheir comments and discussion related totheevaluation criteria.</t> </section> </middle> <back> <references title="Normative References"> <!--&rfc2119;--> <!-- RTP related --> &rfc3550; &rfc3551; &rfc3611; &rfc4585; &rfc5506; <!--RMCAT related --> &rfc8083; &rfc8593; &I-D.ietf-rmcat-cc-requirements; </references> <references title="Informative References"> &rfc5033; <!-- CC Evaluation --> &rfc5166; <!-- CC Metrics --> <!-- &rfc5681; Standard TCP --> &I-D.ietf-rmcat-eval-test; &I-D.ietf-rmcat-wireless-tests; &I-D.ietf-netvc-testing;Internet community.</t> </abstract> </front> <seriesInfo name="RFC" value="5166"/> <seriesInfo name="DOI" value="10.17487/RFC5166"/> </reference> <referenceanchor="gilbert-elliott">anchor="RFC8312" target="https://www.rfc-editor.org/info/rfc8312" quoteTitle="true" derivedAnchor="RFC8312"> <front><title>The Gilbert-Elliott Model<title>CUBIC forPacket Loss in Real Time Services on the Internet</title>Fast Long-Distance Networks</title> <authorsurname="Hasslinger" fullname="Gerhard Hasslinger"> <organization/>initials="I." surname="Rhee" fullname="I. Rhee"> <organization showOnFrontPage="true"/> </author> <authorsurname="Hohlfeld" fullname="Oliver Hohlfeld">initials="L." surname="Xu" fullname="L. Xu"> <organization showOnFrontPage="true"/> </author> <author initials="S." surname="Ha" fullname="S. Ha"> <organization showOnFrontPage="true"/> </author> <author initials="A." surname="Zimmermann" fullname="A. Zimmermann"> <organization showOnFrontPage="true"/> </author> <author initials="L." surname="Eggert" fullname="L. Eggert"> <organization showOnFrontPage="true"/> </author> <author initials="R." surname="Scheffenegger" fullname="R. Scheffenegger"> <organization/>showOnFrontPage="true"/> </author> <datemonth="3" year="2008" />year="2018" month="February"/> <abstract><t>The estimation of quality for real-time services over telecommunication networks requires realistic models for impairments and failures during transmission. We focus on the classical Gilbert-Elliott model whose second order statistics<t indent="0">CUBIC isderived over arbitrary time scales and usedan extension tofit packet loss processes of traffic traces measuredthe current TCP standards. It differs from the current TCP standards only in theIP back- bone of Deutsche Telekom. The results show that simple Markov models are appropriate to capturecongestion control algorithm on the sender side. In particular, it uses a cubic function instead of a linear window increase function of theobserved loss pattern. </t></abstract> </front> <seriesInfo name="14th GI/ITG Conference - Measurement, Modellingcurrent TCP standards to improve scalability andEvalutation of Computerstability under fast andCommunication Systems" value=""/> </reference> <reference anchor="tcpdump"> <front> <title>Homepagelong-distance networks. CUBIC and its predecessor algorithm have been adopted as defaults by Linux and have been used for many years. This document provides a specification oftcpdumpCUBIC to enable third-party implementations andlibpcap</title> <author> <organization/> </author> <date month="" year="" />to solicit community feedback through experimentation on the performance of CUBIC.</t> </abstract> </front> <seriesInfoname="https://www.tcpdump.org/index.html" value=""/>name="RFC" value="8312"/> <seriesInfo name="DOI" value="10.17487/RFC8312"/> </reference> <referenceanchor="wireshark">anchor="RFC8867" target="https://www.rfc-editor.org/info/rfc8867" quoteTitle="true" derivedAnchor="RFC8867"> <front><title>Homepage of Wireshark</title> <author> <organization/><title>Test Cases for Evaluating Congestion Control for Interactive Real-Time Media</title> <author initials="Z" surname="Sarker" fullname="Zaheduzzaman Sarker"> <organization showOnFrontPage="true"/> </author> <author initials="V" surname="Singh" fullname="Varun Singh"> <organization showOnFrontPage="true"/> </author> <author initials="X" surname="Zhu" fullname="Xiaoqing Zhu"> <organization showOnFrontPage="true"/> </author> <author initials="M" surname="Ramalho" fullname="Michael A. Ramalho"> <organization showOnFrontPage="true"/> </author> <datemonth="" year="" />month="January" year="2021"/> </front> <seriesInfoname="https://www.wireshark.org" value=""/>name="RFC" value="8867"/> <seriesInfo name="DOI" value="10.17487/RFC8867"/> </reference><!-- <?rfc include="reference.3GPP.R1.081955"?><referenceanchor="SA4-EVAL">anchor="RFC8869" target="https://www.rfc-editor.org/info/rfc8869" quoteTitle="true" derivedAnchor="RFC8869"> <front><title>LTE Link Level Throughput Data<title>Evaluation Test Cases forSA4 Evaluation Framework</title>Interactive Real-Time Media over Wireless Networks</title> <author initials="Z" surname="Sarker" fullname="Zaheduzzaman Sarker"> <organization showOnFrontPage="true"/> </author> <author initials="X" surname="Zhu" fullname="Xiaoqing Zhu"> <organization showOnFrontPage="true"/> </author> <authorinitials="3GPP" surname="R1-081955" fullname="3GPP R1-081955">initials="J" surname="Fu" fullname="Jiantao Fu"> <organization/>showOnFrontPage="true"/> </author> <datemonth="5" year="2008" /> <abstract> <t>In R1-081720, 3GPP SA4 has requested RAN1 and RAN2 for link level throughput traces to be used in an evaluation framework they are developing for dynamic video rate adaptation. </t></abstract>month="January" year="2021"/> </front> <seriesInfoname="3GPP" value="R1-081955" /> <format type='ZIP' octets='3459875' target='http://www.3gpp.net/ftp/tsg_ran/WG1_RL1/TSGR1_53/Docs/R1-081955.zip' />name="RFC" value="8869"/> <seriesInfo name="DOI" value="10.17487/RFC8869"/> </reference>--> <!--<referenceanchor="SA4-LR">anchor="tcpdump" target="https://www.tcpdump.org/index.html" quoteTitle="true" derivedAnchor="tcpdump"> <front><title>Error Patterns for MBMS Streaming over UTRAN<title>Homepage of tcpdump andGERAN</title> <author initials="3GPP" surname="S4-050560" fullname="3GPP S4-050560">libpcap</title> <author> <organization/>showOnFrontPage="true"/> </author><date month="5" year="2008" /></front><seriesInfo name="3GPP" value="S4-050560" /> <format type='ZIP' octets='335322' target='http://www.3gpp.org/FTP/tsg_sa/WG4_CODEC/TSGS4_36/Docs/S4-050560.zip' /></reference>--> <!--<referenceanchor="TCP-eval-suite">anchor="wireshark" target="https://www.wireshark.org" quoteTitle="true" derivedAnchor="wireshark"> <front><title>Towards a Common TCP Evaluation Suite</title> <author initials="A." surname="Lachlan" fullname="Andrew Lachlan"/> <author initials="C." surname="Marcondes" fullname="Cesar Marcondes"/> <author initials="S." surname="Floyd" fullname="Sally Floyd"/> <author initials="L." surname="Dunn" fullname="Lawrence Dunn"/> <author initials="R." surname="Guillier" fullname="Romeric Guillier"/> <author initials="W." surname="Gang" fullname="Wang Gang"/> <author initials="L." surname="Eggert" fullname="Lars Eggert"/> <author initials="S." surname="Ha" fullname="Sangtae Ha"/> <author initials="I." surname="Rhee" fullname="Injong Rhee"/> <date month="August" year="2008"/><title>Homepage of Wireshark</title> <author> <organization showOnFrontPage="true"/> </author> </front><seriesInfo name="Proc. PFLDnet." value="2008"/></reference>--><referenceanchor="xiph-seq">anchor="xiph-seq" target="https://media.xiph.org/video/derf/" quoteTitle="true" derivedAnchor="xiph-seq"> <front> <title>Video Test Media Set</title> <author fullname="Daede, T." initials="T."surname="Daede"></author> <date month="" year="" /> </front> <seriesInfo name="https://media.xiph.org/video/derf/" value="" /> </reference> <!-- <reference anchor="HEVC-seq"> <front> <title>Test Sequences</title> <author fullname="" initials="" surname="HEVC"></author> <date month="" year="" />surname="Daede"/> </front><seriesInfo name="http://www.netlab.tkk.fi/~varun/test_sequences/" value="" /></reference>--></references><!-- <section anchor="misc" title="Application Trade-off"> <t>Application trade-off is yet to be defined. see <xref target="I-D.ietf-rmcat-cc-requirements">RMCAT requirements</xref> document. Perhaps each experiment should define the application's expectation or trade-off.</t> <section anchor="misc-2" title="Measuring Quality"> <t>No quality metric is defined for performance evaluation, it is currently an open issue. However, there is consensus that congestion control algorithm should be able to show that it is useful for interactive video by performing analysis using a real codec and video sequences. </t> </section> </section> --> <section anchor="App-cl" title="Change Log"> <t>Note to the RFC-Editor: please remove this section prior to publication as an RFC.</t> <section title="Changes in draft-ietf-rmcat-eval-criteria-07"> <t>Updated the draft according to</references> <section anchor="contrib" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a"> <name slugifiedName="name-contributors">Contributors</name> <t indent="0" pn="section-appendix.a-1">The content and concepts within this document are a product of the discussionat IETF-101.</t> <t><list style="symbols"> <t>Updatedcarried out in thediscussion on fairness. Thanks to Xiaoqing Zhu for providing text.</t> <t>Fixed a simple loss model andDesign Team.</t> <t indent="0" pn="section-appendix.a-2"><contact fullname="Michael Ramalho"/> providedpointers to more sophisticated ones.</t> <t>Fixed the choice ofthejitter model.</t> </list></t> </section> <section title="Changes in draft-ietf-rmcat-eval-criteria-06"> <t><list style="symbols"> <t>Updated Jitter.</t> </list></t> </section> <section title="Changes in draft-ietf-rmcat-eval-criteria-05"> <t><list style="symbols"> <t>Improvedtextsurrounding wireless tests, video sequences, and short-TCP model.</t> </list></t> </section> <section title="Changes in draft-ietf-rmcat-eval-criteria-04"> <t><list style="symbols"> <t>Removedfor theguidelines section, as mostjitter models (<xref target="JM" format="default" sectionFormat="of" derivedContent="Section 4.5"/>).</t> </section> <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b"> <name slugifiedName="name-acknowledgments">Acknowledgments</name> <t indent="0" pn="section-appendix.b-1"> Much ofthe sections are now covered: wireless tests, video model, etc.</t> <t>Improved Short TCP model basedthis document is derived from previous work on congestion control at thesuggestionIETF.</t> <t indent="0" pn="section-appendix.b-2"> The authors would like touse httparchive.org.</t> </list></t> </section> <section title="Changes in draft-ietf-rmcat-eval-criteria-03"> <t><list style="symbols"> <t>Keep-alive version.</t> <t>Moved link parameters and traffic models from eval-test</t> </list></t> </section> <section title="Changes in draft-ietf-rmcat-eval-criteria-02"> <t><list style="symbols"> <t>Incorporated fairness test as a working test.</t> <t>Updated text on mimimum evaluation requirements.</t> </list></t> </section> <section title="Changes in draft-ietf-rmcat-eval-criteria-01"> <t><list style="symbols"> <t>Removed Appendix B.</t> <t>Removed Section on Evaluation Parameters.</t> </list></t> </section> <section title="Changes in draft-ietf-rmcat-eval-criteria-00"> <t><list style="symbols"> <t>Updated references.</t> <t>Resubmitted as WG draft.</t> </list></t> </section> <section title="Changes in draft-singh-rmcat-cc-eval-04"> <t><list style="symbols"> <t>Incorporatethank <contact fullname="Harald Alvestrand"/>, <contact fullname="Anna Brunstrom"/>, <contact fullname="Luca De Cicco"/>, <contact fullname="Wesley Eddy"/>, <contact fullname="Lars Eggert"/>, <contact fullname="Kevin Gross"/>, <contact fullname="Vinayak Hegde"/>, <contact fullname="Randell Jesup"/>, <contact fullname="Mirja Kühlewind"/>, <contact fullname="Karen Nielsen"/>, <contact fullname="Piers O'Hanlon"/>, <contact fullname="Colin Perkins"/>, <contact fullname="Michael Ramalho"/>, <contact fullname="Zaheduzzaman Sarker"/>, <contact fullname="Timothy B. Terriberry"/>, <contact fullname="Michael Welzl"/>, <contact fullname="Mo Zanaty"/>, and <contact fullname="Xiaoqing Zhu"/> for providing valuable feedbackfrom IETF 87, Berlin.</t> <t>Clarified metrics: convergence time, bandwidth utilization.</t> <t>Changed fairness criteria to fairness test.</t> <t>Added measuring pre- and post-repair loss.</t> <t>Added open issueon draft versions ofmeasuring video qualitythis document. Additionally, thanks toappendix.</t> <t>clarified use of DropTail and AQM.</t> <t>Updated text in "Minimum Requirements for Evaluation"</t> </list></t> </section> <section title="Changes in draft-singh-rmcat-cc-eval-03"> <t><list style="symbols"> <t>Incorporatethediscussion within the design team.</t> <t>Added a section on evaluation parameters, it describesparticipants of theflow and network characteristics.</t> <t>Added Appendix with self-fairness experiment.</t> <t>Changed bottleneck parameters from a proposal to an example set.</t> <t></t> </list></t> </section> <section title="Changes in draft-singh-rmcat-cc-eval-02"> <t><list style="symbols"> <t>Added scenario descriptions.</t> </list></t> </section> <section title="Changes in draft-singh-rmcat-cc-eval-01"> <t><list style="symbols"> <t>Removed QoE metrics.</t> <t>Changed stability to steady-state.</t> <t>Added measuring impact against few and many flows.</t> <t>Added guidelineDesign Team foridletheir comments anddata-limited periods.</t> <t>Added referencediscussion related toTCP evaluation suite in examplethe evaluationscenarios.</t> </list></t>criteria.</t> </section> <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c"> <name slugifiedName="name-authors-addresses">Authors' Addresses</name> <author initials="V." surname="Singh" fullname="Varun Singh"> <organization abbrev="callstats.io" showOnFrontPage="true">CALLSTATS I/O Oy</organization> <address> <postal> <street>Rauhankatu 11 C</street> <code>00100</code> <city>Helsinki</city> <country>Finland</country> </postal> <email>varun.singh@iki.fi</email> <uri>https://www.callstats.io/</uri> </address> </author> <author initials="J." surname="Ott" fullname="Jörg Ott"> <organization showOnFrontPage="true">Technical University of Munich</organization> <address> <postal> <extaddr>Department of Informatics</extaddr> <extaddr>Chair of Connected Mobility</extaddr> <street>Boltzmannstrasse 3</street> <city>Garching</city> <code>85748</code> <country>Germany</country> </postal> <email>ott@in.tum.de</email> </address> </author> <author fullname="Stefan Holmer" initials="S." surname="Holmer"> <organization abbrev="Google" showOnFrontPage="true">Google</organization> <address> <postal> <street>Kungsbron 2</street> <code>11122</code> <city>Stockholm</city> <country>Sweden</country> </postal> <email>holmer@google.com</email> </address> </author> </section> </back> </rfc>