Network-Assisted Dynamic Adaptation (NADA): A Unified Congestion Control Scheme for Real-Time Media
RFC 8698

Document Type RFC - Experimental (February 2020; No errata)
Last updated 2020-02-06
Stream IETF
Formats plain text html xml pdf htmlized bibtex
Reviews
Stream WG state Submitted to IESG for Publication
Document shepherd Martin Stiemerling
Shepherd write-up Show (last changed 2019-03-29)
IESG IESG state RFC 8698 (Experimental)
Consensus Boilerplate Yes
Telechat date
Responsible AD Mirja K├╝hlewind
Send notices to Martin Stiemerling <mls.ietf@gmail.com>
IANA IANA review state IANA OK - No Actions Needed
IANA action state No IANA Actions
´╗┐

Internet Engineering Task Force (IETF)                            X. Zhu
Request for Comments: 8698                                 Cisco Systems
Category: Experimental                                            R. Pan
ISSN: 2070-1721                                        Intel Corporation
                                                              M. Ramalho
                                                           AcousticComms
                                                                 S. Mena
                                                           Cisco Systems
                                                           February 2020

Network-Assisted Dynamic Adaptation (NADA): A Unified Congestion Control
                       Scheme for Real-Time Media

Abstract

   This document describes Network-Assisted Dynamic Adaptation (NADA), 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
   absence of such markings by reacting to queuing delays and packet
   losses instead.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for examination, experimental implementation, and
   evaluation.

   This document defines an Experimental Protocol for the Internet
   community.  This document is a product of the Internet Engineering
   Task Force (IETF).  It represents the consensus of the IETF
   community.  It has received public review and has been approved for
   publication by the Internet Engineering Steering Group (IESG).  Not
   all documents approved by the IESG are candidates for any level of
   Internet Standard; see Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc8698.

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
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction
   2.  Terminology
   3.  System Overview
   4.  Core Congestion Control Algorithm
     4.1.  Mathematical Notations
     4.2.  Receiver-Side Algorithm
     4.3.  Sender-Side Algorithm
   5.  Practical Implementation of NADA
     5.1.  Receiver-Side Operation
       5.1.1.  Estimation of One-Way Delay and Queuing Delay
       5.1.2.  Estimation of Packet Loss/Marking Ratio
       5.1.3.  Estimation of Receiving Rate
     5.2.  Sender-Side Operation
       5.2.1.  Rate-Shaping Buffer
       5.2.2.  Adjusting Video Target Rate and Sending Rate
     5.3.  Feedback Message Requirements
   6.  Discussions and Further Investigations
     6.1.  Choice of Delay Metrics
     6.2.  Method for Delay, Loss, and Marking Ratio Estimation
     6.3.  Impact of Parameter Values
     6.4.  Sender-Based vs. Receiver-Based Calculation
     6.5.  Incremental Deployment
   7.  Reference Implementations
   8.  Suggested Experiments
   9.  IANA Considerations
   10. Security Considerations
   11. References
     11.1.  Normative References
     11.2.  Informative References
   Appendix A.  Network Node Operations
     A.1.  Default Behavior of Drop-Tail Queues
     A.2.  RED-Based ECN Marking
     A.3.  Random Early Marking with Virtual Queues
   Acknowledgments
   Contributors
   Authors' Addresses

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 [RMCAT-CC].  The
   requirements highlight that the desired congestion control scheme
   should 1) avoid flow starvation and attain a reasonable fair share of
Show full document text