Internet Group Management Protocol (IGMP) is used to register
individual hosts with a multicast group. The host sends a join message to a
local router multicast address. If the router is running a multicast routing
protocol, it will accept the join and then forward the multicast stream for
that group onto the segment where the registering host is present. IGMP
messages are IP datagrams with a protocol value of 2 and a destination address
224.0.0.2 and a TTL of 1.
In addition to listening to IGMP join
messages, multicast routers also periodically send out queries to discover
which groups are active or inactive on a particular subnet. Any end station
that is part of the multicast group receives this IGMP query, and responds with
a host membership report for each group to which it belongs
. This is sent to
all hosts 224.0.0.1 with a TTL of 1.
As of this writing, version 3 is the
most current iteration of IGMP and is covered in more detail. Previous versions
had attributes and limitations as listed in Figure
.
IGMP Message Format
IGMP version3, the next step in the evolution
of IGMP, adds support for source filtering, multiple group memberships, joins
and leaves. This enables a multicast receiving host to indicate to the router
the groups from which it wants to receive multicast traffic, as well as the
source unicast addresses from which this traffic is expected. This membership
information enables IOS software to forward traffic from only those sources
requested by the receiver. IGMP v3 supports Report and Query messages that have
different packet structure as shown
.
IGMP
v3 Report Message
Figure
describes the
fields in the IGMP v3 report message sent from the host to the router.
With IGMP v3, receivers signal membership to a multicast host group in these
two modes:
-
INCLUDE mode – The receiver announces membership to a host group and
provides a list of source addresses (the INCLUDE list) from which it
does want to receive traffic.
-
EXCLUDE mode – The receiver announces membership to a multicast
group and provides a list of source addresses (the EXCLUDE list) from which it
does not want to receive traffic. To receive traffic from all sources,
which is the behavior of IGMP v2, a host uses EXCLUDE mode membership with an
empty EXCLUDE list.
IGMP v3 Query Message
The IGMP query message sent from the
multicast router to the all hosts address 224.0.0.1 has a different format than
the report or join message.
– 