Multicast - IGMP (2)
The primary purpose of the IGMP is to permit hosts to communicate their desire to receive multicast traffic to the IP multicast router on the local network. This action, in turn, permits the IP multicast router to join the specified multicast group and to begin forwarding the multicast traffic onto the network segment.
These versions are backwards compatible:
- IGMPv1 uses a query-response model.
- IGMPv2 accelerates the process of leaving a group and adjusts other timeouts.
- IGMPv3 introduces source-specific multicast capability.
IGMPv1
The RFC 1112 specifies IGMPv1 as a protocol used by IP hosts to report multicast group membership to their first-hop multicast routers.
Multicast routers periodically (usually every 60 to 120 seconds) send membership queries to the all-hosts multicast address (224.0.0.1) to solicit which multicast groups are active on the local network.
When a host wants to receive traffic from a specific multicast group, it uses Membership Reports. Here is how they work:
-
Where they go: The host sends the report directly to the multicast group address it wants to join, using a Time to Live (TTL) of 1 (so the packet stays on the local network and doesn't cross routers).
-
When they are sent: Hosts send these reports in two situations:
-
Unsolicited Reports (Asynchronous): Sent the exact moment a host decides it wants to join a new group.
-
In Response to Queries: Sent when a router asks, "Is anyone still listening?" > Key Takeaway: Responding to the router's queries is how hosts keep the group active. If hosts stop responding, the router stops forwarding multicast traffic to that network segment.
-
How does IGMP keep your network from getting overwhelmed and confines traffic to the local subnet?
1. Report Suppression (Stopping the "Storm")
When a router sends a query asking if anyone is still watching, it doesn't need every single host to reply. It just needs one host to say "yes" to keep the traffic flowing.
-
The Trick: Hosts wait a random number of seconds before replying.
-
The Suppression: The first host to reply sends its report to the entire group. When other hosts hear that report, they realize, "Oh, the router already knows someone is here," and they cancel their own replies. This saves CPU power and bandwidth.
2. Why the TTL is Strictly Set to 1
Both queries and reports have a Time to Live (TTL) of 1. This means they expire the moment they hit a router.
-
Why? These messages only matter to the local subnet. Letting them leak out to other parts of the network would confuse other routers and subnets.
3. The Golden Rule of Multicast Forwarding
The Rule: A router will only forward multicast traffic onto a network segment if there is at least one active member listening on that segment. No listeners? No traffic.
IGMPv2
IGMPv1 had high latency (delays when joining/leaving) and lacked clear rules. IGMPv2 fixed these issues with four major upgrades while remaining fully backward-compatible with IGMPv1.
1. Leave-Group Message (Lower Leave Latency)
- In IGMPv1: Hosts just stopped listening silently. The router had to wait for timeouts to stop sending traffic.
- In IGMPv2: Hosts actively tell the router, "I am leaving." If that host was the last member, the router stops sending traffic immediately. (Note: This message is critical when looking at Cisco's proprietary CGMP protocol).
2. Group-Specific Queries
Instead of asking every host on the subnet if they are listening to anything (All-Hosts address 224.0.0.1), a router can now target a specific group (e.g., asking just the members of 224.1.1.1 if anyone is still there). This is much more efficient when a host sends a Leave message.
3. Querier Election Mechanism
If a subnet has multiple multicast routers, they need to decide who asks the questions (the "Querier").
The Rule: The router with the lowest unicast IP address wins the election. All routers start as queriers but step down if they hear a query from a lower IP.
4. Max Response Time (Query-Interval Response Time)
Routers can now dictate exactly how long hosts have to respond to a query. This prevents a sudden "burst" of simultaneous reports flooding the network.
💡 Quick Summary for the Exam
| Feature | IGMPv1 | IGMPv2 |
| How to Leave | Silent dropout (high latency) | Leave-Group Message (low latency) |
| Queries | General only (224.0.0.1) |
General + Group-Specific |
| Router Election | Relied on PIM to choose | Lowest IP Address wins |
| Report Control | Fixed response timers | Configurable Max Response Time |
IGMPv3
The defining feature of IGMPv3 is source filtering. While older versions only let a host choose what group to join, IGMPv3 allows a host to choose who it wants to listen to within that group. Key features of IGMPv3:
-
Source Filtering: A receiver host can explicitly tell the router which specific multicast groups it wants to join and which specific source IP addresses it expects to receive that traffic from.
-
Optimized Forwarding: This membership information allows Cisco IOS Software to forward multicast traffic only from the specific, requested sources.
-
Source-Specific Multicast (SSM) Support: As seen in the image, when host
10.1.1.12sends a join message specifying an explicit list of sources, the router builds direct (S, G) Joins instead of generic (*, G) joins.
💡 Quick Summary for the Exam
-
IGMPv1: "I want to receive traffic for Group G."
-
IGMPv2: "I want to receive traffic for Group G, and I will explicitly tell you when I am leaving."
-
IGMPv3: "I want to receive traffic for Group G, but only if it comes from Source S."
Understanding (*, G) vs. (S, G) Notation
In multicast routing, entries in a router's multicast routing table (mroute) use a standard syntax: (Source, Group).
1. The (*, G) Entry
-
The Wildcard (*): The asterisk represents "any source."
-
Meaning: This notation indicates a state entry for a specific multicast group (G) that accepts traffic from any transmitting source IP address.
-
Mechanics: This entry is used to build a shared tree. When a receiver joins a group using IGMPv1 or IGMPv2, it only specifies the group address (G). The router creates a (*, G) entry to signify that the local segment is waiting for traffic from any active sender for that group.
2. The (S, G) Entry
-
The Specific Source (S): The S represents a single, explicit source IP address.
-
Meaning: This notation indicates a state entry for a specific multicast group (G) fed exclusively by a specific source (S).
-
Mechanics: An (S, G) entry is used to build a shortest path tree and can be triggered in two ways:
-
Host-Triggered (IGMPv3): An IGMPv3-capable host explicitly signals both the group and the specific source IP it wants to receive traffic from.
-
Router-Triggered (IGMPv1 / IGMPv2): Even though IGMPv1/v2 hosts only request a generic (*, G) join, the moment an active source actually begins broadcasting data, the upstream routers must learn that source's IP and spin up an (S, G) entry to track and forward that specific traffic stream.
-
Key Operational Differences
-
(*, G) Notation:
-
Tree Type: Shared Tree (Rooted at a centralized network point like an RP)
-
Source Knowledge: Unknown at the time of the initial host join request
-
Traffic Forwarding: Formed prior to traffic arrival to signal receiver interest
-
Protocol Association: Exclusively tied to Any-Source Multicast (IGMPv1 and IGMPv2)
-
-
(S, G) Notation:
-
Tree Type: Source Tree / Shortest Path Tree (Rooted directly at the source)
-
Source Knowledge: Explicitly known (either defined by an IGMPv3 host or learned by the router when a source starts sending)
-
Traffic Forwarding: Drops traffic from any source other than the specified S
-
Protocol Association: Used by IGMPv3 for explicit joins, and used by IGMPv1/v2 routers once active data stream transmission begins
-


