2. Overview of the Protocol
The Multicast Listener Discovery (MLD) protocol is used by an IPv6 router to discover the presence of multicast listeners on its directly attached links, and to discover specifically which multicast addresses are of interest to those neighboring nodes. MLDv2 is an asymmetric protocol, specifying different behaviors for multicast listeners (hosts or routers) and multicast routers.
Das Multicast Listener Discovery (MLD)-Protokoll wird von einem IPv6-Router verwendet, um das Vorhandensein von Multicast-Listenern auf seinen direkt angeschlossenen Links zu entdecken und insbesondere zu ermitteln, an welchen Multicast-Adressen diese benachbarten Knoten interessiert sind. MLDv2 ist ein asymmetrisches Protokoll, das unterschiedliche Verhaltensweisen für Multicast-Listener (Hosts oder Router) und Multicast-Router spezifiziert.
2.1. Building Blocks
The protocol is built on two types of messages:
Das Protokoll basiert auf zwei Arten von Nachrichten:
-
Multicast Listener Query (Query): Sent by multicast routers to query the multicast reception state of neighboring interfaces.
Multicast Listener Query (Query): Wird von Multicast-Routern gesendet, um den Multicast-Empfangsstatus benachbarter Schnittstellen abzufragen.
-
Multicast Listener Report (Report): Sent by multicast listeners to report their current multicast reception state.
Multicast Listener Report (Report): Wird von Multicast-Listenern gesendet, um ihren aktuellen Multicast-Empfangsstatus zu melden.
2.2. Protocol Operations
The basic operation of MLDv2 is as follows:
Die grundlegende Funktionsweise von MLDv2 ist wie folgt:
-
Multicast routers use MLDv2 to determine which multicast addresses have listeners on their attached links.
Multicast-Router verwenden MLDv2, um zu bestimmen, welche Multicast-Adressen Listener auf ihren angeschlossenen Links haben.
-
Multicast listeners use MLDv2 to report their interest in receiving multicast packets for specific multicast addresses.
Multicast-Listener verwenden MLDv2, um ihr Interesse am Empfang von Multicast-Paketen für bestimmte Multicast-Adressen zu melden.
-
Routers maintain a state for each attached link, indicating which multicast addresses have listeners and, for MLDv2, which source addresses are of interest.
Router pflegen einen Status für jeden angeschlossenen Link, der angibt, welche Multicast-Adressen Listener haben und, für MLDv2, welche Quelladressen von Interesse sind.
-
When a router receives a Report from a listener, it updates its state.
Wenn ein Router einen Bericht von einem Listener empfängt, aktualisiert er seinen Status.
-
When a router receives a multicast packet, it forwards the packet to all links that have listeners for that packet's destination address (and source address, if applicable).
Wenn ein Router ein Multicast-Paket empfängt, leitet er das Paket an alle Links weiter, die Listener für die Zieladresse (und ggf. Quelladresse) dieses Pakets haben.
2.3. MLDv2 Improvements
MLDv2 improves upon MLDv1 by adding support for Source-Specific Multicast (SSM). In MLDv1, a listener could only report interest in a group address (G). In MLDv2, a listener can report interest in a specific source (S) sending to a group (G), denoted as (S,G). This allows the network to optimize multicast delivery trees and prevent denial-of-service attacks from unwanted sources.
MLDv2 verbessert MLDv1 durch Hinzufügen von Unterstützung für Source-Specific Multicast (SSM). In MLDv1 konnte ein Listener nur Interesse an einer Gruppenadresse (G) melden. In MLDv2 kann ein Listener Interesse an einer bestimmten Quelle (S) melden, die an eine Gruppe (G) sendet, bezeichnet als (S,G). Dies ermöglicht es dem Netzwerk, Multicast-Verteilungsbäume zu optimieren und Denial-of-Service-Angriffe von unerwünschten Quellen zu verhindern.