2. Index
Why IGMP
Basic of IGMP
IGMP messages
Membership Query
Membership Report
Leave Report
IGMP header
Different version of IGMP
IGMP snooping
MLD (Multicast Listener Discovery-IPv6)
MLDv1 use IGMPv2.
MLDv2 use IGMPv3
3. Why IGMP ?
IGMP is enhancement in IP multicast.
Disadvantages of Multicast.
Multicast is UDP-based.
Efficiency issues in filtering and in security.
And many more…
4. Basic of IGMP
An IGMP-enabled router sends out several General Membership Queries at startup(224.0.0.1)
Hosts that are members of specific multicast groups send Membership Reports back to the router to report
their membership.
The router receives the Membership Reports and builds lists of multicast group memberships for each
attached network.
If there are two router in the network then lowest IP address will be Querier.
If you check the above output, it shows When the router(.3) is sending general Membership query, host .2 has
sent Membership report with specific 224.7.7.7 group address. Here only one membership report need to be
sent on behalf of other hosts. Host .2 must have lowest response time to send membership report.
5. IGMP messages
MEMBERSHIP QUERY [ 0x11 ]
Membership Query messages are used by multicast enabled routers running IGMP to
discover which hosts on attached networks are members of which multicast groups.
Membership Query messages are sent to the 'all-systems' multicast group address of
224.0.0.1.
There are two sub types of Membership Query:
General Query(every 60s) - used to learn which groups have members on an attached network.
Group-Specific Query - used to learn if a specific group has any members on an attached network.
Router sends query membership message to a single group rather than all hosts(reduce traffic)
MEMBERSHIP REPORT (v1/v2) [ 0x12 / 0x16 ]
A membership report message is sent by a host whenever it joins a multicast group, and
when responding to Membership Queries sent by an IGMP router that is functioning as a
Querier.
LEAVE GROUP [ 0x17 ]
This message is sent when a host leaves a multicast group. This message is sent to the 'all-
routers' multicast address of 224.0.0.2. The router then sends out a group-specific
membership query to the network to verify if the last member of a group has left.
8. Leave Report
When a host sees that no process is interested in a specific group, it sends
leave report. If router receives a leave report it won’t purge the list if there
are still other hosts interested in that group. For that purpose router sends a
special query message with a specified response time for the group in
question to see if there is anyone interested in that group. If there is no
response a membership report, it purges the list.
The last host will sent Leave report as per RFC.
9. Any host sends a leave message. Router will send Group
specific query 139/140 and host has to respond within 1 sec.
if it does not respond within one second group specific query
is sent again.
If the standby router does not see 2x Query interval then it
will take the lead.
11. IGMP header
Version: Number of the IGMP version used.
Type: Type of the IGMP message.
Max. Response This depends upon the type of version used.
Checksum: Checksum of the IGMP message.
13. IGMPv1
There are no messages for leaving the group. They use timeout to detect
groups of no concern for the interface. If Host to leave the group it has to
wait for 3 minutes (60 sec General queryx3) to remove the host from the
group.
14. IGMPv2
They came up with a message for leaving group.
Host will send leave message with destination 224.0.0.2(All routers) with
specifying specific group information Ex. 224.7.7.7 (VLC player).
Querier will send Group specific query to 224.7.7.7(1sec). Every host who still
interested in receiving 224.7.7.7, they have to send immediately membership
report to Querier to check the group is active or not.
IGMP v2 requires separate report/ leave messages.
15. IGMv3
It adds support for “source filtering” that is, the ability for a system to report
interest in receiving packets *only* from specific source addresses or from
*all but* specific source addresses, sent to a particular multicast address.
Version 3 is designed to interoperable with v1/v2.
Host can join the group and leave the group in the same transaction.
Optimized bandwidth utilization—Receiver may request to receive traffic only
from explicitly known sources.
Improved security—No denial of service attacks from unknown sources.
16. IGMP snooping
Normally (without IGMP snooping) a switch will forward a multicast frame to
all switch ports (except incoming port).
IGMP snooping allows the switch to send multicast frames only to those
receivers that join a particular group by listening for report/leave messages
from the hosts.
By default this feature is enabled on a layer 2 switch. If you want to enable is
only on particular VLAN you can disable it globally & configure “ip igmp
snooping vlan vlan-id” with required vlan-id.
17.
18. Multicast Listener Discovery (MLD)
MLD is used in a similar way by IPv6 systems.
MLDv1 implements the functionality of IGMPv2
MLDv2 implements the functionality of IGMPv3