What is IGMP (Internet Group Management Protocol)?

IGMP (Internet Group Management Protocol) works by local multicast between computers and routers, and a router sends transmissions directed to a specific multicast group to a computer.

What is IGMP (Internet Group Management Protocol)?

What is IGMP?

The IGMP standard, developed at Stanford University, was first defined in 1989 for the use of multicast in TCP/IP networks in RFC 1112. This document contains computer and address extensions and IGMP version 1 to support multicast IP computers.

IGMP version 2 is defined in RFC 2236. Both versions of IGMP provide information exchange and update functionality about the membership of computers in specific multicast groups. IGMP release 2 includes a new method to select the multicast functionality for a new group-specific request message type.

IGMP is used to exchange information about the status between IP routers that support multicast and members of multicast groups.

Computers report their membership in the multicast group, and multicast routers regularly query their membership status.

IGMP version 3 is defined in the RFC 3376 and RFC 4604 document, and IGMPv3 is automatically backward compatible with versions 1 and 2, as each version is always backward compatible.

IGMP is solely responsible for IPv4 networks, while a very similar protocol, MLD (Multicast Listener Discovery) is used in IPv6 networks.

The main task of this protocol is to manage dynamic groups for IP multicast data traffic. This broadcast traffic is done through integrated routers and receiving devices receive requests to join a particular multicast group. The devices that receive the data packets forward their IGMP messages to the integrated routers.

The device sending the data packet cannot receive any information about how many target devices a sent packet reaches.

How Does IGMP Work?

Managing groups via IGMP is not the responsibility of the packet sender. Receiving requests from computers to be included in a certain multicast group and informing the computers in case of data flows are carried out by routers on the network between the transmitter and the receiver.

Routers record the interfaces of devices that need to receive certain IP multicast data streams and send specific notifications as soon as relevant data is received.

Data traffic to multicast groups is sent with private IP addresses in the range 224.0.0.x.

Versions

   IGMPv1

IGMPv1 is the first developed and published version of the communication protocol used in TCP networks. For this version, the group address 0.0.0.0 has been defined, and 224.0.0.1 has been defined as the target address for general queries.

The standard time for these router-generated requests is 60 seconds and allows computers to join the appropriate multicast groups. Subsequently, membership requests are made to the appropriate multicast addresses.

IGMPv1 does not allow computers to leave groups on their own by exceeding a time limit, thereby removing computers from the groups it accesses.

The total length of the IGMP header is 64 bits and the first 8 bits indicate the protocol version and message type.

The IGMPv1 packet header is as follows:

IGMPv1 Packet Structure

   IGMPv2

IGMPv2 was defined in RFC 2236 in 1997 after the first version was released. In IGMPv2, group (0.0.0.0) and destination (224.0.0.1) addresses did not change, but the interval time was increased to 125 seconds.

The main innovation of the second version is to speed up the process by replacing the logoff time limit used in the first version with the logoff process initiated by a device. Another innovation is that the reception status of a particular multicast address is determined through group-specific messages.

In this version, the address 224.0.0.2 has been defined as the destination address. IGMPv2 sends messages with simple IP packets with IP protocol number 2.

In the IGMPv2 version, the router with the lowest IP address in the subnet is used for multicast queries.

The IGMPv2 packet header is as follows:

IGMPv2 Packet Structure

   IGMPv3

The IGMPv3 version was defined in RFC 3376 and RFC 4604 in 2002. In this version, 0.0.0.0 and 224.0.0.1 addresses are considered a group and destination addresses, and the interval time is the same as in version 2.

The new feature of this is that the multicast stream can be specially selected. This greatly reduces the demands on the network and also provides more security as unknown or random sources are not used during transmission.

The first two 32-bit sequences are the same as the IGMPv2 header type, maximum response time, checksum, and group addresses.

The IGMPv3 packet header is as follows:

IGMPv3 Packet Structure

Packet Structure Definitions

   Max Response Code

It specifies the maximum time allowed before a report is sent, and if the value is below 128, the value is used directly, if it is above 128 it is defined as exponent and mantissa.

   Checksum

The checksum value is the value of the 16-bit field and the 16-bit summation of all IGMP messages.

   Group Address

The group address value is the multicast address of queries specific to a particular group or a specific group or resource.

   Resv

Resv area is reserved and should be reset or ignored when received.

   S (Suppress Router-Side Processing) Flag

When the S value is specified, the receiving requires routers to receive regular timer updates.

   QRV (Querier’s Robustness Variable)

If the QRV value is not 0, it contains the value of Robustness Variable by the device that sent the query. Routers or other devices match the Robustness Variable variable to the last used query unless this value is zero.

   QQIC (Querier’s Query Interval Code)

The QQIC value is used to specify the Query Interval value, and if the number is below 128, the value is used directly or interpreted as exponent and mantissa.

   Number of Sources (N)

The N field indicates the number of source addresses in the query process. This value is zero for general and specific group queries, and for queries specific to a particular group and resource, this value may not be zero but is limited by the network’s MTU.

   Source Address

The source address field is a type of n unicast addresses.

   Related Articles


What is Token Ring?
IPX Protocol
SLIP Protocol
What is FDDI?
What is Frame Relay?

Add a Comment

Your email address will not be published. Required fields are marked *

error: