--- 1/draft-ietf-rmcat-nada-11.txt 2019-08-24 21:13:13.199841802 -0700 +++ 2/draft-ietf-rmcat-nada-12.txt 2019-08-24 21:13:13.259843326 -0700 @@ -1,24 +1,20 @@ Network Working Group X. Zhu Internet-Draft R. Pan Intended status: Experimental M. Ramalho -Expires: January 26, 2020 S. Mena - P. Jones - J. Fu +Expires: February 24, 2020 S. Mena Cisco Systems - S. D'Aronco - ETH - July 25, 2019 + August 23, 2019 NADA: A Unified Congestion Control Scheme for Real-Time Media - draft-ietf-rmcat-nada-11 + draft-ietf-rmcat-nada-12 Abstract This document describes NADA (network-assisted dynamic adaptation), a novel congestion control scheme for interactive real-time media applications, such as video conferencing. In the proposed scheme, the sender regulates its sending rate based on either implicit or explicit congestion signaling, in a unified approach. The scheme can benefit from explicit congestion notification (ECN) markings from network nodes. It also maintains consistent sender behavior in the @@ -33,21 +29,21 @@ 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 January 26, 2020. + This Internet-Draft will expire on February 24, 2020. Copyright Notice Copyright (c) 2019 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 @@ -74,63 +70,68 @@ 5.2. Sender-Side Operation . . . . . . . . . . . . . . . . . . 14 5.2.1. Rate shaping buffer . . . . . . . . . . . . . . . . . 15 5.2.2. Adjusting video target rate and sending rate . . . . 16 5.3. Feedback Message Requirements . . . . . . . . . . . . . . 16 6. Discussions and Further Investigations . . . . . . . . . . . 17 6.1. Choice of delay metrics . . . . . . . . . . . . . . . . . 17 6.2. Method for delay, loss, and marking ratio estimation . . 18 6.3. Impact of parameter values . . . . . . . . . . . . . . . 18 6.4. Sender-based vs. receiver-based calculation . . . . . . . 19 6.5. Incremental deployment . . . . . . . . . . . . . . . . . 20 - 7. Reference Implementation . . . . . . . . . . . . . . . . . . 20 - 8. Suggested Experiments . . . . . . . . . . . . . . . . . . . . 20 - 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 - 10. Security Considerations . . . . . . . . . . . . . . . . . . . 21 + 7. Reference Implementations . . . . . . . . . . . . . . . . . . 20 + 8. Suggested Experiments . . . . . . . . . . . . . . . . . . . . 21 + 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 + 10. Security Considerations . . . . . . . . . . . . . . . . . . . 22 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 22 - 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 - 12.1. Normative References . . . . . . . . . . . . . . . . . . 22 - 12.2. Informative References . . . . . . . . . . . . . . . . . 22 - Appendix A. Network Node Operations . . . . . . . . . . . . . . 25 - A.1. Default behavior of drop tail queues . . . . . . . . . . 25 - A.2. RED-based ECN marking . . . . . . . . . . . . . . . . . . 25 - A.3. Random Early Marking with Virtual Queues . . . . . . . . 26 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 + 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 22 + 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 23 + 13.1. Normative References . . . . . . . . . . . . . . . . . . 23 + 13.2. Informative References . . . . . . . . . . . . . . . . . 24 + Appendix A. Network Node Operations . . . . . . . . . . . . . . 27 + A.1. Default behavior of drop tail queues . . . . . . . . . . 27 + A.2. RED-based ECN marking . . . . . . . . . . . . . . . . . . 27 + A.3. Random Early Marking with Virtual Queues . . . . . . . . 28 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 1. Introduction Interactive real-time media applications introduce a unique set of challenges for congestion control. Unlike TCP, the mechanism used for real-time media needs to adapt quickly to instantaneous bandwidth changes, accommodate fluctuations in the output of video encoder rate control, and cause low queuing delay over the network. An ideal scheme should also make effective use of all types of congestion signals, including packet loss, queuing delay, and explicit congestion notification (ECN) [RFC3168] markings. The requirements for the congestion control algorithm are outlined in - [I-D.ietf-rmcat-cc-requirements]. + [I-D.ietf-rmcat-cc-requirements]. It highlights that the desired + congestion control scheme should avoid flow starvation and attain a + reasonable fair share of bandwidth when competing against other + flows, adapt quickly, and operate in a stable manner. This document describes an experimental congestion control scheme called network-assisted dynamic adaptation (NADA). The NADA design benefits from explicit congestion control signals (e.g., ECN markings) from the network, yet also operates when only implicit congestion indicators (delay and/or loss) are available. Such a unified sender behavior distinguishes NADA from other congestion control schemes for real-time media. In addition, its core congestion control algorithm is designed to guarantee stability for path round-trip-times (RTTs) below a prescribed bound (e.g., 250ms with default parameter choices). It further supports weighted bandwidth sharing among competing video flows with different priorities. The signaling mechanism consists of standard RTP - timestamp [RFC3550] and RTCP feedback reports. The definition of - standardized RTCP feedback message requires future work so as to - support the successful operation of several congestion control - schemes for real-time interactive media. + timestamp [RFC3550] and RTCP feedback reports. The definition of the + desired RTCP feedback message is descirbed in detailed in + [I-D.ietf-avtcore-cc-feedback-message] so as to support the + successful operation of several congestion control schemes for real- + time interactive media. 2. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. System Overview @@ -147,26 +148,25 @@ +---------+ r_vout +--------+ r_send +--------+ +----------+ /|\ | | | +---------------------------------+ RTCP Feedback Report Figure 1: System Overview o Media encoder with rate control capabilities. It encodes raw media (audio and video) frames into compressed bitstream which is - later packetized into RTP packets. As discussed in - [I-D.ietf-rmcat-video-traffic-model], the actual output rate from - the encoder r_vout may fluctuate around the target r_vin. - Furthermore, it is possible that the encoder can only react to bit - rate changes at rather coarse time intervals, e.g., once every 0.5 - seconds. + later packetized into RTP packets. As discussed in [RFC8593], the + actual output rate from the encoder r_vout may fluctuate around + the target r_vin. Furthermore, it is possible that the encoder + can only react to bit rate changes at rather coarse time + intervals, e.g., once every 0.5 seconds. o RTP sender: responsible for calculating the NADA reference rate based on network congestion indicators (delay, loss, or ECN marking reports from the receiver), for updating the video encoder with a new target rate r_vin, and for regulating the actual sending rate r_send accordingly. The RTP sender also generates a sending timestamp for each outgoing packet. o RTP receiver: responsible for measuring and estimating end-to-end delay (based on sender timestamp), packet loss (based on RTP @@ -360,33 +360,34 @@ / d_queue, if d_queue of Cisco Systems + implemented an early version of the NADA congestion control scheme + and helped with its lab-based testbed evaluations. + + Jiantao Fu of Cisco Systems helped with the + implementation and extensive evaluation of NADA both in Mozilla + web browsers and in earlier simulation-based evaluation efforts. + + Stefano D'Aronco of ETH Zurich + (previously at Ecole Polytechnique Federale de Lausanne when + contributing to this work) helped with implementation and + evaluation of an early version of NADA in [ns-3]. + + Charles Ganzhorn contributed to the + testbed-based evaluation of NADA during an early stage of its + development. + +13. References + +13.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition of Explicit Congestion Notification (ECN) to IP", RFC 3168, DOI 10.17487/RFC3168, September 2001, . @@ -962,34 +1018,40 @@ [RFC6679] Westerlund, M., Johansson, I., Perkins, C., O'Hanlon, P., and K. Carlberg, "Explicit Congestion Notification (ECN) for RTP over UDP", RFC 6679, DOI 10.17487/RFC6679, August 2012, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . -12.2. Informative References +13.2. Informative References [Budzisz-TON11] Budzisz, L., Stanojevic, R., Schlote, A., Baker, F., and R. Shorten, "On the Fair Coexistence of Loss- and Delay- Based TCP", IEEE/ACM Transactions on Networking vol. 19, no. 6, pp. 1811-1824, December 2011. [Floyd-CCR00] Floyd, S., Handley, M., Padhye, J., and J. Widmer, "Equation-based Congestion Control for Unicast Applications", ACM SIGCOMM Computer Communications Review vol. 30, no. 4, pp. 43-56, October 2000. + [I-D.ietf-avtcore-cc-feedback-message] + Sarker, Z., Perkins, C., Singh, V., and M. Ramalho, "RTP + Control Protocol (RTCP) Feedback for Congestion Control", + draft-ietf-avtcore-cc-feedback-message-04 (work in + progress), July 2019. + [I-D.ietf-rmcat-cc-codec-interactions] Zanaty, M., Singh, V., Nandakumar, S., and Z. Sarker, "Congestion Control and Codec interactions in RTP Applications", draft-ietf-rmcat-cc-codec-interactions-02 (work in progress), March 2016. [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. @@ -1003,20 +1065,35 @@ Zhu, X., Cruz, S., and Z. Sarker, "Video Traffic Models for RTP Congestion Control Evaluations", draft-ietf-rmcat- video-traffic-model-07 (work in progress), February 2019. [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. + [IETF-103] + Zhu, X., Pan, R., Ramalho, M., Mena, S., Jones, P., Fu, + J., and S. D'Aronco, "NADA Implementation in Mozilla + Browser", November 2018, + . + + [IETF-105] + Zhu, X., Pan, R., Ramalho, M., Mena, S., Jones, P., Fu, + J., and S. D'Aronco, "NADA Implementation in Mozilla + Browser and Draft Update", July 2019, + . + [IETF-90] Zhu, X., Ramalho, M., Ganzhorn, C., Jones, P., and R. Pan, "NADA Update: Algorithm, Implementation, and Test Case Evalua6on Results", July 2014, . [IETF-91] Zhu, X., Pan, R., Ramalho, M., Mena, S., Ganzhorn, C., Jones, P., and S. D'Aronco, "NADA Algorithm Update and Test Case Evaluations", November 2014, . [RFC8290] Hoeiland-Joergensen, T., McKenney, P., Taht, D., Gettys, J., and E. Dumazet, "The Flow Queue CoDel Packet Scheduler and Active Queue Management Algorithm", RFC 8290, DOI 10.17487/RFC8290, January 2018, . + [RFC8593] Zhu, X., Mena, S., and Z. Sarker, "Video Traffic Models + for RTP Congestion Control Evaluations", RFC 8593, + DOI 10.17487/RFC8593, May 2019, + . + [Zhu-PV13] Zhu, X. and R. Pan, "NADA: A Unified Congestion Control Scheme for Low-Latency Interactive Video", in Proc. IEEE International Packet Video Workshop (PV'13) San Jose, CA, USA, December 2013. Appendix A. Network Node Operations NADA can work with different network queue management schemes and does not assume any specific network node operation. As an example, @@ -1175,50 +1257,27 @@ 12515 Research Blvd., Building 4 Austin, TX 78759 USA Email: xiaoqzhu@cisco.com Rong Pan * * Pending affiliation change. Email: rong.pan@gmail.com + Michael A. Ramalho Cisco Systems, Inc. 8000 Hawkins Road Sarasota, FL 34241 USA Phone: +1 919 476 2038 - Email: mramalho@cisco.com + Email: mar42@cornell.edu Sergio Mena de la Cruz Cisco Systems EPFL, Quartier de l'Innovation, Batiment E Ecublens, Vaud 1015 Switzerland Email: semena@cisco.com - - Paul E. Jones - Cisco Systems - 7025 Kit Creek Rd. - Research Triangle Park, NC 27709 - USA - - Email: paulej@packetizer.com - - Jiantao Fu - Cisco Systems - 707 Tasman Drive - Milpitas, CA 95035 - USA - - Email: jianfu@cisco.com - - Stefano D'Aronco - ETH Zurich - Stefano-Franscini-Platz 5 - Zurich 8093 - Switzerland - - Email: stefano.daronco@geod.baug.ethz.ch