IGMP (Internet Group Management Protocol) allows hosts to dynamically join multicast groups and routers to manage delivery of multicast data packets. IGMP version 1 uses query and report messages between routers and hosts to discover which hosts belong to which multicast groups on local networks. Version 2 and 3 added new message types and formats to more efficiently manage group membership and enhance security.
2. IGMP Multicast data-gram received by a host is to be delivered one or more processes Hosts may belong to many networks Routers have to know registered hosts for delivery of data-gram Hosts can dynamically join or leave the host group IGMP efficiently manages above operations
3. IGMP v4 ver 1 Type : 1 query by multicast router : 2 response sent by host In a query group address is 0 In a report group address set to class D address 16 bit checksum Unused 8 bit 4-bit IGMP type 4-bit IGMP ver 32 bit class D group address
4. IGMP v4 ver 1 protocol Multicast routers send Host Membership Query messages to discover which host groups have members on their attached local networks. Queries are addressed to the all-hosts group (address 224.0.0.1), and carry an IP TTL = 1. Hosts respond to a Query reporting each host group to which they belong on the network interface from which the Query was received. Host reports are delayed by D second interval instead of all occurring at once. In normal case, only one host report will be generated for each group present on the network, by the member host whose delay timer expires first.
5. IGMP v4 ver 1 protocol Multicast routers send Queries periodically If no host reports are received for a particular group after some number of Queries, the routers assume that that group has no local members When a host joins a new group, it should immediately transmit a host report for that group Host does not send a message on leaving a group
6. IGMP v4 ver 2 0x11 = Membership Query There are two sub-types of Membership Query messages: - General Query, used to learn which groups have members on an attached network. - Group-Specific Query, used to learn if a particular group has any members on an attached network. 0x16 = Version 2 Membership Report 0x17 = Leave Group There is an additional type of message, for backwards-compatibility with IGMPv1: 0x12 = Version 1 Membership Report 16 bit checksum 8 bit Max response time 4-bit IGMP type 4-bit IGMP ver 32 bit class D group address
7. IGMP v4 ver 3 0x11 Membership Query 0x22 Version 3 Membership Report 0x12 Version 1 Membership Report [RFC-1112] 0x16 Version 2 Membership Report [RFC-2236] 0x17 Version 2 Leave Group [RFC-2236] Separate formats for query and response General query of group membership Specific query of a particular group address membership Query for a set of group address membership More enhancements for efficiency and security