draft-ietf-rmcat-rtp-cc-feedback-04.txt | draft-ietf-rmcat-rtp-cc-feedback-05.txt | |||
---|---|---|---|---|
Network Working Group C. Perkins | Network Working Group C. Perkins | |||
Internet-Draft University of Glasgow | Internet-Draft University of Glasgow | |||
Intended status: Informational July 1, 2018 | Intended status: Informational November 4, 2019 | |||
Expires: January 2, 2019 | Expires: May 7, 2020 | |||
RTP Control Protocol (RTCP) Feedback for Congestion Control in | RTP Control Protocol (RTCP) Feedback for Congestion Control in | |||
Interactive Multimedia Conferences | Interactive Multimedia Conferences | |||
draft-ietf-rmcat-rtp-cc-feedback-04 | draft-ietf-rmcat-rtp-cc-feedback-05 | |||
Abstract | Abstract | |||
This memo discusses the types of congestion control feedback that it | This memo discusses the types of congestion control feedback that it | |||
is possible to send using the RTP Control Protocol (RTCP), and their | is possible to send using the RTP Control Protocol (RTCP), and their | |||
suitability of use in implementing congestion control for unicast | suitability of use in implementing congestion control for unicast | |||
multimedia applications. | multimedia applications. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
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 https://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 January 2, 2019. | This Internet-Draft will expire on May 7, 2020. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2019 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 | (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 . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
skipping to change at page 8, line 32 ¶ | skipping to change at page 8, line 32 ¶ | |||
with video frames. This gives the following, assuming Nr =1 and Nnc | with video frames. This gives the following, assuming Nr =1 and Nnc | |||
= 0 (i.e., send a compound RTCP packet for each video frame, and no | = 0 (i.e., send a compound RTCP packet for each video frame, and no | |||
non-compound packets), and using the calculation from Scenario 1: | non-compound packets), and using the calculation from Scenario 1: | |||
Brtcp = (n * (Sc + Nnc * Snc))/(Nr * Tf * (1 + Nnc)) | Brtcp = (n * (Sc + Nnc * Snc))/(Nr * Tf * (1 + Nnc)) | |||
+---------+---------+--------------+--------------+-----------------+ | +---------+---------+--------------+--------------+-----------------+ | |||
| Data | Video | Video | Audio | Required RTCP | | | Data | Video | Video | Audio | Required RTCP | | |||
| Rate | Frame | Packets per | Packets per | bandwidth: | | | Rate | Frame | Packets per | Packets per | bandwidth: | | |||
| (kbps) | Rate | Report: Nv | Report: Na | Brtcp (kbps) | | | (kbps) | Rate | Report: Nv | Report: Na | Brtcp (kbps) | | |||
+---------+---------+--------------+--------------+-----------------+ | +---------+---------+--------------+--------------+-----------------+ | |||
| 100 | 8 | 1 | 6 | 33.2 (33%) | | | 100 | 8 | 1 | 6 | 32.8 (32%) | | |||
| 200 | 16 | 1 | 3 | 65.0 (32%) | | | 200 | 16 | 1 | 3 | 64.0 (32%) | | |||
| 350 | 30 | 1 | 2 | 120.9 (34%) | | | 350 | 30 | 1 | 2 | 119.1 (34%) | | |||
| 700 | 30 | 2 | 2 | 121.9 (17%) | | | 700 | 30 | 2 | 2 | 120.0 (17%) | | |||
| 700 | 60 | 1 | 1 | 240.0 (34%) | | | 700 | 60 | 1 | 1 | 236.2 (33%) | | |||
| 1024 | 30 | 3 | 2 | 122.8 (11%) | | | 1024 | 30 | 3 | 2 | 120.9 (11%) | | |||
| 1400 | 60 | 2 | 1 | 241.9 (17%) | | | 1400 | 60 | 2 | 1 | 238.1 (17%) | | |||
| 2048 | 30 | 6 | 2 | 125.6 ( 6%) | | | 2048 | 30 | 6 | 2 | 123.8 ( 6%) | | |||
| 2048 | 60 | 3 | 1 | 243.8 (11%) | | | 2048 | 60 | 3 | 1 | 240.0 (11%) | | |||
| 4096 | 30 | 12 | 2 | 131.2 ( 3%) | | | 4096 | 30 | 12 | 2 | 129.4 ( 3%) | | |||
| 4096 | 60 | 6 | 1 | 249.4 ( 6%) | | | 4096 | 60 | 6 | 1 | 245.6 ( 5%) | | |||
+---------+---------+--------------+--------------+-----------------+ | +---------+---------+--------------+--------------+-----------------+ | |||
Table 3: Required RTCP bandwidth, reporting on every frame | Table 3: Required RTCP bandwidth, reporting on every frame | |||
The RTCP bandwidth needed scales inversely with Nr. That is, it is | The RTCP bandwidth needed scales inversely with Nr. That is, it is | |||
halved if Nr=2 (report on every second packet), is reduced to one- | halved if Nr=2 (report on every second packet), is reduced to one- | |||
third if Nr=3 (report on every third packet), and so on. | third if Nr=3 (report on every third packet), and so on. | |||
The needed RTCP bandwidth scales as a percentage of the data rate | The needed RTCP bandwidth scales as a percentage of the data rate | |||
following the ratio of the frame rate to the data rate. As can be | following the ratio of the frame rate to the data rate. As can be | |||
skipping to change at page 9, line 29 ¶ | skipping to change at page 9, line 29 ¶ | |||
reporting SSRC. This will be 12 + 28 + 12 + 8 + 2*Nv + 8 + 2*Na | reporting SSRC. This will be 12 + 28 + 12 + 8 + 2*Nv + 8 + 2*Na | |||
octets, plus UDP/IP header. That is, Snc = (96 + 2*Nv + 2*Na)/2. | octets, plus UDP/IP header. That is, Snc = (96 + 2*Nv + 2*Na)/2. | |||
Repeating the analysis above, but alternating compound and non- | Repeating the analysis above, but alternating compound and non- | |||
compound reports, i.e., setting Nnc = 1, gives: | compound reports, i.e., setting Nnc = 1, gives: | |||
+---------+---------+--------------+--------------+-----------------+ | +---------+---------+--------------+--------------+-----------------+ | |||
| Data | Video | Video | Audio | Required RTCP | | | Data | Video | Video | Audio | Required RTCP | | |||
| Rate | Frame | Packets per | Packets per | bandwidth: | | | Rate | Frame | Packets per | Packets per | bandwidth: | | |||
| (kbps) | Rate | Report: Nv | Report: Na | Brtcp (kbps) | | | (kbps) | Rate | Report: Nv | Report: Na | Brtcp (kbps) | | |||
+---------+---------+--------------+--------------+-----------------+ | +---------+---------+--------------+--------------+-----------------+ | |||
| 100 | 8 | 1 | 6 | 23.5 (23%) | | | 100 | 8 | 1 | 6 | 23.2 (23%) | | |||
| 200 | 16 | 1 | 3 | 45.5 (22%) | | | 200 | 16 | 1 | 3 | 45.0 (22%) | | |||
| 350 | 30 | 1 | 2 | 84.4 (24%) | | | 350 | 30 | 1 | 2 | 83.4 (23%) | | |||
| 700 | 30 | 2 | 2 | 85.3 (12%) | | | 700 | 30 | 2 | 2 | 84.4 (12%) | | |||
| 700 | 60 | 1 | 1 | 166.9 (23%) | | | 700 | 60 | 1 | 1 | 165.0 (23%) | | |||
| 1024 | 30 | 3 | 2 | 86.2 ( 8%) | | | 1024 | 30 | 3 | 2 | 85.3 ( 8%) | | |||
| 1400 | 60 | 2 | 1 | 168.8 (12%) | | | 1400 | 60 | 2 | 1 | 166.9 (11%) | | |||
| 2048 | 30 | 6 | 2 | 89.1 ( 4%) | | | 2048 | 30 | 6 | 2 | 88.1 ( 4%) | | |||
| 2048 | 60 | 3 | 1 | 170.6 ( 8%) | | | 2048 | 60 | 3 | 1 | 168.8 ( 8%) | | |||
| 4096 | 30 | 12 | 2 | 94.7 ( 2%) | | | 4096 | 30 | 12 | 2 | 93.8 ( 2%) | | |||
| 4096 | 60 | 6 | 1 | 176.2 ( 4%) | | | 4096 | 60 | 6 | 1 | 174.4 ( 4%) | | |||
+---------+---------+--------------+--------------+-----------------+ | +---------+---------+--------------+--------------+-----------------+ | |||
Table 4: Required RTCP bandwidth, reporting on every frame, with | Table 4: Required RTCP bandwidth, reporting on every frame, with | |||
reduced-size reports | reduced-size reports | |||
The use of reduced-size RTCP gives a noticeable reduction in the | The use of reduced-size RTCP gives a noticeable reduction in the | |||
needed RTCP bandwidth, and can be combined with reporting every few | needed RTCP bandwidth, and can be combined with reporting every few | |||
frames rather than every frames. Overall, it is clear that the RTCP | frames rather than every frames. Overall, it is clear that the RTCP | |||
overhead can be reasonable across the range of data and frame rates, | overhead can be reasonable across the range of data and frame rates, | |||
if RTCP is configured carefully. | if RTCP is configured carefully. | |||
skipping to change at page 11, line 21 ¶ | skipping to change at page 11, line 21 ¶ | |||
7. Acknowledgements | 7. Acknowledgements | |||
Thanks to Magnus Westerlund and the members of the RMCAT feedback | Thanks to Magnus Westerlund and the members of the RMCAT feedback | |||
design team for their feedback. | design team for their feedback. | |||
8. Informative References | 8. Informative References | |||
[I-D.ietf-avtcore-cc-feedback-message] | [I-D.ietf-avtcore-cc-feedback-message] | |||
Sarker, Z., Perkins, C., Singh, V., and M. Ramalho, "RTP | Sarker, Z., Perkins, C., Singh, V., and M. Ramalho, "RTP | |||
Control Protocol (RTCP) Feedback for Congestion Control", | Control Protocol (RTCP) Feedback for Congestion Control", | |||
draft-ietf-avtcore-cc-feedback-message-01 (work in | draft-ietf-avtcore-cc-feedback-message-04 (work in | |||
progress), March 2018. | progress), July 2019. | |||
[I-D.ietf-avtcore-rtp-multi-stream-optimisation] | [I-D.ietf-avtcore-rtp-multi-stream-optimisation] | |||
Lennox, J., Westerlund, M., Wu, Q., and C. Perkins, | Lennox, J., Westerlund, M., Wu, Q., and C. Perkins, | |||
"Sending Multiple RTP Streams in a Single RTP Session: | "Sending Multiple RTP 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-12 (work | draft-ietf-avtcore-rtp-multi-stream-optimisation-12 (work | |||
in progress), March 2016. | in progress), March 2016. | |||
[I-D.ietf-rtcweb-rtp-usage] | [I-D.ietf-rtcweb-rtp-usage] | |||
Perkins, C., Westerlund, M., and J. Ott, "Web Real-Time | Perkins, C., Westerlund, M., and J. Ott, "Web Real-Time | |||
skipping to change at page 12, line 8 ¶ | skipping to change at page 12, line 8 ¶ | |||
<https://www.rfc-editor.org/info/rfc3611>. | <https://www.rfc-editor.org/info/rfc3611>. | |||
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. | [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. | |||
Norrman, "The Secure Real-time Transport Protocol (SRTP)", | Norrman, "The Secure Real-time Transport Protocol (SRTP)", | |||
RFC 3711, DOI 10.17487/RFC3711, March 2004, | RFC 3711, DOI 10.17487/RFC3711, March 2004, | |||
<https://www.rfc-editor.org/info/rfc3711>. | <https://www.rfc-editor.org/info/rfc3711>. | |||
[RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey, | [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey, | |||
"Extended RTP Profile for Real-time Transport Control | "Extended RTP Profile for Real-time Transport Control | |||
Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, | Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, | |||
DOI 10.17487/RFC4585, July 2006, <https://www.rfc- | DOI 10.17487/RFC4585, July 2006, | |||
editor.org/info/rfc4585>. | <https://www.rfc-editor.org/info/rfc4585>. | |||
[RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for | [RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for | |||
Real-time Transport Control Protocol (RTCP)-Based Feedback | Real-time Transport Control Protocol (RTCP)-Based Feedback | |||
(RTP/SAVPF)", RFC 5124, DOI 10.17487/RFC5124, February | (RTP/SAVPF)", RFC 5124, DOI 10.17487/RFC5124, February | |||
2008, <https://www.rfc-editor.org/info/rfc5124>. | 2008, <https://www.rfc-editor.org/info/rfc5124>. | |||
[RFC5506] Johansson, I. and M. Westerlund, "Support for Reduced-Size | [RFC5506] Johansson, I. and M. Westerlund, "Support for Reduced-Size | |||
Real-Time Transport Control Protocol (RTCP): Opportunities | Real-Time Transport Control Protocol (RTCP): Opportunities | |||
and Consequences", RFC 5506, DOI 10.17487/RFC5506, April | and Consequences", RFC 5506, DOI 10.17487/RFC5506, April | |||
2009, <https://www.rfc-editor.org/info/rfc5506>. | 2009, <https://www.rfc-editor.org/info/rfc5506>. | |||
End of changes. 10 change blocks. | ||||
33 lines changed or deleted | 33 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/ |