IGMP – Internet Group Mamagement Protocol
Es ist ein Netzwerkprotokoll und dient zur Organisation von Multicast-Gruppen. IGMP benutzt das Internet Protocol (IP) und ist auch integraler Bestandteil von IP auf allen Hosts, die den Empfang von IP-Multicasts unterstützen. IGMP findet Anwendung im Mbone, einem Internet-Broadcast-System, das Rundfunk-Programme (Web-Radio, Streaming) über das Internet überträgt.
IP-Multicasting
Beim IP-Multicating wird zwar an eine einzelne Adresse gesendet, aber die Verarbeitung erfolgt durch mehrere Server. IP-Multicasting funktioniert ähnlich wie das Abonnieren eines Newsletters. Wie dort der veröffentlichte Newsletter ausschließlich den Teilnehmern zugestellt wird, so kann hier der IP-Datenverkehr, der an die für die Multicastgruppe reservierte IP-Adresse gesendet wird, nur von Hostcomputern in dieser Gruppe empfangen und verarbeitet werden. Als Multicastgruppe wird eine Gruppe von Hosts bezeichnet, die gemeinsam eine bestimmte IP-Multicastadresse verwenden.
Beim IP-Multicasting gibt es noch andere wichtige Aspekte:
· Die Gruppenmitgliedschaft ist dynamisch. Hosts können also einer Gruppe zu einem beliebigen Zeitpunkt beitreten oder sie wieder verlassen.
· Der Beitritt zu einer Multicastgruppe erfordert, dass die Hosts IGMP-Nachrichten senden.
· Die zulässige Größe der Gruppen unterliegt keiner Beschränkung, und die Mitglieder können über mehrere IP-Netzwerke verteilt sein (wenn die Übermittlung von IP-Multicastdatenverkehr und die Gruppenzughörigkeit betreffenden Informationen durch Routerverbindungen unterstützt wird).
· IP-Datenverkehr kann von einem Host an die IP-Adresse der Gruppe gesendet werden, ohne dass es sich beim sendenden Host um ein Mitglied der betreffenden Gruppe handeln muss.
Verwendung
Das IGMP basiert auf dem IP und ermöglicht IP-Multicasting (Gruppenkommunikation) im Internet. Die Verteilung von IP-Paketen unter einer IP-Adresse an mehrere Stationen gleichzeitig ist die Bezeichnung für IP-Multicasting. Es wird die Möglichkeit der dynamischen Gruppenverwaltung geboten. So findet die Verwaltung in den Routern, an denen Empfänger einer Multicast-Gruppe direkt angeschlossen sind und nicht in der Sende-Station statt. IGMP bietet Funktionen, mit denen eine Station einem Router mitteilt, dass sie Multicast-IP-Pakete einer bestimmten Multicast-Gruppe empfangen will. Diese Multicast-Routing-Protokolle (DVMRP, MOSPF, PIM) übernehmen die Koordination der Übertragung zwischen den Routern. Welche und wie viele Stationen Pakete empfangen, weiß der Sender von Multicast-IP-Paketen jedoch nicht, da nur ein einziges Datenpaket an einen übergeordneten Router verschickt wird. Bei Bedarf wird das IP-Paket dupliziert, wenn von mehreren Schnittstellen ausgegangen wird.
Vom IGMP gibt es drei Versionen:
· IGMP V1: Host kann zu einer MC Gruppe beitreten, ein Abmelden ist hier nicht implementiert. Nach einem Time Out ist der Host wieder ausgetragen.
- IGMP V2: Host kann sich jetzt von der MC Gruppe abmelden (Leave Message implementiert). Damit können auch Multicasts mit großer Bandbreite behandelt werden.
- IGMP V3: Hier kann nun vorgegeben werden von welcher Quelle der Multicast-Stream gewünscht wird. Dies ist ein wesentlicher Sicherheitsaspekt, wenn auch nicht der optimale.
Aufbau des IGMP-Headers
Es wird der Standard-Header zur Übertragung von IGMP-Meldungen verwendet. Das Feld Type-of-Service wird auf „0000“ gesetzt, das Feld Protokoll wird auf „0002“ (=IGMP) gesetzt. Da IGMP-Meldungen nur zwischen direkt miteinander verbundenen Netzwerk-Stationen ausgetauscht werden, wird der TTL-Wert auf 1 gesetzt. So wird sichergestellt, dass ein Router ohne IGMP die IGMP-Pakete nicht weiter leitet. Das Optionsfeld teilt dem Router mit, dass das Paket ausgewertet werden muss. Der Datenbereich ist gleich der IGMP-Bereich, in dem sich die Felder IGMP-Typ (Meldungstyp), Max. Response Time (maximale Antwortzeit), die IGMP-Check-Summe und das Feld Multicast-IP-Adresse (Gruppenadresse) befinden.