IPv6/Host/Multicast: Unterschied zwischen den Versionen
K Textersetzung - „Obsoleted by“ durch „Ersetzt durch“ |
|||
(85 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
''' | '''{{BASEPAGENAME}}''' - Einsatz und Funktion | ||
== Beschreibung == | |||
; Einsatz von Multicast | ; Einsatz von Multicast | ||
Vermeidung mehrfacher Übertragung identischer Datenströme | |||
* | * Effiziente Organisation von Nodes am [[Link]] | ||
* Versenden von Nachrichten an Ziele, deren [[Link-Layer-Adresse]] unbekannt ist | |||
; | ; Multicast | ||
[[Multicast Addresse]]n können mehrere Interfaces ansprechen | |||
Nützlich | |||
* | * wenn sich die angesprochenen Interfaces in verschiedenen Nodes befinden | ||
* Gruppen von Nodes ansprechen | |||
; Alle Interfaces | |||
Alle Interfaces | |||
* die innerhalb eines Gültigkeitsbereiches dieselbe [[Multicast Address]] nutzen | |||
* bilden deshalb eine [[Multicast Group]] | |||
Mehrere Zuschauer möchten | === Beispiel === | ||
; Live-Übertragung | |||
[[File:datenstromOhneMulticast.png|400px|mini|Datenstrom ohne Multicast]] | |||
Mehrere Zuschauer möchten eine Live-Übertragung einer Sportveranstaltung als Videostream auf ihren IPv6-fähigen Endgeräten verfolgen | |||
* Das können Computer, Smartphones oder netzwerkfähige Fernseher sein | * Das können Computer, Smartphones oder netzwerkfähige Fernseher sein | ||
* Das Videomaterial wird in Form eines Datenstroms von einem Server bereitgestellt, den wir Multicast-Quelle nennen | * Das Videomaterial wird in Form eines Datenstroms von einem Server bereitgestellt, den wir Multicast-Quelle nennen | ||
* Auf dem Weg zu den Zuschauern, im Folgenden Konsumenten genannt, passiert der Datenstrom zwei Router | * Auf dem Weg zu den Zuschauern, im Folgenden Konsumenten genannt, passiert der Datenstrom zwei Router | ||
* Da es sich um eine Live-Übertragung handelt, erhalten alle Konsumenten zu jedem Zeitpunkt die gleichen Daten | * Da es sich um eine Live-Übertragung handelt, erhalten alle Konsumenten zu jedem Zeitpunkt die gleichen Daten | ||
Jeder Konsument kontaktiert die Quelle des Datenstroms und erhält von ihr die Daten, obwohl weitgehend identisch, individuell zugestellt | Jeder Konsument kontaktiert die Quelle des Datenstroms und erhält von ihr die Daten, obwohl weitgehend identisch, individuell zugestellt | ||
Zeile 30: | Zeile 34: | ||
=== Multicast Datenströme === | === Multicast Datenströme === | ||
Nehmen wir an, die Sportveranstaltung aus unserem Beispiel gewinnt an Popularität | |||
* Plötzlich sind wir mit einer hohen Nachfrage konfrontiert | * Plötzlich sind wir mit einer hohen Nachfrage konfrontiert | ||
* Das bisherige Vorgehen ist nicht in der Lage, diese Nachfrage zu befriedigen, da die Kapazitätsgrenzen der Links und Router erreicht werden würden | * Das bisherige Vorgehen ist nicht in der Lage, diese Nachfrage zu befriedigen, da die Kapazitätsgrenzen der Links und Router erreicht werden würden | ||
; Lösung Multicast | ; Lösung Multicast | ||
[[File:ipv6DatenstromsMitMulticast.png|mini | [[File:ipv6DatenstromsMitMulticast.png|400px|mini|Datenstrom mit Multicast]] | ||
Der wesentliche Unterschied ist, dass nun nicht mehr die Quelle für die Duplizierung des Datenstroms zuständig ist, sondern diese Aufgabe den Routern zuteilwird | Der wesentliche Unterschied ist, dass nun nicht mehr die Quelle für die Duplizierung des Datenstroms zuständig ist, sondern diese Aufgabe den Routern zuteilwird | ||
Zeile 45: | Zeile 47: | ||
* Idealerweise wird bei Nutzung von Ethernet erst am letzten Switchport eine Kopie der betroffenen Frames angefertigt | * Idealerweise wird bei Nutzung von Ethernet erst am letzten Switchport eine Kopie der betroffenen Frames angefertigt | ||
=== Multicast | === Multicast Groups === | ||
; Organisation von Multicast Groups | |||
; | |||
Multicast Addresses identifizieren eine Multicast Group innerhalb ihres Scopes eindeutig | |||
* Für die Organisation dieser Gruppen ist das Protokoll Multicast Listener Discovery v2 (MLDv2) zuständig | * Für die Organisation dieser Gruppen ist das Protokoll Multicast Listener Discovery v2 (MLDv2) zuständig | ||
* Es ist in RFC 3810 | * Es ist in [[RFC 3810]] und [[RFC 4604]] standardisiert und definiert verschiedene Nachrichten, welche über ICMPv6 transportiert werden | ||
; Gebräuchliche Nachrichten | |||
| | * [[#Listener Query Message|Multicast Listener Query Message]] | ||
* [[#Listener Report Message|Multicast Listener Report Message]] | |||
| | |||
=== Multicast Scopes === | === Multicast Scopes === | ||
[[IPv6/Multicast/Scopes]] | |||
=== Listener Query Message === | === Listener Query Message === | ||
Zeile 208: | Zeile 69: | ||
=== Listener Report Message === | === Listener Report Message === | ||
Den Beitritt zu einer Gruppe werden wir uns in Wireshark anschauen | Den Beitritt zu einer Gruppe werden wir uns in Wireshark anschauen | ||
* Dazu fahren wir das Interface eth0 auf | * Dazu fahren wir das Interface eth0 auf linux zuerst herunter | ||
root@linux:~# '''ip link set down dev eth''' | root@linux:~# '''ip link set down dev eth''' | ||
=== Gruppenbeitritt | === Gruppenbeitritt === | ||
[[File:ipv6MulticastListenerDiscovery.png| | Gruppenbeitritt mitschneiden | ||
[[File:ipv6MLDv2Header.png| | |||
[[File:ipv6MulticastListenerDiscovery.png|600px]] | |||
[[File:ipv6MLDv2Header.png|600px]] | |||
; PseudoInterface | |||
Wireshark auf PseudoInterface lauschen lassen | |||
* Das Pseudo-Interface liefert die Daten von allen Interfaces, auch von denen, die erst nach dem Start des Mitschnitts hochgefahren werden | * Das Pseudo-Interface liefert die Daten von allen Interfaces, auch von denen, die erst nach dem Start des Mitschnitts hochgefahren werden | ||
* Wir haben also die Chance, den Start eines Interfaces zu beobachten | * Wir haben also die Chance, den Start eines Interfaces zu beobachten | ||
Zeile 222: | Zeile 88: | ||
root@linux:~# '''ip link set up dev eth''' | root@linux:~# '''ip link set up dev eth''' | ||
Von den zahlreichen Paketen die von Wireshark mitgeschnitten wurden suchen wir uns eines vom Typ MLDv2 aus | Von den zahlreichen Paketen die von Wireshark mitgeschnitten wurden suchen wir uns eines vom Typ MLDv2 aus<br clear=all> | ||
=== Multicast Listener Discovery === | === Multicast Listener Discovery === | ||
[[Multicast Listener Discovery]] | |||
=== Hop Limit === | === Hop Limit === | ||
Abschließend schauen wir uns noch das Feld Hop Limit des vorangestellten IPv6-Headers an (siehe Abbildung 4.16) | Abschließend schauen wir uns noch das Feld Hop Limit des vorangestellten IPv6-Headers an <!--(siehe Abbildung 4.16)--> | ||
* Es hat den Wert 1, was bedeutet, dass MLDv2-Pakete einen Router nicht passieren können | * Es hat den Wert 1, was bedeutet, dass MLDv2-Pakete einen Router nicht passieren können | ||
* Die ganze Organisation von Multicast Groups findet also auf dem lokalen Link statt | * Die ganze Organisation von Multicast Groups findet also auf dem lokalen Link statt | ||
=== Multicast Routing === | === Multicast Routing === | ||
[[File:ipv6MulticastRouting.png| | [[File:ipv6MulticastRouting.png|600px|Multicast Routing]] | ||
Trotzdem möchte ein Interface vielleicht den Datenstrom einer Multicast-Quelle empfangen, die an einem anderen Link angeschlossen ist | Trotzdem möchte ein Interface vielleicht den Datenstrom einer Multicast-Quelle empfangen, die an einem anderen Link angeschlossen ist | ||
* Wenn die Pakete den Router nicht passieren können, muss der Router anderweitig tätig werden, um den angeforderten Datenstrom bereitzustellen | * Wenn die Pakete den Router nicht passieren können, muss der Router anderweitig tätig werden, um den angeforderten Datenstrom bereitzustellen | ||
Zeile 277: | Zeile 115: | ||
== Multicast auf dem Link-layer == | == Multicast auf dem Link-layer == | ||
[[IPv6/Host/Multicast | [[IPv6/Host/Link Layer Multicast]] | ||
<noinclude> | <noinclude> | ||
Zeile 283: | Zeile 121: | ||
== Anhang == | == Anhang == | ||
=== Siehe auch === | === Siehe auch === | ||
{{Special:PrefixIndex/{{BASEPAGENAME}}}} | <div style="column-count:2"> | ||
==== | <categorytree hideroot=on mode="pages">IPv6/Host</categorytree> | ||
===== Weblinks | </div> | ||
---- | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
=== Dokumentation === | |||
<!-- | |||
===== RFC ===== | |||
{| class="wikitable big options col1center col3center" | |||
|- | |||
! RFC !! Titel !! Jahr !! Status | |||
|- | |||
| [https://www.rfc-editor.org/info/rfc2460 2460] || Internet Protocol, Version 6 (IPv6) Specification || 1998 || Ersetzt durch [https://www.rfc-editor.org/info/rfc8200 RFC 8200] | |||
|- | |||
| [https://www.rfc-editor.org/info/rfc8200 8200] || Internet Protocol, Version 6 (IPv6) Specification || 2017 || Updated by [https://www.rfc-editor.org/info/rfc9673 RFC 9673] | |||
|} | |||
===== Man-Page ===== | |||
===== Info-Page ===== | |||
--> | |||
=== Links === | |||
==== Weblinks ==== | |||
[[Kategorie:IPv6/Host]] | [[Kategorie:IPv6/Host]] | ||
[[Kategorie:Multicast]] | |||
</noinclude> | </noinclude> |
Aktuelle Version vom 5. Juli 2025, 10:16 Uhr
IPv6/Host/Multicast - Einsatz und Funktion
Beschreibung
- Einsatz von Multicast
Vermeidung mehrfacher Übertragung identischer Datenströme
- Effiziente Organisation von Nodes am Link
- Versenden von Nachrichten an Ziele, deren Link-Layer-Adresse unbekannt ist
- Multicast
Multicast Addressen können mehrere Interfaces ansprechen
Nützlich
- wenn sich die angesprochenen Interfaces in verschiedenen Nodes befinden
- Gruppen von Nodes ansprechen
- Alle Interfaces
Alle Interfaces
- die innerhalb eines Gültigkeitsbereiches dieselbe Multicast Address nutzen
- bilden deshalb eine Multicast Group
Beispiel
- Live-Übertragung

Mehrere Zuschauer möchten eine Live-Übertragung einer Sportveranstaltung als Videostream auf ihren IPv6-fähigen Endgeräten verfolgen
- Das können Computer, Smartphones oder netzwerkfähige Fernseher sein
- Das Videomaterial wird in Form eines Datenstroms von einem Server bereitgestellt, den wir Multicast-Quelle nennen
- Auf dem Weg zu den Zuschauern, im Folgenden Konsumenten genannt, passiert der Datenstrom zwei Router
- Da es sich um eine Live-Übertragung handelt, erhalten alle Konsumenten zu jedem Zeitpunkt die gleichen Daten
Jeder Konsument kontaktiert die Quelle des Datenstroms und erhält von ihr die Daten, obwohl weitgehend identisch, individuell zugestellt
- Alle beteiligten Links und Router auf dem Pfad werden mehrfach belastet
- Mit jedem neuen Konsumenten erhöht sich das Datenaufkommen
Multicast Datenströme
Nehmen wir an, die Sportveranstaltung aus unserem Beispiel gewinnt an Popularität
- Plötzlich sind wir mit einer hohen Nachfrage konfrontiert
- Das bisherige Vorgehen ist nicht in der Lage, diese Nachfrage zu befriedigen, da die Kapazitätsgrenzen der Links und Router erreicht werden würden
- Lösung Multicast

Der wesentliche Unterschied ist, dass nun nicht mehr die Quelle für die Duplizierung des Datenstroms zuständig ist, sondern diese Aufgabe den Routern zuteilwird
- Der Datenstrom wird genau einmal von der Multicast-Quelle zu Router B übertragen, dieser wiederum sendet die Pakete genau einmal an Router A weiter
- Von Router A schließlich wird der Datenstrom an die Konsumenten verteilt
- Je besser die Hardware am Link (zum Beispiel ein Switch) mit Multicast umgehen kann, desto später findet die technische Duplizierung des Datenstroms statt
- Idealerweise wird bei Nutzung von Ethernet erst am letzten Switchport eine Kopie der betroffenen Frames angefertigt
Multicast Groups
- Organisation von Multicast Groups
Multicast Addresses identifizieren eine Multicast Group innerhalb ihres Scopes eindeutig
- Für die Organisation dieser Gruppen ist das Protokoll Multicast Listener Discovery v2 (MLDv2) zuständig
- Es ist in RFC 3810 und RFC 4604 standardisiert und definiert verschiedene Nachrichten, welche über ICMPv6 transportiert werden
- Gebräuchliche Nachrichten
Multicast Scopes
Listener Query Message
Die Listener Report Messages dienen dazu, Multicast Groups beizutreten oder sie zu verlassen
- Jedes Interface, das Mitglied einer bestimmten Gruppe ist, nimmt für diese Gruppe die Rolle eines Multicast Listeners ein
- Pakete die an die Gruppenadresse gesendet wurden, werden allen Mitgliedern zugestellt
- Möchte ein Interface für eine Gruppe keine Pakete mehr erhalten, so verlässt es die Gruppe wieder
Listener Report Message
Den Beitritt zu einer Gruppe werden wir uns in Wireshark anschauen
- Dazu fahren wir das Interface eth0 auf linux zuerst herunter
root@linux:~# ip link set down dev eth
Gruppenbeitritt
Gruppenbeitritt mitschneiden
- PseudoInterface
Wireshark auf PseudoInterface lauschen lassen
- Das Pseudo-Interface liefert die Daten von allen Interfaces, auch von denen, die erst nach dem Start des Mitschnitts hochgefahren werden
- Wir haben also die Chance, den Start eines Interfaces zu beobachten
- In diesem Zeitraum treten vermehrt MLDv2 Messages auf
Dazu fahren wir das Interface wieder hoch
root@linux:~# ip link set up dev eth
Von den zahlreichen Paketen die von Wireshark mitgeschnitten wurden suchen wir uns eines vom Typ MLDv2 aus
Multicast Listener Discovery
Hop Limit
Abschließend schauen wir uns noch das Feld Hop Limit des vorangestellten IPv6-Headers an
- Es hat den Wert 1, was bedeutet, dass MLDv2-Pakete einen Router nicht passieren können
- Die ganze Organisation von Multicast Groups findet also auf dem lokalen Link statt
Multicast Routing
Trotzdem möchte ein Interface vielleicht den Datenstrom einer Multicast-Quelle empfangen, die an einem anderen Link angeschlossen ist
- Wenn die Pakete den Router nicht passieren können, muss der Router anderweitig tätig werden, um den angeforderten Datenstrom bereitzustellen
- Dazu muss er Multicast-fähig sein
- Er wird dann auch Multicast Router genannt
- Tatsächlich, wenn wir den Header weiter analysieren, entdecken wir einen Hop-by-Hop Extension Header mit Router Alert Option
- Der Router wird explizit darauf hingewiesen, dass dieses Paket für ihn wichtige Informationen enthalten könnte
Um den Datenstrom auf dem anfragenden Link bereitzustellen, muss der Router seinerseits den Datenstrom anfordern Entweder hat er ein Interface an einem Link an dem auch die Multicast-Quelle angeschlossen ist, dann tritt er einfach der entsprechenden Gruppe bei
- So erhält er die zugehörigen Pakete die er dann zum anfragenden Link routen kann
- Hat der Router kein Interface am Link der Multicast-Quelle, beauftragt er einen der ihm bekannten Multicast Router, die Daten bereitzustellen
- Dazu tritt er wieder der Multicast Group bei und nimmt für diese Gruppe am betroffenen Interface die Rolle eines Multicast Listeners ein
Multicast auf dem Link-layer
IPv6/Host/Link Layer Multicast
Anhang
Siehe auch