Internet Group Management Protocol (IGMP) is a network layer communication protocol used by hosts and adjacent routers to manage multicast group memberships in IPv4 networks. IGMP enables communication between hosts and local routers to identify multicast group members within a LAN. Unlike unicast (one-to-one) or broadcast (one-to-all), IGMP supports multicast (one-to-many) communication.
Unicast: One sender -> One receiver.
Multicast: One sender -> Multiple specific receivers.
Anycast: One sender -> Nearest member of a group of receivers.
Note: In IPv6, IGMP is replaced by Multicast Listener Discovery (MLD) protocol.
Applications of IGMP
Streaming Media: Efficient one-to-many or many-to-many delivery of video/audio streams.
Online Gaming: Enables multiple players to exchange game state updates in real-time.
Web Conferencing: Supports group communication for video meetings and collaboration tools.
Types of IGMP Messages
IGMP uses different message types to manage multicast memberships:
Membership Query: Sent by routers to discover which multicast groups have active members on a network segment.
Membership Report: Sent by hosts to indicate interest in joining a multicast group.
Leave Group: Sent by hosts when they no longer wish to receive traffic for a multicast group.
IGMPv3 Membership Report: Allows hosts to specify exact multicast addresses and sources (supports SSM).
Adds Source-Specific Multicast (SSM) and report aggregation.
Hosts can specify inclusion (receive from specific sources) or exclusion (block specific sources).
Fields: Max Response Time, Checksum, Group Address, Flags (S, QRV), QQIC, Source Address list.
Multicasting
Multicasting is a method where a sender transmits packets once and the network delivers them to all interested receivers.
More efficient than sending individual unicast streams.
Commonly used in IPTV, financial trading updates and real-time applications.
Is IGMP a Layer 3 Protocol? Yes, IGMP operates at Layer 3 of the OSI model which is the Network layer. It is used to the manage the membership of the multicast groups within IP networks facilitating the efficient distribution of the multicast traffic across the network segments.
History of IGMP Versions
IGMPv1 (1989): Developed at Stanford University; allowed hosts to join multicast groups but could not explicitly leave.
IGMPv2 (1997): Introduced leave group messages, reducing timeout delays.
IGMPv3 (2002): Added Source-Specific Multicast (SSM), allowing hosts to specify sources they want to receive traffic from.