Zum Inhalt springen

Multicast Listener Discovery

Aus Foxwiki

Multicast Listener Discovery - Beschreibung

Beschreibung

‚‘'Multicast Listener Discovery'‚‘ (‚‘'MLD'‚‘) ist eine Komponente der Internet Protocol Version 6 (IPv6)-Suite. MLD wird von IPv6-Routern verwendet, um Multicast-Empfänger auf einer direkt verbundenen Verbindung zu erkennen, ähnlich wie Internet Group Management Protocol (IGMP) in IPv4 verwendet wird. Das Protokoll ist in ICMPv6 eingebettet, anstatt ein separates Protokoll zu verwenden. ‚‘'MLDv1'‚‘ ähnelt IGMPv2 und ‚‘'MLDv2'‚‘ ähnelt IGMPv3.

Multicast Listener Discovery (MLD) is a component of the Internet Protocol Version 6 (IPv6) suite. MLD is used by IPv6 routers for discovering multicast listeners on a directly attached link, much like Internet Group Management Protocol (IGMP) is used in IPv4. The protocol is embedded in ICMPv6 instead of using a separate protocol. MLDv1 is similar to IGMPv2 and MLDv2 similar to IGMPv3.

Protocol

ICMPv6 messages
Message Type value
Multicast Listener Query 130
MLDv1 Multicast Listener Report 131
MLDv2 Multicast Listener Report 143
Multicast Listener Done 132

MLDv2-Support

Several operating systems support MLDv2


Multicast Listener Discovery

Multicast Listener Report, eingebettet in ICMPv6 als Typ 143
  • Neben den bekannten Code-, Checksumund Reserved-Feldern ist auch ein Feld namens Number of Multicast Address Records vorhanden
  • Es gibt an, wie viele Multicast Address Record Changes folgen
  • In unserem Beispiel folgt nur ein Eintrag, es wäre auch möglich mehrere Einträge auf einmal bekannt zugeben
  • Jeder Eintrag steht für Änderungen der Zugehörigkeit zu Multicast Groups eines Interfaces

Include und Exclude

Interpretation der Einträge

Es gibt zwei Arten von Multicast Listener Report Messages

  • Include und Exclude
Include

Ein Include steht allerdings nicht, wie der Wortlaut vielleicht vermuten lässt, für einen Gruppenbeitritt eines Interfaces

Exclude

Ein Exclude muss nicht unbedingt einen Gruppenaustritt bedeuten

Include und Exclude beziehen sich nicht auf die Multicast Group, sondern auf eine Liste von Quellen, von denen ein Interface Pakete an die Gruppe akzeptiert (Include) oder auch nicht akzeptiert (Exclude)

Ein Interface kann auch eine leere Liste mitschicken, und damit anzeigen, dass sich das Include oder Exclude auf keine Adressen bezieht

  • Dann käme ein Include einem Gruppaustritt gleich, und ein Exclude mit leerer Liste entspräche einem Gruppenbeitritt

Multicast Listener Report Messages erwecken den Eindruck einer doppelten Verneinung

Gruppenbeitritt
Abbildung 4.16 IPv6-Header eines MLDv2-Paketes
MLDv2 Message

Wir klappen den Eintrag Multicast Address Record Changed to exclude auf und sehen uns die enthaltenen Informationen an

  • Wir sehen die Art der Änderung, Exclude, und weitere Felder
  • Das Feld Aux Data Length gibt an wie viele 8-Byte-Blöcke mit zusätzlichen Daten der Multicast Address folgen
  • Da es hier den Wert 0 hat, sind keine weiteren Daten zu erwarten
  • Es folgt die Anzahl der einschränkenden Quellen, hier 0, und im Anschluss die betroffene Multicast Address
Auswertung der Felder

Es handelt sich in unserem Beispiel um eine Änderung der Art Exclude ohne Einschränkung der Quellen

  • Für diese Multicast Group akzeptiert das Interface Pakete von allen Quellen, außer denen in der Liste
  • Da die Liste leer ist, gibt es keine Quellen die vom Interface keine Pakete akzeptieren würde
  • Es handelt sich also um einen uneingeschränkten Gruppenbeitritt


Anhang

Siehe auch



Dokumentation

Links

Weblinks

  1. https://en.wikipedia.org/wiki/Multicast_Listener_Discovery
  2. https://de.wikipedia.org/wiki/ICMPv6#Multicast_Listener_Discovery_%E2%80%93_Type_130


TMP