Internet Group Management Protocol (IGMP) is the protocol that enables a host to send one stream of data to many other hosts simultaneously. While most TCP/IP connections only allow a host to send data to another host or to all hosts via broadcast, IGMP allows multiple sharing by directing packets to reserved IP address and all other hosts decide to listen to these address. The host should request to access the reserved IP address or the multicast address. The following are some of the uses of IGMP: exchanging data information exchanging routing tables, exchanging databases such as Windows Internet Naming Service (WINS) and moving streams of data to many hosts.
With the use of IGMP, the routers and hosts communicate group information over the network. One important precaution to prevent IGMP messages from clogging the network is the accuracy of group information needed for efficient transmission of multicast datagram. These messages are Host Membership Query and Host Membership Report which are also referred to as query and report messages.
Host membership report is sent when a host joins the multicast and declares membership to the specific host group. This message is also sent as a response to IGMP membership query from the router. On the other hand, host membership query is used by a multicast router to poll the network and its members. Via host membership query message, the router can determine if the host members are interested in receiving multicast traffic from a list of sources previously identified.
The figure below shows the basic architecture of IGMP during a multicast. The protocol is implemented between the local multicast router and the network switch and from the network switch to the video client.
Figure above Internet Group Management Protocol (IGMP) Basic Architecture
IGMP can also be used in sending streaming audio and video in case the data needs to go from one source to more than one receiver. By using IGMP, the data is streamed via a multicast address rather than address and track each packet to every host. Hence, the recipients can receive and can listen to the audio and video at that address. In multicasting, the basic architecture of IGMP is composed of the following: video server, router 1, a local multicast router, network switch, and finally, the video client.
The initial exchange happens when a host joins the new multicast group and sends an IGMP message to the reserved IP address known as the multicast address; thus declaring its membership to the group. The local multicast router then receives the message, establish the necessary routing and transferring the membership information to other multicast routers throughout the Internet. In the second phase, local multicast routers poll hosts in the local network to determine if all hosts will remain members of the group. In the case that no membership host membership is confirmed, the multicast router will assume that none of the hosts continued membership in that specific group and shall stop advertising further group membership to other multicast routers. In the process, IGMP also permits applications on a host to install source address filter from the given source address. These filters are necessary to filter specifications to the local router with the membership information. In cases of disagreement between two applications, the software on the hosts rationalizes the two specifications and decides about which application shall receive the local datagram.