What Is The Internet Group Management Protocol?
What Is The Internet Group Management Protocol?
Management Protocol
Since the great success of streaming services such as Netflix and Spotify, IP multicasting has become an indispensable
transmission method for the internet. This technical procedure enables the sender to send data streams to entire
receiver groups, enabling them to make optimum use of transport and routing capacities. Without this transmission
method, the sender would have to send separate data packets to each receiving device, which would require enormous
bandwidth and would quickly lead to an overload. This would make it practically impossible to keep the service
permanently available.
The Internet Group Management Protocol (IGMP) is a protocol that plays an important role in the organization of
these multicast receiver groups in IPv4 networks.
The basic task of IGMP is to manage dynamic groups for IP multicast transmissions, whereby this management doesn’t
run via the sending device itself, but via the integrated routers. On the one hand, these receive requests for inclusion
in a specific multicast group from the receiver devices (or from the respective subordinate router). On the other hand,
they forward IGMP messages to the appropriate parent router when they receive appropriate multicast data packets.
The sending station doesn’t receive any information about which end stations and how many a sent packet reaches,
since it only forwards a single data packet to its superordinate router.
Definition IGMP
IGMP (Internet Group Management Protocol) is a communication protocol of the internet protocol family (TCP/IP). It
was first specified in RFC 1112 in 1989 and is active on the network layer of the OSI model. IGMP is responsible for
organizing multicast groups that allow IP data streams to be sent to multiple recipients. This means that the Internet
Group Management Protocol is automatically implemented on all hosts that support IP multicasting.
For this purpose, the Internet Group Management Protocol offers functions that a station can use to inform the router
assigned to it that it is to be included in a multicast group. On the other hand, it enables the routers to remember
outgoing interfaces of those receiver devices that are to receive certain IP multicast data streams to be able to send
specific reports as soon as corresponding data is received. Multicast groups are characterized by their specific
addresses from the 224.0.0x range. In most cases, the first point of contact for a device is the home internet router,
which receives the membership application and forwards it to the next network node, typically the internet service
provider’s router. This communication chain ends with the router of the data stream transmitter, which in turn
duplicates the IP packet if required, if it has several outgoing interfaces to serve.
Note
If a second or additional terminal in a private network is to be added to the same multicast group, the internet router
can immediately grant the application for access, whereas data streams that have already been received are
forwarded directly. The data transmission only ends when the last of these devices has left the group.
All IGMP messages are transported in simple IP packets with the IP protocol number 2 (Hex: 0x02). The IGMP header of
the first protocol version looks like this:
The IGMP header has a total length of 64 bits. The first 8 bits always specify the protocol version IGMPv1 and the type
of message. There are two options for the field (type): “1” (for membership requests) and “2” (for notifications about
multicast data streams). Bits 8 to 15 follow, but they have no function and only consist of zeros. The first 32-bit block
ends with a checksum. If it is an IGMP notification package, the 32 bit-long group address will follow.
The original version of the protocol line itself does not specify which router should be used for multicast
queries (regulated by the Multicast Routing Protocol).
Another new feature of the second version of the communication protocol: you can determine the reception status for
a specific multicast address using group-specific messages.
IGMPv2 messages are also encapsulated in simple IP packets with IP protocol number 2. However, minor changes
have been made to the IGMP header.