draft-ietf-avtcore-rtp-circuit-breakers-09.txt   draft-ietf-avtcore-rtp-circuit-breakers-10.txt 
AVTCORE Working Group C. S. Perkins AVTCORE Working Group C. S. 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 Aalto University Intended status: Standards Track Aalto University
Expires: September 07, 2015 March 06, 2015 Expires: September 24, 2015 March 23, 2015
Multimedia Congestion Control: Circuit Breakers for Unicast RTP Sessions Multimedia Congestion Control: Circuit Breakers for Unicast RTP Sessions
draft-ietf-avtcore-rtp-circuit-breakers-09 draft-ietf-avtcore-rtp-circuit-breakers-10
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 the applications, then network congestion will is not implemented in the applications, then network congestion will
deteriorate the user's multimedia experience. This document does not deteriorate the user's multimedia experience. This document does not
propose a congestion control algorithm; instead, it defines a minimal propose a congestion control algorithm; instead, it defines a minimal
set of RTP "circuit-breakers". Circuit-breakers are conditions under set of RTP "circuit-breakers". Circuit-breakers are conditions under
skipping to change at page 1, line 44 skipping to change at page 1, line 44
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 September 07, 2015. This Internet-Draft will expire on September 24, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 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 21 skipping to change at page 2, line 21
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 . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Background . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Background . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. RTP Circuit Breakers for Systems Using the RTP/AVP Profile . 6 4. RTP Circuit Breakers for Systems Using the RTP/AVP Profile . 6
4.1. RTP/AVP Circuit Breaker #1: Media Timeout . . . . . . . . 8 4.1. RTP/AVP Circuit Breaker #1: Media Timeout . . . . . . . . 7
4.2. RTP/AVP Circuit Breaker #2: RTCP Timeout . . . . . . . . 8 4.2. RTP/AVP Circuit Breaker #2: RTCP Timeout . . . . . . . . 8
4.3. RTP/AVP Circuit Breaker #3: Congestion . . . . . . . . . 10 4.3. RTP/AVP Circuit Breaker #3: Congestion . . . . . . . . . 9
4.4. RTP/AVP Circuit Breaker #4: Media Usability . . . . . . . 13 4.4. RTP/AVP Circuit Breaker #4: Media Usability . . . . . . . 13
4.5. Choice of Circuit Breaker Interval . . . . . . . . . . . 14 4.5. Choice of Circuit Breaker Interval . . . . . . . . . . . 14
4.6. Ceasing Transmission . . . . . . . . . . . . . . . . . . 15 4.6. Ceasing Transmission . . . . . . . . . . . . . . . . . . 15
5. RTP Circuit Breakers and the RTP/AVPF and RTP/SAVPF Profiles 16 5. RTP Circuit Breakers and the RTP/AVPF and RTP/SAVPF Profiles 16
6. Impact of RTCP Extended Reports (XR) . . . . . . . . . . . . 17 6. Impact of RTCP Extended Reports (XR) . . . . . . . . . . . . 17
7. Impact of RTCP Reporting Groups . . . . . . . . . . . . . . . 17 7. Impact of RTCP Reporting Groups . . . . . . . . . . . . . . . 17
8. Impact of Explicit Congestion Notification (ECN) . . . . . . 18 8. Impact of Explicit Congestion Notification (ECN) . . . . . . 18
9. Impact of Bundled Media and Layered Coding . . . . . . . . . 18 9. Impact of Bundled Media and Layered Coding . . . . . . . . . 18
10. Security Considerations . . . . . . . . . . . . . . . . . . . 18 10. Security Considerations . . . . . . . . . . . . . . . . . . . 18
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
skipping to change at page 3, line 6 skipping to change at page 3, line 6
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
difficult but important problem. Many such congestion control and difficult but important problem. Many such congestion control and
media adaptation algorithms have been proposed, but to date there is media adaptation algorithms have been proposed, but to date there is
no consensus on the correct approach, or even that a single standard no consensus on the correct approach, or even that a single standard
algorithm is desirable. algorithm is desirable.
This memo does not attempt to propose a new RTP congestion control This memo does not attempt to propose a new RTP congestion control
algorithm. Rather, it proposes a minimal set of "circuit breakers"; algorithm. Rather, it proposes a minimal set of "RTP circuit
conditions under which there is general agreement that an RTP flow is breakers"; conditions under which there is general agreement that an
causing serious congestion, and ought to cease transmission. It is RTP flow is causing serious congestion, and ought to cease
expected that future standards-track congestion control algorithms transmission. The RTP circuit breakers proposed in this memo are a
for RTP will operate within the envelope defined by this memo. specific instance of the general class of network transport circuit
breakers [I-D.ietf-tsvwg-circuit-breaker], designed to act as a
protection mechanism of last resort to avoid persistent congestion.
It is expected that future standards-track congestion control
algorithms for RTP will operate within the envelope defined by this
memo.
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
This interpretation of these key words applies only when written in This interpretation of these key words applies only when written in
ALL CAPS. Mixed- or lower-case uses of these key words are not to be ALL CAPS. Mixed- or lower-case uses of these key words are not to be
interpreted as carrying special significance in this memo. interpreted as carrying special significance in this memo.
skipping to change at page 14, line 44 skipping to change at page 14, line 35
breaker (see Section 4.3) triggers. It determines the sensitivity breaker (see Section 4.3) triggers. It determines the sensitivity
and responsiveness of these circuit breakers. and responsiveness of these circuit breakers.
The CB_INTERVAL parameter is set to min(floor(3+(2.5/Td)), 30) RTCP The CB_INTERVAL parameter is set to min(floor(3+(2.5/Td)), 30) RTCP
reporting intervals, where Td is the deterministic calculated RTCP reporting intervals, where Td is the deterministic calculated RTCP
interval described in section 6.3.1 of [RFC3550]. This expression interval described in section 6.3.1 of [RFC3550]. This expression
gives an CB_INTERVAL that varies as follows: gives an CB_INTERVAL that varies as follows:
Td | CB_INTERVAL | Time to trigger Td | CB_INTERVAL | Time to trigger
--------------+------------------------------+----------------- --------------+------------------------------+-----------------
0.016 seconds | 30 RTCP reporting intervals | 0.48 seconds 0.016 seconds | 30 RTCP reporting intervals | 0.48 seconds
0.033 seconds | 30 RTCP reporting intervals | 0.99 seconds 0.033 seconds | 30 RTCP reporting intervals | 0.99 seconds
0.1 seconds | 28 RTCP reporting intervals | 2.8 seconds 0.100 seconds | 28 RTCP reporting intervals | 2.80 seconds
0.5 seconds | 8 RTCP reporting intervals | 4.0 seconds 0.500 seconds | 8 RTCP reporting intervals | 4.00 seconds
1.0 seconds | 5 RTCP reporting intervals | 5.5 seconds 1.000 seconds | 5 RTCP reporting intervals | 5.00 seconds
2.0 seconds | 4 RTCP reporting intervals | 8.5 seconds 2.000 seconds | 4 RTCP reporting intervals | 8.00 seconds
5.0 seconds | 5 RTCP reporting intervals | 17.5 seconds 5.000 seconds | 3 RTCP reporting intervals | 15.00 seconds
10.0 seconds | 3 RTCP reporting intervals | 32.5 seconds 10.000 seconds | 3 RTCP reporting intervals | 30.00 seconds
If the RTP/AVPF profile [RFC4585] or the RTP/SAVPF [RFC5124] is used, If the RTP/AVPF profile [RFC4585] or the RTP/SAVPF [RFC5124] is used,
and the T_rr_interval parameter is used to reduce the frequency of and the T_rr_interval parameter is used to reduce the frequency of
regular RTCP reports, then the value Td in the above expression for regular RTCP reports, then the value Td in the above expression for
the CB_INTERVAL parameter MUST be replaced by T_rr_interval. the CB_INTERVAL parameter MUST be replaced by max(T_rr_interval, Td).
The CB_INTERVAL parameter is calculated on joining the session, and The CB_INTERVAL parameter is calculated on joining the session, and
recalculated on receipt of each RTCP packet, after checking whether recalculated on receipt of each RTCP packet, after checking whether
the media timeout circuit breaker or the congestion circuit breaker the media timeout circuit breaker or the congestion circuit breaker
has been triggered. has been triggered.
To ensure a timely response to persistent congestion, implementations To ensure a timely response to persistent congestion, implementations
SHOULD NOT configure the RTCP bandwidth such that Td is larger than 5 SHOULD NOT configure the RTCP bandwidth such that Td is larger than 5
seconds. Similarly, implementations that use the RTP/AVPF profile seconds. Similarly, implementations that use the RTP/AVPF profile
[RFC4585] or the RTP/SAVPF profile [RFC5124] SHOULD NOT configure [RFC4585] or the RTP/SAVPF profile [RFC5124] SHOULD NOT configure
skipping to change at page 20, line 35 skipping to change at page 20, line 35
[I-D.ietf-avtcore-rtp-multi-stream-optimisation] [I-D.ietf-avtcore-rtp-multi-stream-optimisation]
Lennox, J., Westerlund, M., Wu, W., and C. Perkins, Lennox, J., Westerlund, M., Wu, W., and C. Perkins,
"Sending Multiple Media Streams in a Single RTP Session: "Sending Multiple Media Streams in a Single RTP Session:
Grouping RTCP Reception Statistics and Other Feedback", Grouping RTCP Reception Statistics and Other Feedback",
draft-ietf-avtcore-rtp-multi-stream-optimisation-05 (work draft-ietf-avtcore-rtp-multi-stream-optimisation-05 (work
in progress), February 2015. in progress), February 2015.
[I-D.ietf-avtcore-rtp-multi-stream] [I-D.ietf-avtcore-rtp-multi-stream]
Lennox, J., Westerlund, M., Wu, W., and C. Perkins, Lennox, J., Westerlund, M., Wu, W., and C. Perkins,
"Sending Multiple Media Streams in a Single RTP Session", "Sending Multiple Media Streams in a Single RTP Session",
draft-ietf-avtcore-rtp-multi-stream-06 (work in progress), draft-ietf-avtcore-rtp-multi-stream-07 (work in progress),
October 2014. March 2015.
[I-D.ietf-tsvwg-circuit-breaker]
Fairhurst, G., "Network Transport Circuit Breakers",
draft-ietf-tsvwg-circuit-breaker-00 (work in progress),
September 2014.
[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 Review algorithm", ACM SIGCOMM Computer Communication Review
27(3), DOI 10.1145/263932.264023, July 1997. 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 conference, Validation", Proceedings of the ACM SIGCOMM conference,
1998, DOI 10.1145/285237.285291, August 1998. 1998, DOI 10.1145/285237.285291, August 1998.
 End of changes. 9 change blocks. 
21 lines changed or deleted 31 lines changed or added

This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/