Gruppenkommunikation im Internet Emulieren von Multicast durch Unicast? Anwendungen Videokonferenzen, Fernsehen/adio, verteilte Datenbanken, Backupsysteme, redundante Server IGMP Multicast im Lokalen outing Neue outing-verfahren zum Errichten von Baumstrukturen Mbone Multicast Backbone virtuelles Netz über heutiges IPv4 Emulierter Multicast mit n n n Unicast-Kommunikationsbeziehungen zwischen und den jeweiligen n Beispiel Probleme Barny Pebbles Vier unterschiedliche Kommunikationsbeziehungen vierfaches Senden und Speichern der Daten zeitliche Verzögerungen beim Senden hoher essourcenverbrauch Vorteil Zwischensysteme müssen Daten nicht kopieren P D W F Z1 Z2 Wilma Dino Fred Next Generation Internet SoSe03 25 Next Generation Internet SoSe03 26 Skalierbarkeit Die Skalierbarkeit der Gruppenkommunikation für große Gruppen stellt ein wesentliches Problem bei der technischen Umsetzung dar. Gruppengröße große Gruppen umfassen mehrere hundert oder tausend Teilnehmer hohe Dynamik stellt hohe Anforderungen an Gruppenverwaltung Zuverlässigkeit Austausch von Kontrollinformation ist erforderlich. Kann bei großen Gruppen hohen Overhead verursachen und kann leicht zum Leistungsengpass werden. Bekanntheit innerhalb der Gruppe Sind alle Gruppenmitglieder bekannt, so muss die Gruppenverwaltung bei hoher Dynamik in der Gruppe (Ein- und Austritte) sehr leistungsfähig sein. Topologie der Gruppe geographische Verteiltheit der Gruppe Heterogenität hinsichtlich der essourcen einzelner Gruppenmitglieder Spezielle Aspekte der Gruppenkommunikation Bedingt durch die Tatsache, dass mehr als zwei Teilnehmer kommunizieren, müssen einige traditionelle Dienste und Funktionen in ihrer Definition erweitert bzw. neu hinzugenommen werden. Zuverlässigkeit Traditionell Alle Daten werden fehlerfrei, in der richtigen eihenfolge und ohne Duplikate ausgeliefert. Was ist die richtige eihenfolge bei mehr als einem? Problem bei Gruppenkommunikation Skalierbarkeit. Z.B. Quittungsimplosion, falls in einer großen Gruppe Quittungen von allen n erhält. Quittungen Gruppe der Next Generation Internet SoSe03 27 Next Generation Internet SoSe03 28
Internet Group Management Protocol - IGMP IGMP: Protokollablauf I Protokoll zur Unterstützung von IP in der Verwaltung von Kommunikationsgruppen (wir betrachten nur IPv4) IGMP ICMP AP TCP IP AP UDP Kommunikationssteuerungsschicht Transportschicht Vermittlungsschicht Sicherungsschicht 1. Der outer sendet periodisch Gruppenzugehörigkeitsanfragen an alle echner des LAN (via Broadcast). Durch Setzen der Time To Live (TTL) auf 1 wird die Anfrage nur im LAN verbreitet. WAN outer 2. Nach Erhalt einer Anfrage startet jeder echner für jede Gruppe, welcher er angehört, einen Zeitgeber. Dieser wird mit einem Zufallswert initialisiert. Nach Ablauf des Zeitgebers sendet der Host eine Antwort bzgl. der Gruppenzugehörigkeit an alle Gruppenmitglieder im LAN (Gruppenadresse, TTL=1). outer erhalten alle IP-Nachrichten. WAN outer G G G Next Generation Internet SoSe03 29 Next Generation Internet SoSe03 30 IGMP: Paketformat Konzepte zum outing Übertragung der IGMP-Meldungen IGMP-Meldungen werden im Datenteil von IP-Paketen übertragen und durch den Wert 2 im Protocol-Feld des IP-Paketkopfes kenntlich gemacht. IP-Paketkopf [Protocol = 2] IGMP-Meldung Verteilbaum (auch: Baum) grundlegende Form für das outing Beispiel eines Verteilbaums Format der IGMP-Meldungen IGMP-Version IGMP-Type IGMP-Version: Versionsnummer des eingesetzten IGMP-Protokolls. IGMP-Type: Typ der Meldung (z.b. 1 = Anfrage, 0 = Antwort). Unused: Wird nicht genutzt (immer zu 0 gesetzt). Unused Checksum: Prüfsumme über die gesamte IGMP-Meldung. Checksum Group Address Group Address: Wird bei einer Anfrage auf 0 gesetzt, bei einer Antwort enthält das Feld die Adresse derjenigen Gruppe, auf welche sich die Meldung bezieht. outer im Verteilbaum outer nicht im Verteilbaum Next Generation Internet SoSe03 31 Next Generation Internet SoSe03 32
Fluten und verbesserte Techniken Fluten und verbesserte Techniken Fluten Daten werden über alle Anschlüsse eines outers geflutet, um alle Gruppenmitglieder zu erreichen. Vorteil: einfache ealisierbarkeit. Erreichbarkeit aller Gruppenmitglieder garantiert. Nachteil: hohe Netzlast. Keine Unterstützung geschlossener Gruppen möglich. Duplikate von Dateneinheiten möglich. Verbessertes Fluten Es wird überprüft, ob eine Kopie einer Dateneinheit empfangen wurde. Ist dies der Fall, so erfolgt keine Weiterleitung, um Schleifen zu vermeiden. Nachteil: Information muss gespeichert werden. Löschen der Information muss kontrolliert werden. Beurteilung Fluten stellt sehr ineffizientes Verfahren für outing dar. Es handelt sich dabei eigentlich um ein Broadcast-Verfahren, weil keinerlei Information über die Gruppenzusammensetzung ausgenutzt wird. Spannbäume Etablieren eines Overlay-Netzes zur Vermeidung von Schleifen. Gruppenmitgliedschaft wird dabei nicht berücksichtigt. Beispiel outer 2 ist nicht Bestandteil des Spannbaums Nachteil Hohe Verkehrsbelastung in der Nähe der Wurzel Ziel Aufbau eines Verteilbaums unter Berücksichtigung der Gruppenmitgliedschaft 1 Netz 1 Netz 5 4 Netz 3 2 5 Netz 4 3 Netz 2 Next Generation Internet SoSe03 33 Next Generation Internet SoSe03 34 basiertes outing Beispiel: PF Vorgehen Für jeden wird ein Spannbaum etabliert. Optimierungskriterium sind die Verzögerungszeiten. PF-Verfahren (everse Path Forwarding) PF-outer merkt sich Datenquelle und Schnittstelle S i, über die die Dateneinheit empfangen wurde. Gehört die Schnittstelle zum kürzesten Pfad, so wird die Dateneinheit an alle anderen Schnittstellen weitergeleitet. Eigenschaften Keine Schleifen möglich. Mehrfache outen möglich. Vorteil Keine gesonderten outingtabellen erforderlich. eduzierter Overhead im Vergleich zu Fluten. Nachteil Weiterleiten der Daten erfolgt nicht zielorientiert. kann Daten mehrfach erhalten. Endsystem D sendet Daten. Schnittstelle S 1 liegt auf dem kürzesten Pfad zu D, d.h., Daten werden an alle anderen Schnittstellen weitergeleitet. Problem Entscheidung basiert auf kürzestem Pfad in umgekehrter ichtung. Gruppenstruktur wird nicht berücksichtigt. Verfeinerungen existieren PB: everse Path Broadcast TPB: Truncated PB PM: everse Path Multicast S 7 S 8 Kürzester Pfad zu D S 6 S 5 S 4 S 3 S 1 S 2 Quelle D outer S i : Schnittstelle i Next Generation Internet SoSe03 35 Next Generation Internet SoSe03 36
Verfahren zum empfängerorientierten outing Verfahren Broad-/Multicast Weiterleiten Dateneinheiten Netzbereich Fluten Broadcast alle Schnittstellen alle komplettes Netz Dateneinheiten PF Broadcast PB Broadcast TPB Broadcast PM Multicast alle Schnittstellen Dateneinheiten vom kürzesten komplettes Netz Pfad Schnittstellen auf Dateneinheiten dem kürzesten vom kürzesten komplettes Netz Pfad Pfad Schnittstellen auf Dateneinheiten dem kürzesten vom kürzesten nicht in Teilnetze (leaf subnets) Pfad Pfad ohne Mitglieder Schnittstellen auf Dateneinheiten nur in dem kürzesten vom kürzesten Netzbereiche mit Pfad Pfad Mitgliedern Center-based (Core-based) Trees Aim: Avoid flood and prune Avoid need to keep state for all active groups and sources Main idea: Choose center (fixed node) that acts as center of the multicast group eceivers send join towards the center outers keep state, mark interface, forward join towards the center Data forwarding: 1. Unidirectional: packets first to center, then forwarded to all group members (also source) Increases end-to-end delay Traffic concentration around the center 2. Bidirectional: from sender directely to receivers Next Generation Internet SoSe03 37 Next Generation Internet SoSe03 38 Center-based Trees Drawbacks: Path between sender and receiver may be suboptimal Choice of the source is NP-complete outing Protocol: Sparse uses a unidirectional variant of the center-based tree algorithm Grundlage outingprotokolle im Internet Alle vorgestellten Protokolle bauen auf IGMP für die Gruppenverwaltung auf. Bei gemeinsamem Medium wird vorausgesetzt, dass ein sogenannter Designated-outer über die Mitgliedschaft informiert. Überblick DVMP (Distance Vector Multicast outing Protocol) PIM (Protocol Independent Multicast) MOSPF (Multicast Open Shortest Path First)... Neue Ansätze, die sich zwar noch nicht im Einsatz befinden, die aber vielversprechend für eine zukünftige Nutzung sind! Next Generation Internet SoSe03 39 Next Generation Internet SoSe03 40
PIM: Protocol Independent Multicast PIM unterstützt zwei verschiedene Einsatzszenarien äumlich verstreute Gruppen mit geringer Dichte an Mitgliedern. äumlich wenig verstreute Gruppe mit hoher Dichte an Mitgliedern. PIM ist unabhängig vom Unicast-outingprotokoll Ziele Minimierung der Zustandshaltung in den outern. Minimierung des Verarbeitungsaufwands von Kontroll- und Nutzdaten. Minimierung der beanspruchten Bandbreite im Netz. PIM verfügt über zwei Betriebsmodi Dense Mode (DM) Für Gruppen mit hoher Dichte. Basiert auf Fluten und Pruning. Sparse Mode (SM) Für Gruppen mit niedriger Dichte. Basiert auf endezvous-stellen. Architektur Aufbau fähige Domänen Mit Bootstrap-outer, der Information über endezvous-stellen verbreitet. Nicht fähige Domänen Verbindung von Domänen über outer. Domäne outer Bootstrap- outer outer outer Domäne outer outer outer Nicht- fähige Domäne outer Domäne Next Generation Internet SoSe03 41 Next Generation Internet SoSe03 42 PIM Sparse-Mode Beispiel Linux 2.4: Annahmen Expliziter Gruppenbeitritt ist erforderlich. endezvous-stellen werden bereitgestellt. Beitritt zu einer Gruppe IGMP-Join im lokalen Subnetz Join zur endezvous-stelle, falls vorhanden Zwischen endezvous-stelle und : Join und -egistrierung Spezifischer Baum für Kann an der endezvous- Stelle vorbei PIMetabliert werden. outer 1 Wird nur bei langfristiger IGMP-Join Nutzung angestrebt. outer 3 outer 2 Join Daten egistrier- Dateneinheit Join Join endezvous Unterstützt folgende Multicast outing-protokolle: DVMP MOSPF PIM (sparse und dense-mode) Folgende outing Applikationen: Mrouted (klassische Multicast outing Applikation) Zebra pimd Next Generation Internet SoSe03 43 Next Generation Internet SoSe03 44