RFC 2771 (rfc2771) - Page 2 of 11
An Abstract API for Multicast Address Allocation
Alternative Format: Original Text Document
RFC 2771 Abstract API for Multicast Address Allocation February 2000
might be co-located (along with one or more applications) on an end
node, in which case some other, internal, mechanism might be used to
access the server. In either case, however, the abstract service
interface (and, presumably, any specific APIs) would remain the same.
The remainder of this document describes the abstract interface.
Note that this interface is intended only for the allocation of
dynamic multicast addresses, as used by the traditional multicast
service model [2]. Future multicast service models might allocate or
assign multicast addresses in other ways, but this is outside the
scope of this document.
2. Abstract Data Types
The interface described below uses the following abstract data types:
- AddressFamily: e.g., IPv4 or IPv6
- MulticastAddress: An actual multicast address (i.e., that could
subsequently be used as the destination of a datagram)
- MulticastAddressSet: A set of "MulticastAddress"es
- LanguageTag: The code for a (human) language, as defined in [4]
- Scope: An "administrative scope" [3] from which multicast
addresses are to be allocated. Each scope is a
"MulticastAddressSet", with an associated set of
(character-string) names - indexed by "LanguageTag". (Each
language tag has at most one corresponding name, per
scope.) For each scope, a (language tag, name) pair may be
defined to be the 'default' name for this scope. (See the
section "Querying the name of a scope" below.)
(An implementation of this abstract data type might also
include other information, such as a default TTL for the
scope.)
- Time: An (absolute) event time. This is used for specifying the
"lifetime" of multicast addresses: the period of time during
which allocated multicast addresses are guaranteed to be
available. (It is also used to specify the desired start
time for an "advance allocation".)
Finlayson Informational