RTP Media Congestion Avoidance Techniques (rmcat)
Description of Working Group
Today's Internet traffic includes interactive real-time media, which is often carried
via sets of flows using RTP over UDP. There is no generally accepted congestion
control mechanism for this kind of data flow. With the deployment of applications
using the RTCWEB protocol suite, the number of such flows is likely to increase,
especially non-fixed-rate flows such as video or adaptive audio. There is therefore
some urgency in specifying one or more congestion control mechanisms that can
find general acceptance.
Congestion control algorithms for interactive real time media may need to be quite
different from the congestion control of TCP: for example, some applications can be
more tolerant to loss than delay and jitter. The set of requirements for such an
algorithm includes, but is not limited to:
- Low delay and low jitter for the case where there is no competing traffic using
- Reasonable share of bandwidth when competing with RMCAT traffic, other
real-time media protocols, and ideally also TCP and other protocols. A
'reasonable share' means that no flow has a significantly negative impact
[RFC5033] on other flows and at minimum that no flow starves.
- Effective use of signals like packet loss and ECN markings to adapt to
The working group will:
- Develop a clear understanding of the congestion control requirements for RTP
flows, and document deficiencies of existing mechanisms such as TFRC with
regards to these requirements. This must be completed prior to finishing any
Experimental algorithm specifications.
- Identify interactions between applications and RTP flows to enable conveying
helpful cross-layer information such as per-packet priorities, flow elasticity, etc.
This information might be used to populate an API, but the WG will not define a
specific API itself.
- Determine if extensions to RTP/RTCP are needed for carrying congestion
control feedback, using DCCP as a model. If so, provide the requirements
for such extensions to the AVTCORE working group for standardization there.
- Develop techniques to detect, instrument or diagnose failing to meet RT
schedules due to failures of components outside of the charter scope, possibly
in collaboration with IPPM.
- Develop a mechanism for identifying shared bottlenecks between groups of
flows, and means to flexibly allocate their rates within the aggregate hitting
the shared bottleneck.
- Define evaluation criteria for proposed congestion control mechanisms, and
publish these as an Informational RFC. This must be completed prior to
finishing any Proposed Standard algorithm specifications.
- Find or develop candidate congestion control algorithms, verify that these can be
tested on the Internet without significant risk, and publish one or more of these
as Experimental RFCs.
- Publish evaluation criteria and the result of experimentation with these
Experimental algorithms on the Internet. This must be completed prior to
finishing any Proposed Standard algorithm specifications.
- Once an algorithm has been found or developed that meets the evaluation
criteria, and has a satisfactory amount of documented experience on the
Internet, publish this algorithm as a Standards Track RFC. There may be
more than one algorithm; in this case it will be one of the objects of the
experimentation to determine the applicabilities and relative merits of the
- For each of the Experimental algorithms that have not been
selected for the Standards Track, the working group will review
the algorithm and determine whether there are significant flaws,
such as ones that turn out to be harmful to flows using or
competing with them. If so, the WG will write a document
describing the issues encountered and recommending to the IESG
to move the specification to Historic status.
The work will be guided by the advice laid out in RFC 5405 (UDP Usage Guidelines),
RFC 2914 (congestion control principles), and RFC5033 (Specifying New Congestion
The following topics are out of scope of this working group, on the assumption that
work on them will proceed elsewhere:
- Circuit-breaker algorithms for stopping media flows when network conditions
render them useless; this work is done in AVTCORE
- Media flows for non-interactive purposes like stored video playback; those are not
as delay sensitive as interactive traffic
- Defining active queue management algorithms or modifications to TCP of any
- Multicast congestion control; common control of multiple unicast flows is in
- Topologies other than point-to-point connections; implications on multi-hop
connections will be considered at a later stage
The working group is expected to work closely with the RAI area, including the
underlying technologies being worked on in the AVTCORE and AVTEXT WGs, and
the applications/protocol suites being developed in the CLUE and RTCWEB working
groups. It will also coordinate closely with other Transport area groups working on
congestion control, and with the Internet Congestion Control Research Group of the
- Requirements for congestion control algorithms for interactive real time media as
an Informational RFC
- Evaluation criteria for congestion control algorithms for interactive real time media
as an Informational RFC
- Requirements for RTCP extensions for use with congestion control algorithms as
an input to the AVTCORE WG.
- Interactions between applications and RTP flows as an Informational RFC
- Identifying and controlling groups of flows as a Proposed Standard RFC
- Techniques to detect, instrument or diagnose failing to meet RT schedules as
either an Informational RFC or on the Standards Track if needed for
interoperability or other aspects that would justify it.
- Candidate congestion control algorithm for interactive real time media as
Experimental RFCs (likely more than one)
- Experimentation and evaluation results for candidate congestion control
algorithms as an Informational RFC
- One or more recommended congestion control algorithms for interactive real time
media as Proposed Standard RFCs
Goals and Milestones
|| Adopt first WG draft on requirements
||Adopt first WG draft on evaluation criteria
||Adopt first WG draft of RTCP extensions for use with congestion control algorithms and interactions between applications and RTP flows (if needed)
||Adopt first congestion control candidate as WG draft
||Adopt first WG draft on identifying and controlling groups of flows
||Submit requirements and evaluation criteria to IESG as Informational
||Submit RTCP extension requirements for use with congestion control algorithms to AVTCORE (if needed)
||Submit interactions between applications and RTP flows to IESG as Informational
||Submit first congestion control candidate to IESG for Experimental publication
||Submit identifying and controlling groups of flows to IESG for Standards Track publication
||Publish first draft of evaluation results
||Publish first draft of Standards Track congestion control algorithm
||Publish first draft of techniques to detect, instrument or diagnose failing to meet RT schedules
||Submit techniques to detect, instrument or diagnose failing to meet RT schedules to IESG as Informational
||Submit congestion control to IESG for Proposed Standard