Internet Group Management Protocol

From Wikipedia, the free encyclopedia

The Internet Group Management Protocol (IGMP) is a communications protocol used to manage the membership of Internet Protocol multicast groups. IGMP is used by IP hosts and adjacent multicast routers to establish multicast group memberships.

It is an integral part of the IP multicast specification, operating above the network layer, though it doesn't actually act as a transport protocol[1]. It is analogous to ICMP for unicast connections. IGMP can be used for online streaming video and gaming, and allows more efficient use of resources when supporting these types of applications. IGMP does allow some attacks[2] [3] [4] [5], and firewalls commonly allow the user to disable it if not needed.

Contents

[edit] Architecture

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

IGMP architecture

IGMP is used both by the client computer and the adjacent network switches to connect the client to a local multicast router. Protocol Independent Multicast (PIM) is then used between the local and remote multicast routers, to direct multicast traffic from the video server to many multicast clients.

[edit] Standards

There are three versions of IGMP, as defined by "Request for Comments" (RFC) documents of the Internet Engineering Task Force (IETF). IGMP v1 is defined by RFC 1112, IGMP v2 is defined by RFC 2236 and IGMP v3 is defined by RFC 3376.

[edit] Host and router implementations

The IGMP protocol is implemented as a host side and a router side. A host side reports its membership of a group to its local router, and a router side listens to reports from hosts and periodically sends out queries.

The Linux operating system supports IGMP. The Linux kernel at the core of the operating system only implements IGMP as host side, not router side, however a daemon such as mrouted can be used to act as a IGMP Linux router. There are also entire routing suites (such as XORP), which turn an ordinary computer into a full-fledged multicast router.

[edit] See also

[edit] References

[edit] External links