draft-ietf-avtcore-rtp-circuit-breakers-16.txt | draft-ietf-avtcore-rtp-circuit-breakers-17.txt | |||
---|---|---|---|---|
AVTCORE Working Group C. Perkins | AVTCORE Working Group C. Perkins | |||
Internet-Draft University of Glasgow | Internet-Draft University of Glasgow | |||
Updates: 3550 (if approved) V. Singh | Updates: 3550 (if approved) V. Singh | |||
Intended status: Standards Track callstats.io | Intended status: Standards Track callstats.io | |||
Expires: December 13, 2016 June 11, 2016 | Expires: January 21, 2017 July 20, 2016 | |||
Multimedia Congestion Control: Circuit Breakers for Unicast RTP Sessions | Multimedia Congestion Control: Circuit Breakers for Unicast RTP Sessions | |||
draft-ietf-avtcore-rtp-circuit-breakers-16 | draft-ietf-avtcore-rtp-circuit-breakers-17 | |||
Abstract | Abstract | |||
The Real-time Transport Protocol (RTP) is widely used in telephony, | The Real-time Transport Protocol (RTP) is widely used in telephony, | |||
video conferencing, and telepresence applications. Such applications | video conferencing, and telepresence applications. Such applications | |||
are often run on best-effort UDP/IP networks. If congestion control | are often run on best-effort UDP/IP networks. If congestion control | |||
is not implemented in these applications, then network congestion can | is not implemented in these applications, then network congestion can | |||
lead to uncontrolled packet loss, and a resulting deterioration of | lead to uncontrolled packet loss, and a resulting deterioration of | |||
the user's multimedia experience. The congestion control algorithm | the user's multimedia experience. The congestion control algorithm | |||
acts as a safety measure, stopping RTP flows from using excessive | acts as a safety measure, stopping RTP flows from using excessive | |||
skipping to change at page 2, line 7 ¶ | skipping to change at page 2, line 7 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on December 13, 2016. | This Internet-Draft will expire on January 21, 2017. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 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 | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://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 | |||
skipping to change at page 2, line 38 ¶ | skipping to change at page 2, line 38 ¶ | |||
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
4. RTP Circuit Breakers for Systems Using the RTP/AVP Profile . 7 | 4. RTP Circuit Breakers for Systems Using the RTP/AVP Profile . 7 | |||
4.1. RTP/AVP Circuit Breaker #1: RTCP Timeout . . . . . . . . 10 | 4.1. RTP/AVP Circuit Breaker #1: RTCP Timeout . . . . . . . . 10 | |||
4.2. RTP/AVP Circuit Breaker #2: Media Timeout . . . . . . . . 11 | 4.2. RTP/AVP Circuit Breaker #2: Media Timeout . . . . . . . . 11 | |||
4.3. RTP/AVP Circuit Breaker #3: Congestion . . . . . . . . . 12 | 4.3. RTP/AVP Circuit Breaker #3: Congestion . . . . . . . . . 12 | |||
4.4. RTP/AVP Circuit Breaker #4: Media Usability . . . . . . . 16 | 4.4. RTP/AVP Circuit Breaker #4: Media Usability . . . . . . . 16 | |||
4.5. Ceasing Transmission . . . . . . . . . . . . . . . . . . 17 | 4.5. Ceasing Transmission . . . . . . . . . . . . . . . . . . 17 | |||
5. RTP Circuit Breakers and the RTP/AVPF and RTP/SAVPF Profiles 17 | 5. RTP Circuit Breakers and the RTP/AVPF and RTP/SAVPF Profiles 17 | |||
6. Impact of RTCP Extended Reports (XR) . . . . . . . . . . . . 19 | 6. Impact of RTCP Extended Reports (XR) . . . . . . . . . . . . 19 | |||
7. Impact of Explicit Congestion Notification (ECN) . . . . . . 19 | 7. Impact of Explicit Congestion Notification (ECN) . . . . . . 19 | |||
8. Impact of Bundled Media and Layered Coding . . . . . . . . . 20 | 8. Impact of Bundled Media and Layered Coding . . . . . . . . . 19 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | |||
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 | 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 | |||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
12.1. Normative References . . . . . . . . . . . . . . . . . . 22 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 21 | |||
12.2. Informative References . . . . . . . . . . . . . . . . . 22 | 12.2. Informative References . . . . . . . . . . . . . . . . . 22 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
1. Introduction | 1. Introduction | |||
The Real-time Transport Protocol (RTP) [RFC3550] is widely used in | The Real-time Transport Protocol (RTP) [RFC3550] is widely used in | |||
voice-over-IP, video teleconferencing, and telepresence systems. | voice-over-IP, video teleconferencing, and telepresence systems. | |||
Many of these systems run over best-effort UDP/IP networks, and can | Many of these systems run over best-effort UDP/IP networks, and can | |||
suffer from packet loss and increased latency if network congestion | suffer from packet loss and increased latency if network congestion | |||
occurs. Designing effective RTP congestion control algorithms, to | occurs. Designing effective RTP congestion control algorithms, to | |||
adapt the transmission of RTP-based media to match the available | adapt the transmission of RTP-based media to match the available | |||
network capacity, while also maintaining the user experience, is a | network capacity, while also maintaining the user experience, is a | |||
skipping to change at page 19, line 25 ¶ | skipping to change at page 19, line 25 ¶ | |||
SR packets, RTCP RR packets, or RTCP XR ECN Summary Report packets, | SR packets, RTCP RR packets, or RTCP XR ECN Summary Report packets, | |||
are used by the RTP circuit breaker algorithm. | are used by the RTP circuit breaker algorithm. | |||
7. Impact of Explicit Congestion Notification (ECN) | 7. Impact of Explicit Congestion Notification (ECN) | |||
The use of ECN for RTP flows does not affect the RTCP timeout circuit | The use of ECN for RTP flows does not affect the RTCP timeout circuit | |||
breaker (Section 4.1) or the media timeout circuit breaker | breaker (Section 4.1) or the media timeout circuit breaker | |||
(Section 4.2), since these are both connectivity checks that simply | (Section 4.2), since these are both connectivity checks that simply | |||
determinate if any packets are being received. | determinate if any packets are being received. | |||
There is no consensus on what would be the correct response of the | At the time of this writing, there's no consensus on how the receipt | |||
congestion circuit breaker (Section 4.3) to ECN-CE marked packets. | of ECN feedback will impact the congestion circuit breaker | |||
The guidelines in [RFC3168] and [RFC6679] are that the response to | (Section 4.3) or indeed whether the congestion circuit breaker ought | |||
receipt of an ECN-CE marked packet needs to be essentially the same | to take ECN feedback into account. A future version of this memo is | |||
as the response to a lost packet for congestion control purposes. | expected to provide guidance for implementers. | |||
Since the RTP congestion circuit breaker responds to the same | ||||
congestion signals, this suggests that it ought to consider ECN-CE | ||||
marked packets as lost packets when calculating the TCP throughput | ||||
estimate to determine if the congestion circuit breaker triggers. | ||||
More recent work, however, has suggested that the response to an ECN- | ||||
CE mark ought to be less severe than the response to packet loss. | ||||
For example, the TCP ABE proposal | ||||
[I-D.khademi-tcpm-alternativebackoff-ecn] makes the argument that TCP | ||||
congestion control ought to back-off less in response to an ECN-CE | ||||
mark than to packet loss, because networks that generate ECN-CE marks | ||||
tend to use AQM schemes with much smaller buffers. For RTP | ||||
congestion control, both NADA [I-D.ietf-rmcat-nada] and SCREAM | ||||
[I-D.ietf-rmcat-scream-cc] suggest responding differently to ECN-CE | ||||
marked packets than to lost packets, for quality of experience | ||||
reasons, but make different proposals for how the response ought to | ||||
change. Such proposals would imply that a different circuit breaker | ||||
threshold be used for congestion signalled by ECN-CE marks than for | ||||
congestion signalled by packet loss, but unfortunately they offer no | ||||
clear guidance on how the threshold ought to be changed. | ||||
Finally, there are suggestions that forthcoming AQM proposals | ||||
[I-D.briscoe-aqm-dualq-coupled] might mark packets with ECN-CE in a | ||||
significantly more aggressive manner that at present. Any such | ||||
deployment would likely be incompatible with deployed TCP | ||||
implementations, so is not a short-term issue, but would require | ||||
significant changes to the congestion circuit breaker response. | ||||
Given the above issues, implementations MAY ignore ECN-CE marks when | ||||
determining if the congestion circuit breaker triggers, since | ||||
excessive persistent congestion will eventually lead to packet loss | ||||
that will trigger the circuit breaker. Doing this will protect the | ||||
network from congestion collapse, but might result in sub-optimal | ||||
user experience for competing flows that share the bottleneck queue, | ||||
since that queue will be driven to overflow, inducing high latency. | ||||
If this is a concern, the only current guidance is for | ||||
implementations to treat ECN-CE marked packets as equivalent to lost | ||||
packets, whilst being aware that this might trigger the circuit | ||||
breaker prematurely in future, depending on how AQM and ECN | ||||
deployment evolves. Developers that implement a circuit breaker | ||||
based on ECN-CE marks will need to track future developments in AQM | ||||
standards and deployed ECN marking behaviour, and ensure their | ||||
implementations are updated to match. | ||||
For the media usability circuit breaker (Section 4.4), ECN-CE marked | For the media usability circuit breaker (Section 4.4), ECN-CE marked | |||
packets arrive at the receiver, and if they arrive in time, they will | packets arrive at the receiver, and if they arrive in time, they will | |||
be decoded and rendered as normal. Accordingly, receipt of such | be decoded and rendered as normal. Accordingly, receipt of such | |||
packets ought not affect the usability of the media, and the arrival | packets ought not affect the usability of the media, and the arrival | |||
of RTCP feedback indicating their receipt is not expected to impact | of RTCP feedback indicating their receipt is not expected to impact | |||
the operation of the media usability circuit breaker. | the operation of the media usability circuit breaker. | |||
8. Impact of Bundled Media and Layered Coding | 8. Impact of Bundled Media and Layered Coding | |||
skipping to change at page 23, line 5 ¶ | skipping to change at page 22, line 12 ¶ | |||
for RTP over UDP", RFC 6679, DOI 10.17487/RFC6679, August | for RTP over UDP", RFC 6679, DOI 10.17487/RFC6679, August | |||
2012, <http://www.rfc-editor.org/info/rfc6679>. | 2012, <http://www.rfc-editor.org/info/rfc6679>. | |||
12.2. Informative References | 12.2. Informative References | |||
[Floyd] Floyd, S., Handley, M., Padhye, J., and J. Widmer, | [Floyd] Floyd, S., Handley, M., Padhye, J., and J. Widmer, | |||
"Equation-Based Congestion Control for Unicast | "Equation-Based Congestion Control for Unicast | |||
Applications", Proceedings of the ACM SIGCOMM | Applications", Proceedings of the ACM SIGCOMM | |||
conference, 2000, DOI 10.1145/347059.347397, August 2000. | conference, 2000, DOI 10.1145/347059.347397, August 2000. | |||
[I-D.briscoe-aqm-dualq-coupled] | ||||
Schepper, K., Briscoe, B., Bondarenko, O., and I. Tsang, | ||||
"DualQ Coupled AQM for Low Latency, Low Loss and Scalable | ||||
Throughput", draft-briscoe-aqm-dualq-coupled-01 (work in | ||||
progress), March 2016. | ||||
[I-D.ietf-avtcore-rtp-multi-stream] | [I-D.ietf-avtcore-rtp-multi-stream] | |||
Lennox, J., Westerlund, M., Wu, Q., and C. Perkins, | Lennox, J., Westerlund, M., Wu, Q., and D. Perkins, | |||
"Sending Multiple RTP Streams in a Single RTP Session", | "Sending Multiple RTP Streams in a Single RTP Session", | |||
draft-ietf-avtcore-rtp-multi-stream-11 (work in progress), | draft-ietf-avtcore-rtp-multi-stream-11 (work in progress), | |||
December 2015. | December 2015. | |||
[I-D.ietf-rmcat-nada] | ||||
Zhu, X., Pan, R., Ramalho, M., Cruz, S., Jones, P., Fu, | ||||
J., D'Aronco, S., and C. Ganzhorn, "NADA: A Unified | ||||
Congestion Control Scheme for Real-Time Media", draft- | ||||
ietf-rmcat-nada-02 (work in progress), March 2016. | ||||
[I-D.ietf-rmcat-scream-cc] | ||||
Johansson, I. and Z. Sarker, "Self-Clocked Rate Adaptation | ||||
for Multimedia", draft-ietf-rmcat-scream-cc-04 (work in | ||||
progress), June 2016. | ||||
[I-D.ietf-tsvwg-circuit-breaker] | [I-D.ietf-tsvwg-circuit-breaker] | |||
Fairhurst, G., "Network Transport Circuit Breakers", | Fairhurst, G., "Network Transport Circuit Breakers", | |||
draft-ietf-tsvwg-circuit-breaker-15 (work in progress), | draft-ietf-tsvwg-circuit-breaker-15 (work in progress), | |||
April 2016. | April 2016. | |||
[I-D.ietf-tsvwg-rtcweb-qos] | [I-D.ietf-tsvwg-rtcweb-qos] | |||
Jones, P., Dhesikan, S., Jennings, C., and D. Druta, "DSCP | Jones, P., Dhesikan, S., Jennings, C., and D. Druta, "DSCP | |||
Packet Markings for WebRTC QoS", draft-ietf-tsvwg-rtcweb- | Packet Markings for WebRTC QoS", draft-ietf-tsvwg-rtcweb- | |||
qos-17 (work in progress), May 2016. | qos-17 (work in progress), May 2016. | |||
[I-D.khademi-tcpm-alternativebackoff-ecn] | ||||
Khademi, N., Welzl, M., Armitage, G., and G. Fairhurst, | ||||
"TCP Alternative Backoff with ECN (ABE)", draft-khademi- | ||||
tcpm-alternativebackoff-ecn-00 (work in progress), May | ||||
2016. | ||||
[Mathis] Mathis, M., Semke, J., Mahdavi, J., and T. Ott, "The | [Mathis] Mathis, M., Semke, J., Mahdavi, J., and T. Ott, "The | |||
macroscopic behavior of the TCP congestion avoidance | macroscopic behavior of the TCP congestion avoidance | |||
algorithm", ACM SIGCOMM Computer Communication | algorithm", ACM SIGCOMM Computer Communication | |||
Review 27(3), DOI 10.1145/263932.264023, July 1997. | Review 27(3), DOI 10.1145/263932.264023, July 1997. | |||
[Padhye] Padhye, J., Firoiu, V., Towsley, D., and J. Kurose, | [Padhye] Padhye, J., Firoiu, V., Towsley, D., and J. Kurose, | |||
"Modeling TCP Throughput: A Simple Model and its Empirical | "Modeling TCP Throughput: A Simple Model and its Empirical | |||
Validation", Proceedings of the ACM SIGCOMM | Validation", Proceedings of the ACM SIGCOMM | |||
conference, 1998, DOI 10.1145/285237.285291, August 1998. | conference, 1998, DOI 10.1145/285237.285291, August 1998. | |||
End of changes. 11 change blocks. | ||||
81 lines changed or deleted | 15 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |