Zuletzt aktualisiert am 06.12.2025 6 Minuten Lesezeit

IGMP

Das Internet Group Management Protocol (IGMP) ist ein Netzwerkprotokoll, das die Verwaltung von Multicast-Gruppenmitgliedschaften in IPv4-Netzwerken ermöglicht. Es arbeitet auf Schicht 3 des OSI-Modells und ist in mehreren RFCs standardisiert: RFC 1112 (IGMPv1), RFC 2236 (IGMPv2) und RFC 3376 (IGMPv3).

Im Gegensatz zu Unicast, bei dem Daten von einem Sender zu genau einem Empfänger übertragen werden, ermöglicht Multicast die gleichzeitige Übertragung an eine Gruppe von Empfängern. IGMP sorgt dafür, dass Router wissen, welche Hosts in ihrem Netzwerk an welchen Multicast-Gruppen interessiert sind. So werden Datenströme nur dorthin weitergeleitet, wo sie tatsächlich benötigt werden.

Was ist Multicast und warum braucht man IGMP?

Stell dir vor, ein Unternehmen möchte eine Live-Videokonferenz an 100 Mitarbeiter gleichzeitig streamen. Bei Unicast müsste der Server 100 separate Datenströme senden, was die Netzwerkbandbreite enorm belastet. Bei Broadcast würden die Daten an alle Geräte im Netzwerk gesendet, auch an jene, die gar nicht teilnehmen möchten.

Multicast löst dieses Problem elegant: Der Server sendet die Daten nur einmal, und das Netzwerk verteilt sie an alle interessierten Empfänger. IGMP ist dabei das Protokoll, mit dem Hosts ihren Routern mitteilen, welche Multicast-Gruppen sie empfangen möchten. Ohne IGMP wüssten Router nicht, wohin sie Multicast-Daten weiterleiten sollen.

Funktionsweise von IGMP

IGMP basiert auf einem einfachen Prinzip: Hosts melden sich bei Multicast-Gruppen an (Join) und wieder ab (Leave). Router führen Buch darüber, welche Gruppen in ihrem Netzwerksegment aktive Mitglieder haben.

Beitritt zu einer Multicast-Gruppe (Join)

Wenn ein Host einer Multicast-Gruppe beitreten möchte, sendet er eine IGMP Membership Report-Nachricht. Diese wird an die Multicast-Gruppenadresse gesendet, der der Host beitreten möchte. Der lokale Router empfängt diese Nachricht und aktualisiert seine Multicast-Routing-Tabelle. Ab diesem Zeitpunkt leitet er den Verkehr für diese Gruppe an das entsprechende Netzwerksegment weiter.

Verlassen einer Multicast-Gruppe (Leave)

Ab IGMPv2 können Hosts aktiv mitteilen, dass sie eine Gruppe verlassen. Der Host sendet eine IGMP Leave Group-Nachricht an die All-Router-Adresse 224.0.0.2. Der Router prüft dann mit einer Group-Specific Query, ob noch weitere Mitglieder in dieser Gruppe sind. Antwortet niemand, stellt der Router die Weiterleitung für diese Gruppe ein.

Regelmäßige Abfragen (Queries)

Router senden in regelmäßigen Abständen (typischerweise alle 60 Sekunden) IGMP Membership Query-Nachrichten an die All-Hosts-Adresse 224.0.0.1. Alle Hosts, die Mitglied einer Multicast-Gruppe sind, antworten mit einem Membership Report. So bleiben die Gruppenmitgliedschaften aktuell, auch wenn ein Host abstürzt, ohne sich ordnungsgemäß abzumelden.

IGMP-Nachrichtentypen

IGMP verwendet verschiedene Nachrichtentypen, um die Kommunikation zwischen Hosts und Routern zu organisieren. Die wichtigsten sind:

Nachrichtentyp Typ-Code Sender Beschreibung
Membership Query 0x11 Router Fragt nach aktiven Gruppenmitgliedern
Membership Report (v1) 0x12 Host Meldet Gruppenmitgliedschaft (IGMPv1)
Membership Report (v2) 0x16 Host Meldet Gruppenmitgliedschaft (IGMPv2)
Leave Group 0x17 Host Meldet Austritt aus einer Gruppe
Membership Report (v3) 0x22 Host Erweiterter Report mit Source Filtering

IGMP-Versionen im Vergleich

Seit der ersten Spezifikation hat sich IGMP erheblich weiterentwickelt. Jede Version brachte wichtige Verbesserungen für die Effizienz und Funktionalität des Protokolls.

IGMPv1

Die erste Version wurde 1989 in RFC 1112 spezifiziert. Sie bot grundlegende Funktionen zum Beitreten von Multicast-Gruppen, hatte aber keine Möglichkeit, eine Gruppe aktiv zu verlassen. Hosts mussten warten, bis der Router die Mitgliedschaft durch fehlende Antworten auf Queries bemerkte. Dies konnte zu Verzögerungen von mehreren Minuten führen.

IGMPv2

