This document discusses the Internet Group Management Protocol (IGMP), which allows hosts to report their multicast group memberships to neighboring multicast routers. It describes the different versions of IGMP, including IGMPv1, IGMPv2, and IGMPv3. It also covers IGMP messages like membership queries, reports, and leaves. IGMP snooping is defined as a switch feature that optimizes multicast traffic delivery by only forwarding traffic to ports with interested receivers. Multicast Listener Discovery (MLD) serves a similar purpose for IPv6 as IGMP does for IPv4.
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
ļµ MEMBERSHIPQUERY [ 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.
Leave Report
ļµ Whena 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 hostsends 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.
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.
IGMPv1
ļµ There areno 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 cameup 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 addssupport 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.
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