Multicasting is the process whereby a source host or
protocol entity sends a packet to multiple destinations simultaneously using a
single, local 'transmit' operation. ATM is being utilized as a new link layer
technology to support a variety of protocols, including IP. The MARS protocol
has two broad goals: to define a group address registration and membership
distribution mechanism that allows UNI 3.0/3.1 based networks to support the
multicast service of protocols such as IP and to define specific endpoint
behaviors for managing point to multipoint VCs to achieve multicasting of layer
3 packets. The Multicast Address Resolution Server (MARS) is an extended analog
of the ATM ARP Server. It acts as a registry, associating layer 3 multicast
group identifiers with the ATM interfaces representing the group's members. MARS
messages support the distribution of multicast group membership information
between MARS and endpoints (hosts or routers). Endpoint address resolution
entities query the MARS when a layer 3 address needs to be resolved to the set
of ATM endpoints making up the group at any one time. Endpoints keep the MARS
informed when they need to join or leave particular layer 3 groups. To provide
for asynchronous notification of group membership changes, the MARS manages a
point to multipoint VC out to all endpoints desiring multicast support. Each
MARS manages a cluster of ATM-attached endpoints.
(Compliant with IETF RFC2022.)
The format of the header is shown in the following
illustration:
|
Address family (2 bytes)
|
|
Protocol identification (7 bytes)
|
|
Reserved (3 bytes)
|
|
Checksum (2 bytes)
|
|
Extensions offset (2 bytes)
|
|
Operation code (2 bytes)
|
|
Type and length of source ATM number (1 byte)
|
|
Type and length of source ATM subaddress (1 byte)
|
|
MARS header structure
|
Address family
Defines the type of link layer addresses being
carried.
Protocol ID
Contains 2 subfields:
16 bits, protocol type
40 bits Optional SNAP extension to protocol type.
Reserved
This reserved field may be subdivided and
assigned specific meanings for other control protocols indicated by the version
number.
Checksum
This field carries a standard IP checksum
calculated across the entire message.
Extension offset
This field identifies the existence and location
of an optional supplementary parameters list.
Operation code
This field is divided into 2 sub fields: version
and type. Version indicates the operation being performed, within the context of
the control protocol version indicated by mar$op.version.
Type and length of ATM source number
Information regarding the source hardware
address.
Type and length of ATM source subaddress
Information regarding the source hardware
subaddress |