Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Internet Group Management Protocol

From Wikipedia, the free encyclopedia
Protocol for establishing multicast group memberships on IPv4 networks
Not to be confused withICMP.
Internet protocol suite
Application layer
Transport layer
Internet layer
Link layer

TheInternet Group Management Protocol (IGMP) is acommunications protocol used byhosts and adjacentrouters onIPv4 networks to establish multicast group memberships. IGMP is an integral part ofIP multicast and allows the network to direct multicast transmissions only to hosts that have requested them.

IGMP can be used for one-to-many networking applications such as onlinestreaming video andgaming, and allows more efficient use of resources when supporting these types of applications.

IGMP is used onIPv4 networks. Multicast management onIPv6 networks is handled byMulticast Listener Discovery (MLD) which is a part ofICMPv6 in contrast to IGMP's bare IP encapsulation.

Architecture

[edit]

A network designed to deliver a multicast service using IGMP might use this basic architecture:

IGMP operates between a host and a local multicast router.Switches featuringIGMP snooping also derive useful information by observing these IGMP transactions.Protocol Independent Multicast (PIM) is then used between the local and remote multicast routers to direct multicast traffic from hosts sending multicasts to hosts that have registered through IGMP to receive them.

IGMP operates on thenetwork layer (layer 3), just the same as other network management protocols likeICMP.[1]

The IGMP protocol is implemented on hosts and withinrouters. A host requests membership to a group through its local router while a router listens for these requests and periodically sends out subscription queries. A single router per subnet is elected to perform this querying function. Somemultilayer switches include an IGMP querier capability to allow their IGMP snooping features to work in the absence of an IGMP-capable router in the layer 2 network.

IGMP is vulnerable to some attacks,[2][3][4][5] and firewalls commonly allow the user to disable it if not needed.

Versions

[edit]

There are three versions of IGMP.[6]IGMPv1 was defined in 1989.[7] IGMPv2, defined in 1997,[8] improves IGMPv1 by adding the ability for a host to signal a desire to leave a multicast group.

In 2002, IGMPv3 improved IGMPv2 by supportingsource-specific multicast[9] and introduces membership report aggregation.[10] The support for source-specific multicast was improved in 2006.[11]

The three versions of IGMP are backward compatible. A router supporting IGMPv3 can support clients running IGMPv1, IGMPv2, and IGMPv3. IGMPv1 uses a query-response model. Queries are sent to224.0.0.1. Membership reports are sent to the group's multicast address. IGMPv2 accelerates the process of leaving a group and adjusts other timeouts. Leave-group messages are sent to224.0.0.2. A group-specific query is introduced. Group-specific queries are sent to the group's multicast address. A means for routers to select an IGMP querier for the network is introduced. IGMPv3 introducessource-specific multicast capability. Membership reports are sent to224.0.0.22.

Messages

[edit]

There are several types of IGMP messages:

General membership queries
Sent by multicast routers to determine which multicast addresses are of interest to systems attached to the network(s) they serve to refresh the group membership state for all systems on its network.
Group-specific membership queries
Used for determining the reception state for a particular multicast address.
Group-and-source-specific queries
Allow the router to determine if any systems desire reception of messages sent to a multicast group from a source address specified in a list of unicast addresses.
Membership reports
Sent by multicast receivers in response to a membership query or asynchronously when first registering for a multicast group.
Leave group messages
Sent by multicast receivers when specified multicast transmissions are no longer needed at the receiver.

IGMP messages are carried in bare IP packets withIP protocol number 2.[10]: §4  Similar to theInternet Control Message Protocol, there is notransport layer used with IGMP messaging.

IGMPv2 messages

[edit]
IGMPv2 packet structure[8]: §2 
OffsetOctet0123
OctetBit012345678910111213141516171819202122232425262728293031
00TypeMaximum Response TimeChecksum
432Group Address
Type: 8 bits
Indicates the message type as follows:
MessageType value
Membership Query0x11
IGMPv1 Membership Report0x12
IGMPv2 Membership Report0x16
IGMPv3 Membership Report0x22
Leave Group0x17
Maximum Response Time: 8 bits
Specifies the required responsiveness of replies to a Membership Query (0x11). This field is meaningful only in Membership Query; in other messages, it is set to 0 and ignored by the receiver. The field specifies time in units of 0.1 second (a field value of 10 specifies 1 second). Larger values reduce IGMP traffic burstiness and smaller values improve protocol responsiveness when the last host leaves a group.[8]: §2.2 
Checksum: 16 bits
This is the 16-bitones' complement of the ones' complement sum of the entire IGMP message. Computed before sending, with this field set to zero. When re-computed on reception of the packet, this field is included, and the result should be zero.
Group Address: 32 bits
This is the multicast address being queried when sending a Group-Specific or Group-and-Source-Specific Query. The field is zeroed when sending a General Query.
The message is sent to the following IPmulticast addresses:[8]: §9 
Message typeMulticast address
General QueryAll hosts (224.0.0.1)
Group-Specific QueryThe group being queried
Membership Report (all IGMP versions)The group being reported
Leave GroupAll routers (224.0.0.2)