Die 1997 veröffentlichte Version 2 (RFC 2236) führte die Leave-Nachricht ein. Damit können Hosts aktiv signalisieren, dass sie eine Gruppe verlassen. Außerdem wurde ein Mechanismus zur Wahl des Querier-Routers eingeführt: In Netzwerken mit mehreren Routern übernimmt derjenige mit der niedrigsten IP-Adresse die Query-Funktion.

IGMPv3

Die aktuelle Version 3 (RFC 3376) aus dem Jahr 2002 brachte Source Filtering. Hosts können nun angeben, von welchen Quell-IP-Adressen sie Multicast-Daten empfangen möchten (Include-Modus) oder explizit ausschließen möchten (Exclude-Modus). Diese Funktion ermöglicht Source-Specific Multicast (SSM), was besonders für IPTV-Anwendungen wichtig ist.

Feature IGMPv1 IGMPv2 IGMPv3
Leave-Nachricht Nein Ja Ja
Querier-Wahl Nein Ja Ja
Source Filtering Nein Nein Ja
Max. Antwortzeit Fest Variabel Variabel

In modernen Netzwerken wird überwiegend IGMPv2 oder IGMPv3 eingesetzt. Die Versionen sind abwärtskompatibel, sodass Router mit älteren Hosts kommunizieren können.

Multicast-Adressen

Multicast-Adressen gehören zur Klasse D des IPv4-Adressraums und reichen von 224.0.0.0 bis 239.255.255.255. Die IANA verwaltet die Zuweisung dieser Adressen.

Einige Adressen sind für spezielle Zwecke reserviert:

  • 224.0.0.1 - Alle Hosts im lokalen Subnetz
  • 224.0.0.2 - Alle Router im lokalen Subnetz
  • 224.0.0.22 - IGMP (für IGMPv3-Reports)
  • 224.0.0.251 - mDNS (Multicast DNS)
  • 239.0.0.0 - 239.255.255.255 - Administrativ begrenzte Adressen (für lokale Verwendung)

IGMP Snooping

Während IGMP primär zwischen Hosts und Routern arbeitet, gibt es auch eine wichtige Funktion auf Switches: IGMP Snooping. Ohne diese Funktion würden Switches Multicast-Verkehr wie Broadcast behandeln und an alle Ports weiterleiten.

Bei aktiviertem IGMP Snooping analysiert der Switch die IGMP-Nachrichten und merkt sich, an welchen Ports Hosts Mitglied welcher Multicast-Gruppen sind. Multicast-Daten werden dann nur an die relevanten Ports weitergeleitet. Das spart Bandbreite und entlastet Hosts, die den Multicast-Verkehr nicht benötigen.

In VLAN-Umgebungen muss IGMP Snooping pro VLAN konfiguriert werden, da Multicast-Gruppen VLAN-spezifisch sind.

Typische Einsatzgebiete

IGMP und Multicast werden überall dort eingesetzt, wo dieselben Daten an viele Empfänger gleichzeitig übertragen werden müssen:

  • IPTV und Video-Streaming: Fernsehsender werden als Multicast-Streams übertragen. Jeder Kanal entspricht einer Multicast-Gruppe.
  • Videokonferenzen: Teilnehmer einer Konferenz empfangen Video und Audio über Multicast.
  • Softwareverteilung: Updates können gleichzeitig an viele Clients verteilt werden.
  • Börsenticker: Finanzinstitute nutzen Multicast für Echtzeit-Kursdaten.
  • Online-Gaming: Spielstatus-Updates werden an alle Spieler im selben Spiel gesendet.

IGMP im Zusammenspiel mit PIM

IGMP regelt die Kommunikation zwischen Hosts und dem lokalen Router. Für die Weiterleitung von Multicast-Daten zwischen verschiedenen Netzwerken kommt PIM (Protocol Independent Multicast) zum Einsatz.

PIM nutzt die IGMP-Informationen, um Multicast-Verteilungsbäume aufzubauen. Es gibt verschiedene PIM-Modi: PIM-SM (Sparse Mode) für weit verteilte Empfänger und PIM-DM (Dense Mode) für Netzwerke mit vielen Empfängern. Die Kombination aus IGMP und PIM ermöglicht effizientes Multicast-Routing über komplexe Netzwerktopologien.

Diagnose und Troubleshooting

Bei Problemen mit Multicast-Anwendungen ist es hilfreich, die IGMP-Konfiguration zu überprüfen. Die folgenden Befehle zeigen die aktuellen Multicast-Gruppenmitgliedschaften:

Windows

netsh interface ip show joins

Linux

ip maddr show

Diese Befehle zeigen, welchen Multicast-Gruppen das System aktuell angehört. Bei Netzwerkproblemen solltest du auch prüfen, ob IGMP Snooping auf den Switches korrekt konfiguriert ist und ob Firewalls IGMP-Pakete (IP-Protokoll 2) durchlassen.

IGMP vs. MLD

IGMP ist ausschließlich für IPv4 konzipiert. Für IPv6-Netzwerke wurde ein äquivalentes Protokoll entwickelt: MLD (Multicast Listener Discovery). MLD ist Teil von ICMPv6 und funktioniert nach dem gleichen Prinzip wie IGMP. MLDv1 entspricht funktional IGMPv2, MLDv2 entspricht IGMPv3.

Quellen und weiterführende Links