draft-ietf-rmcat-eval-criteria-14.txt | rfc8868.txt | |||
---|---|---|---|---|
RMCAT WG V. Singh | Internet Engineering Task Force (IETF) V. Singh | |||
Internet-Draft callstats.io | Request for Comments: 8868 callstats.io | |||
Intended status: Informational J. Ott | Category: Informational J. Ott | |||
Expires: September 20, 2020 Technical University of Munich | ISSN: 2070-1721 Technical University of Munich | |||
S. Holmer | S. Holmer | |||
March 19, 2020 | January 2021 | |||
Evaluating Congestion Control for Interactive Real-time Media | Evaluating Congestion Control for Interactive Real-Time Media | |||
draft-ietf-rmcat-eval-criteria-14 | ||||
Abstract | Abstract | |||
The Real-time Transport Protocol (RTP) is used to transmit media in | The Real-Time Transport Protocol (RTP) is used to transmit media in | |||
telephony and video conferencing applications. This document | telephony and video conferencing applications. This document | |||
describes the guidelines to evaluate new congestion control | describes the guidelines to evaluate new congestion control | |||
algorithms for interactive point-to-point real-time media. | algorithms for interactive point-to-point real-time media. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
provisions of BCP 78 and BCP 79. | published for informational purposes. | |||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | 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. | ||||
This Internet-Draft will expire on September 20, 2020. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc8868. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology | |||
3. Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Metrics | |||
3.1. RTP Log Format . . . . . . . . . . . . . . . . . . . . . 5 | 3.1. RTP Log Format | |||
4. List of Network Parameters . . . . . . . . . . . . . . . . . 6 | 4. List of Network Parameters | |||
4.1. One-way Propagation Delay . . . . . . . . . . . . . . . . 6 | 4.1. One-Way Propagation Delay | |||
4.2. End-to-end Loss . . . . . . . . . . . . . . . . . . . . . 6 | 4.2. End-to-End Loss | |||
4.3. Drop Tail Router Queue Length . . . . . . . . . . . . . . 7 | 4.3. Drop-Tail Router Queue Length | |||
4.4. Loss generation model . . . . . . . . . . . . . . . . . . 7 | 4.4. Loss Generation Model | |||
4.5. Jitter models . . . . . . . . . . . . . . . . . . . . . . 7 | 4.5. Jitter Models | |||
4.5.1. Random Bounded PDV (RBPDV) . . . . . . . . . . . . . 8 | 4.5.1. Random Bounded PDV (RBPDV) | |||
4.5.2. Approximately Random Subject to No-Reordering Bounded | 4.5.2. Approximately Random Subject to No-Reordering Bounded | |||
PDV (NR-RPVD) . . . . . . . . . . . . . . . . 9 | PDV (NR-BPDV) | |||
4.5.3. Recommended distribution . . . . . . . . . . . . . . 10 | 4.5.3. Recommended Distribution | |||
5. Traffic Models . . . . . . . . . . . . . . . . . . . . . . . 10 | 5. Traffic Models | |||
5.1. TCP traffic model . . . . . . . . . . . . . . . . . . . . 10 | 5.1. TCP Traffic Model | |||
5.2. RTP Video model . . . . . . . . . . . . . . . . . . . . . 11 | 5.2. RTP Video Model | |||
5.3. Background UDP . . . . . . . . . . . . . . . . . . . . . 11 | 5.3. Background UDP | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 6. Security Considerations | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 7. IANA Considerations | |||
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 12 | 8. References | |||
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 | 8.1. Normative References | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 8.2. Informative References | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 13 | Contributors | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 14 | Acknowledgments | |||
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 15 | Authors' Addresses | |||
A.1. Changes in draft-ietf-rmcat-eval-criteria-07 . . . . . . 15 | ||||
A.2. Changes in draft-ietf-rmcat-eval-criteria-06 . . . . . . 15 | ||||
A.3. Changes in draft-ietf-rmcat-eval-criteria-05 . . . . . . 15 | ||||
A.4. Changes in draft-ietf-rmcat-eval-criteria-04 . . . . . . 15 | ||||
A.5. Changes in draft-ietf-rmcat-eval-criteria-03 . . . . . . 15 | ||||
A.6. Changes in draft-ietf-rmcat-eval-criteria-02 . . . . . . 15 | ||||
A.7. Changes in draft-ietf-rmcat-eval-criteria-01 . . . . . . 16 | ||||
A.8. Changes in draft-ietf-rmcat-eval-criteria-00 . . . . . . 16 | ||||
A.9. Changes in draft-singh-rmcat-cc-eval-04 . . . . . . . . . 16 | ||||
A.10. Changes in draft-singh-rmcat-cc-eval-03 . . . . . . . . . 16 | ||||
A.11. Changes in draft-singh-rmcat-cc-eval-02 . . . . . . . . . 16 | ||||
A.12. Changes in draft-singh-rmcat-cc-eval-01 . . . . . . . . . 17 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 | ||||
1. Introduction | 1. Introduction | |||
This memo describes the guidelines to help with evaluating new | This memo describes the guidelines to help with evaluating new | |||
congestion control algorithms for interactive point-to-point real | congestion control algorithms for interactive point-to-point real- | |||
time media. The requirements for the congestion control algorithm | time media. The requirements for the congestion control algorithm | |||
are outlined in [I-D.ietf-rmcat-cc-requirements]). This document | are outlined in [RFC8836]. This document builds upon previous work | |||
builds upon previous work at the IETF: Specifying New Congestion | at the IETF: Specifying New Congestion Control Algorithms [RFC5033] | |||
Control Algorithms [RFC5033] and Metrics for the Evaluation of | and Metrics for the Evaluation of Congestion Control Algorithms | |||
Congestion Control Algorithms [RFC5166]. | [RFC5166]. | |||
The guidelines proposed in the document are intended to help prevent | The guidelines proposed in the document are intended to help prevent | |||
a congestion collapse, promote fair capacity usage and optimize the | a congestion collapse, to promote fair capacity usage, and to | |||
media flow's throughput. Furthermore, the proposed congestion | optimize the media flow's throughput. Furthermore, the proposed | |||
control algorithms are expected to operate within the envelope of the | congestion control algorithms are expected to operate within the | |||
circuit breakers defined in RFC8083 [RFC8083]. | envelope of the circuit breakers defined in RFC 8083 [RFC8083]. | |||
This document only provides the broad set of network parameters and | This document only provides the broad set of network parameters and | |||
and traffic models for evaluating a new congestion control algorithm. | traffic models for evaluating a new congestion control algorithm. | |||
The minimal requirements for congestion control proposals is to | The minimal requirement for congestion control proposals is to | |||
produce or present results for the test scenarios described in | produce or present results for the test scenarios described in | |||
[I-D.ietf-rmcat-eval-test] (Basic Test Cases), which also defines the | [RFC8867] (Basic Test Cases), which also defines the specifics for | |||
specifics for the test cases. Additionally, proponents may produce | the test cases. Additionally, proponents may produce evaluation | |||
evaluation results for the wireless test scenarios | results for the wireless test scenarios [RFC8869]. | |||
[I-D.ietf-rmcat-wireless-tests]. | ||||
This document does not cover application-specific implications of | This document does not cover application-specific implications of | |||
congestion control algorithms and how those could be evaluated. | congestion control algorithms and how those could be evaluated. | |||
Therefore, no quality metrics are defined for performance evaluation; | Therefore, no quality metrics are defined for performance evaluation; | |||
quality metrics and algorithms to infer those vary between media | quality metrics and the algorithms to infer those vary between media | |||
types. Metrics and algorithms to assess, e.g., quality of experience | types. Metrics and algorithms to assess, e.g., the quality of | |||
evolve continuously so that determining suitable choices is left for | experience, evolve continuously so that determining suitable choices | |||
future work. However, there is consensus that each congestion | is left for future work. However, there is consensus that each | |||
control algorithm should be able to show that it is useful for | congestion control algorithm should be able to show that it is useful | |||
interactive video by performing analysis using a real codecs and | for interactive video by performing analysis using real codecs and | |||
video sequences and state-of-the-art quality metrics. | video sequences and state-of-the-art quality metrics. | |||
Beyond optimizing individual metrics, real-time applications may have | Beyond optimizing individual metrics, real-time applications may have | |||
further options to trade off performance, e.g., across multiple | further options to trade off performance, e.g., across multiple | |||
media; refer to the RMCAT requirements | media; refer to the RMCAT requirements [RFC8836] document. Such | |||
[I-D.ietf-rmcat-cc-requirements] document. Such trade-offs may be | trade-offs may be defined in the future. | |||
defined in the future. | ||||
2. Terminology | 2. Terminology | |||
The terminology defined in RTP [RFC3550], RTP Profile for Audio and | The terminology defined in RTP [RFC3550], RTP Profile for Audio and | |||
Video Conferences with Minimal Control [RFC3551], RTCP Extended | Video Conferences with Minimal Control [RFC3551], RTCP Extended | |||
Report (XR) [RFC3611], Extended RTP Profile for RTCP-based Feedback | Report (XR) [RFC3611], Extended RTP Profile for RTCP-Based Feedback | |||
(RTP/AVPF) [RFC4585] and Support for Reduced-Size RTCP [RFC5506] | (RTP/AVPF) [RFC4585] and Support for Reduced-Size RTCP [RFC5506] | |||
apply. | applies. | |||
3. Metrics | 3. Metrics | |||
This document specifies testing criteria for evaluating congestion | This document specifies testing criteria for evaluating congestion | |||
control algorithms for RTP media flows. Proposed algorithms are to | control algorithms for RTP media flows. Proposed algorithms are to | |||
prove their performance by means of simulation and/or emulation | prove their performance by means of simulation and/or emulation | |||
experiments for all the cases described. | experiments for all the cases described. | |||
Each experiment is expected to log every incoming and outgoing packet | Each experiment is expected to log every incoming and outgoing packet | |||
(the RTP logging format is described in Section 3.1). The logging | (the RTP logging format is described in Section 3.1). The logging | |||
can be done inside the application or at the endpoints using PCAP | can be done inside the application or at the endpoints using PCAP | |||
(packet capture, e.g., tcpdump [tcpdump], wireshark [wireshark]). | (packet capture, e.g., tcpdump [tcpdump], Wireshark [wireshark]). | |||
The following metrics are calculated based on the information in the | The following metrics are calculated based on the information in the | |||
packet logs: | packet logs: | |||
1. Sending rate, Receiver rate, Goodput (measured at 200ms | 1. Sending rate, receiver rate, goodput (measured at 200ms | |||
intervals) | intervals) | |||
2. Packets sent, Packets received | 2. Packets sent, packets received | |||
3. Bytes sent, bytes received | 3. Bytes sent, bytes received | |||
4. Packet delay | 4. Packet delay | |||
5. Packets lost, Packets discarded (from the playout or de-jitter | 5. Packets lost, packets discarded (from the playout or de-jitter | |||
buffer) | buffer) | |||
6. If using, retransmission or FEC: post-repair loss | 6. If using retransmission or FEC: post-repair loss | |||
7. Self-Fairness and Fairness with respect to cross traffic: | 7. Self-fairness and fairness with respect to cross traffic: | |||
Experiments testing a given congestion control proposal must | Experiments testing a given congestion control proposal must | |||
report on relative ratios of the average throughput (measured at | report on relative ratios of the average throughput (measured at | |||
coarser time intervals) obtained by each RTP media stream. In | coarser time intervals) obtained by each RTP media stream. In | |||
the presence of background cross-traffic such as TCP, the report | the presence of background cross-traffic such as TCP, the report | |||
must also include the relative ratio between average throughput | must also include the relative ratio between average throughput | |||
of RTP media streams and cross-traffic streams. | of RTP media streams and cross-traffic streams. | |||
During static periods of a test (i.e., when bottleneck bandwidth | During static periods of a test (i.e., when bottleneck bandwidth | |||
is constant and no arrival/departure of streams), these report | is constant and no arrival/departure of streams), these reports | |||
on relative ratios serve as an indicator of how fair the RTP | on relative ratios serve as an indicator of how fairly the RTP | |||
streams share bandwidth amongst themselves and against cross- | streams share bandwidth amongst themselves and against cross- | |||
traffic streams. The throughput measurement interval should be | traffic streams. The throughput measurement interval should be | |||
set at a few values (for example, at 1s, 5s, and 20s) in order | set at a few values (for example, at 1 s, 5 s, and 20 s) in | |||
to measure fairness across different time scales. | order to measure fairness across different timescales. | |||
As a general guideline, the relative ratio between congestion | ||||
As a general guideline, the relative ratio between congestion- | ||||
controlled RTP flows with the same priority level and similar | controlled RTP flows with the same priority level and similar | |||
path RTT should be bounded between (0.333 and 3.) For example, | path RTT should be bounded between 0.333 and 3. For example, | |||
see the test scenarios described in [I-D.ietf-rmcat-eval-test]. | see the test scenarios described in [RFC8867]. | |||
8. Convergence time: The time taken to reach a stable rate at | 8. Convergence time: The time taken to reach a stable rate at | |||
startup, after the available link capacity changes, or when new | startup, after the available link capacity changes, or when new | |||
flows get added to the bottleneck link. | flows get added to the bottleneck link. | |||
9. Instability or oscillation in the sending rate: The frequency or | 9. Instability or oscillation in the sending rate: The frequency or | |||
number of instances when the sending rate oscillates between an | number of instances when the sending rate oscillates between an | |||
high watermark level and a low watermark level, or vice-versa in | high watermark level and a low watermark level, or vice-versa in | |||
a defined time window. For example, the watermarks can be set | a defined time window. For example, the watermarks can be set | |||
at 4x interval: 500 Kbps, 2 Mbps, and a time window of 500ms. | at 4x interval: 500 Kbps, 2 Mbps, and a time window of 500 ms. | |||
10. Bandwidth Utilization, defined as ratio of the instantaneous | 10. Bandwidth utilization, defined as the ratio of the instantaneous | |||
sending rate to the instantaneous bottleneck capacity. This | sending rate to the instantaneous bottleneck capacity: This | |||
metric is useful only when a congestion controlled RTP flow is | metric is useful only when a congestion-controlled RTP flow is | |||
by itself or competing with similar cross-traffic. | by itself or is competing with similar cross-traffic. | |||
Note that the above metrics are all objective application-independent | Note that the above metrics are all objective application-independent | |||
metrics. Refer to Section 3, in [I-D.ietf-netvc-testing] for | metrics. Refer to Section 3 of [netvc-testing] for objective metrics | |||
objective metrics for evaluating codecs. | for evaluating codecs. | |||
From the logs the statistical measures (min, max, mean, standard | From the logs, the statistical measures (min, max, mean, standard | |||
deviation and variance) for the whole duration or any specific part | deviation, and variance) for the whole duration or any specific part | |||
of the session can be calculated. Also the metrics (sending rate, | of the session can be calculated. Also the metrics (sending rate, | |||
receiver rate, goodput, latency) can be visualized in graphs as | receiver rate, goodput, latency) can be visualized in graphs as | |||
variation over time, the measurements in the plot are at 1 second | variation over time; the measurements in the plot are at one-second | |||
intervals. Additionally, from the logs it is possible to plot the | intervals. Additionally, from the logs, it is possible to plot the | |||
histogram or CDF of packet delay. | histogram or cumulative distribution function (CDF) of packet delay. | |||
3.1. RTP Log Format | 3.1. RTP Log Format | |||
Having a common log format simplifies running analyses across and | Having a common log format simplifies running analyses across | |||
comparing different measurements. The log file should be tab or | different measurement setups and comparing their results. | |||
comma separated containing the following details: | ||||
Send or receive timestamp (Unix): <int>.<int> -- sec.usec decimal | Send or receive timestamp (Unix): <int>.<int> -- sec.usec decimal | |||
RTP payload type <int> -- decimal | RTP payload type <int> -- decimal | |||
SSRC <int> -- hexadecimal | SSRC <int> -- hexadecimal | |||
RTP sequence no <int> -- decimal | RTP sequence no <int> -- decimal | |||
RTP timestamp <int> -- decimal | RTP timestamp <int> -- decimal | |||
marker bit 0|1 -- character | marker bit 0|1 -- character | |||
Payload size <int> -- # bytes, decimal | Payload size <int> -- # bytes, decimal | |||
Each line of the log file should be terminated with CRLF, CR, or LF | Each line of the log file should be terminated with CRLF, CR, or LF | |||
characters. Empty lines are disregarded. | characters. Empty lines are disregarded. | |||
If the congestion control implements retransmissions or FEC, the | If the congestion control implements retransmissions or Forward Error | |||
evaluation should report both packet loss (before applying error- | Correction (FEC), the evaluation should report both packet loss | |||
resilience) and residual packet loss (after applying error- | (before applying error resilience) and residual packet loss (after | |||
resilience). | applying error resilience). | |||
These data should suffice to compute the media-encoding independent | These data should suffice to compute the media-encoding independent | |||
metrics described above. Use of a common log will allow simplified | metrics described above. Use of a common log will allow simplified | |||
post-processing and analysis across different implementations. | post-processing and analysis across different implementations. | |||
4. List of Network Parameters | 4. List of Network Parameters | |||
The implementors initially are encouraged to choose evaluation | The implementors are encouraged to choose evaluation settings from | |||
settings from the following values: | the following values initially: | |||
4.1. One-way Propagation Delay | 4.1. One-Way Propagation Delay | |||
Experiments are expected to verify that the congestion control is | Experiments are expected to verify that the congestion control is | |||
able to work across a broad range of path characteristics, also | able to work across a broad range of path characteristics, including | |||
including challenging situations, for example over trans-continental | challenging situations, for example, over transcontinental and/or | |||
and/or satellite links. Tests thus account for the following | satellite links. Tests thus account for the following different | |||
different latencies: | latencies: | |||
1. Very low latency: 0-1ms | 1. Very low latency: 0-1 ms | |||
2. Low latency: 50ms | 2. Low latency: 50 ms | |||
3. High latency: 150ms | 3. High latency: 150 ms | |||
4. Extreme latency: 300ms | 4. Extreme latency: 300 ms | |||
4.2. End-to-end Loss | 4.2. End-to-End Loss | |||
Many paths in the Internet today are largely lossless but, with | Many paths in the Internet today are largely lossless; however, in | |||
wireless networks and interference, towards remote regions, or in | scenarios featuring interference in wireless networks, sending to and | |||
scenarios featuring high/fast mobility, media flows may exhibit | receiving from remote regions, or high/fast mobility, media flows may | |||
substantial packet loss. This variety needs to be reflected | exhibit substantial packet loss. This variety needs to be reflected | |||
appropriately by the tests. | appropriately by the tests. | |||
To model a wide range of lossy links, the experiments can choose one | To model a wide range of lossy links, the experiments can choose one | |||
of the following loss rates, the fractional loss is the ratio of | of the following loss rates; the fractional loss is the ratio of | |||
packets lost and packets sent. | packets lost and packets sent: | |||
1. no loss: 0% | 1. no loss: 0% | |||
2. 1% | 2. 1% | |||
3. 5% | 3. 5% | |||
4. 10% | 4. 10% | |||
5. 20% | 5. 20% | |||
4.3. Drop Tail Router Queue Length | 4.3. Drop-Tail Router Queue Length | |||
Routers should be configured to use Drop Trail queues in the | Routers should be configured to use drop-tail queues in the | |||
experiments due to their (still) prevalent nature. Experimentation | experiments due to their (still) prevalent nature. Experimentation | |||
with AQM schemes is encouraged but not mandatory. | with Active Queue Management (AQM) schemes is encouraged but not | |||
mandatory. | ||||
The router queue length is measured as the time taken to drain the | The router queue length is measured as the time taken to drain the | |||
FIFO queue. It has been noted in various discussions that the queue | FIFO queue. It has been noted in various discussions that the queue | |||
length in the current deployed Internet varies significantly. While | length in the currently deployed Internet varies significantly. | |||
the core backbone network has very short queue length, the home | While the core backbone network has very short queue length, the home | |||
gateways usually have larger queue length. Those various queue | gateways usually have larger queue length. Those various queue | |||
lengths can be categorized in the following way: | lengths can be categorized in the following way: | |||
1. QoS-aware (or short): 70ms | 1. QoS-aware (or short): 70 ms | |||
2. Nominal: 300-500ms | 2. Nominal: 300-500 ms | |||
3. Buffer-bloated: 1000-2000ms | 3. Buffer-bloated: 1000-2000 ms | |||
Here the size of the queue is measured in bytes or packets and to | Here the size of the queue is measured in bytes or packets. To | |||
convert the queue length measured in seconds to queue length in | convert the queue length measured in seconds to queue length in | |||
bytes: | bytes: | |||
QueueSize (in bytes) = QueueSize (in sec) x Throughput (in bps)/8 | QueueSize (in bytes) = QueueSize (in sec) x Throughput (in bps)/8 | |||
4.4. Loss generation model | 4.4. Loss Generation Model | |||
Many models for generating packet loss are available, some yield | Many models for generating packet loss are available: some generate | |||
correlated, others independent losses; losses can also be extracted | correlated packet losses, others generate independent packet losses. | |||
from packet traces. As a (simple) minimum loss model with minimal | In addition, packet losses can also be extracted from packet traces. | |||
parameterization (i.e., the loss rate), independent random losses | As a (simple) minimum loss model with minimal parameterization (i.e., | |||
must be used in the evaluation. | the loss rate), independent random losses must be used in the | |||
evaluation. | ||||
It is known that independent loss models may reflect reality poorly | It is known that independent loss models may reflect reality poorly, | |||
and hence more sophisticated loss models could be considered. | and hence more sophisticated loss models could be considered. | |||
Suitable models for correlated losses includes the Gilbert-Elliot | Suitable models for correlated losses include the Gilbert-Elliot | |||
model [gilbert-elliott] and losses generated by modeling a queue | model [gilbert-elliott] and models that generate losses by modeling a | |||
including its (different) drop behaviors. | queue with its (different) drop behaviors. | |||
4.5. Jitter models | 4.5. Jitter Models | |||
This section defines jitter models for the purposes of this document. | This section defines jitter models for the purposes of this document. | |||
When jitter is to be applied to both the congestion controlled RTP | When jitter is to be applied to both the congestion-controlled RTP | |||
flow and any competing flow (such as a TCP competing flow), the | flow and any competing flow (such as a TCP competing flow), the | |||
competing flow will use the jitter definition below that does not | competing flow will use the jitter definition below that does not | |||
allow for re-ordering of packets on the competing flow (see NR-RBPDV | allow for reordering of packets on the competing flow (see NR-BPDV | |||
definition below). | definition below). | |||
Jitter is an overloaded term in communications. It is typically used | Jitter is an overloaded term in communications. It is typically used | |||
to refer to the variation of a metric (e.g., delay) with respect to | to refer to the variation of a metric (e.g., delay) with respect to | |||
some reference metric (e.g., average delay or minimum delay). For | some reference metric (e.g., average delay or minimum delay). For | |||
example, RFC 3550 jitter is computed as the smoothed difference in | example in RFC 3550, jitter is computed as the smoothed difference in | |||
packet arrival times relative to their respective expected arrival | packet arrival times relative to their respective expected arrival | |||
times, which is particularly meaningful if the underlying packet | times, which is particularly meaningful if the underlying packet | |||
delay variation was caused by a Gaussian random process. | delay variation was caused by a Gaussian random process. | |||
Because jitter is an overloaded term, we use the term Packet Delay | Because jitter is an overloaded term, we use the term Packet Delay | |||
Variation (PDV) instead to describe the variation of delay of | Variation (PDV) instead to describe the variation of delay of | |||
individual packets in the same sense as the IETF IPPM WG has defined | individual packets in the same sense as the IETF IP Performance | |||
PDV in their documents (e.g., RFC 3393) and as the ITU-T SG16 has | Metrics (IPPM) working group has defined PDV in their documents | |||
defined IP Packet Delay Variation (IPDV) in their documents (e.g., | (e.g., RFC 3393) and as the ITU-T SG16 has defined IP Packet Delay | |||
Y.1540). | Variation (IPDV) in their documents (e.g., Y.1540). | |||
Most PDV distributions in packet network systems are one-sided | Most PDV distributions in packet network systems are one-sided | |||
distributions, the measurement of which with a finite number of | distributions, the measurement of which with a finite number of | |||
measurement samples results in one-sided histograms. In the usual | measurement samples results in one-sided histograms. In the usual | |||
packet network transport case, there is typically one packet that | packet network transport case, there is typically one packet that | |||
transited the network with the minimum delay; a (large) number of | transited the network with the minimum delay; a (large) number of | |||
packets transit the network within some (smaller) positive variation | packets transit the network within some (smaller) positive variation | |||
from this minimum delay, and a (small) number of the packets transit | from this minimum delay, and a (small) number of the packets transit | |||
the network with delays higher than the median or average transit | the network with delays higher than the median or average transit | |||
time (these are outliers). Although infrequent, outliers can cause | time (these are outliers). Although infrequent, outliers can cause | |||
significant deleterious operation in adaptive systems and should be | significant deleterious operation in adaptive systems and should be | |||
considered in rate adaptation designs for RTP congestion control. | considered in rate adaptation designs for RTP congestion control. | |||
In this section we define two different bounded PDV characteristics, | In this section we define two different bounded PDV characteristics, | |||
1) Random Bounded PDV and 2) Approximately Random Subject to No- | 1) Random Bounded PDV and 2) Approximately Random Subject to No- | |||
Reordering Bounded PDV. | Reordering Bounded PDV. | |||
The former, 1) Random Bounded PDV is presented for information only, | The former, 1) Random Bounded PDV, is presented for information only, | |||
while the latter, 2) Approximately Random Subject to No-Reordering | while the latter, 2) Approximately Random Subject to No-Reordering | |||
Bounded PDV, must be used in the evaluation. | Bounded PDV, must be used in the evaluation. | |||
4.5.1. Random Bounded PDV (RBPDV) | 4.5.1. Random Bounded PDV (RBPDV) | |||
The RBPDV probability distribution function (PDF) is specified to be | The RBPDV probability distribution function (PDF) is specified to be | |||
of some mathematically describable function which includes some | of some mathematically describable function that includes some | |||
practical minimum and maximum discrete values suitable for testing. | practical minimum and maximum discrete values suitable for testing. | |||
For example, the minimum value, x_min, might be specified as the | For example, the minimum value, x_min, might be specified as the | |||
minimum transit time packet and the maximum value, x_max, might be | minimum transit time packet, and the maximum value, x_max, might be | |||
defined to be two standard deviations higher than the mean. | defined to be two standard deviations higher than the mean. | |||
Since we are typically interested in the distribution relative to the | Since we are typically interested in the distribution relative to the | |||
mean delay packet, we define the zero mean PDV sample, z(n), to be | mean delay packet, we define the zero mean PDV sample, z(n), to be | |||
z(n) = x(n) - x_mean, where x(n) is a sample of the RBPDV random | z(n) = x(n) - x_mean, where x(n) is a sample of the RBPDV random | |||
variable x and x_mean is the mean of x. | variable x and x_mean is the mean of x. | |||
We assume here that s(n) is the original source time of packet n and | We assume here that s(n) is the original source time of packet n and | |||
the post-jitter induced emission time, j(n), for packet n is: | the post-jitter induced emission time, j(n), for packet n is: | |||
j(n) = {[z(n) + x_mean] + s(n)}. | j(n) = {[z(n) + x_mean] + s(n)}. | |||
It follows that the separation in the post-jitter time of packets n | It follows that the separation in the post-jitter time of packets n | |||
and n+1 is {[s(n+1)-s(n)] - [z(n)-z(n+1)]}. Since the first term is | and n+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 | always a positive quantity, we note that packet reordering at the | |||
receiver is possible whenever the second term is greater than the | receiver is possible whenever the second term is greater than the | |||
first. Said another way, whenever the difference in possible zero | first. Said another way, whenever the difference in possible zero | |||
mean PDV sample delays (i.e., [x_max-x_min]) exceeds the inter- | mean PDV sample delays (i.e., [x_max-x_min]) exceeds the inter- | |||
departure time of any two sent packets, we have the possibility of | departure time of any two sent packets, we have the possibility of | |||
packet re-ordering. | packet reordering. | |||
There are important use cases in real networks where packets can | There are important use cases in real networks where packets can | |||
become re-ordered such as in load balancing topologies and during | become reordered, such as in load-balancing topologies and during | |||
route changes. However, for the vast majority of cases there is no | route changes. However, for the vast majority of cases, there is no | |||
packet re-ordering because most of the time packets follow the same | packet reordering because most of the time packets follow the same | |||
path. Due to this, if a packet becomes overly delayed, the packets | path. Due to this, if a packet becomes overly delayed, the packets | |||
after it on that flow are also delayed. This is especially true for | after it on that flow are also delayed. This is especially true for | |||
mobile wireless links where there are per-flow queues prior to base | mobile wireless links where there are per-flow queues prior to base | |||
station scheduling. Owing to this important use case, we define | station scheduling. Owing to this important use case, we define | |||
another PDV profile similar to the above, but one that does not allow | another PDV profile similar to the above, but one that does not allow | |||
for re-ordering within a flow. | for reordering within a flow. | |||
4.5.2. Approximately Random Subject to No-Reordering Bounded PDV (NR- | 4.5.2. Approximately Random Subject to No-Reordering Bounded PDV (NR- | |||
RPVD) | BPDV) | |||
No Reordering RPDV, NR-RPVD, is defined similarly to the above with | No Reordering BPDV, NR-BPDV, is defined similarly to the above with | |||
one important exception. Let serial(n) be defined as the | one important exception. Let serial(n) be defined as the | |||
serialization delay of packet n at the lowest bottleneck link rate | serialization delay of packet n at the lowest bottleneck link rate | |||
(or other appropriate rate) in a given test. Then we produce all the | (or other appropriate rate) in a given test. Then we produce all the | |||
post-jitter values for j(n) for n = 1, 2, ... N, where N is the | post-jitter values for j(n) for n = 1, 2, ... N, where N is the | |||
length of the source sequence s to be offset-ed. The exception can | length of the source sequence s to be offset. The exception can be | |||
be stated as follows: We revisit all j(n) beginning from index n=2, | stated as follows: We revisit all j(n) beginning from index n=2, and | |||
and if j(n) is determined to be less than [j(n-1)+serial(n-1)], we | 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 | 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 the case where | all remaining n (i.e., n = 3, 4, .. N). This models the case where | |||
the packet n is sent immediately after packet (n-1) at the bottleneck | the packet n is sent immediately after packet (n-1) at the bottleneck | |||
link rate. Although this is generally the theoretical minimum in | link rate. Although this is generally the theoretical minimum in | |||
that it assumes that no other packets from other flows are in-between | that it assumes that no other packets from other flows are in between | |||
packet n and n+1 at the bottleneck link, it is a reasonable | packet n and n+1 at the bottleneck link, it is a reasonable | |||
assumption for per flow queuing. | assumption for per-flow queuing. | |||
We note that this assumption holds for some important exception | We note that this assumption holds for some important exception | |||
cases, such as packets immediately following outliers. There are a | cases, such as packets immediately following outliers. There are a | |||
multitude of software controlled elements common on end-to-end | multitude of software-controlled elements common on end-to-end | |||
Internet paths (such as firewalls, ALGs and other middleboxes) which | Internet paths (such as firewalls, application-layer gateways, and | |||
stop processing packets while servicing other functions (e.g., | other middleboxes) that stop processing packets while servicing other | |||
garbage collection). Often these devices do not drop packets, but | functions (e.g., garbage collection). Often these devices do not | |||
rather queue them for later processing and cause many of the | drop packets, but rather queue them for later processing and cause | |||
outliers. Thus NR-RPVD models this particular use case (assuming | many of the outliers. Thus NR-BPDV models this particular use case | |||
serial(n+1) is defined appropriately for the device causing the | (assuming serial(n+1) is defined appropriately for the device causing | |||
outlier) and thus is believed to be important for adaptation | the outlier) and is believed to be important for adaptation | |||
development for congestion controlled RTP streams. | development for congestion-controlled RTP streams. | |||
4.5.3. Recommended distribution | 4.5.3. Recommended Distribution | |||
Whether Random Bounded PDV or Approximately Random Subject to No- | Whether Random Bounded PDV or Approximately Random Subject to No- | |||
Reordering Bounded PDV, it is recommended that z(n) is distributed | Reordering Bounded PDV, it is recommended that z(n) is distributed | |||
according to a truncated Gaussian for the above jitter models: | according to a truncated Gaussian for the above jitter models: | |||
z(n) ~ |max(min(N(0, std^2), N_STD * std), -N_STD * std)| | z(n) ~ |max(min(N(0, std^(2)), N_STD * std), -N_STD * std)| | |||
where N(0, std^2) is the Gaussian distribution with zero mean and | where N(0, std^(2)) is the Gaussian distribution with zero mean and | |||
standard deviation std. Recommended values: | std is standard deviation. Recommended values: | |||
o std = 5 ms | std = 5 ms | |||
o N_STD = 3 | N_STD = 3 | |||
5. Traffic Models | 5. Traffic Models | |||
5.1. TCP traffic model | 5.1. TCP Traffic Model | |||
Long-lived TCP flows will download data throughout the session and | Long-lived TCP flows will download data throughout the session and | |||
are expected to have infinite amount of data to send or receive. | are expected to have infinite amount of data to send or receive. | |||
This roughly applies, for example, when downloading software | This roughly applies, for example, when downloading software | |||
distributions. | distributions. | |||
Each short TCP flow is modeled as a sequence of file downloads | Each short TCP flow is modeled as a sequence of file downloads | |||
interleaved with idle periods. Not all short TCP flows start at the | 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 | same time, i.e., some start in the ON state while others start in the | |||
OFF state. | OFF state. | |||
The short TCP flows can be modeled as follows: 30 connections start | The short TCP flows can be modeled as follows: 30 connections start | |||
simultaneously fetching small (30-50 KB) amounts of data, evenly | simultaneously fetching small (30-50 KB) amounts of data, evenly | |||
distributed. This covers the case where the short TCP flows are | distributed. This covers the case where the short TCP flows are | |||
fetching web page resources rather than video files. | fetching web page resources rather than video files. | |||
The idle period between bursts of starting a group of TCP flows is | The idle period between bursts of starting a group of TCP flows is | |||
typically derived from an exponential distribution with the mean | typically derived from an exponential distribution with the mean | |||
value of 10 seconds. | value of 10 seconds. | |||
[These values were picked based on the data available at | | These values were picked based on the data available at | |||
http://httparchive.org/interesting.php as of October 2015]. | | <https://httparchive.org/reports/state-of-the- | |||
| web?start=2015_10_01&end=2015_11_01&view=list> as of October | ||||
| 2015. | ||||
Many different TCP congestion control schemes are deployed today. | Many different TCP congestion control schemes are deployed today. | |||
Therefore, experimentation with a range of different schemes, | Therefore, experimentation with a range of different schemes, | |||
especially including CUBIC, is encouraged. Experiments must document | especially including CUBIC [RFC8312], is encouraged. Experiments | |||
in detail which congestion control schemes they tested against and | must document in detail which congestion control schemes they tested | |||
which parameters were used. | against and which parameters were used. | |||
5.2. RTP Video model | 5.2. RTP Video Model | |||
[RFC8593] describes two types of video traffic models for evaluating | [RFC8593] describes two types of video traffic models for evaluating | |||
candidate algorithms for RTP congestion control. The first model | candidate algorithms for RTP congestion control. The first model | |||
statistically characterizes the behavior of a video encoder, whereas | statistically characterizes the behavior of a video encoder, whereas | |||
the second model uses video traces. | the second model uses video traces. | |||
Sample video test sequences are available at [xiph-seq]. The | Sample video test sequences are available at [xiph-seq]. The | |||
following two video streams are the recommended minimum for testing: | following two video streams are the recommended minimum for testing: | |||
Foreman (CIF sequence) and FourPeople (720p); both come as raw video | Foreman (CIF sequence) and FourPeople (720p); both come as raw video | |||
data to be encoded dynamically. As these video sequences are short | data to be encoded dynamically. As these video sequences are short | |||
(300 and 600 frames, respectively, they shall be stitched together | (300 and 600 frames, respectively), they shall be stitched together | |||
repeatedly until the desired length is reached. | repeatedly until the desired length is reached. | |||
5.3. Background UDP | 5.3. Background UDP | |||
Background UDP flow is modeled as a constant bit rate (CBR) flow. It | Background UDP flow is modeled as a constant bit rate (CBR) flow. It | |||
will download data at a particular CBR rate for the complete session, | will download data at a particular CBR for the complete session, or | |||
or will change to particular CBR rate at predefined intervals. The | will change to particular CBR at predefined intervals. The inter- | |||
inter packet interval is calculated based on the CBR and the packet | packet interval is calculated based on the CBR and the packet size | |||
size (is typically set to the path MTU size, the default value can be | (typically set to the path MTU size, the default value can be 1500 | |||
1500 bytes). | bytes). | |||
Note that new transport protocols such as QUIC may use UDP but, due | Note that new transport protocols such as QUIC may use UDP; however, | |||
to their congestion control algorithms, will exhibit behavior | due to their congestion control algorithms, they will exhibit | |||
conceptually similar in nature to TCP flows above and can thus be | behavior conceptually similar in nature to TCP flows above and can | |||
subsumed by the above, including the division into short- and long- | thus be subsumed by the above, including the division into short- | |||
lived flows. As QUIC evolves independently of TCP congestion control | lived and long-lived flows. As QUIC evolves independently of TCP | |||
algorithms, its future congestion control should be considered as | congestion control algorithms, its future congestion control should | |||
competing traffic as appropriate. | be considered as competing traffic as appropriate. | |||
6. Security Considerations | 6. Security Considerations | |||
This document specifies evaluation criteria and parameters for | This document specifies evaluation criteria and parameters for | |||
assessing and comparing the performance of congestion control | assessing and comparing the performance of congestion control | |||
protocols and algorithms for real-time communication. This memo | protocols and algorithms for real-time communication. This memo | |||
itself is thus not subject to security considerations but the | itself is thus not subject to security considerations but the | |||
protocols and algorithms evaluated may be. In particular, successful | protocols and algorithms evaluated may be. In particular, successful | |||
operation under all tests defined in this document may suffice for a | operation under all tests defined in this document may suffice for a | |||
comparative evaluation but must not be interpreted that the protocol | comparative evaluation but must not be interpreted that the protocol | |||
skipping to change at page 12, line 27 ¶ | skipping to change at line 528 ¶ | |||
Such evaluations are expected to be carried out in controlled | Such evaluations are expected to be carried out in controlled | |||
environments for limited numbers of parallel flows. As such, these | environments for limited numbers of parallel flows. As such, these | |||
evaluations are by definition limited and will not be able to | evaluations are by definition limited and will not be able to | |||
systematically consider possible interactions or very large groups of | systematically consider possible interactions or very large groups of | |||
communicating nodes under all possible circumstances, so that careful | communicating nodes under all possible circumstances, so that careful | |||
protocol design is advised to avoid incidentally contributing traffic | protocol design is advised to avoid incidentally contributing traffic | |||
that could lead to unstable networks, e.g., (local) congestion | that could lead to unstable networks, e.g., (local) congestion | |||
collapse. | collapse. | |||
This specification focuses on assessing the regular operation of the | This specification focuses on assessing the regular operation of the | |||
protocols and algorithms under considerations. It does not suggest | protocols and algorithms under consideration. It does not suggest | |||
checks against malicious use of the protocols -- by the sender, the | checks against malicious use of the protocols -- by the sender, the | |||
receiver, or intermediate parties, e.g., through faked, dropped, | receiver, or intermediate parties, e.g., through faked, dropped, | |||
replicated, or modified congestion signals. It is up to the protocol | replicated, or modified congestion signals. It is up to the protocol | |||
specifications themselves to ensure that authenticity, integrity, | specifications themselves to ensure that authenticity, integrity, | |||
and/or plausibility of received signals are checked and the | and/or plausibility of received signals are checked, and the | |||
appropriate actions (or non-actions) are taken. | appropriate actions (or non-actions) are taken. | |||
7. IANA Considerations | 7. IANA Considerations | |||
There are no IANA impacts in this memo. | This document has no IANA actions. | |||
8. Contributors | ||||
The content and concepts within this document are a product of the | ||||
discussion carried out in the Design Team. | ||||
Michael Ramalho provided the text for the Jitter model. | ||||
9. Acknowledgments | ||||
Much of this document is derived from previous work on congestion | ||||
control at the IETF. | ||||
The authors would like to thank 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 versions of this draft. Additionally, | ||||
also thank the participants of the design team for their comments and | ||||
discussion related to the evaluation criteria. | ||||
10. References | ||||
10.1. Normative References | 8. References | |||
[I-D.ietf-rmcat-cc-requirements] | 8.1. Normative References | |||
Jesup, R. and Z. Sarker, "Congestion Control Requirements | ||||
for Interactive Real-Time Media", draft-ietf-rmcat-cc- | ||||
requirements-09 (work in progress), December 2014. | ||||
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. | [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. | |||
Jacobson, "RTP: A Transport Protocol for Real-Time | Jacobson, "RTP: A Transport Protocol for Real-Time | |||
Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, | Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, | |||
July 2003, <https://www.rfc-editor.org/info/rfc3550>. | July 2003, <https://www.rfc-editor.org/info/rfc3550>. | |||
[RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and | [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and | |||
Video Conferences with Minimal Control", STD 65, RFC 3551, | Video Conferences with Minimal Control", STD 65, RFC 3551, | |||
DOI 10.17487/RFC3551, July 2003, | DOI 10.17487/RFC3551, July 2003, | |||
<https://www.rfc-editor.org/info/rfc3551>. | <https://www.rfc-editor.org/info/rfc3551>. | |||
skipping to change at page 14, line 10 ¶ | skipping to change at line 580 ¶ | |||
[RFC8083] Perkins, C. and V. Singh, "Multimedia Congestion Control: | [RFC8083] Perkins, C. and V. Singh, "Multimedia Congestion Control: | |||
Circuit Breakers for Unicast RTP Sessions", RFC 8083, | Circuit Breakers for Unicast RTP Sessions", RFC 8083, | |||
DOI 10.17487/RFC8083, March 2017, | DOI 10.17487/RFC8083, March 2017, | |||
<https://www.rfc-editor.org/info/rfc8083>. | <https://www.rfc-editor.org/info/rfc8083>. | |||
[RFC8593] Zhu, X., Mena, S., and Z. Sarker, "Video Traffic Models | [RFC8593] Zhu, X., Mena, S., and Z. Sarker, "Video Traffic Models | |||
for RTP Congestion Control Evaluations", RFC 8593, | for RTP Congestion Control Evaluations", RFC 8593, | |||
DOI 10.17487/RFC8593, May 2019, | DOI 10.17487/RFC8593, May 2019, | |||
<https://www.rfc-editor.org/info/rfc8593>. | <https://www.rfc-editor.org/info/rfc8593>. | |||
10.2. Informative References | [RFC8836] Jesup, R. and Z. Sarker, Ed., "Congestion Control | |||
Requirements for Interactive Real-Time Media", RFC 8836, | ||||
DOI 10.17487/RFC8836, January 2021, | ||||
<https://www.rfc-editor.org/info/rfc8836>. | ||||
8.2. Informative References | ||||
[gilbert-elliott] | [gilbert-elliott] | |||
Hasslinger, G. and O. Hohlfeld, "The Gilbert-Elliott Model | Hasslinger, G. and O. Hohlfeld, "The Gilbert-Elliott Model | |||
for Packet Loss in Real Time Services on the Internet", | for Packet Loss in Real Time Services on the Internet", | |||
14th GI/ITG Conference - Measurement, Modelling and | 14th GI/ITG Conference - Measurement, Modelling and | |||
Evalutation of Computer and Communication Systems , 3 | Evalutation [sic] of Computer and Communication Systems, | |||
2008. | March 2008, | |||
<https://ieeexplore.ieee.org/document/5755057>. | ||||
[I-D.ietf-netvc-testing] | [netvc-testing] | |||
Daede, T., Norkin, A., and I. Brailovskiy, "Video Codec | Daede, T., Norkin, A., and I. Brailovskiy, "Video Codec | |||
Testing and Quality Measurement", draft-ietf-netvc- | Testing and Quality Measurement", Work in Progress, | |||
testing-09 (work in progress), January 2020. | Internet-Draft, draft-ietf-netvc-testing-09, 31 January | |||
2020, | ||||
[I-D.ietf-rmcat-eval-test] | <https://tools.ietf.org/html/draft-ietf-netvc-testing-09>. | |||
Sarker, Z., Singh, V., Zhu, X., and M. Ramalho, "Test | ||||
Cases for Evaluating RMCAT Proposals", draft-ietf-rmcat- | ||||
eval-test-10 (work in progress), May 2019. | ||||
[I-D.ietf-rmcat-wireless-tests] | ||||
Sarker, Z., Zhu, X., and J. Fu, "Evaluation Test Cases for | ||||
Interactive Real-Time Media over Wireless Networks", | ||||
draft-ietf-rmcat-wireless-tests-11 (work in progress), | ||||
March 2020. | ||||
[RFC5033] Floyd, S. and M. Allman, "Specifying New Congestion | [RFC5033] Floyd, S. and M. Allman, "Specifying New Congestion | |||
Control Algorithms", BCP 133, RFC 5033, | Control Algorithms", BCP 133, RFC 5033, | |||
DOI 10.17487/RFC5033, August 2007, | DOI 10.17487/RFC5033, August 2007, | |||
<https://www.rfc-editor.org/info/rfc5033>. | <https://www.rfc-editor.org/info/rfc5033>. | |||
[RFC5166] Floyd, S., Ed., "Metrics for the Evaluation of Congestion | [RFC5166] Floyd, S., Ed., "Metrics for the Evaluation of Congestion | |||
Control Mechanisms", RFC 5166, DOI 10.17487/RFC5166, March | Control Mechanisms", RFC 5166, DOI 10.17487/RFC5166, March | |||
2008, <https://www.rfc-editor.org/info/rfc5166>. | 2008, <https://www.rfc-editor.org/info/rfc5166>. | |||
[tcpdump] "Homepage of tcpdump and libpcap", | [RFC8312] Rhee, I., Xu, L., Ha, S., Zimmermann, A., Eggert, L., and | |||
https://www.tcpdump.org/index.html . | R. Scheffenegger, "CUBIC for Fast Long-Distance Networks", | |||
RFC 8312, DOI 10.17487/RFC8312, February 2018, | ||||
[wireshark] | <https://www.rfc-editor.org/info/rfc8312>. | |||
"Homepage of Wireshark", https://www.wireshark.org . | ||||
[xiph-seq] | ||||
Daede, T., "Video Test Media Set", | ||||
https://media.xiph.org/video/derf/ . | ||||
Appendix A. Change Log | ||||
Note to the RFC-Editor: please remove this section prior to | ||||
publication as an RFC. | ||||
A.1. Changes in draft-ietf-rmcat-eval-criteria-07 | ||||
Updated the draft according to the discussion at IETF-101. | ||||
o Updated the discussion on fairness. Thanks to Xiaoqing Zhu for | ||||
providing text. | ||||
o Fixed a simple loss model and provided pointers to more | ||||
sophisticated ones. | ||||
o Fixed the choice of the jitter model. | ||||
A.2. Changes in draft-ietf-rmcat-eval-criteria-06 | ||||
o Updated Jitter. | ||||
A.3. Changes in draft-ietf-rmcat-eval-criteria-05 | ||||
o Improved text surrounding wireless tests, video sequences, and | ||||
short-TCP model. | ||||
A.4. Changes in draft-ietf-rmcat-eval-criteria-04 | ||||
o Removed the guidelines section, as most of the sections are now | ||||
covered: wireless tests, video model, etc. | ||||
o Improved Short TCP model based on the suggestion to use | ||||
httparchive.org. | ||||
A.5. Changes in draft-ietf-rmcat-eval-criteria-03 | ||||
o Keep-alive version. | ||||
o Moved link parameters and traffic models from eval-test | ||||
A.6. Changes in draft-ietf-rmcat-eval-criteria-02 | ||||
o Incorporated fairness test as a working test. | ||||
o Updated text on mimimum evaluation requirements. | ||||
A.7. Changes in draft-ietf-rmcat-eval-criteria-01 | ||||
o Removed Appendix B. | ||||
o Removed Section on Evaluation Parameters. | ||||
A.8. Changes in draft-ietf-rmcat-eval-criteria-00 | ||||
o Updated references. | ||||
o Resubmitted as WG draft. | ||||
A.9. Changes in draft-singh-rmcat-cc-eval-04 | ||||
o Incorporate feedback from IETF 87, Berlin. | ||||
o Clarified metrics: convergence time, bandwidth utilization. | ||||
o Changed fairness criteria to fairness test. | ||||
o Added measuring pre- and post-repair loss. | ||||
o Added open issue of measuring video quality to appendix. | ||||
o clarified use of DropTail and AQM. | ||||
o Updated text in "Minimum Requirements for Evaluation" | ||||
A.10. Changes in draft-singh-rmcat-cc-eval-03 | ||||
o Incorporate the discussion within the design team. | ||||
o Added a section on evaluation parameters, it describes the flow | ||||
and network characteristics. | ||||
o Added Appendix with self-fairness experiment. | [RFC8867] Sarker, Z., Singh, V., Zhu, X., and M. Ramalho, "Test | |||
Cases for Evaluating Congestion Control for Interactive | ||||
Real-Time Media", RFC 8867, DOI 10.17487/RFC8867, January | ||||
2021, <https://www.rfc-editor.org/info/rfc8867>. | ||||
o Changed bottleneck parameters from a proposal to an example set. | [RFC8869] Sarker, Z., Zhu, X., and J. Fu, "Evaluation Test Cases for | |||
Interactive Real-Time Media over Wireless Networks", | ||||
RFC 8869, DOI 10.17487/RFC8869, January 2021, | ||||
<https://www.rfc-editor.org/info/rfc8869>. | ||||
o | [tcpdump] "Homepage of tcpdump and libpcap", | |||
<https://www.tcpdump.org/index.html>. | ||||
A.11. Changes in draft-singh-rmcat-cc-eval-02 | [wireshark] | |||
"Homepage of Wireshark", <https://www.wireshark.org>. | ||||
o Added scenario descriptions. | [xiph-seq] Daede, T., "Video Test Media Set", | |||
<https://media.xiph.org/video/derf/>. | ||||
A.12. Changes in draft-singh-rmcat-cc-eval-01 | Contributors | |||
o Removed QoE metrics. | The content and concepts within this document are a product of the | |||
discussion carried out in the Design Team. | ||||
o Changed stability to steady-state. | Michael Ramalho provided the text for the jitter models | |||
(Section 4.5). | ||||
o Added measuring impact against few and many flows. | Acknowledgments | |||
o Added guideline for idle and data-limited periods. | Much of this document is derived from previous work on congestion | |||
control at the IETF. | ||||
o Added reference to TCP evaluation suite in example evaluation | The authors would like to thank Harald Alvestrand, Anna Brunstrom, | |||
scenarios. | Luca De Cicco, Wesley Eddy, Lars Eggert, Kevin Gross, Vinayak Hegde, | |||
Randell Jesup, Mirja Kühlewind, 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 draft versions of this document. Additionally, thanks to | ||||
the participants of the Design Team for their comments and discussion | ||||
related to the evaluation criteria. | ||||
Authors' Addresses | Authors' Addresses | |||
Varun Singh | Varun Singh | |||
CALLSTATS I/O Oy | CALLSTATS I/O Oy | |||
Runeberginkatu 4c A 4 | Rauhankatu 11 C | |||
Helsinki 00100 | FI-00100 Helsinki | |||
Finland | Finland | |||
Email: varun.singh@iki.fi | Email: varun.singh@iki.fi | |||
URI: https://www.callstats.io/about | URI: https://www.callstats.io/ | |||
Joerg Ott | Jörg Ott | |||
Technical University of Munich | Technical University of Munich | |||
Faculty of Informatics | Department of Informatics | |||
Chair of Connected Mobility | ||||
Boltzmannstrasse 3 | Boltzmannstrasse 3 | |||
Garching bei Muenchen, DE 85748 | 85748 Garching | |||
Germany | Germany | |||
Email: ott@in.tum.de | Email: ott@in.tum.de | |||
Stefan Holmer | Stefan Holmer | |||
Kungsbron 2 | Kungsbron 2 | |||
Stockholm 11122 | SE-11122 Stockholm | |||
Sweden | Sweden | |||
Email: holmer@google.com | Email: holmer@google.com | |||
End of changes. 115 change blocks. | ||||
369 lines changed or deleted | 262 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |