• Home
  • InfoBase
  • Dictionaries
  • Member
  • News
  • 中文网站
     Advanced Search
    Read the latest Blogs from IT professionals in the field. Read and write community created documents. Need IT help? Ask our staff. Connect with your peers. Check our Tech Shop for posters, books and software tools. Home

    IGMP: Internet Group Management protocol

    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

    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 bits 16 bits 32 bits
    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 C Reserved; Set to zero on transmission, and ignored on reception.
    • QQIC C Querier's Query Interval Code
    • Number of Source (N) -- The number of source addresses in this message.
    • Source Address C 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 Terms: 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