RFC 2762 (rfc2762) - Page 2 of 12
Sampling of the Group Membership in RTP
Alternative Format: Original Text Document
RFC 2762 RTP Sampling February 2000
systems can be used for both small conferences and TV broadcasts in a
smooth, scalable fashion.
Previous work [2] has identified three major scalability problems
with RTP. These are:
1. Congestion due to floods of RTCP packets in highly dynamic groups;
2. Large delays between receipt of RTCP packets from a single user;
3. Large size of the group membership table.
The reconsideration algorithm [2] helps to alleviate the first of
these. This document addresses the third, that of large group size
tables.
Storage of an SSRC table with one million members, for example,
requires at least four megabytes. As a result, embedded devices with
small memory capacity may have difficulty under these conditions. To
solve this problem, SSRC sampling has been proposed. SSRC sampling
uses statistical sampling to obtain a stochastic estimate of the
group membership. There are many issues that arise when this is done.
This document reviews these issues and discusses the mechanisms which
can be applied by implementors. In particular, it focuses on three
methods for adapting the sampling probability as the group membership
varies. It is important to note that the IETF has been notified of
intellectual property rights claimed in regard to some or all of the
specification contained in this document, and in particular to one of
the three mechanisms: the binning algorithm described below. For more
information consult the online list of claimed rights. The two other
approaches presented are inferior to the binning algorithm, but are
included as they are believed to be unencumbered by IPR.
2 Basic Operation
The basic idea behind SSRC sampling is simple. Each participant
maintains a key K of 32 bits, and a mask M of 32 bits. Assume that m
of the bits in the mask are 1, and the remainder are zero. When an
RTCP packet arrives with some SSRC S, rather than placing it in the
table, it is first sampled. The sampling is performed by ANDing the
key and the mask, and also ANDing the SSRC and the mask. The
resulting values are compared. If equal, the SSRC is stored in the
table. If not equal, the SSRC is rejected, and the packet is treated
as if it has never been received.
The key can be anything, but is usually derived from the SSRC of the
user who is performing the sampling.
Rosenberg & Schulzrinne Experimental