Master the protocol that enables efficient IP multicast communication. Learn how hosts join multicast groups and routers manage group membership.
Internet Group Management Protocol (IGMP) is a communications protocol used by hosts and adjacent routers on IPv4 networks to establish multicast group memberships.
IGMP is an integral part of IP multicast and operates between the host and the local multicast router. It provides the mechanism for hosts to inform routers about their desire to receive traffic for specific multicast groups.
Reserved for network protocols on local subnet. Not forwarded by routers.
Available for dynamic assignment and global multicast applications.
Private multicast space for organizational use. Not routed globally.
Multicast IP addresses (224.0.0.0/4) map to specific Ethernet MAC addresses (01-00-5E-00-00-00 through 01-00-5E-7F-FF-FF) using the lower 23 bits of the IP address.
The original specification providing basic multicast group membership functionality.
Router sends periodic queries to 224.0.0.1 (All Hosts)
Hosts respond to join groups. No leave mechanism!
⚠️ Limitation: No Leave Group message
Routers must wait for timeout (3x query interval) to remove group
Sent by routers to discover multicast group members on a subnet.
Sent by hosts to declare membership in a multicast group.
Sent by hosts to indicate departure from a multicast group (v2/v3).
| Field | IGMPv1 | IGMPv2 | IGMPv3 |
|---|---|---|---|
| Type Field | 0x11, 0x12 | 0x11, 0x16, 0x17 | 0x11, 0x22, 0x30 |
| Max Resp Time | Not present | Present | Present (floating point) |
| Checksum | 16-bit | 16-bit | 16-bit |
| Group Address | 32-bit | 32-bit | Multiple in records |
| Source Addresses | Not supported | Not supported | Supported (v3) |
| Leave Mechanism | Silent leave | Explicit (0x17) | State change records |
App requests group membership
Host sends unsolicited report
Router adds interface to group
Host is not interested in the group. Ignores queries for this group.
Host wants to join. Sets random delay timer (0 to Max Resp Time). If timer expires, sends report. If matching report heard, cancel timer (suppress).
Host is a member. Listens for queries. Responds to queries by transitioning to Delaying state.
IGMP Snooping is a Layer 2 optimization technique where switches listen to IGMP conversations between hosts and routers to build a multicast forwarding table.
Without snooping, multicast traffic is flooded to all ports like broadcast, wasting bandwidth.
Switch forwards multicast only to ports with registered members and router ports.
IGMPv3: Floating point value (max 317.44s)
Low control traffic overhead