Schulzrinne, et al Standards Track [Page 18]
RFC 1889 RTP January 1996
6.2 RTCP Transmission Interval
if encrypted: random 32-bit integer
|
|[------- packet -------][----------- packet -----------][-packet-]
|
| receiver reports chunk chunk
V item item item item
--------------------------------------------------------------------
|R[SR|# sender #site#site][SDES|# CNAME PHONE |#CNAME LOC][BYE##why]
|R[ |# report # 1 # 2 ][ |# |# ][ ## ]
|R[ |# # # ][ |# |# ][ ## ]
|R[ |# # # ][ |# |# ][ ## ]
--------------------------------------------------------------------
|<------------------ UDP packet (compound packet) --------------->|
#: SSRC/CSRC
Figure 1: Example of an RTCP compound packet
RTP is designed to allow an application to scale automatically over
session sizes ranging from a few participants to thousands. For
example, in an audio conference the data traffic is inherently self-
limiting because only one or two people will speak at a time, so with
multicast distribution the data rate on any given link remains
relatively constant independent of the number of participants.
However, the control traffic is not self-limiting. If the reception
reports from each participant were sent at a constant rate, the
control traffic would grow linearly with the number of participants.
Therefore, the rate must be scaled down.
For each session, it is assumed that the data traffic is subject to
an aggregate limit called the "session bandwidth" to be divided among
the participants. This bandwidth might be reserved and the limit
enforced by the network, or it might just be a reasonable share. The
session bandwidth may be chosen based or some cost or a priori
knowledge of the available network bandwidth for the session. It is
somewhat independent of the media encoding, but the encoding choice
may be limited by the session bandwidth. The session bandwidth
parameter is expected to be supplied by a session management
application when it invokes a media application, but media
applications may also set a default based on the single-sender data
bandwidth for the encoding selected for the session. The application
may also enforce bandwidth limits based on multicast scope rules or
other criteria.