|
|
Zeile 19: |
Zeile 19: |
| ===== Weblinks ===== | | ===== Weblinks ===== |
|
| |
|
|
| |
| = TMP =
| |
| {| border="0" cellspacing="3" class="float-right"
| |
| |+ '''IGMP im [[TCP/IP-Referenzmodell|TCP/IP-Protokollstapel]]'''
| |
| |-----
| |
| | rowspan="2" align="center" bgcolor="#FFCC99" | '''Internet'''
| |
| | colspan="5" align="center" bgcolor="#9999FF" | '''IGMP'''
| |
| |-----
| |
| | colspan="5" align="center" bgcolor="#EEEEFF" | [[Internet Protocol|IP]] ([[IPv4]])
| |
| |-----
| |
| | rowspan="2" align="center" bgcolor="#FFEEBB" | ''Netzzugang''
| |
| | rowspan="2" align="center" bgcolor="#EEEEEE" | [[Ethernet]]
| |
| | rowspan="2" align="center" bgcolor="#EEEEEE" | [[Token Bus|Token<br />Bus]]
| |
| | rowspan="2" align="center" bgcolor="#EEEEEE" | [[Token Ring|Token<br />Ring]]
| |
| | rowspan="2" align="center" bgcolor="#EEEEEE" | [[Fiber Distributed Data Interface|FDDI]]
| |
| | rowspan="2" align="center" bgcolor="#EEEEEE" | …
| |
| |}
| |
| Das '''Internet Group Management Protocol''' ('''IGMP''') ist ein [[Netzwerkprotokoll]] der [[Internetprotokollfamilie]] und dient zur Organisation von [[Multicast]]-Gruppen. IGMP benutzt wie [[Internet Control Message Protocol|ICMP]] das [[Internet Protocol]] (IP) und ist Bestandteil von IP auf allen [[Host (Informationstechnik)|Hosts]], die den Empfang von IP-Multicasts unterstützen.
| |
|
| |
| == Verwendung ==
| |
| [[Datei:IGMP LAN.svg|thumb|right|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-Paket]]en unter einer [[IP-Adresse]] an mehrere Stationen gleichzeitig. IGMP bietet die Möglichkeit, dynamisch Gruppen zu verwalten. Die Verwaltung findet nicht in der [[Absender|Sende]]-Station statt, sondern in den [[Router]]n, an denen [[Empfänger (Information)|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 ([[Distance Vector Multicast Routing Protocol|DVMRP]], [[MOSPF]], [[Protocol Independent Multicast|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 [[Schnittstelle]]n 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 (Netzwerktechnik)|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-[[Datenstrom|Stream]] gewünscht wird. Dies ist ein wesentlicher [[Informationssicherheit|Sicherheitsaspekt]], wenn auch nicht der optimale.
| |
|
| |
| == Paketformat ==
| |
| IGMP-Pakete (in Version 1 und Version 2) haben eine Größe von 64 Bit. Folgendes Format wird verwendet:
| |
|
| |
| {| border="1" cellpadding="4" style="text-align:center;margin:auto;border-style:solid;border-collapse:collapse;"
| |
| | width="25%" | 0 … 7
| |
| | width="25%" | 8 … 15
| |
| | width="50%" | 16 … 31
| |
| |-----
| |
| | width="25%" | Typ
| |
| | width="25%" | maximale [[Antwortzeit]]
| |
| | width="50%" | Prüfsumme
| |
| |-----
| |
| | colspan="3" width="100%" | 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:
| |
| {| border="1" cellpadding="4" style="text-align:left;margin:auto;border-style:solid;border-collapse:collapse;"
| |
| ! 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 [[Internet Control Message Protocol|ICMP]], in IP-[[Datagramm]]e gekapselt und benutzen die [[Protokoll (IP)|IP-Protokollnummer]] 2. IGMP ist im [[OSI-Modell|OSI-Schichtenmodell]] also in der Vermittlungsschicht anzusiedeln.
| |
|
| |
|
| [[Kategorie:Netzwerkprotokoll (Vermittlungsschicht)]] | | [[Kategorie:Netzwerkprotokoll (Vermittlungsschicht)]] |
| [[Kategorie:TCP/IP]] | | [[Kategorie:TCP/IP]] |
| </noinclude> | | </noinclude> |