ArticleslgStudy

computer science

Internet Group Management Protocol

Internet Group Management Protocol is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Internet Group Management Protocol rather than just read about it. In short: The Internet Group Management Protocol (IGMP) is a communications protocol used by hosts and adjacent routers on IPv4 networks to establish multicast group memberships. IGMP is an integral part of IP multicast and allows the network to direct multicast transmissions only to hosts that have requested them.

Internet Group Management Protocol — main illustration
Internet Group Management Protocol — illustration

Key takeaways

  • Internet Group Management Protocol belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Internet Group Management Protocol to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Internet Group Management Protocol from memory before moving on to harder problems.

Reference excerpt

The Internet Group Management Protocol (IGMP) is a communications protocol used by hosts and adjacent routers on IPv4 networks to establish multicast group memberships. IGMP is an integral part of IP 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 online streaming video and gaming, and allows more efficient use of resources when supporting these types of applications. IGMP is used on IPv4 networks. Multicast management on IPv6 networks is handled by Multicast Listener Discovery (MLD) which is a part of ICMPv6 in contrast to IGMP's bare IP encapsulation.

Architecture 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 featuring IGMP 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 the network layer (layer 3), just the same as other network management protocols like ICMP. The IGMP protocol is implemented on hosts and within routers. 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. Some multilayer 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, and firewalls commonly allow the user to disable it if not needed.

Versions There are three versions of IGMP. IGMPv1 was defined in 1989. IGMPv2, defined in 1997, improves IGMPv1 by adding the ability for a host to signal a desire to leave a multicast group. In 2002, IGMPv3 improved IGMPv2 by supporting source-specific multicast and introduces membership report aggregation. The support for source-specific multicast was improved in 2006. 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 to 224.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 to 224.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 introduces source-specific multicast capability. Membership reports are sent to 224.0.0.22.

Messages 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 with IP protocol number 2. Similar to the Internet Control Message Protocol, there is no transport layer used with IGMP messaging.

IGMPv2 messages

Type: 8 bits Indicates the message type as follows:

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. Checksum: 16 bits This is the 16-bit ones' 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 IP multicast addresses:

IGMPv3 membership query

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Internet Group Management Protocol

Start with the simplest possible case. Write down what Internet Group Management Protocol claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Internet Group Management Protocol before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Internet Group Management Protocol ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Internet Group Management Protocol

In research
Internet Group Management Protocol appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Internet Group Management Protocol in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Internet Group Management Protocol is common in secondary-school and first-year university syllabi. It links to neighbouring topics Internet Standards, Internet layer protocols, Internet protocols, so understanding it makes those chapters shorter.
In everyday life
Look for Internet Group Management Protocol outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Internet Group Management Protocol in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Internet Group Management Protocol means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Internet Group Management Protocol out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Internet Group Management Protocol in simple terms?

The Internet Group Management Protocol (IGMP) is a communications protocol used by hosts and adjacent routers on IPv4 networks to establish multicast group memberships. IGMP is an integral part of IP multicast and allows the network to direct multicast transmissions only to hosts that have requeste…

Why does Internet Group Management Protocol matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Internet Group Management Protocol?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Internet Group Management Protocol.

Tags

  • Internet Standards
  • Internet layer protocols
  • Internet protocols
  • Network layer protocols

Keep exploring