Internet Group Management Protocol (IGMP)

RFC 1112 defines IGMP, which describes interactions between IP multicast hosts and multicast routers. A multicast router needs to know the current membership of host groups in all attached local networks in order to forward multicast datagrams to hosts on local networks. IP multicast datagrams will not be forwarded to local networks if there are no members of the destination host group.

There are two types of IGMP messages transmitted on local networks. Both types of messages are transmitted by multicasting to reduce network load. A multicast router periodically sends IGMP membership queries to hosts on the same network. An IGMP membership query is sent to the all-hosts group (224.0.0.1).

Upon receiving a membership query from a multicast router, a multicast host starts a random timer for each host group joined on the interface that receives IGMP membership queries. A host sends IGMP membership reports when timers expire. Membership reports are sent to the host group being reported.

If other hosts on the same network are to receive an IGMP membership report on the same host group, these hosts should cancel the timer before it expires. This prevents duplicated IGMP membership reports from flooding a local network. An IGMP membership report is also sent when a host joins a new host group.

When a multicast router receives an IGMP membership report of one host group, the router updates its knowledge of the current membership on a particular network. If no reports are received on a particular host group after several queries, a multicast router assumes that there are no local members on that host group and stops forwarding any multicast datagrams with that destination host group.


[Back: Address Resolution Protocol (ARP)]
[Next: Getting Started with Sockets in the Internet Domain]