INTERNET-DRAFT Bernard Aboba
<draft-aboba-rtpscale-02.txt> Microsoft Corporation
Alternatives for Enhancing RTCP Scalability
1. Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working docu-
ments of the Internet Engineering Task Force (IETF), its areas, and
its working groups. Note that other groups may also distribute work-
ing documents as Internet-Drafts.
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.''
To learn the current status of any Internet-Draft, please check the
``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
Directories on ds.internic.net (US East Coast), nic.nordu.net
(Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).
The distribution of this memo is unlimited. It is filed as <draft-
aboba-rtpscale-02.txt>, and expires August 1, 1997. Please send com-
ments to the authors.
2. Abstract
This document discusses current issues with RTCP scalability as well
as describing the advantages and disadvantages of possible solutions.
3. Requirements
In evaluating a solution to the RTCP scaling problem, it is important
to have an understanding of the requirements that a proposed solution
must meet. This document proposes four requirements:
Decrease in convergence time
Decrease in forwarding table entries
Improvement in receiver reporting information
Ability to adjust RTCP bandwidth fraction
3.1. Decrease in convergence time
Currently RTCP relies on multicasting of receiver reports to establish
a receiver-population estimate. This shared-state is then used by
receivers to establish the receiver reporting interval. The RTCP
reporting algorithm described in [1], provides for an initial RTCP
reporting interval randomized on [1.25,3.75]. While the use of a
Aboba [Page 1]
INTERNET-DRAFT 28 January 1997
minimum waiting time for the initial report allows a receiver to lis-
ten for other reports prior to sending, the reporting algorithm
described in [1] does not mandate this. As a result, reporting hosts
not implementing reconsideration (in which the reporting interval is
readjusted prior to sending receiver reports) will send their reports
within the initially calculated interval, resulting in a potential
flood of initial reports.
3.2. Decrease in forwarding table entries
As defined in [1], RTCP messages are sent on the same group as the
original RTP transmission, but on adjacent ports. This is problematic
for multicast routing protocols such as sparse mode PIM, which deter-
mine whether a given group will be hosted on the shared tree or source
tree based on the sending rate. If an RTP group is placed on the
source tree, then if RTCP messages are sent to the same group, then
each host sending RTCP receiver reports will result in a forwarding
table entry.
However, it should be noted that even if a shared-tree routing proto-
col (such as CBT) is used, a problem will still exist when such a
domain is connected to a source-tree domain using a routing protocol
such as MOSPF or DVMRP. This is because today there is no mechanism
for a multicast area border router to summarize RTCP activity within a
multicast routing domain. Therefore if a shared tree domain is con-
nected to another domain (such as a DVMRP domain) then packets from
each RTCP source within the shared tree domain will need to be for-
warded into the source tree domain.
This problem is very common given that DVMRP functions today as the
MBONE's multicast routing protocol. DVMRP generates forwarding cache
entries on demand for each (source network, destination group) pair,
and supports source-specific prune messages. The typical forwarding
cache expiration time is 200 seconds. Since for a large conference the
RTCP reporting interval will typically exceed the forwarding cache
expiration time shortly after conference initiation, only a portion of
all (source network, destination group) pairs would be cached by a
DVMRP implementation at a given time. Nevertheless, the router will
expend considerable resources in adding and flushing forwarding cache
entries, as well as in responding to source-specific prune requests.
While future versions of DVMRP may prove more scalable, it is unlikely
that these versions will be widely deployed within the next 18 months.
As a result, summarization messages are desirable in multicast routing
protocols, as well as a decrease in the number senders on the RTCP
group.
3.3. Improvement in receiver reporting information
The RTCP receiver report mechanism provides important information on
listenership, reception quality, and bandwidth availability. This
information is important useful both for engineering and business pur-
poses. Engineers use reception quality information to diagnose
Aboba [Page 2]
INTERNET-DRAFT 28 January 1997
problems with the network. Sending systems can use reception quality
and bandwidth availability information to modify transmission parame-
ters such as compression ratio and sending rate. Business people use
information on listenership to track the size of the audience, and
reception quality information to measure the quality of the user expe-
rience.
Since in large conferences the algorithm described in [1] leads to
infrequent receiver reporting, it can be argued that it does not meet
the requirements for timely receiver reporting. Therefore any scaling
"improvement" should not hamper the ability to collect this informa-
tion, and probably should be expected to result in improved reporting.
3.4. Ability to adjust RTCP bandwidth fraction
In low or asymmetric bandwidth situations, the fraction of session
bandwidth reserved for RTCP may need to be decreased below the five
percent specified in [1]. For example, in Cable Internet it is common
for downstream bandwidth to be a factor of twenty greater than
upstream bandwidth; allowing five percent of downstream bandwidth to
be used for receiver reporting upstream would result in congestion of
the upstream channel. In such situations it is necessary to allow the
bandwidth fraction to be adjusted.
4. Scaling alternatives
Several alternatives have been proposed for improving the scalability
of RTCP. These include:
Turning off RTCP receiver reports
Improved convergence algorithms
Use of separate multicast groups for RTP and RTCP
Use of separate multicast groups for receiver and sender reports
Unicasting of receiver reports
Selective reporting
Use of RTCP BYE messages
Use of TTL scoping and summary messages
Use of RTP translators
These alternatives are discussed in turn.
4.1. Turning off RTCP receiver reports
In some applications (such as satellite transmission) there may be no
upstream channel for transmission of RTCP receiver reports. As a
result, it may be desirable to allow receiver reporting to be turned
off. Since there is no receiver reporting, there would be no way to
estimate the receiver population.
Influence on RTCP receivers could be exercised via the SDP announce-
ment mechanism. For example, Mark Handley has proposed that the
Aboba [Page 3]
INTERNET-DRAFT 28 January 1997
session profile specified in SDP via the "m=" line be used to define
the desired RTCP behavior. This would allow for turning off of RTCP
receiver reports, or other modifications to reporting behavior.
While this proposal would eliminate problems relating to RTCP band-
width usage in dialup and asymmetric systems, it would deprive inter-
ested parties of information on listenership and reception quality.
This will prevent senders from making adjustments to their transmis-
sion parameters, and would also prevent RTP monitors from providing
listenership estimates needed to justify advertising rates.
However, it is not clear that these arguments are persuasive in all
cases. RTCP receiver reports serve multiple purposes. One of these is
to provide information on listenership; another is to provide informa-
tion on reception quality and bandwidth availability. In some Cable
Internet systems, it is possible to gain information on listenership
via IGMP join and leave messages, since if the upstream and downstream
channels are separated receivers do not necessarily hear each other's
join or leave messages. Furthermore, it can be argued that the state
of multicast diagnostics will eventually reach the point where RTCP
receiver reports will no longer needed for diagnostic purposes. Where
receiver-based rate adjustment is used, there may not be a need for
the sender to adjust their transmission parameters.
4.2. Improved convergence algorithms
Just as non-linear equation solvers can benefit from improved algo-
rithms, it may be possible to improve RTP receiver population esti-
mates via improvements in the population estimation algorithm.
Improvements include reconsideration, as well an initial population
estimate, and the incorporation of additional information into the
calculation.
The idea behind reconsideration, first proposed by Van Jacobson, is to
improve the convergence time by calculating a new estimate of group
size and reporting interval prior to sending the RTCP report. The
report is only sent if the updated estimate is less than or equal to
the original estimate; otherwise the report is not sent and the
reporting interval is adjusted to the new estimate. Use of reconsid-
eration greatly reduces the number of initial reports, since a host
joining a conference already in progress will be brought to equilib-
rium prior to sending its first report. As a result, implementation of
reconsideration should be made mandatory in future versions of the RTP
specification.
In certain circumstances, it may desirable to increase the dampening
effect of reconsideration by increasing the initial minimum reporting
interval. This will decrease the number of initial reports from sites
with long delays, i.e. sites with a satellite downlink and POTS or
ISDN uplink, as well as to decrease the effect of sites reporting
early merely due to statistical considerations.
Aboba [Page 4]
INTERNET-DRAFT 28 January 1997
Currently the receiver population estimate has an initial value of 1,
but it is possible for an initial population estimate to be supplied
in the session announcement. Successive population estimates could
then be derived via an averaging of the initial estimate and the
receiver's own estimate, so that the effect of the initial estimate
would die out over time. However, as in nonlinear equation solving,
use of an initial estimate is only helpful if it accurate and the ini-
tial estimate is likely to prove less important than the algorithm
which drives the system to steady state. While an improved initial
population estimate would result in improved convergence times, were
the initial estimate to be way off, convergence might be hindered.
The rate of convergence may be improved by allowing the receiver to
use information on the rate at which receiver reports are being sent.
For example, due to bandwidth limitations, receivers on higher band-
width connections have greater knowledge of the overall receiver popu-
lation. Thus if a receiver were to note a receiver report from a sys-
tem with high bandwidth availability, that report could be weighed
more heavily in determining the overall population estimate.
It is also possible to incorporate the overall receiver reporting rate
into the reporting interval calculation. For example, if my current
population estimate results in a receiver reporting interval of 3 min-
utes, and I am receiving 200 receiver reports/minute, it may be desir-
able to incorporate the rate of receiver reports into my calculations,
increasing the reporting interval accordingly.
However, the utility of taking rate information into account is lim-
ited in the case of dialup clients, since they will only be able to
receive a modest number of receiver reports/minute, and thus the rate
at which receiver reports are flowing in may not be reflective of the
overall receiver population.
While improved convergence algorithms can result in marked improve-
ments in convergence times, and do result in more accurate population
estimates, they do not result in a lower number of forwarding table
entries or senders to the RTCP receiver report group. They also do not
influence the steady state bandwidth usage for RTCP reporting.
4.3. Use of separate multicast groups for RTP and RTCP
Use of separate multicast groups for RTP and RTCP results in improved
scalability for multicasting routing protocols such as sparse mode
PIM, since the RTCP group can be placed on the shared tree due to its
low sending rate. While this would markedly decrease the number of
forwarding cache entries, the router will nevertheless expend consid-
erable resources in adding and flushing forwarding cache entries, and
setting up the individual hosts on the shared tree. For this reason,
we do not believe that moving RTCP to an adjacent group will be suffi-
cient for very large conferences. Note also that using an adjacent
group for RTCP does not improve the scalability for DVMRP, the MBONE
multicast routing protocol, since this protocol has no notion of a
shared tree.
Aboba [Page 5]
INTERNET-DRAFT 28 January 1997
Use of separate multicast groups for RTP and RTCP does not affect con-
vergence times or affect reporting accuracy. It also does not influ-
ence the steady state bandwidth usage for RTCP reporting.
4.4. Use of separate multicast groups for receiver and sender reports
Currently RTCP sender and receiver reports are sent to the same multi-
cast group, and both RTP senders and receivers join this group. Were
sender and receiver reports to be multicast on different groups, RTP
receivers could be allowed to only join the sender report group, thus
allowing them to avoid listening to receiver report traffic. RTP
senders would still join both groups in order to receive feedback on
listenership and transmission quality, and would need to provide
information on the estimated receiver population within the sender
reports.
While this proposal would lessen the problem for receivers, it would
not improve things for senders, and might even make them worse. Since
receivers would not longer be able to implement reconsideration as
effectively, it would be likely that the senders would be deluged with
initial receiver reports. Use of separate groups for receiver and
sender reports would not result in a lower number of senders on the
RTCP receiver report group, although it would decrease the number of
forwarding table entries in protocol such as sparse mode PIM. This
proposal would eliminate the bandwidth used by receivers for incoming
RTCP reports, but would not address the problem with upstream band-
width usage in asymmetric networks.
4.5. Unicasting of receiver reports
Instead of multicasting receiver reports, it is possible to unicast
them back to the senders. This would allow RTP listeners to avoid
receiver report traffic, while RTP senders would still receive feed-
back on listenership and transmission quality. In order to control the
receiver report transmission rate, senders would need to provide
information on the estimated receiver population within sender
reports.
While this proposal would lessen the problem for receivers, as with
the previous proposal, it might make things worse for senders, since
receivers would no longer be able to reconsider as effectively. How-
ever, it would eliminate multicasting of RTCP receiver reports, which
will be of benefit to overtaxed routers. This proposal would eliminate
the bandwidth used by receivers for incoming RTCP reports, but would
not address the problem with upstream bandwidth usage in asymmetric
networks.
Aboba [Page 6]
INTERNET-DRAFT 28 January 1997
4.6. Selective reporting
In selective reporting, RTCP receiver reports are only sent by
selected hosts. This method results in a reduction in the number of
RTCP senders, with attendant reduction in the forwarding tables. It
also is likely to result in lower convergence times. Assuming that the
statistical sampling was adequate, the accuracy and timeliness of
reporting need not be adversely affected. However, this method does
not affect the steady state bandwidth allocated to RTCP.
The selection can occur via a polling or random selection mechanism,
or it can occur by self-selection. Generally, random selection is pre-
ferred since self-selection brings with it the possibility of report-
ing implosions. For example, if receiver reports were only generated
when packet loss exceeded a given threshold, then congestion and
attendant packet loss would result in a large number of reports, mak-
ing the situation worse.
Polling or random selection methods, while they show considerable
promise, need to address security concerns. For example, if it is pos-
sible to get receivers to respond via a polling message, then that
message should be authenticated to prevent leveraged denial of service
attacks.
4.7. Use of RTCP BYE messages
Given that receiver reporting intervals will tend to be very long for
large conferences, it can be argued that absent an emergency, it makes
sense to provide information on listenership, reception quality and
bandwidth availability within the RTCP Bye message. Thus on leaving
the conference, the receiver would send a message providing informa-
tion on the time period in which they joined the conference, the over-
all reception quality and other information. Conventional receiver
reports would then either not be sent at all, or would be sent with a
TTL of 1. While such an approach would lessen the congestion problem
at the beginning of a session, it would increase the size of the RTCP
BYE message, resulting in a spike in RTCP bandwidth consumption at the
end of a session. Given that no receiver population estimate would be
available, it appears that this approach could actually worsen conver-
gence times, unless it were combined with some kind of summarization
mechanism. It would also not reduce the number of RTCP senders, or
reduce the steady state RTCP bandwidth fraction.
4.8. Use of TTL scoping and summary messages
In this approach, RTCP receiver reports would be sent with a TTL of 1,
and a designated summarizer would be elected to provide summary
reports with a larger TTL. This approach has the advantage of increas-
ing the leverage of those RTCP receiver reports that are sent, and is
likely to be particularly effective for conferences in which member-
ship is densely distributed. However, in sparsely distributed confer-
ences, the effect of summarization will be small unless multiple
Aboba [Page 7]
INTERNET-DRAFT 28 January 1997
levels of summarization are used. The designated summarizer would not
necesarily be a router; it could also be another receiver, although
this brings up the possibility of how a new summarizer could be
elected if the current summarizer leaves the conference.
Since in this scheme receiver reports are not forwarded, non-summariz-
ing RTP receivers should use the population estimate gleaned from
local scope reports to calculate their reporting interval. Summarizers
and RTP senders will then use global estimates gleaned from global
scope summary reports to calculate their reporting interval. A recom-
mended bandwidth allocation for reporting is 25 percent for sender
reports, 25 percent for summary reports, and 50 percent for receiver
reports.
Since this proposal decreases the scope of RTCP announcements, it
would substantially reduce the number of RTCP senders visible to the
multicast backbone, and would decrease convergence times, since those
messages that were sent would include more information on the receiver
population. This proposal would also address the problems of intercon-
necting multicast routing domains, since the multicast area border
router would be able to summarize RTCP behavior within its domain,
rather than passing along all RTCP reports. However, it would also
require substantial modifications in RTP client behavior.
4.8.1. Summary reports
Via the use of summary reports, privacy can be provided while simulta-
neously providing senders with improved listenership and receiver
quality reporting. This is possible because in the existing implemen-
tation much of the information gained from receiver reports is redun-
dant. For example, if congestion results in packets being dropped on a
particular link, then all receivers downstream from that link will
report the problem. Redundant reporting obscures the information of
greatest interest, which is information on global listenership and
reception quality. Via introduction of summary reports, it is possible
to provide more accurate and timely reporting on listenership and
reception quality, as well as to address issues involved in connecting
multicast routing domains.
Information useful in summary reports would include:
Total number of systems being summarized
Packets received and lost
Histogram of reception quality (fraction lost)
Histogram of receiver bandwidth
Information on users registering
The total systems summarized number is used in order to provide for
faster convergence times. Information on packets received and lost
will typically be used by network engineers looking to diagnose prob-
lems with the MBONE. The histograms of reception quality and receiver
bandwidth are propagated in order to allow senders to deduce informa-
tion relating to the global user experience. In order to allow for
Aboba [Page 8]
INTERNET-DRAFT 28 January 1997
location of individuals participating in a conference, the summarizer
may wish to relay information on the users in the conference. Alterna-
tively, it may register users in a directory service via use of the
LDAP extensions defined in [4].
4.9. Use of RTP translators
Through the use of RTP translators, it is possible to divide RTP
receivers into areas in much the same way as is accomplished by OSPF.
Through the use of summary receiver reports, information on listener-
ship and receiver report quality can be propagated between areas while
reducing RTCP bandwidth usage and the RTCP sending population on the
MBONE.
In order to insulate receivers within an area from external receiver
reports, the RTP translator must filter external receiver reports,
while allowing external summary reports and sender reports to pass
through. Similarly, the RTP translator will listen to receiver
reports generated from within its area, but will not pass them on to
external areas. Instead, it would issue to external areas two types of
summary reports. The first will be based on the packets it receives
and will be identical to a conventional receiver report, except for
the use of the summary report type; the second will be a true summary
report based on area receiver reports. It is useful to allow receiver
reports from RTP translators to pass through so as to allow diagnosis
of internal distribution problems. The RTP translator will allow
internal sender reports to pass through unmodified.
The introduction of RTP translators has several advantages:
Improved convergence of the receiver population estimate
Decreased RTCP bandwidth
Improved privacy
Listenership and reception quality information available to senders
While most of the above advantages are also available in the receiver
summary approach, one advantage of the translator approach is that it
provides for greater control by the network administrator. For exam-
ple, since summary reports would be sent by RTP translators rather
than by client summarizers, it would be possible for administrators to
control the propagation of user information on a site-by-site basis,
rather than on a per-session basis. For example, rather than having
this sent in the summary report, it could be stored as a temporary
attribute in the area directory server. This may be perceived as a
substantial advantage by corporations looking to control access to
directory information. For those cases where it is desirable to allow
external access to area registration information, the IP address of
the area directory server may be advertised in the summary report.
This allows senders with appropriate privileges to retrieve conference
registration data from the area directory server via LDAP.
The RTP translator approach also has several major disadvantages.
These include:
Aboba [Page 9]
INTERNET-DRAFT 28 January 1997
Requires modifications to routers
Increases loading on routers that now must function as RTP translators
5. Acknowledgements
Thanks to Steve Casner of Precept, Mark Handley of ISI, Bob Hinden of
Ipsilon and Thomas Pfenning, Peter Ford and Stefan Solomon of
Microsoft for useful discussions of this problem space.
6. References
[1] H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson. "RTP: A
Transport Protocol for Real-Time Applications." RFC 1889, GMD Fokus,
January 1996.
[2] H. Schulzrinne. "RTP Profile for Audio and Video Conferences
with Minimal Control." RFC 1890, GMD Fokus, January 1996.
[3] M. F. Speer, S. McCanne. "RTP Usage with Layered Multimedia
Streams." draft-speer-avt-layered-video-01.txt, Sun Microsystems,
LBNL, June 1996.
[4] Y. Yaacovi, M. Wahl, K. Settle, T. Genovese. "Lightweight Direc-
tory Access Protocol: Extensions for Dynamic Directory Services."
draft-ietf-asid-ldapv3ext-02.txt, Microsoft, Critical Angle, October,
1996.
7. Authors' Addresses
Bernard Aboba
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
Phone: 206-936-6605
EMail: bernarda@microsoft.com
Aboba [Page 10]