IGMPv1 messages are transported within IP
datagrams and carry information about multicast groups. The
datagram consists of a 20-byte IP header and an 8-byte IGMP message.
The 8-byte message format is illustrated in Figure
.
The first field of the message indicates what
version of IGMP generated the message. For Version 1, this value
must be 1. The next field specifies the message type. Version 1
defines two messages: a host membership query and a host membership
report. The Checksum field carries the checksum computed by the
source; the source computes the checksum for the entire IGMP
message. The receiving device examines the checksum value to
determine if the message was corrupted during transmission. If the
checksum value doesn't match, the receiver discards the message. The
final field indicates the multicast destination group address
targeted by the message.
In Figure
,
several hosts and a router share a LAN segment. When a host on the
segment wants to receive multicast traffic, it issues an unsolicited
host membership report targeting the intended multicast group.
The destination MAC address targets the
multicast group it intends to join. If this were the only
information in the frame to identify the group, any of 32 groups
might be desired because of the address ambiguity discussed earlier.
However, the Layer 3 address is included in both the IP header and
in the IGMP header. The Layer 3 multicast group desired by the host
is 239.255.160.171. This translates to a MAC address of
01-00-5E-7F-A0-AB. All multicast-capable devices on the shared media
receive the membership report. In this situation, however, only the
router is interested in the frame. The frame tells the router,
"I want to receive any messages for this multicast group."
The router now knows that it needs to forward a copy of any frames
with this multicast address to the segment where the host that
issued the report lives.
A device issues an IGMP membership report
under two conditions:
- Whenever the device first intends to
receive a multicast stream-When you
enable the multicast application, the device configures the NIC,
and the built-in IGMP processes send an unsolicited membership
report to the router requesting copies of the multicast frames.
- In response to a membership query from
the router-This is a
solicited membership report that helps the router to confirm
that hosts on the segment still want to receive multicast
traffic for a particular multicast group.
Routers periodically issue host membership
queries. You can configure the router query period from 0 seconds to
a maximum of 65,535 seconds. The default is 60 seconds.
Only one router on each segment issues the
membership query message. If the segment uses IGMP Version 1, the
designated router for the multicast routing protocol issues the
query. If the segment uses IGMP Version 2, the multicast router with
the lowest IP address on the segment issues the queries.
The host membership query message targets the all
multicast hosts address, 224.0.0.1, in the Layer 3 address
field. The Layer 2 address is 01-00-5E-00-00-01. The IGMP header
uses a group address of 0.0.0.0. This translates to a query for all
multicast hosts on all groups on the segment.
A host for each active multicast group must
respond to this message. When a host membership query is received by
a multicast host that wants to continue to receive multicast frames
for a group, that host starts an
internal random timer with an upper range of 10 seconds. The host
waits for the timer to expire and then it sends a membership report
for each multicast group that it wants to continue to receive.
If another station sends a membership report
before the local timer expires, the host cancels the timer and
suppresses the report. This behavior prevents a segment and a router
from experiencing host membership report floods. Only one station
from each multicast group needs to respond for each group on the
segment.
If the router does not receive a membership
report for a particular multicast group for three query intervals,
the router assumes no hosts remain that are interested in that group
multicast stream. The router stops forwarding the multicast packets
for this group and informs upstream routers to stop sending frames.
This process defines an implicit
process for leaving the multicast group. No special leave mechanism was defined in
IGMPv1. Instead, IGMPv1 hosts leave the group passively without any
notification to the router. A router learns that such a host is not
interested in participating in a multicast group if the host does
not respond to repeated queries from the router relating to that
group.