Internet Group Management Protocol

IGMP im TCP/IP-Protokollstapel
Internet IGMP
IP (IPv4)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI

Das Internet Group Management Protocol (IGMP) ist ein Netzwerkprotokoll der Internetprotokollfamilie und dient zur Organisation von Multicast-Gruppen. IGMP benutzt wie ICMP das Internet Protocol (IP) und ist Bestandteil von IP auf allen Hosts, die den Empfang von IP-Multicasts unterstützen.

Struktur von IGMP

Das Internet Group Management Protocol basiert auf dem Internet Protocol (IP) und ermöglicht IPv4-Multicasting (Gruppenkommunikation) im Internet. IP-Multicasting ist die Verteilung von IP-Paketen unter einer IP-Adresse an mehrere Stationen gleichzeitig. IGMP bietet die Möglichkeit, dynamisch Gruppen zu verwalten. Die Verwaltung findet nicht in der Sende-Station statt, sondern in den Routern, an denen Empfänger einer Multicast-Gruppe direkt angeschlossen sind. IGMP bietet Funktionen, mit denen eine Station einem Router mitteilt, dass sie Multicast-IP-Pakete einer bestimmten Multicast-Gruppe empfangen will. Multicast-Routing-Protokolle (DVMRP, MOSPF, PIM) übernehmen die Koordination der Übertragung zwischen den Routern. Der Sender von Multicast-IP-Paketen weiß dabei nicht, welche und wie viele Stationen seine Pakete empfangen, denn er verschickt nur ein einziges Datenpaket an seinen übergeordneten Router. Dieser dupliziert das IP-Paket bei Bedarf, wenn er mehrere ausgehende Schnittstellen mit Empfängern hat.

Für IPv6-Systeme findet das in ICMPv6 integrierte Multicast Listener Discovery (MLD) Verwendung, das in ähnlicher Weise wie IGMP arbeitet.

Es gibt drei Versionen von IGMP mit folgenden prinzipiellen Eigenschaften:

  • IGMPv1 Ein Host kann einer Multicast-Gruppe beitreten. Ein Abmelden ist hier nicht implementiert. Nach einem Timeout ist der Host wieder ausgetragen.
  • IGMPv2 Ein Host kann sich jetzt von der Multicast-Gruppe abmelden (Leave-Message implementiert). Damit können auch Multicasts mit großer Bandbreite behandelt werden.
  • IGMPv3 Hier kann nun vorgegeben werden, von welcher Quelle der Multicast-Stream gewünscht wird. Dies ist ein wesentlicher Sicherheitsaspekt, wenn auch nicht der optimale.

IGMP-Pakete (in Version 1 und Version 2) haben eine Größe von 64 Bit. Folgendes Format wird verwendet:

0 … 7 8 … 15 16 … 31
Typ maximale Antwortzeit Prüfsumme
Multicast-Gruppenadresse

Das Feld „maximale Antwortzeit“ ist nur für Typ 0x11 definiert, bei allen anderen Typen wird dieses Feld ignoriert.

Dabei können folgende Werte für den Typ angenommen werden:

Typ Adresse Bedeutung
0x11 ohne allgemeine Anfrage
0x11 mit gruppenspezifische Anfrage
0x12 mit IGMPv1 Mitgliedschaft anmelden/bestätigen
0x16 mit IGMPv2 Mitgliedschaft anmelden/bestätigen
0x17 mit IGMPv2 Mitgliedschaft beenden
0x22 mit IGMPv3 Mitgliedschaft anmelden/bestätigen/beenden

IGMP-Pakete werden, wie ICMP, in IP-Datagramme gekapselt und benutzen die IP-Protokollnummer 2. IGMP ist im OSI-Schichtenmodell also in der Vermittlungsschicht anzusiedeln.

  • RFC 1112 – Host Extensions for IP Multicasting. (englisch).
  • RFC 2236 – Internet Group Management Protocol, Version 2. (englisch).
  • RFC 3376 – Internet Group Management Protocol, Version 3. (englisch).
  • RFC 2933 – Internet Group Management Protocol MIB. (englisch).