Internet Group Management Protocol
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.
Verwendung
[Bearbeiten | Quelltext bearbeiten]![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/19/IGMP_LAN.svg/220px-IGMP_LAN.svg.png)
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.
Paketformat
[Bearbeiten | Quelltext bearbeiten]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.