Multicast Listener Discovery
Multicast Listener Discovery - Beschreibung
Beschreibung
- Multicast Listener Discovery (MLD)
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
- Windows Vista and later
- FreeBSD since release 8.0
- The Linux kernel since 2.5.68
- macOS
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

- 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
- https://en.wikipedia.org/wiki/Multicast_Listener_Discovery
- https://de.wikipedia.org/wiki/ICMPv6#Multicast_Listener_Discovery_%E2%80%93_Type_130