kapitel 5.2 ip multicast routing - uni-muenchen.de€¦ · multicast routing: informationen über...
TRANSCRIPT
Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM 1
RN II
Kap.
5.2
IP M
ultic
astR
outin
g
Kapitel 5.2IP Multicast Routing
Internet – Protokolle für Multimedia -Anwendungen
2Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gGliederung
Warum Multicast?IP-MulticastingInternet Groups Management Protocol IGMPMulticast Routing Protokolle
MBONEDistance Vector Multicast Routing Protocol DVMRPMulticast OSPFProtocol Independent Multicast, PIM-SMCore Based Tree
3Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gWarum Multicast? (1)
Viele MM-Anwendungen (z.B. Video-Verteilung, Videokonferenzen) sind Gruppenkommunikationen, also n:m-Beziehungen.Emulation durch Unicast, also 1:1-Beziehungen, prinzipiell möglich, erzeugt aber viele Kopien, u.U. auf gleichen StreckenMulticast gestattet die Kopienerzeugung erst im letzten Moment, außerdem skaliert Unicast nichtMulticast somit sinnvoll
für bessere BandbreitenausnutzungWeniger Router-/Host-Processingfalls Empfängeradressen nicht bekannt
4Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gWarum Multicast? (2)
Unicast
HostQuelle R
R
R
R
R
Host
Host
Host
Host
Host
Für jede Quell-Senkenbeziehung wird ein vollständiger Datenflussbenötigt.
5Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
g
Multicast
Warum Multicast? (3)
Host R
R
R
R
R
Host
Host
Host
Host
Host
Datenkopien werden erst dann erzeugt, wenn sie an Verzweigungenerforderlich werden.
6Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gIP – Multicasting (1)
Verwendet wird die Internet-Adressklasse D
umfasst Adressraum 224.0.0.0 bis 239.255.255.255, somit ca. 250 Millionen AdressenEmpfänger einer Sendung soll eine Multicast-Gruppe sein. Quelle selbst muss nicht Mitglied seinProblemfelder sind
Adressen-Mapping: Abbilden von IP-Multicast auf MAC-MulticastEndsystem-Registrierung: Empfänger muss Gruppe angehören. Registrierung mittels IGMPMulticast Routing: Informationen über Gruppen müssen verteilt und gepflegt werden. Dazu Protokolle PIM, MOSPF, DVMRP, MBONE
1110 Multicast-Adresse32 bit
Class D Address
7Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gIP – Multicasting (2)
Dedizierte Multicast-Adressen in der D Class (RFC 1700/IANA) reserviert sind
224.0.0.0 bis 224.0.0.255 als Local Scope Addresses, die nicht global geroutet werden.All-Host-Group 224.0.0.1All-Router-Group 224.0.0.2 mit Unterteilung
- all DMVRP-Router 224.0.0.4- all OSPF-Router 224.0.0.5- all OSPF-Designated Routers 224.0.0.6- all PIM-Routers 224.0.0.13
Applikationsspezifische Multicasts (Auswahl)- Network Time Protocol 224.0.1.1- IETF-1-Audio 224.0.1.11- IETF-2-Video 224.0.1.15
8Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gIP – Multicasting (3)
Dedizierte Multicast-AdressenGlobal Scope Addresses
- Adressen 224.0.1.0 bis 238.255.255.255- werden nur temporär zugewiesen
Administratively Scoped Addresses- Adressen 239.0.0.0 bis 239.255.255.255- davon Site-local scope: 239.253.0.0/16
Oraganization-local scope: 239.192.0.0/14
9Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gIP-Multicasting (4)
Nicht-reservierte Multicast-Adressen werden temporär für Gruppen eingesetzt. Dadurch werden einem IP-Interface zusätzlich zu seiner Unicast-Adresse u.U. mehrere Multicast-Adressen zugeordnetEine MC-Adresse steht für Anzahl von k Endsystemen. Alle diese Systeme gehören zur All-Host-Group, somit kann der zugehörige M-Router über 244.0.0.2 erreicht werdenM-Router verwaltet nicht eine zusätzliche k:1 Adresstabelle für die MAC-Adressen, sondern MC-fähige Hosts verwalten neben MAC-Unicast-Adresse auch MAC-MC-AdresseAbbildung MC-IP auf MC-MAC über OUI und G/L-Bit. G/L (Group Local) kennzeichnet MC-MAC. 23 Bit bleiben für Adress-Abbildung, dadurch mögliche ÜberschneidungenÜber TTL-Bit kann MC-Reichweite gesteuert werden.
10Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gIP – Multicasting (5)
Mapping von IP-auf MAC-Multicast-AdresseOUI = Organisation Unique Identifier, G/L = Group/Local Bit
11Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gIGMP (1)
IGMP (Internet Group Management Protocol) RFC 2236: IGMPv2baut auf IP auf und dient der Multicast-Gruppenverwaltung
12Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gIGMP (2)
IGMP-NachrichtenType (für Host-to-M-Router Kommunikation)
- Membership Query (x´11´): Welche Gruppen gibt es? Welche Mitglieder gibt es in bestimmter Gruppe?
- DVMRP-V3-Nachricht (0x´13´)- Membership-Report (x´16´): zur Aufnahme von Endsystemen in
Multicast-Gruppen (Membership Request)- Leave Group (x´17´)
Maximum Response Time (MRT): Hinweis zum Router-Tabellen-UpdateChecksum: über gesamte IGMP-NachrichtGruppenadresse: (in Anfrage = 0)
13Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gIGMP (3)
IGMP-ArbeitsweiseM-Router sendet periodisch (100s) IGMP-PDUs vom Typ Query an alle Hosts im LAN über 224.0.0.1 mit TTL = 1. Alle Hosts antworten mit Membership Report und teilen mit, in welcher Gruppe sie sind.Soll Host eingefügt werden, sendet er MAC-Multicast mit IGMP Host Membership Report. Zuordnung MAC-IP-Adressen wie obenWill Host die Gruppe verlassen, analog mit Leave Group PDU. Anschließend antwortet Host nicht mehr auf QueryM-Router muss Buchführung machen und Änderungen anderen Routernüber Routingprotokolle mitteilenDa nicht alle Router M-Router sind, werden zwischen M-Routern oft Tunnel aufgesetzt.
14Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gMulticast – Routingprotokolle
Ziel ist, Multicast-Verteilbäume auf der irregulär vermaschtenInternettopologie aufzusetzen
Shortest Path oder Source Distribution TreesShared Distribution Trees
Varianten, solche Bäume aufzubauen zu Multicast-GruppenMBONE: nutzt IP-Tunneling und DVRMP/RIPDVRMP: nutzt RIP-ähnliche Multicast Routingtabellen und Poison-Reverse-Metrik, unterstützt auch Inter-Area-RoutingPIM: nutzt existierende Unicast Routing Tabellen und zusätzliche Join/Prune/Graft-Nachrichten. Intra-AreaMOSPF: nutzt unterliegendes OSPF. Intra-AreaCBT: ähnlich PIM
15Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gMBONE (1)
MBONE (Multicast Backbone on the Internet). Frühe Unterstützung von A/V-Konferenzen. Definiert ein eigenes virtuelles Netz auf dem Internet. Realisiert in Bezug auf Multicastein Autonomes System mit M-Routern. Besonders von Universitäten genutzt (über 5000 Subnetze)M-Router-Funktionen
Tunneling: IP-Paket mit UDP/RTP-Nutzlast bekommt beim Versand über Unicast-Router eine IP-IP-EncapsulationM-Router verwenden DVMRP zwischen M-Router und RIP zwischen M-Routern und Unicast RouternReichweitenbegrenzung über TTL (TTL-Scoping), z.B. 0 (Knoten), 1 (Subnetz), 32 (Domain, e.g. DE), 48 (Europa), 64 (Region), 128 (Kontinent), 255 (unbegrenzt)
16Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gMBONE (2)
Arbeitsweise mit IP-IP-EncapsulationR: Unicast Router, MRx: Multicast Router, G1: Multicast Group 1
17Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gDVMRP (1)
DVMRP (Distance Vector Multicast Routing Protocol) benutzt IGMP. Gut für „dense“, d.h. dichtes Zusammenliegen der zu versorgenden Hosts (ineffektiv für „sparse“).DVMRPv3-Nachrichten.
18Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gDVMRP (2)
PDU-Aufbau (Version 3)Code: zeigt DVMRP-Kommandos an
19Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gDVMRP (3)
DMVRP-Nachrichten a) Neighbor Probe, b) Reports für RoutingT: Type, C: Code, SM: Subnet Mask(zur Abfrage von Router Capabilities und Status)
20Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gDVMRP (4)
DMVRP-Nachrichten a) Prune, B) Graft(zur dynamischen Verwaltung des Multicast Tree)
21Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gDVMRP – V3 – Routing (1)
realisiert einen Reverse-Path-Multicast Algorithmus(Flood and Prune)Grundidee(1) Sender schickt Multicast-Nachricht per Flooding(2) Intermediate Router empfängt Nachricht mehrmals über verschiedene
Wegealle Pakete, die nicht über das Interface kommen, über das der Router Unicast an den Sender schicken würde, werden verworfenJede MC-PDU wieder an alle Interfaces außer an Quell-InterfaceSomit unterliegendes Unicast Routing Protokoll erforderlich
(3) Router, die keine Multicast-Empfänger kennen, d.h. keine IGMP-PDUsempfangen haben, senden Prune-PDUs, um unnötige Nachrichten zu stoppen
(4) Später können neue Mitglieder über Graft-PDUs eingebunden werden.
22Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gDVMRP – V3 – Routing (2)
Routing-DetailsJedem Multicast Server, identifiziert durch seine MC-Adresse, wird ein Designated M-Router (DMR) zugewiesen, der Wurzel des M-Tree bildet. Jeder M-Gruppe ist ein eigener M-Tree zugewiesen.DMR hat pro Interface Verteilerlisten mit Mitgliedern definierter M-GruppenStartannahme ist „dense mode“, also jeder Host im eigenen Netz ist Mitglied einer M-Group. Dann Anwenden M-Query über IGMPAnsprechen von M-Router über periodische Neighbor Probes per All-Router-MCs mit TTL=1 und Eintrag in lokale Verteilerlisten. Stufenweiser Aufbau des Baumes. MCs werden nur akzeptiert, wenn Interface auch zum Unicast passt.Im Gegensatz zu RIP wird hier Reverse Path Forwarding (RPF) genutzt. Auffbau vom Empfänger zum Multicast-Sender
23Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gDVMRP – V3 – Routing (3)
Leaf Router: Router, die schließlich die MC-PDU in ein Subnetz ausliefern (z.B. über MAC-MC)Infinity Metrik: Maß für Baumlänge. Größerer Wert als der aktuelle bedeutet neu hinzukommendes Subnetz. Ansonsten Entfernung (Poison Reverse) mittels Truncated Reverse Path BroadcastPruning: Abhängen eines Teil-Pfades aus M-Tree, falls auf Interface keine M-Gruppe mehr zu unterstützenGrafting: Wiederherstellen eines entfernten Pfades durch M-Router. Nach Empfang einer IGMP-Member-Query
Prüfen, ob er vom Tree entfernt wurde (Prune)Prüfen, ob der Upstream-Router Prune/Graft-PDUs verarbeiten kannSenden Graft-PDU zum Upstream-Router
24Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gDVMRP – V3 – Routing (4)Beispiel eines Multicast-Routing-Baumes (1)
25Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gDVMRP – V3 – Routing (5)Beispiel eines Multicast-Routing-Baumes (2): Routing-Tabellen
26Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gDVMRP – V3 – Routing (6)
Hierarchical DVMRP als Erweiterung zum Interdomain RoutingUnterscheidung Level 1- und Level 2- M-Router. Jede Domain wird mit einem Region Identifier benannt, der auf Level 2 mitgeteilt wird.Intradomain wird DVMRP (oder auch MOSPF) eingesetzt, Interdomain HDVMRP. L2-Router müssen beides können.
27Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gMulticast OSPF
Erweiterung von OSPF zu MOSPF durch zusätzliches MulticastLink State Advertisement (LSA)Die OSPF-Datenbank beschreibt in jedem M-Router mit MOSPF die gesamte Topologie des Autonomen Systems einschl. Pfadkosten. Konsistenz wird über MC-Gruppen LSA und IGMP erreicht (Group Membership)Multicast Tree wird als Minimal Spanning Tree für Adresspaar (MC-Sender, MC-Gruppe) gebildet: per source / per groupmulticast treeKoexistenz von OSPF-Router und MOSPF-Router, für MC nur letztere zuständigAuch Inter-Area Multicasting möglich über Wild-Card M-Receiver und einem ausgezeichneten MOSPF-Router pro Area
28Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gProtocol Independent Multicast PIM (1)
Annahme für DVMRP und MOSPF: dichte (dense) M-GruppenBei dense-mode: Wenige M-Router halten Tabellen für
beieinander liegende Gruppenbei sparse-mode: Viele M-Router halten Tabellen für viele
Gruppen mit wenigen lokalen Empfängern PIM unterstützt beide Modi: PIM-DM und PIM-SMPIM arbeitet unabhängig von dem zugrundeliegenden Unicast-Routing und hält eigene Multicast Routing Information Base (MRIB)PIM setzt voraus das zwischen Subnetzen MC-IP-Paketegesendet werden können, wobei sich M-Sender und M-Empfänger a priori nicht kennen.
29Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gProtocol Independent Multicast (2)
Arbeitsweise PIM-SM (nutzt Reverse Path Forwarding): Phase 1M-Empfänger trägt sich in M-Group G ein. Im lokalen Subnetz des Empfängers fungiert ein PIM-Router als DR (Designated Router). Dieser erzeugt Wildcard-Join-PDU in der Form (*,G), wird geroutetzu einem PIM-Router der Gruppe oder zu ausgezeichnetem Router, genannt Rendezvous Point RP. RP ist Vermittler zwischen M-Sender und Empfänger einer Gruppe und dient als Wurzel des M-Baumes (RP Tree).Jeder (*,G) empfangene Router gehört dann zu RP Tree.Sender sendet IP-Pakete zu seinem DR, der IP-Multicasts in Unicast IP einschlägt und als PIM-Registerpakete an RP schickt. Von dort Multicast über RP Tree
30Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gProtocol Independent Multicast (3)
Arbeitsweise PIM-SM: Phase 2 (Register Stop)Multicast zwischen Sender-DR und RP zunächst als encapsulatedIP-unicast. Nach Empfang des ersten Pakets Überprüfung im RP, ob nicht statt Encapsulation besser native Multicast. Hierzu schickt RP spezielle Join-PDU (S,G) an Sender. PIM-Router auf diesem Rückweg, die bereits zu (*,G) gehören, können sich beim Sender-DR registrieren und somit Unicast-Pfad verkürzen.Falls native Multicast-Pakete von neu registriertem PIM-Routereintreffen, verwirft RP eingepackte Multicasts durch Register StopPDU an DR. Zu diesem Zeitpunkt existieren zwei Bäume: RP-Treevon RP an Empfänger, und Source Specific Tree vom MulticastSender an den RP. Schnittpunkt ist Übergang von Unicast zu Multicast.
31Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gProtocol Independent Multicast (4)
Arbeitsweise PIM-SM: Phase 3 (Shortest Path Tree)Weitere Optimierung durch Auswahl kürzester Pfad zwischen R und S. Dazu generiert Empfänger DR von sich aus Join PDU (S,G) in Richtung Sender. Damit wird empfängerspezifischer Shortest Path Tree SPT aufgebaut. M-Pakete kommen nur über SPT und RP-Tree. Letztere werden verworfen mittels Prune PDU (S,G,rpt) in Richtung RP. Prune-Nachricht kommt bei RP an oder beim letzten PIM-Router, der noch über RPT versorgt werden muss. Somit ist SPT etabliert.
32Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gProtocol Independent Multicast (5)
PIM-Nachrichten
33Prof. Dr. H.-G. Hegering, Institut für Informatik, LMU / TUM
RN II
Kap.
5.2
IP M
ultic
astR
outin
gCore Based Trees CBT
Ähnliche Prinzipien wie bei PIM, RFC2189/2201Core Router vergleichbar mit Rendezvous Point bei PIM
Empfänger trägt sich in M-Group ein durch IGMP-PDU an lokalen RouterErreicht Nachricht einen CBT-Router, der den Core Router kennt, wird JOIN-PDU in Richtung Core Router gesandt.Jeder Router auf dem Weg merkt sich den Forwarding State und sendet Bestätigung an den vorgehenden Router
CBT-Nachrichten: HELLO, JOIN, QUIT-Notification, ECHO, FLUSH_TREE