IGMPv3 membership query

[edit]
IGMPv3 membership query[10]: §4.1 
OffsetOctet0123
OctetBit012345678910111213141516171819202122232425262728293031
00Type (0x11)Maximum Response CodeChecksum
432Group Address
864ReservedSQRVQQICNumber of Sources (N)
1296Source Address[1]
16128Source Address[2]
8+4n{\displaystyle 8+4n}64+32n{\displaystyle 64+32n}Source Address[n]
Type: 8 bits
Indicates the type of the packet. A value of0x11 indicatesIGMPv3 Membership Query.
Maximum Response Code: 8 bits
This field is used to compute the Maximum Response Time (in 1/10 second increments) allowed before sending a responding report. If the number is below 128, the value is used directly. If the value is 128 or more, it is interpreted as an exponent and mantissa.
Checksum: 16 bits
This is the 16-bitones' complement of the ones' complement sum of the entire IGMP message. Computed before sending, with this field set to zero. When re-computed on reception of the packet, this field is included, and the result should be zero.
Group Address: 32 bits
This is themulticast address being queried when sending a Group-Specific or Group-and-Source-Specific Query. The field is zeroed when sending a General Query.
Reserved: 4 bits
This field is reserved. It should be zeroed when sent and ignored when received.
Suppress Router-side Processing (S): 1 bit
When this flag is set, it indicates to receiving routers that they are to suppress the normal timer updates.
Querier's Robustness Variable (QRV): 3 bits
If this is non-zero, it contains the Robustness Variable value used by the sender of the query. Routers should update their Robustness Variable to match the most recently received query unless the value is zero. QRV sets tolerance for packet loss, allowing up to QRV - 1 lost packets. Zero is invalid, one is discouraged; default is 2.
Querier's Query Interval Code (QQIC): 8 bits
This code is used to specify the Query Interval value (in seconds) used by the querier. If the number is below 128, the value is used directly. If the value is 128 or more, it is interpreted as an exponent and mantissa.
Number of Sources (N): 16 bits
This field specifies the number of source addresses present in the query. For General and Group-Specific Queries, this value is zero. For Group-and-Source-Specific Queries, this value is non-zero, but limited by the network's MTU.
Source Address [i]: 32 bits
The Source Address [i] fields are a vector ofn IP unicast addresses, wheren is the value in the Number of Sources (N) field.

Implementations

[edit]

FreeBSD,[note 1]Linux[note 2] andWindows all support IGMP on the host side.

See also

[edit]

Notes

[edit]
  1. ^IGMPv3 was added to FreeBSD in version 8.0.
  2. ^IGMPv3 was added in the Linux 2.5 kernel series.

References

[edit]
  1. ^Forouzan, Behrouz A. (2012).Data Communications and Networking (5th ed.). New York, NY: McGraw-Hill. p. 658.ISBN 978-0073376226.
  2. ^SpoofedIGMP report denial of service vulnerability.
  3. ^"Fragmented IGMP Packet May Promote "Denial of Service" Attack". Dec 20, 2004. Archived fromthe original on 2005-02-13.
  4. ^IGMP Security Problem Statement and RequirementsArchived 2006-10-13 at theWayback Machine.
  5. ^"Vulnerability in TCP/IP Could Allow Denial of Service (MS06-007, 913446))".Microsoft. February 14, 2006. Archived fromthe original on 2007-02-05.
  6. ^IP Multicast Routing Configuration Guide,Cisco, pp. 25–28, retrieved2017-05-27
  7. ^S. Deering (August 1989).Host Extensions for IP Multicasting. Network Working Group.doi:10.17487/RFC1112. STD 5. RFC1112.Internet Standard 5. ObsoletesRFC 988 and1054. Updated byRFC 2236.
  8. ^abcdW. Fenner (November 1997).Internet Group Management Protocol, Version 2. Network Working Group.doi:10.17487/RFC2236.RFC2236.Proposed Standard. UpdatesRFC 1112. Updated byRFC 3376 and9776.
  9. ^"Internet Group Management Protocol Overview". Javvin. Archived fromthe original on 2010-11-10. Retrieved2010-11-18.
  10. ^abcB. Cain;S. Deering; I. Kouvelas; B. Fenner; A. Thyagarajan (October 2002).Internet Group Management Protocol, Version 3. Network Working Group.doi:10.17487/RFC3376.RFC3376.Obsolete. Obsoleted byRFC 9776. UpdatesRFC 2236. Updated byRFC 4604.
  11. ^H. Holbrook; B. Cain; B. Haberman (August 2006).Using Internet Group Management Protocol Version 3 (IGMPv3) and Multicast Listener Discovery Protocol Version 2 (MLDv2) for Source-Specific Multicast. Network Working Group.doi:10.17487/RFC4604.RFC4604.Proposed Standard. UpdatesRFC 3376 and3810.
Authority control databasesEdit this at Wikidata
Retrieved from "https://en.wikipedia.org/w/index.php?title=Internet_Group_Management_Protocol&oldid=1323893377"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp