-
Notifications
You must be signed in to change notification settings - Fork 1
/
draft-ietf-rmcat-eval-criteria-11.txt
952 lines (609 loc) · 34.7 KB
/
draft-ietf-rmcat-eval-criteria-11.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
RMCAT WG V. Singh
Internet-Draft callstats.io
Intended status: Informational J. Ott
Expires: August 15, 2020 Technical University of Munich
S. Holmer
Google
February 12, 2020
Evaluating Congestion Control for Interactive Real-time Media
draft-ietf-rmcat-eval-criteria-11
Abstract
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.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
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
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 15, 2020.
Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) 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
Singh, et al. Expires August 15, 2020 [Page 1]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1. RTP Log Format . . . . . . . . . . . . . . . . . . . . . 5
4. List of Network Parameters . . . . . . . . . . . . . . . . . 5
4.1. One-way Propagation Delay . . . . . . . . . . . . . . . . 5
4.2. End-to-end Loss . . . . . . . . . . . . . . . . . . . . . 6
4.3. Drop Tail Router Queue Length . . . . . . . . . . . . . . 6
4.4. Loss generation model . . . . . . . . . . . . . . . . . . 7
4.5. Jitter models . . . . . . . . . . . . . . . . . . . . . . 7
4.5.1. Random Bounded PDV (RBPDV) . . . . . . . . . . . . . 8
4.5.2. Approximately Random Subject to No-Reordering Bounded
PDV (NR-RPVD) . . . . . . . . . . . . . . . . 9
4.5.3. Recommended distribution . . . . . . . . . . . . . . 9
5. Traffic Models . . . . . . . . . . . . . . . . . . . . . . . 10
5.1. TCP traffic model . . . . . . . . . . . . . . . . . . . . 10
5.2. RTP Video model . . . . . . . . . . . . . . . . . . . . . 10
5.3. Background UDP . . . . . . . . . . . . . . . . . . . . . 10
6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 12
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
10.1. Normative References . . . . . . . . . . . . . . . . . . 12
10.2. Informative References . . . . . . . . . . . . . . . . . 13
Appendix A. Application Trade-off . . . . . . . . . . . . . . . 14
A.1. Measuring Quality . . . . . . . . . . . . . . . . . . . . 14
Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 14
B.1. Changes in draft-ietf-rmcat-eval-criteria-07 . . . . . . 14
B.2. Changes in draft-ietf-rmcat-eval-criteria-06 . . . . . . 14
B.3. Changes in draft-ietf-rmcat-eval-criteria-05 . . . . . . 15
B.4. Changes in draft-ietf-rmcat-eval-criteria-04 . . . . . . 15
B.5. Changes in draft-ietf-rmcat-eval-criteria-03 . . . . . . 15
B.6. Changes in draft-ietf-rmcat-eval-criteria-02 . . . . . . 15
B.7. Changes in draft-ietf-rmcat-eval-criteria-01 . . . . . . 15
B.8. Changes in draft-ietf-rmcat-eval-criteria-00 . . . . . . 15
B.9. Changes in draft-singh-rmcat-cc-eval-04 . . . . . . . . . 15
B.10. Changes in draft-singh-rmcat-cc-eval-03 . . . . . . . . . 16
B.11. Changes in draft-singh-rmcat-cc-eval-02 . . . . . . . . . 16
B.12. Changes in draft-singh-rmcat-cc-eval-01 . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16
Singh, et al. Expires August 15, 2020 [Page 2]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
1. Introduction
This memo describes the guidelines to help with evaluating new
congestion control algorithms for interactive point-to-point real
time media. The requirements for the congestion control algorithm
are outlined in [I-D.ietf-rmcat-cc-requirements]). This document
builds upon previous work at the IETF: Specifying New Congestion
Control Algorithms [RFC5033] and Metrics for the Evaluation of
Congestion Control Algorithms [RFC5166].
The guidelines proposed in the document are intended to help prevent
a congestion collapse, promote fair capacity usage and optimize the
media flow's throughput. Furthermore, the proposed algorithms are
expected to operate within the envelope of the circuit breakers
defined in RFC8083 [RFC8083].
This document only provides the broad set of network parameters and
and traffic models for evaluating a new congestion control algorithm.
The minimal requirements for congestion control proposals is to
produce or present results for the test scenarios described in
[I-D.ietf-rmcat-eval-test] (Basic Test Cases), which also defines .
Additionally, proponents may produce evaluation results for the
wireless test scenarios [I-D.ietf-rmcat-wireless-tests].
2. Terminology
The terminology defined in RTP [RFC3550], RTP Profile for Audio and
Video Conferences with Minimal Control [RFC3551], RTCP Extended
Report (XR) [RFC3611], Extended RTP Profile for RTCP-based Feedback
(RTP/AVPF) [RFC4585] and Support for Reduced-Size RTCP [RFC5506]
apply.
3. Metrics
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.
Each experiment is expected to log every incoming and outgoing packet
(the RTP logging format is described in Section 3.1). The logging
can be done inside the application or at the endpoints using PCAP
(packet capture, e.g., tcpdump, wireshark). The following metrics
are calculated based on the information in the packet logs:
1. Sending rate, Receiver rate, Goodput (measured at 200ms
intervals)
Singh, et al. Expires August 15, 2020 [Page 3]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
2. Packets sent, Packets received
3. Bytes sent, bytes received
4. Packet delay
5. Packets lost, Packets discarded (from the playout or de-jitter
buffer)
6. If using, retransmission or FEC: post-repair loss
7. Self-Fairness and Fairness with respect to 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.
During static periods of a test (i.e., when bottleneck bandwidth
is constant and no arrival/departure of streams), these report
on relative ratios serve as an indicator of how fair 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, at 1s, 5s, and 20s) in order
to measure fairness across different time scales.
As a general guideline, the relative ratio between congestion
controlled RTP flows with the same priority level and similar
path RTT should be bounded between (0.333 and 3.) For example,
see the test scenarios described in [I-D.ietf-rmcat-eval-test].
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 bottleneck link.
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 of 500ms.
10. Bandwidth Utilization, defined as ratio of the instantaneous
sending rate to the instantaneous bottleneck capacity. This
metric is useful only when a congestion controlled RTP flow is
by itself or competing with similar cross-traffic.
Note that the above metrics are all objective application-independent
metrics. Refer to Section 3, in [I-D.ietf-netvc-testing] for
objective metrics for evaluating codecs.
Singh, et al. Expires August 15, 2020 [Page 4]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
From the logs the statistical measures (min, max, mean, standard
deviation 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 over time, the measurements in the plot are at 1 second
intervals. Additionally, from the logs it is possible to plot the
histogram or CDF of packet delay.
3.1. RTP Log Format
Having a common log format simplifies running analyses across and
comparing different measurements. The log file should be tab or
comma separated containing the following details:
Send or receive timestamp (unix)
RTP payload type
SSRC
RTP sequence no
RTP timestamp
marker bit
payload size
If the congestion control implements, retransmissions or FEC, the
evaluation should report both packet loss (before applying error-
resilience) and residual packet loss (after applying error-
resilience).
4. List of Network Parameters
The implementors initially are encouraged to choose evaluation
settings from the following values:
4.1. One-way Propagation Delay
Experiments are expected to verify that the congestion control is
able to work across a broad range of path characteristics, also
including challenging situations, for example over trans-continental
and/or satellite links. Tests thus account for the following
different latencies:
1. Very low latency: 0-1ms
2. Low latency: 50ms
3. High latency: 150ms
4. Extreme latency: 300ms
Singh, et al. Expires August 15, 2020 [Page 5]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
4.2. End-to-end Loss
Many paths in the Internet today are largely lossless but, with
wireless networks and interference, towards remote regions, or in
scenarios featuring high/fast mobility, media flows may exhibit
substantial packet loss. This variety needs to be reflected
appropriately by the tests.
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
packets lost and packets sent.
1. no loss: 0%
2. 1%
3. 5%
4. 10%
5. 20%
4.3. Drop Tail Router Queue Length
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.
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
length in the current deployed Internet varies significantly. While
the core backbone network has very short queue length, the home
gateways usually have larger queue length. Those various queue
lengths can be categorized in the following way:
1. QoS-aware (or short): 70ms
2. Nominal: 300-500ms
3. Buffer-bloated: 1000-2000ms
Here the size of the queue is measured in bytes or packets and to
convert the queue length measured in seconds to queue length in
bytes:
QueueSize (in bytes) = QueueSize (in sec) x Throughput (in bps)/8
Singh, et al. Expires August 15, 2020 [Page 6]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
4.4. Loss generation model
Many models for generating packet loss are available, some yield
correlated, others independent losses; losses can also be 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.
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 includes the Gilbert-Elliot
model and losses generated by modeling a queue including its
(different) drop behaviors.
4.5. Jitter models
This section defines jitter models for the purposes of this document.
When jitter is to be applied to both the congestion controlled RTP
flow and any competing flow (such as a TCP competing flow), the
competing flow will use the jitter definition below that does not
allow for re-ordering of packets on the competing flow (see NR-RBPDV
definition below).
Jitter is an overloaded term in communications. Its meaning is
typically associated with the variation of a metric (e.g., delay)
with respect to some reference metric (e.g., average delay or minimum
delay). For example, RFC 3550 jitter is a smoothed estimate of
jitter which is particularly meaningful if the underlying packet
delay variation was caused by a Gaussian random process.
Because jitter is an overloaded term, we instead use the term Packet
Delay Variation (PDV) to describe the variation of delay of
individual packets in the same sense as the IETF IPPM WG has defined
PDV in their documents (e.g., RFC 3393) and as the ITU-T SG16 has
defined IP Packet Delay Variation (IPDV) in their documents (e.g.,
Y.1540).
Most PDV distributions in packet network systems are one-sided
distributions (the measurement of which with a finite number of
measurement samples result in one-sided histograms). In the usual
packet network transport case there is typically one packet that
transited the network with the minimum delay, then a majority of
packets also transit the system within some variation from this
minimum delay, and then a minority of the packets transit the network
with delays higher than the median or average transit time (these are
outliers). Although infrequent, outliers can cause significant
deleterious operation in adaptive systems and should be considered in
rate adaptation designs for RTP congestion control.
Singh, et al. Expires August 15, 2020 [Page 7]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
In this section we define two different bounded PDV characteristics,
1) Random Bounded PDV and 2) Approximately Random Subject to No-
Reordering Bounded PDV.
The former, 1) Random Bounded PDV is presented for information only,
while the latter, 2) Approximately Random Subject to No-Reordering
Bounded PDV, must be used in the evaluation.
4.5.1. Random Bounded PDV (RBPDV)
The RBPDV probability distribution function (PDF) is specified to be
of some mathematically describable function which includes some
practical minimum and maximum discrete values suitable for testing.
For example, the minimum value, x_min, might be specified as the
minimum transit time packet and the maximum value, x_max, might be
defined to be two standard deviations higher than the mean.
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
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.
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 j(n) =
{[z(n) + x_mean] + s(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 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 time of any two sent packets, we
have the possibility of packet re-ordering.
There are important use cases in real networks where packets can
become re-ordered such as in load balancing topologies and during
route changes. However, for the vast majority of cases there is no
packet re-ordering because most of the time packets follow the same
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
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 to the above, but one that does not allow
for re-ordering within a flow.
Singh, et al. Expires August 15, 2020 [Page 8]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
4.5.2. Approximately Random Subject to No-Reordering Bounded PDV (NR-
RPVD)
No Reordering RPDV, NR-RPVD, is defined similarly to the above with
one important exception. Let serial(n) be defined as the
serialization delay of packet n at the lowest bottleneck link rate
(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
length of the source sequence s to be offset-ed. The exception can
be stated as follows: We revisit all j(n) beginning from index n=2,
and 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 the case where
the packet n is sent immediately after packet (n-1) at the bottleneck
link rate. Although this is generally the theoretical minimum in
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
assumption for per flow queuing.
We note that this assumption holds for 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, ALGs and other middleboxes) which
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 the
outliers. Thus NR-RPVD models this particular use case (assuming
serial(n+1) is defined appropriately for the device causing the
outlier) and thus is believed to be important for adaptation
development for congestion controlled RTP streams.
4.5.3. Recommended distribution
Whether Random Bounded PDV or Approximately Random Subject to No-
Reordering Bounded PDV, it is recommended that z(n) is distributed
according to a truncated Gaussian for the above jitter models:
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
standard deviation std. Recommended values:
o std = 5 ms
o N_STD = 3
Singh, et al. Expires August 15, 2020 [Page 9]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
5. Traffic Models
5.1. TCP traffic model
Long-lived TCP flows will download data throughout the session and
are expected to have infinite amount of data to send or receive.
This roughly applies, for example, when downloading software
distributions.
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.
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.
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.
[These values were picked based on the data available at
http://httparchive.org/interesting.php as of October 2015].
Many different TCP congestion control schemes are deployed today.
Therefore, experimentation with a range of different schemes,
especially including CUBIC, is encouraged. Experiments must document
in detail which congestion control schemes they tested against and
which parameters were used.
5.2. RTP Video model
[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.
Sample video test sequences are available at: [xiph-seq] and
[HEVC-seq]. The following two video streams are the recommended
minimum for testing: Foreman and FourPeople.
5.3. Background UDP
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,
or will change to particular CBR rate at predefined intervals. The
Singh, et al. Expires August 15, 2020 [Page 10]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
inter packet interval is calculated based on the CBR and the packet
size (is typically set to the path MTU size, the default value can be
1500 bytes).
Note that new transport protocols such as QUIC may use UDP but, due
to their congestion control algorithms, will exhibit behavior
conceptually similar in nature to TCP flows above and can thus be
subsumed by the above, including the division into short- 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.
6. Security Considerations
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.
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.
This specification focuses on assessing the regular operation of the
protocols and algorithms under considerations. 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.
7. IANA Considerations
There are no IANA impacts in this memo.
Singh, et al. Expires August 15, 2020 [Page 11]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
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
[I-D.ietf-rmcat-cc-requirements]
Jesup, R. and Z. Sarker, "Congestion Control Requirements
for Interactive Real-Time Media", draft-ietf-rmcat-cc-
requirements-09 (work in progress), December 2014.
[I-D.ietf-rmcat-wireless-tests]
Sarker, Z., Johansson, I., Zhu, X., Fu, J., Tan, W., and
M. Ramalho, "Evaluation Test Cases for Interactive Real-
Time Media over Wireless Networks", draft-ietf-rmcat-
wireless-tests-08 (work in progress), July 2019.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,
July 2003, <https://www.rfc-editor.org/info/rfc3550>.
[RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
Video Conferences with Minimal Control", STD 65, RFC 3551,
DOI 10.17487/RFC3551, July 2003,
<https://www.rfc-editor.org/info/rfc3551>.
Singh, et al. Expires August 15, 2020 [Page 12]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
[RFC3611] Friedman, T., Ed., Caceres, R., Ed., and A. Clark, Ed.,
"RTP Control Protocol Extended Reports (RTCP XR)",
RFC 3611, DOI 10.17487/RFC3611, November 2003,
<https://www.rfc-editor.org/info/rfc3611>.
[RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey,
"Extended RTP Profile for Real-time Transport Control
Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585,
DOI 10.17487/RFC4585, July 2006,
<https://www.rfc-editor.org/info/rfc4585>.
[RFC5506] Johansson, I. and M. Westerlund, "Support for Reduced-Size
Real-Time Transport Control Protocol (RTCP): Opportunities
and Consequences", RFC 5506, DOI 10.17487/RFC5506, April
2009, <https://www.rfc-editor.org/info/rfc5506>.
[RFC8083] Perkins, C. and V. Singh, "Multimedia Congestion Control:
Circuit Breakers for Unicast RTP Sessions", RFC 8083,
DOI 10.17487/RFC8083, March 2017,
<https://www.rfc-editor.org/info/rfc8083>.
10.2. Informative References
[HEVC-seq]
HEVC, "Test Sequences",
http://www.netlab.tkk.fi/~varun/test_sequences/ .
[I-D.ietf-netvc-testing]
Daede, T., Norkin, A., and I. Brailovskiy, "Video Codec
Testing and Quality Measurement", draft-ietf-netvc-
testing-09 (work in progress), January 2020.
[I-D.ietf-rmcat-eval-test]
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.
[RFC5033] Floyd, S. and M. Allman, "Specifying New Congestion
Control Algorithms", BCP 133, RFC 5033,
DOI 10.17487/RFC5033, August 2007,
<https://www.rfc-editor.org/info/rfc5033>.
[RFC5166] Floyd, S., Ed., "Metrics for the Evaluation of Congestion
Control Mechanisms", RFC 5166, DOI 10.17487/RFC5166, March
2008, <https://www.rfc-editor.org/info/rfc5166>.
Singh, et al. Expires August 15, 2020 [Page 13]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
[RFC8593] Zhu, X., Mena, S., and Z. Sarker, "Video Traffic Models
for RTP Congestion Control Evaluations", RFC 8593,
DOI 10.17487/RFC8593, May 2019,
<https://www.rfc-editor.org/info/rfc8593>.
[xiph-seq]
Daede, T., "Video Test Media Set",
https://people.xiph.org/~tdaede/sets/ .
Appendix A. Application Trade-off
Application trade-off is yet to be defined. see RMCAT requirements
[I-D.ietf-rmcat-cc-requirements] document. Perhaps each experiment
should define the application's expectation or trade-off.
A.1. Measuring Quality
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.
Appendix B. Change Log
Note to the RFC-Editor: please remove this section prior to
publication as an RFC.
B.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.
B.2. Changes in draft-ietf-rmcat-eval-criteria-06
o Updated Jitter.
Singh, et al. Expires August 15, 2020 [Page 14]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
B.3. Changes in draft-ietf-rmcat-eval-criteria-05
o Improved text surrounding wireless tests, video sequences, and
short-TCP model.
B.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.
B.5. Changes in draft-ietf-rmcat-eval-criteria-03
o Keep-alive version.
o Moved link parameters and traffic models from eval-test
B.6. Changes in draft-ietf-rmcat-eval-criteria-02
o Incorporated fairness test as a working test.
o Updated text on mimimum evaluation requirements.
B.7. Changes in draft-ietf-rmcat-eval-criteria-01
o Removed Appendix B.
o Removed Section on Evaluation Parameters.
B.8. Changes in draft-ietf-rmcat-eval-criteria-00
o Updated references.
o Resubmitted as WG draft.
B.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.
Singh, et al. Expires August 15, 2020 [Page 15]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
o clarified use of DropTail and AQM.
o Updated text in "Minimum Requirements for Evaluation"
B.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.
o Changed bottleneck parameters from a proposal to an example set.
o
B.11. Changes in draft-singh-rmcat-cc-eval-02
o Added scenario descriptions.
B.12. Changes in draft-singh-rmcat-cc-eval-01
o Removed QoE metrics.
o Changed stability to steady-state.
o Added measuring impact against few and many flows.
o Added guideline for idle and data-limited periods.
o Added reference to TCP evaluation suite in example evaluation
scenarios.
Authors' Addresses
Varun Singh
CALLSTATS I/O Oy
Runeberginkatu 4c A 4
Helsinki 00100
Finland
Email: varun.singh@iki.fi
URI: https://www.callstats.io/about
Singh, et al. Expires August 15, 2020 [Page 16]
Internet-Draft Evaluating Congestion Control for RMCAT February 2020
Joerg Ott
Technical University of Munich
Faculty of Informatics
Boltzmannstrasse 3
Garching bei Muenchen, DE 85748
Germany
Email: ott@in.tum.de
Stefan Holmer
Google
Kungsbron 2
Stockholm 11122
Sweden
Email: holmer@google.com
Singh, et al. Expires August 15, 2020 [Page 17]