Email This Page
IGMP: Internet Group Management Protocol Overview
(IGMPv1, IGMPv2 and IGMPv3)
Internet Group management protocol (IGMP), a multicasting protocol in the internet protocols family, is used by IP hosts to report their host group memberships to any immediately neighboring multicast routers. IGMP messages are encapsulated in IP datagrams, with an IP protocol number of 2. IGMP has versions IGMP v1, v2 and v3.
- IGMPv1: Hosts can join multicast groups. There were no leave messages. Routers were using a time-out based mechanism to discover the groups that are of no interest to the members.
- IGMPv2: Leave messages were added to the protocol. Allow group membership termination to be quickly reported to the routing protocol, which is important for high-bandwidth multicast groups and/or subnets with highly volatile group membership.
- IGMPv3: Major revision of the protocol. It allows hosts to specify the list of hosts from which they want to receive traffic from. Traffic from other hosts is blocked inside the network. It also allows hosts to block inside the network packets that come from sources that sent unwanted traffic.
The variant protocols of IGMP are:
- DVMRP: Distance Vector Multicast Routing Protocol.
- IGAP: IGMP for user Authentication Protocol.
- RGMP: Router-port Group Management Protocol.
Protocol Structure -IGMP (Internet Group Management Protocol) There are basically 5 types of messages in the IGMP that must be implemented in IGMP for the IGMP v3 functional properly and be compatible with previous versions:
- 0x11: membership query
- 0x22: version 3 membership report
- 0x12: version 1 membership report
- 0x16: version 2 membership report
- 0x17 version 2 leave group
As an example, the message format for 0x11 (membership query) is displayed as follows:
|
8 |
16 |
32 bit |
|
Type |
Max response time |
Checksum |
|
Group address |
|
RSV |
S |
QRV |
QQIC |
Number of Source |
|
Source Address (1) |
|
... |
|
Source Address (N) |
-
Type -- The message type: 0x11 (Membership query).
- Max Response Time -- Used only in Membership query messages. Specifies the maximum time allowed before sending a responding report in units of 1/10 second. In all other messages, it is set to 0 by the sender and ignored by the receiver.
- Checksum -- The checksum for messages errors
- Group Address -- The Group address is set to 0 when sending a general query. It is set to the group address being queried, when sending a group specific query or group-and-source-specific query. In a membership report of a leave group message, it holds the IP multicast group address of the group being reported or left.
- RSV - Reserved; Set to zero on transmission, and ignored on reception.
- QQIC - Querier's Query Interval Code
- Number of Source (N) -- The number of source addresses in this message.
- Source Address - the vector of the IP unicast address.
- Group Record -- A block of fields containing information about the sender's membership in a single multicast group, on the interface from which the report is sent.
The details of other message types can be found in the reference RFC 1112, 2236 and 3376.
Related Protocols
IP , TCP , DVMRP , IGAP, RGMP
Sponsor Source
IGMP is defined by IETF (http://www.ietf.org ) in RFC1112 and RFC2236, and RFC3376.
Reference
http://www.javvin.com/protocol/rfc1112.pdf : IGMP version 1 (IGMPv1) specification
http://www.javvin.com/protocol/rfc2236.pdf : IGMP version 2 (IGMPv2) specification
http://www.javvin.com/protocol/rfc3376.pdf : IGMP version 3 (IGMPv3) specification |