Search

IGMP, What is IGMP, How IGMP works

IGMP (Internet Group Management Protocol) and PIM (Protocol Independent Multicasting) are the two protocols provide support for IPv4 multicasting. Multicast can be defined as "send once and receive many" type of network communication. Multicast type of network communication consumes less network bandwidth utilization and conserves other system resources for streaming type of network traffic. IGMP is used to exchange multicast group information between multicast receivers (multicast clients) and local multicast router. PIM (Protocol Independent Multicast) is a multicast routing protocol that advertises multicast sources and receivers in a routed layer 3 network.

Please refer below image.

what-are-igmp-and-pim.jpg

Please visit below links and learn the concepts of IPv4 multicast before proceeding further.

IGMP is an integral protocol of TCP/IP protocol suite. IGMP messages are encapsulated in IPv4 datagram.

IGMP messages allows multicast clients to;

IGMP has a Query-Response type of operation. A term you have to remember related with IGMP is Querier. A Querier device is normally a local multicast enabled router. A Querier sends IGMP Membership Query (MR) messages periodically to find out which devices are members of a particular multicast group.

igmp-membership-query-direction.gif

One member per multicast group responds with a Membership Report (MR) message to the IGMP Membership Query (MR) message sent by the Querier.

igmp-membership-report-direction.gif

IGMP is used by the computers located in a subnet to inform their interest to join or leave a multicast group to local multicast routers. Local multicast routers use IGMP to keep track of different multicast groups its computers are interested, so that the router can deliver the multicast traffic belongs to that specific multicast groups to computers those are interested. Local multicast routers periodically send out membership queries to discover which multicast groups have listeners on subnets connected on its interfaces. Thus, IGMP messages allows multicast traffic control in a subnet between multicast clients (those who are interested in receiving multicast traffic) and multicast router (device distributing multicast traffic).

When a computer in a subnet connected to a multicast router’s subnet is interested in receiving multicast traffic from a multicast group, the computer will send an unsolicited Multicast Report (MR) type of IGMP message to inform the local router that it is interested in receiving multicast traffic addressed to that particular multicast group. Routers those can support multicast use IGMP to determine and to keep track of the what multicast groups have interested listeners (or subscribers) in subnets connected to its interfaces. IGMP Membership Query (MQ) messages are sent out by multicast router periodically to check any computer is still interested to listen to a particular multicast group. When a computer located in a subnet of that router receives the Multicast Query (MQ) message sent from the router, it will reply back with a Membership Report (MR) type of IGMP message to inform the router that it is still interested in receiving the multicast traffic. Please click next link to know more about different types of IGMP messages.

IGMP has three versions; IGMPv1, IGMPv2 and IGMPv3. IGMP is backward compatible. Means that, is router running IGMPv3 can support multicast clients running previous IGMP versions IGMPv1, IGMPv2. IGMPv1 was defined in RFC 1112 and IGMPv2 is defined in RFC 2236. In IGMP1, multicast router sends Membership Query (MQ) messages on multicast group address 224.0.0.1 (All systems link-local multicast address). In IGMPv1, multicast clients send back Membership Report (MR) messages at multicast group address (Class D IPv4 address).

Please visit next link to learn more about IGMPv1.

The main improvement made in IGMPv2 was that the multicast clients can inform the local multicast router that it is no longer interested in receiving traffic from a multicast group by IGMP Leave Group type message. When a multicast client wants to leave a multicast group, it will send an IGMPv2 Leave Group message to 224.0.0.2 (All routers link-local multicast address).

Please visit next link to learn more about IGMPv2.

The latest version (and probably the final version) of IGMP is IGMPv3. IGMPv3 is defined in RFC 3376 and then updated by RFC 4604. The main improvement IGMPv3 has is Source-Specific Multicasting (SSM). Source-Specific Multicasting (SSM) allows the multicast clients to specify the unicast source address also, from where it want to receive multicast traffic. Please note that source address and group address are different. Normally represented by (S,G); where ’S’ represents the unicast source address and ’G’ represents the multicast group address.

IGMPv3 also has a dedicated IPv4 link-local multicast address, 224.0.0.22 (All IGMPv3-capable multicast routers). IGMPv3 Membership Report (MR) messages are sent to IGMPv3 link-local multicast address, 224.0.0.22.

Please visit next link to learn more about IGMPv3.

Related Tutorials
Unicast, Multicast and Broadcast
Broadcast domain
Broadcast MAC Address - ff:ff:ff:ff:ff:ff
IPv4 multicast MAC Addresses
IPv4 Protocol, IPv4 header and fields of IPv4 header
IPv4 addresses
Class D multicast IP addresses
IPv4 link-local multicast addresses
IPv4 Internetwork control block multicast addresses
IPv4 Source-Specific Multicast (SSM) address reservation
IPv4 GLOP multicast addresses
Administratively scoped multicast address block or Limited scope addresses
Multicast IPv4 address to MAC address mapping
TCP/IP Encapsulation and Decapsulation
What is multicast
What is multicast group
Advantages and disadvantages of multicast
Comparison of multicast with unicast and broadcast
Advantages and disadvantages of multicast
How IPv4 multicast works on LAN
IGMP message types
IGMP DR and Querier
IGMPv1 - Internet Group Management Protocol Version 1
IGMPv2 - Internet Group Management Protocol Version 2
What are SSM (Source-specific Multicast) and ASM (Any-source Multicast)
IGMPv3 - Internet Group Management Protocol Version 3