Internet Group Management Protocol
Two methods exist to optimize multicast switched traffic:
- Static MAC table entries
- IGMP snooping
Internet Group Management Protocol (IGMP) is used by clients to identify themselves to a router and request multicast service.
IGMPv1
Defined in RFC 1112. A client sends a Membership Report message to its local router, requesting to be added to a multicast group (address).
Every 60 seconds the querier router on a segment multicasts a query to 224.0.0.1 (all hosts on the segment) to check if any host on the segment still wants to receive multicast traffic for that group. Interested hosts respond with a membership report.
IGMPv1 does not provide a mechanism for hosts to explicitly leave a group; requests expire after three query intervals pass without an answer.
IGMPv2
Defined in RFC 2236. Offers several improvements over IGMPv1:
- Queries from the router can be sent to the original all hosts address (
224.0.0.1), or to members of a specific group. - Hosts can dynamically leave a group.
- Querier election
- Query-interval response time
A host no longer wanting to receive traffic for a multicast group sends a Leave Group multicast to 224.0.0.2 (all routers). The querier router responds with a group-specific query to check if any other hosts on the segment still want to receive multicast traffic for that group.
IGMPv1 routers cannot understand IGMPv2.
IGMPv2 routers are queriers by default; they transition to non-queriers upon hearing a query from a router with a higher IP address.
IGMPv2 queries include a query-interval response time, which tells members how long they have to respond to a query.
IGMPv3
Defined in RFC 3376. IGMPv3 introduces support for multicast source filtering. Along with a multicast group, a host can specify a list of sources from which it will accept multicast traffic.
