Einer ruft alle

Wer in IP-Netzen Daten von einer zentralen Stelle aus an viele Empfänger übermitteln will, kommt an der Multicasting nicht vorbei. Der erste Teil unserer dreiteiligen Serie erläutert die "Basics" dieses Übertragungsverfahrens, insbesondere die Adressierungsmechanismen.

Von: Joachim Zubke, Stefan Bohnert

Börsendienste, Online-Newsletter oder Radioprogramme über das Internet zu empfangen, ist für viele Nutzer des "Netzes der Netze" mittlerweile eine Selbstverständlichkeit. Diese Anwendungen haben eines gemeinsam: Die Daten werden von einem Server oder einer Serverfarm aus an viele Empfänger übermittelt. Stand der Technik war bislang, dass jeder Empfänger seine eigene Kopie der Daten erhielt. Dieses Verfahren beansprucht allerdings unnötig viel Bandbreite und erhöht die Übertragungszeiten. Das bereitet nicht nur Internet-Serviceprovidern oder Online-Diensten Kopfzerbrechen, sondern auch Unternehmen, die regelmäßig große Datenmengen über Intra- oder Extranets an Mitarbeiter oder Partner versenden. Dabei kann es sich um Preislisten oder Produktinformationen handeln. Sind dabei Weitverkehrsstrecken im Spiel, kommen zu den Performance-Verlusten, bedingt durch die mehrfache Datenübertragung, die Gebühren für die Übertragungsleitung hinzu.

Aus diesem Grunde wurde IP-Multicasting entwickelt. Bei diesem Verfahren speist der Sender die Daten nur einmal in das Netz ein. Die Router duplizieren dann die Pakete und leiten sie zu den Adressaten in den jeweiligen Netzsegmenten weiter. Die Daten fließen also nur einmal über die Verbindungsstrecke von Server zu Router und von Router zu Router. IP-Multicasting ist nicht auf Ethernet-Netze beschränkt, sondern eignet sich ebenso für ATM, Frame Relay, SMDS und Satelliten-Verbindungen.

Folgende Komponenten bilden die Grundlage des Verfahrens:

- die Adressierung: Auf der Netzwerkebene des OSI-Referenzmodells muss eine Adressierungsmöglichkeit für eine Gruppe von Empfängern im Unterschied zu einzelnen Empfängern bestehen. Dies setzt voraus, dass sich diese Adresse einer Multicast-Adresse auf der Verbindungsebene (Data Link Layer) des OSI-Modells zuordnen lässt. Beim Empfänger bewerkstelligen das der IP-Protokollstack und die Netzwerkkarten. Die Empfänger filtern also anhand der auf der Netzwerkkarte eingestellten MAC-Multicast-Adresse die für sie bestimmten Daten-Frames heraus und geben sie an die nächsthöhere Protokollebene weiter.

- Dynamische Registrierung: Ein Host muss jederzeit einer Multicast-Gruppe beitreten und diese verlassen können. Ohne diese Möglichkeit können die Router nicht entscheiden, welche Subnetze die Daten für eine Multicast-Gruppe empfangen sollen. Das "Internet Group Member-ship Protocol" (IGMP) legt fest, auf welche Weise ein Host dem Netzwerk mitteilt, dass er einer bestimmten Multicast-Gruppe angehört. Der Host-Rechner informiert den lokalen Router, wenn er Daten empfangen möchte, die an eine bestimmte Multicast-Gruppe adressiert sind. Die Router ihrerseits prüfen in regelmäßigen Abständen, ob die Gruppenmitglieder im LAN noch aktiv sind. Anhand der Gruppentabellen kann der Router dann entscheiden, welche Multicast-Pakete in welche Zweige seiner Subnetze weiterzuleiten sind.

- Multicast-Routing: Die Router müssen in der Lage sein, "Multicast-Bäume" aufzubauen. Mit ihrer Hilfe kann ein Host an alle Empfänger Pakete verteilen. Die Multicast-Bäume sollen in erster Linie sicherstellen, dass jedes Paket nur einmal in einem Subnetz vorhanden ist. Wenn in einem Zweig mehrere Empfänger existieren, darf ein Multicast-Paket also nur einmal in diesen Zweig eingespeist werden. Um Multicast-Datagramme transportieren zu können, müssen die Router mindestens ein Multicast-Routing-Protokoll unterstützen. Die drei wichtigsten Multicast-Routing-Protokolle sind "Protocol Independent Multicast" (PIM), das "Distance Vector Multicast Routing Protocol " (DVMRP) und "Multicast Open Shortest Path First" (MOSPF). Zusätzlich kommt das "Resource Reservation Protocol" (RSVP) zum Einsatz, um beispielsweise Echtzeitapplikationen eine bestimmte Dienstgüte (Quality of Service, QoS) zur Verfügung zu stellen.

Um eine Punkt-zu-Mehrpunkt-Kommunikation aufzubauen, stehen mehrere Alternativen zur Auswahl. Eine ist das Unicast-Modell. Dazu folgendes Beispiel: Host 1 möchte Daten an die Hosts 2, 3 und 4 senden. Dazu muss er die IP-Adressen aller drei Empfänger kennen. Mit der Zahl der Empfänger steigt auch die Zahl der Pakete linear an, die Host 1 übermitteln muss. Hier wird ein Pferdefuß des Verfahrens deutlich: Sind beispielsweise Echtzeit-Video- oder -Audiodaten an wenige Empfänger zu übertragen, kommt das Unicast-Modell durchaus in Frage; steigt jedoch die Zahl der Empfänger, erhöht sich auch die Belastung des Host-Rechners. Das wiederum führt möglicherweise dazu, dass die Verzögerungszeiten (Delay) zwischen einzelnen Paketen zu stark anwachsen und die Kommunikation erheblich beeinträchtigt wird. Auch der Quell-Router kann sich zum Flaschenhals entwickeln.

Ein weiteres Problem ist, dass der Sender die IP-Adresse jedes Empfängers kennen muss. Das bedeutet, kein Empfänger kann einer Gruppe dynamisch beitreten oder sie verlassen.

Die zweite Alternative ist das Broadcast-Modell: Der Sender übermittelt die Daten in diesem Fall nur einmal an alle potenziellen Empfänger. Die Vorteile: Jeder Host im lokalen Subnetz erhält die Informationen, und jedes Paket muss nur einmal gesendet werden.