4.4 Multicast – Flag, Scope und Beispiel
Multicast überträgt ein Paket gezielt an eine Gruppe interessierter Empfänger. Dadurch muss ein Sender denselben Datenstrom nicht für jedes Ziel einzeln erzeugen. Bei IPv6 kennzeichnet ff00::/8 den Multicast-Adressraum; Flag- und Scope-Felder beschreiben die Art der Gruppe und ihren räumlichen Gültigkeitsbereich. Diese Lernseite erläutert den Adressaufbau, die wichtigsten Scope-Werte und die Herleitung von ff02::1.
Ein Datenstrom für eine Empfängergruppe
Bei Unicast besitzt jeder Datenstrom genau ein Ziel. Soll derselbe Inhalt viele Empfänger erreichen, muss der Sender mehrere Unicast-Datenströme erzeugen. Multicast verwendet stattdessen eine Gruppenadresse. Das Netz kann den Datenstrom nur dort vervielfältigen, wo sich die Wege zu den Empfängern trennen.
Multicast bedeutet nicht automatisch, dass jedes Gerät im Netz die Nutzdaten verarbeitet. Empfänger treten einer Gruppe protokollabhängig bei oder gehören zu einer vordefinierten Gruppe. Switches und Router können Gruppenmitgliedschaften berücksichtigen. Ohne passende Steuerung kann Multicast innerhalb eines Layer-2-Bereichs dennoch ähnlich wie Broadcast an mehrere Ports verteilt werden.
| Übertragungsart | Adressiertes Ziel | Typisches Verhalten |
|---|---|---|
| Unicast | genau ein Interface | separate Übertragung pro Kommunikationspartner |
| Multicast | eine Gruppe von Interfaces | ein Datenstrom kann entlang des Verteilwegs vervielfältigt werden |
| Broadcast | alle Teilnehmer eines IPv4-Broadcastbereichs | IPv6 besitzt keine Broadcastadresse |
| Anycast | mehrere Interfaces mit derselben Unicastadresse | Routing führt zum nach Metrik geeigneten Ziel; keine Gruppenverteilung |
IPv6-Multicast beginnt mit ff
Alle IPv6-Multicastadressen liegen in ff00::/8. Die ersten acht Bit sind daher immer 1111 1111 beziehungsweise hexadezimal ff. Danach folgen das vier Bit große Flagfeld ff1 und der vier Bit große Scope. RFC 7371 verwendet die nächsten vier Bit als zusätzliches Flagfeld ff2; für die allgemeine Darstellung verbleiben anschließend 108 Bit Group ID.
Die bekannte Kurzform ff02::1 lässt sich deshalb nicht allein als gewöhnliches Netzpräfix lesen. ff markiert Multicast, 0 ist das Flag-Nibble, 2 ist der Link-Local-Scope und die abschließende 1 ist die Group ID der vordefinierten Gruppe „All Nodes“.
| Feld | Länge | Aufgabe bei ff02::1 |
|---|---|---|
| ff | 8 Bit | kennzeichnet den IPv6-Multicast-Adressraum |
| Flagfeld ff1 = 0 | 4 Bit | vordefinierte, dauerhaft zugewiesene Gruppenkennung ohne gesetzte Zusatzflags |
| Scope = 2 | 4 Bit | Link-Local: Gültigkeit ist auf den lokalen Link begrenzt |
| Flagfeld ff2 = 0 | 4 Bit | derzeit keine dort definierten Zusatzflags gesetzt |
| Group ID = 1 | 108 Bit | vordefinierte Gruppe „All Nodes“ |
Flag-Feld nicht nur als permanent oder temporär lesen
In der ursprünglichen IPv6-Adressarchitektur wurde vor allem das niederwertige T-Bit betrachtet: T = 0 kennzeichnet eine von der IANA dauerhaft zugewiesene Group ID, T = 1 eine nicht dauerhaft zugewiesene beziehungsweise dynamische Gruppe. Der Begriff „permanent“ bedeutet dabei nicht, dass zu jedem Zeitpunkt Empfänger aktiv sein müssen.
Aktuelle Spezifikationen verwenden die vier Bit des ersten Flagfelds ff1 differenzierter. Neben T können P für unicast-präfixbasierte Multicastadressen und R für eingebettete Rendezvous-Point-Informationen gesetzt sein; X ist für weitere Definitionen vorgesehen. RFC 7371 bezeichnet außerdem die folgenden vier Bit nach dem Scope als ff2. Dessen noch nicht zugewiesene Bits werden beim Senden auf 0 gesetzt und beim Empfangen ignoriert. Für ff02::1 sind ff1 und ff2 jeweils 0.
| Bit | Kurzbezeichnung | Grundlegende Bedeutung |
|---|---|---|
| X | zusätzliches Flag | für weitere Definitionen vorgesehen; Bedeutung nur durch eine zugehörige Spezifikation |
| R | Rendezvous Point | kennzeichnet eine nach RFC 3956 gebildete Adresse mit eingebetteter RP-Information |
| P | Prefix based | kennzeichnet eine nach RFC 3306 aus einem Unicastpräfix gebildete Multicastadresse |
| T | Transient | 0: dauerhaft zugewiesene Group ID; 1: nicht dauerhaft zugewiesene Gruppe |
| ff2 | zweites Flagfeld | vier weitere Flag-Bits; derzeit nicht zugewiesene Bits werden mit 0 gesendet |
Der Scope begrenzt die Reichweite
Das Scope-Nibble legt fest, in welchem Bereich die Multicastadresse gültig ist. Der Scope beschreibt nicht die Anzahl der Empfänger, sondern die maximale räumliche Reichweite. Ein Router darf ein Multicastpaket nicht über die passende Scope-Grenze hinaus weiterleiten.
Nicht jeder mögliche Nibble-Wert besitzt eine allgemeine Bedeutung. Die Werte 0 und f sind reserviert, 6 bis 7 sowie 9 bis d sind derzeit nicht allgemein zugewiesen. Realm Local wird nur verwendet, wenn eine Netztechnik den dazugehörigen Bereich eindeutig definiert.
| Hexwert | Scope | Einordnung |
|---|---|---|
| 1 | Interface Local | nur innerhalb eines einzelnen Interfaces beziehungsweise Knotens |
| 2 | Link Local | nur auf demselben lokalen Link; nicht über Router weiterleiten |
| 3 | Realm Local | für eine durch die jeweilige Netztechnik definierte lokale Domäne |
| 4 | Admin Local | kleinster administrativ festlegbarer Bereich |
| 5 | Site Local | auf einen Standort begrenzter Bereich |
| 8 | Organization Local | auf mehrere Standorte einer Organisation begrenzbar |
| e | Global | globale Reichweite, sofern Routing und Anwendung dies unterstützen |
ff02::1 Schritt für Schritt herleiten
Jedes IPv6-fähige Interface gehört auf seinem lokalen Link zur Gruppe ff02::1. Ein an diese Zieladresse gesendetes Paket kann daher alle IPv6-Knoten dieses Links erreichen. Es handelt sich trotzdem nicht um Broadcast: Die Zustellung verwendet die Multicastmechanismen und einen ausdrücklich festgelegten Scope.
| Schritt | Wert | Erklärung |
|---|---|---|
| 1. Adresstyp | 1111 1111 = ff | IPv6-Multicast |
| 2. Flags | 0000 = 0 | keine Zusatzflags; dauerhaft zugewiesene Group ID |
| 3. Scope | 0010 = 2 | Link-Local-Scope |
| 4. Group ID | …0001 = 1 | All-Nodes-Gruppe |
| 5. Vollständig | ff02:0000:0000:0000:0000:0000:0000:0001 | acht Hextets |
| 6. Gekürzt | ff02::1 | zusammenhängende Null-Hextets einmal durch :: ersetzt |
Wichtige Gruppenadressen korrekt zuordnen
Die Bedeutung einer dauerhaft zugewiesenen Group ID kann in mehreren zulässigen Scopes vorkommen. Die Kombination aus Flag, Scope und Group ID ist deshalb vollständig zu betrachten. Aktuelle Zuweisungen müssen bei Bedarf im IANA-Register geprüft werden.
Multicastadressen dürfen bei IPv6 nicht als Quelladresse verwendet werden. Ein Host sendet mit einer passenden Unicastadresse als Quelle an die Multicast-Zieladresse.
| IPv6-Multicastadresse | Gruppe / Protokoll | Scope und Verwendung |
|---|---|---|
| ff01::1 | All Nodes | alle IPv6-Knoten innerhalb des lokalen Interfaces |
| ff02::1 | All Nodes | alle IPv6-Knoten auf dem lokalen Link |
| ff01::2 | All Routers | alle IPv6-Router innerhalb des lokalen Interfaces |
| ff02::2 | All Routers | alle IPv6-Router auf dem lokalen Link |
| ff02::1:2 | All DHCP Agents | DHCPv6-Server und Relay Agents auf dem lokalen Link |
| ff05::1:3 | All DHCP Servers | DHCPv6-Server innerhalb des Site-Local-Scope |
| ff02::fb | mDNS | Multicast DNS auf dem lokalen Link |
| ff02::1:ff00:0/104 | Solicited-Node Multicast | für Neighbor Discovery aus den unteren 24 Bit einer Unicast- oder Anycastadresse gebildet |
Gruppenmitgliedschaft und lokale Ethernet-Zustellung
IPv6-Hosts teilen ihre Multicast-Gruppenmitgliedschaften mit Multicast Listener Discovery mit. MLD ist Teil von ICMPv6. Router verwenden diese Informationen, um festzustellen, ob auf einem Link Empfänger für eine Gruppe vorhanden sind. Auf Switches kann MLD Snooping die unnötige Verteilung auf Ports reduzieren.
Bei Ethernet werden IPv6-Multicastziele auf MAC-Adressen im Bereich 33-33-xx-xx-xx-xx abgebildet. Dafür werden die unteren 32 Bit der IPv6-Multicastadresse übernommen. Diese Abbildung ist nicht eindeutig: Mehrere IPv6-Gruppen können dieselbe Ethernet-Multicastadresse ergeben, weshalb die Netzwerkschicht das Ziel zusätzlich prüfen muss.
- Multicast-Routing zwischen Netzen benötigt ausdrücklich dafür konfigurierte Verfahren; gewöhnliches Unicast-Routing genügt nicht.
- MLD und notwendige ICMPv6-Nachrichten dürfen nicht pauschal gefiltert werden, wenn IPv6-Multicast funktionieren soll.
- Auf WLAN und anderen geteilten Medien kann Multicast geringere Datenraten und besondere Zuverlässigkeitseigenschaften besitzen; die konkrete Infrastruktur ist zu berücksichtigen.
IPv4 und IPv6 im Vergleich
| Eigenschaft | IPv4 | IPv6 |
|---|---|---|
| Multicast-Adressraum | 224.0.0.0/4 | ff00::/8 |
| Gruppenverwaltung | IGMP | MLD als Teil von ICMPv6 |
| Lokale Ethernet-Abbildung | 01-00-5e plus ausgewählte untere 23 Bit | 33-33 plus untere 32 Bit |
| Broadcast | vorhanden | nicht vorhanden; Funktionen nutzen je nach Protokoll Multicast oder Unicast |
| Scope-Kennzeichnung | durch besondere Adressbereiche und Routingregeln | vier Bit Scope direkt in der Multicastadresse |
Quellen zur fachlichen Prüfung
- RFC Editor: RFC 4291 - IPv6 Addressing Architecture
- RFC Editor: RFC 7346 - IPv6 Multicast Address Scopes
- RFC Editor: RFC 7371 - IPv6 Multicast Address Flag Bits
- RFC Editor: RFC 2710 - Multicast Listener Discovery for IPv6
- RFC Editor: RFC 3810 - Multicast Listener Discovery Version 2
- RFC Editor: RFC 9542 - IANA Considerations and IETF Protocol Usage for IEEE 802 Parameters
- IANA: IPv6 Multicast Address Space Registry
- IANA: IPv4 Multicast Address Space Registry
PDF-Download nach Anmeldung
Zum Schutz der Unterrichtsunterlagen steht der PDF-Download ausschließlich angemeldeten Nutzern zur Verfügung.
