Seite 253 B 54 C 143 B 54 C 143 137.226.12.18 137.226.12.142 137.226.12.1 A 17 E 137.226.12.51 137.226.12.20 D 97 E 62 137.226.12.51 137.226.12.20 D 97 Die physikalische Adresse zur IP-Adresse 137.226.12.20 ist 62 137.226.12.18 137.226.12.142 137.226.12.1 A 17 Suche die physikalische Adresse zur IP-Adresse 137.226.12.20 Kapitel 2: Protokolle und Dienste im Netz • Die Einträge verfallen nach einer gewissen Zeit, um z.B. beim Austausch der Netzwerk-Karte keine Irrläufer zu verursachen Seite 255 • Jeder Host speichert in einer Tabelle bekannte IP- und Hardware-Adressen • Die Maschine mit der angefragten IP-Adresse sendet eine Antwort ARP Response ARP Request Address Resolution Protocol Kapitel 2: Protokolle und Dienste im Netz • Internet Group Management Protocol (IGMP) 62 • Die Hardware-Adresse ist z.B. bei Ethernet eine 48 Bit-Adresse, die der Hersteller auf der Netzwerkkarte eindeutig fest einprägt • Internet Control Message Protocol (ICMP) A B C D E Kapitel 2: Protokolle und Dienste im Netz Jeder Rechner speichert dabei die Absender-IP und Absender-HardwareAdresse in seinem ARP-Cache ARP Request Jeder Rechner sendet von Zeit zu Zeit einen ARP-Request (Broadcast) nach seiner eigenen IP-Adresse. Optimierung des Verfahrens: Address Resolution Protocol Kapitel 2: Protokolle und Dienste im Netz • Eine ARP-Anfrage ist nur im lokalen Netz gültig Seite 256 Seite 254 • ARP benutzt die lokale Broadcast-Adresse, um unter Angabe der gesuchten IP-Adresse die Hardware-Adresse dynamisch zu erfragen • Mit Hilfe des ARP werden IP- und Hardware-Adressen einander zugeordnet • Reverse Address Resoultion Protocol (RARP) • Address Resoultion Protocol (ARP) • Das Internet ist ein virtuelles Netz, das auf physikalischen Netzen aufsetzt. Daher bieten IP-Adressen nur einen logischen Adressraum. Die Hardware auf den unteren Schichten versteht IP-Adressen nicht. Der Sender muss die Hardware-Adresse des Empfängers kennen, bevor er ein IP-Paket im Zielnetz direkt verschicken kann. Address Resolution Protocol (ARP) Zustellung von IP-Paketen IP dient nur zum Versenden von Paketen bei bekannten Adressen. Dabei bleiben einige Fragen offen, die durch Hilfsprotokolle gehandhabt werden: Hilfsprotokolle B D Die IP-Adresse ist 137.226.12.20 C Seite 257 RARP-Server E Router Host ICMP Reply ICMP Request Kapitel 2: Protokolle und Dienste im Netz ICMP Message Router Host Seite 259 ICMP Request: Zustandsabfrage ICMP Reply: Antwort darauf ICMP Message: Übermittlung von Zustandsinformationen und Kontrollnachrichten Beispiel 2: ping (Frage nach einem Lebenszeichen einer Station) benutzt ICMPNachrichten. Beispiel 1: wenn ein Router ein Paket nicht weiterleiten kann, muss die Quelle darüber informiert werden. ICMP-Nachrichten sind insbesondere bei Fehlern im Netz hilfreich. ICMP ist ein Steuerprotokoll der Schicht 3, welches auf IP aufbaut! Dieses Protokoll wird z.B. von Routern verwendet, wenn etwas Unerwartetes passiert. ICMP - Internet Control Message Protocol Kapitel 2: Protokolle und Dienste im Netz A RARP ermöglicht es, dass eine gebootete Maschine ihre Hardware-Adresse broadcastet und von einem RARP-Server ihre entsprechende IP-Adresse mitgeteilt bekommt. • Ich habe die Hardware-Adresse 62 Mit Hilfe von Reverse ARP werden bekannte Hardware-Adressen IP-Adressen zugeordnet. • RARP Request Nicht bei allen Betriebssystemen wird einem Rechner beim Starten eine IPAdresse zugewiesen. Wie erhält ein entsprechender Rechner nach dem Booten seine IP-Adresse? • RARP - Reverse Address Resolution Protocol ICMP - Header Seite 258 Checksum Optional Data Sequence Number Seite 260 Destination unreachable (Paket kann nicht zugestellt werden) Echo Request/Reply (Zustandsabfrage, z.B. beim ping) Source Quench (Choke-Paket, Bitte um Reduktion der Datenrate) Time exceeded for Datagram (TTL hat 0 erreicht, das Paket wird verworfen) Parameter Problem on Datagram (Ein Header-Feld ist falsch ausgefüllt) Information Request/Reply Traceroute (Der Netzwerkpfad wird nachverfolgt) Kapitel 2: Protokolle und Dienste im Netz 0 3 4 11 12 15/16 30 Code IP Header...... Identifier Type Type/Code gibt die Art der Nachricht an, z.B.: • ICMP-Nachrichtenformat: • Also: ICMP versendet Fehler- und Kontrollnachrichten auf Netzebene. Diese Nachrichten werden in ein IP-Paket verpackt Kapitel 2: Protokolle und Dienste im Netz • Abhilfe: DHCP. Ein Rechner sendet ein DHCP-DISCOVER-Paket. In jedem Teilnetz wird ein DHCP Relay Agent stationiert, der solche Nachrichten an den DHCP-Server weiterleitet. • Problem mit RARP: RARP-Requests werden von Routern nicht weitergeleitet, daher muss in jedem Netz ein eigener RARP-Server bereitgestellt werden. DHCP - Dynamic Host Configuration Protocol R R Empfänger 2. Übertragung Problem bei Unicast und Broadcast: Wie kann man effizient eine Gruppe von Rechnern adressieren? Empfänger Kapitel 2: Protokolle und Dienste im Netz • Für ein Broadcast nach Informatik 4: Adresse 137.226.12.255. • Für ein Broadcast ins RWTH-Netz verwendet er die Adresse 137.226.255.255. Seite 263 • Wenn Rechner mit IP-Adresse 139.0.0.1 ein Broadcast an alle lokalen Netzknoten versenden will, verwendet er die Adresse 255.255.255.255. Beispiel: • Ein Broadcast an alle nicht-lokalen Empfänger wird durch den RoutingMechanismus zum nächsten Router vermittelt. • Kein Broadcast-Routing, wenn der Empfänger im lokalen Netz „sitzt“ (denn in diesem Fall erreicht jede Nachricht sowieso alle Empfänger). Seite 261 Empfänger Empfänger R • Ein Broadcast darf nie auf das Netz gesendet werden, von dem der Broadcast empfangen wurde (würde zu „Broadcast Storm“ führen). Regeln für das Routing von Broadcasts: IP-Broadcast und Router Kapitel 2: Protokolle und Dienste im Netz Empfänger R Sender Broadcast Unicast ist Ende-zu-Ende-Übertragung • Mehrere Übertragungen müssen nacheinander erfolgen. • Mehrfachbelastung des Übertragungswegs durch dieselbe Nachricht. • Ineffiziente Nutzung von Zeiten und Kapazitäten. Broadcast ist 'Einer-an-Alle'-Übertragung • Ein Paket wird an viele Empfänger geschickt, die es nicht interessiert • Belastung durch Nutzung von Übertragungswegen, die eigentlich nicht benötigt werden Empfänger 1. Übertragung Sender Unicast Unicast und Broadcast Reserviert Multicast-Adressen 11111111 11111111.11111111.11111111.11111111 11110 1110 11111111 11111111.11111111 Subnetz 32 Bits Netzwerk Netzwerk Netzwerk „Adresse“ 255.255.255.255 Limited Broadcast (an eigenes Netz) für zukünftige Nutzung Multicast Directed-Broadcast Kapitel 2: Protokolle und Dienste im Netz • Eine Gruppe kann aus beliebig vielen Hosts bestehen. • Ein Host muss nicht Gruppenmitglied sein, um senden zu können. • Keine Beschränkung der Positionierung eines Hosts. • Ein Host kann mehreren Gruppen angehören (mehrfache Mitgliedschaft). • Ein Host kann jederzeit in eine Gruppe aufgenommen werden oder sie verlassen. IP Host Group Model: Seite 264 Seite 262 All Subnet-Directed-Broadcast Subnet-Directed-Broadcast Broadcast-Klassen Gruppenadressen für Hosts Kapitel 2: Protokolle und Dienste im Netz E D A,B,C A,B,C A,B IP-Adr. Klasse IP-Adressen für Broadcast Empfänger R R R R R R R R R Kapitel 2: Protokolle und Dienste im Netz Pruning Messages (schneiden nicht benötigte Äste weg) R IGMP-Nachrichten Routing-Information Kürzeste Wege finden Sender R Router Host R R Hier keine Teilnehmer Mindestens ein Teilnehmer R R Seite 267 • Das Routing-Protokoll berechnet die kürzesten Wege zu allen Rechnern im Netz • Router, die keine Teilnehmer im angeschlossenen Netz haben, schicken Pruning Messages zurück; das nächste Mal werden die Multicast-Pakete nicht mehr an diesen Router gesendet • Mittels IGMP-Nachrichten werden Gruppenzugehörigkeiten weitergegeben • Die Router verwalten zu jeder Multicast-Adresse eine Routing-Information • Die Router tauschen ihre Routing-Informationen aus Seite 265 Vorgehen: • Verwendung von Multicast-Adressen: Klasse-D-Adressen, von 224.0.0.0 bis 239.255.255.255 • einige davon sind für bestimmte Zwecke reserviert (z.B. 224.0.0.2 - alle Gateways im Subnet) • Standard-IP-Protokoll um Funktionen des Internet-GroupManagement-Protocol (IGMP) erweitern Probleme: • Unterstützung von Multicast ist nicht für alle Geräte zwingend vorgeschrieben • effiziente Adressierung: wie schafft man es, genau die gewünschten Rechner zu erreichen? Sendung an n > 1 ausgewählte Stationen Multicast Control Path Kapitel 2: Protokolle und Dienste im Netz Empfänger R R Sender Multicast Wie lassen sich als Mittelding zwischen Unicast und Broadcast beschränkte Gruppen von Rechnern adressieren? IP-Multicast periodisch fragen die Router nach (Polling), welche Multicast-Gruppen noch präsent sind Router tauschen Informationen aus, um Multicast-Routing-Bäume festzulegen • • Sink-Tree für den linken Router Netzwerk mit Interessenten für zwei Multicast-Gruppen Kapitel 2: Protokolle und Dienste im Netz (c)/(d) Multicast-Routing-Bäume für die Gruppen 1 und 2 (b) (a) Beispiel – Multicast-Gruppen Seite 268 Seite 266 Router merken sich die Existenz der Gruppenmitglieder • Kapitel 2: Protokolle und Dienste im Netz mittels IGMP-Nachrichten (in IP-Pakete verkapselt) geben Hosts allen Hosts in ihrem Subnetz bekannt, zu welchen Gruppen sie gehören Zum Versand von Multicast-Nachrichten an Gruppenmitglieder, die sich in unterschiedlichen physikalischen Netzen befinden, benötigen Router Informationen über Gruppenzugehörigkeiten. Sind solche Gruppen nur temporär, müssen sich Router im Betrieb über Zugehörigkeiten informieren. Multicast Router • • Gruppenmitglieder IGMP - Internet Group Management Protocol Mbone Services Kapitel 2: Protokolle und Dienste im Netz • Video-On-Demand • Breitbanddienste (Radio, Fernsehen) • Elektronische Zeitung Breitbandige Informationsdienste • Video Mail • Übermittlung von Dokumenten Nachrichtenaustausch • Bildtelefon • Breitbandvideokonferenz • Videoüberwachung Bewegtbild-Übertragung Kapitel 2: Protokolle und Dienste im Netz R R Seite 269 • LAN-Anschlüsse • CAD/CAM-Anschlüsse • Bildübertragung Datenkommunikation Seite 271 • Fernlehrgänge • Zugriff auf Datenbanken Call Services Internet IP-Tunneling: Multicast-Router verpacken IP-Multicast-Pakete in normale IP-Pakte und versenden sie direkt an die anderen Multicast-Router Lösung: Nicht alle Router sind multicastfähig Problem: Multicast-Tunnel Seite 270 Kapitel 2: Protokolle und Dienste im Netz Internes Protokoll 1 Internes Protokoll 3 Externes Protokoll Internes Protokoll 2 Seite 272 Durch Standardisierung der verwendbaren Protokolle lassen sich an den Grenzen der autonomen Systeme Gateways zur Weiterleitung der Pakete einsetzen. Das Internet setzt sich aus einer großen Zahl autonomer Systeme zusammen. Jedes autonome System wird von einem eigenen Unternehmen betrieben und kann eigene Routing-Protokolle verwenden. Routing im Internet Kapitel 2: Protokolle und Dienste im Netz ••Ende Endeder derExperimentierphase, Experimentierphase,Einsatz Einsatzals alsechter echterDienst Dienst ••Multicast-Routing Multicast-Routingdurch durch„richtige „richtigeRouter“ Router“statt stattdurch durchkonfigurierte konfigurierteUNIXUNIXWorkstations Workstations ••Soll Sollininwenigen wenigenJahren Jahrenein einzentraler zentralerService Serviceim imInternet Internetwerden werden Morgen Morgen ••Komplexes KomplexesMulticast-Routing-Netzwerk Multicast-Routing-Netzwerk ••Implementierung Implementierungvon vonMehr-Parteien-Konferenzen, Mehr-Parteien-Konferenzen,Seminaren Seminarenoder oderVorlesungen Vorlesungen ••Benutzt für Übertragung großer Datenmengen Benutzt für Übertragung großer Datenmengen Heute Heute ••Multicast-Backbone Multicast-Backbone (Mbone) (Mbone) ••Globales GlobalesNetzwerk Netzwerkmit mitMulticast-Technologie Multicast-Technologie ••1992 1992erste ersteExperimente Experimente(Übertragung (Übertragungeiner einerIETF-Konferenz) IETF-Konferenz) Gestern Gestern Multicast Backbone Cisco Press, Macmillian Technical Publishing Jeff Doyle: Routing TCP/IP, Vol. 1. Seite 273 Kapitel 2: Protokolle und Dienste im Netz • Unterstützt werden drei Arten von Verbindungen: - Punkt-zu-Punkt-Leitungen zwischen Routern - Mehrfachzugriffsnetze mit Broadcasting (meistens LANs) - Mehrfachzugriffsnetze ohne Broadcasting (z.B. paketvermittelnde WANs) • Enthält Sicherheitsmechanismen, um Router vor böswilligen / falschen Routing-Informationen zu schützen • Unterstützt hierarchische Systeme • Bietet Lastausgleich zwischen redundanten Leitungen Seite 275 • Dynamischer Algorithmus zur schnellen Anpassung an sich verändernde Bedingungen im Netz • Unterstützt eine Vielzahl von Metriken (Entfernung, Verzögerung etc.) • Offenes Protokoll (nicht herstellerspezifisch) • 1990 von IETF standardisiert (RFC 1247) Open Shortest Path First Internes Gateway-RoutingProtokoll - OSPF Kapitel 2: Protokolle und Dienste im Netz • Hot Standby Router Protocol (HSRP) • ICMP Router Discovery Protocol (IRDP) Router Discovery-Protokolle • Exterior Gateway Protocol (EGP) • Border Gateway Protocol (BGP) Exterior Gateway-Protokolle (Routing zwischen Domänen, Beachtung von Policies der Domänen) • Intermediate System - to - Intermediate System (IS-IS) • Open Shortest Path First (OSPF) • Enhanced IGRP • Internet Gateway Routing Protocol (IGRP) • Routing Information Protocol (RIP) Interior Gateway-Protokolle (Routing in autonomen Systemen, zur effizienten Übertragung) Routing-Protokolle Kapitel 2: Protokolle und Dienste im Netz A 2 Dann folgt die Berechnung des kürzesten Pfads von jedem Router zu jedem anderen. OSPF berechnet für ein autonomes System einen Graph, in dem jede Kante einer Kostenstelle (Entfernung, Verzögerung, ...) entspricht. Kapitel 2: Protokolle und Dienste im Netz L1 B A 3 2 C LAN 1 B C 4 4 OSPF G D 10 G D 6 6 E 17 WAN 1 W1 • Ablösung durch ein Link-State-Protokoll (OSPF) 8 H W3 12 13 W2 1 16 WAN 3 H WAN 2 I 3 4 2 Seite 276 L2 F LAN 2 F Seite 274 • Als Reaktion auf die Beschränkungen von RIP führte Cisco das Internet Gateway Routing Protocol (IGRP) ein: Erweiterung der Metrik, Load Sharing, effizienteres Paket-Format. Breit durchgesetzt hat sich das Protokoll jedoch nicht, da es Cisco-spezifisch ist... • RIPv2: Subnetze, Authentifikation, Multicast, ... aber: die maximal mögliche Zahl von Hops bleibt auf 15 beschränkt. • Probleme: langsame Konvergenz (im Minutenbereich), Count-to-Infinity, keine Adressierung von Subnetzen • gut geeignet für kleinere Systeme • In einer Nachricht können (nur) bis zu 25 Einträge der Routing-Tabelle verschickt werden • Als Metrik zur Bewertung der Pfade wird die Anzahl der Hops verwendet. (Die maximal mögliche Zahl an Hops ist auf 15 beschränkt!) • RIP-Nachrichten werden alle 30 Sekunden in UDP-Datagrammen verschickt • Basiert auf dem Distance Vector Protocol • Ursprüngliches internes Gateway-Protokoll des Internets Routing Information Protocol (RIP) J J Seite 277 Gibt die Kosten des Senders an seine Nachbarn aus Bestätigt eine Link-State-Aktualisierung Gibt die neuesten Update-Informationen des Senders bekannt Fordert Informationen vom Partner an Link State Update Link State Ack Database Description Link State Request Kapitel 2: Protokolle und Dienste im Netz • Alle OSPF-Pakete beginnen mit einem gemeinsamen Header Seite 279 Dient zur Feststellung, wer die Nachbarn sind Hello • OSPF läuft direkt über IP Beschreibung Nachrichtentyp Informationsaustausch danach findet nicht mehr mit allen Nachbarn statt, da dies in Broadcast-Netzen ineffizient wäre. Statt dessen wird in solche Fällen ein dedizierter Router bestimmt, der stellvertretend für das Netz ist und die Kommunikation mit allen anderen angeschlossenen Routern übernimmt. Wenn ein Router gestartet wird, sendet er zunächst eine HELLO-Nachricht auf allen Verbindungen, um seine Nachbarn zu ermitteln. Die 5 Nachrichtentypen von OSPF Kapitel 2: Protokolle und Dienste im Netz • OSPF unterscheidet vier Router-Klassen: - Interne Router, die gänzlich zu einem Bereich gehören - Router an Bereichsgrenzen, die zwei oder mehr Bereiche verbinden - Backbone-Router, die sich am Backbone befinden - AS-Grenz-Router, die zwischen mehreren autonomen Systemen vermitteln • Ein Router, der zwei Bereiche verbindet, benötigt aus beiden Bereichen die LinkState-Datenbank • In diesen Bereichen hat jeder Router dieselbe Link-State-Datenbank und führt den gleichen Algorithmus zur Ermittlung des kürzesten Weges aus • Jeder Router, der zu zwei oder mehr Bereichen gehört, ist Teil des Backbones • Jedes autonome System hat einen Backbone, über den man von jedem beliebigen Teil zu einem anderen gelangen kann • Sehr große autonome Gebiete werde in Bereiche unterteilt • Das Internet wird in Autonome Systeme (AS) aufgeteilt OSPF AS 4 Grenz-Router des autonomen Systems (AS) BereichsgrenzRouter Beglaubigung Beglaubigung Bereichs-ID Router-ID Typ Autyp Paketlänge Seite 280 Seite 278 Beziehung zwischen autonomen Systemen (AS), Backbones und Bereichen in OSPF Version gibt die Versionsnummer von OSPF an Typ ist der enthaltene Nachrichtentyp Paketlänge entspricht Anzahl der Bytes in einem Paket Router-ID ist die Kennung des Routers Bereichs-ID die Kennung des Bereichs Autyp: 0 – ohne Authentifizierung, 1 – einfache Authentifizierung (ein Passwort wird mitgesendet) Prüfsumme Version # Kapitel 2: Protokolle und Dienste im Netz • • • • • • Bereich Backbone Router Backbone externes Protokoll verbindet die autonomen Systeme AS 2 Der gemeinsame Header Kapitel 2: Protokolle und Dienste im Netz AS 3 Interner Router AS 1 OSPF Nachbar ------ Nachbar Ernannter Backup-Router Dezidierter Router Totintervall Optionen Priorität Kapitel 2: Protokolle und Dienste im Netz • Verwendet TCP zum Datenaustausch • Teilt Nachbarn den zu benutzenden Pfad mit (deterministisch) • Beachtet Sicherheits- und andere Regeln (Routing-Policies) • Variante des Distance Vector Protocol: nicht die Kosten eines Übertragungswegs werden überwacht und ausgetauscht, sondern komplette Pfadbeschreibungen Ist ein externes Routing-Protokoll BGP - Border Gateway Protocol Externe Gateway-Protokolle müssen (politische, wirtschaftliche, ...) Regeln beachten. Seite 283 Interne Gateway-Protokolle sind auf Effizienz ausgerichtet: finde den besten Weg zum Zielrechner. Externes Gateway-Protokoll - BGP Seite 281 Alle Felder sind 32 Bit lang (außer Hello-Intervall, Optionen, Priorität) Hello-Pakete werden alle Hello-Intervall-Sekunden vom Router gesendet Innerhalb eines LANs sendet nur ein dedizierter Router Enthält eine Liste aller Nachbarn, die innerhalb des Totintervalls gesendet haben Kapitel 2: Protokolle und Dienste im Netz • • • • Hello-Interval Netzwerkmaske OSPF-Paket-Header, Typ = 1 (Hello) Hello-Protokoll F I C Kapitel 2: Protokolle und Dienste im Netz E A B G J Mehrere BGP-Router H D Annahme: F benutzt FGCD, um D zu erreichen Seite 282 Seite 284 • Routen, die Policies verletzten, werden auf inf gesetzt • Anwendung von Policies • B und G stehen zur Wahl • Pfade von I und E werden gleich verworfen, weil sie durch F führen F sucht die optimale Route von B: „Ich benutze BCD“ von G: „Ich benutze GCD“ von I: „Ich benutze IFGCD“ von E: „Ich benutze EFGCD“ F empfängt von Nachbarn folgende Informationen über D: An F gesendete Informationen Externes Gateway-Protokoll - BGP Kapitel 2: Protokolle und Dienste im Netz • Link State Update und Link State Ack sind die normalen, regelmäßig verschickten Zustandsinformationen. Hierzu wird Flooding verwendet. • Data Base Description teilt dem Anfragenden alle Daten des Antwortenden mit • Link State Request wird verwendet, falls Inkonsistenzen in einer Datenbank auftreten • Bei Paketverlust erfolgt eine erneute Übertragung • Asymmetrischer Abgleich (Master – Slave) der Datenbanken • Dient dem Abgleich zweier Datenbanken von benachbarten Routern z.B. bei einer Neukonfiguration, einer neuen Punkt-zu-Punkt Verbindung etc. • Existiert in zwei Varianten: Data Base Description und Link State Request Das Austauschprotokoll niedrig niedrig niedrig Audio on Demand Video on Demand IP-Telefonie Videokonferenz • Distance Vector Protocol • Verwendet Reverse Path Forwarding (RPF): ein Paket wird nur weitergeleitet, wenn es auf der kürzesten Route vom Sender eintrifft. Damit werden Schleifen im Routing-Baum vermieden. Seite 285 Kapitel 2: Protokolle und Dienste im Netz • Packet Scheduling (z.B. Weighted Fair Queuing) Seite 287 • Buffering: speichere die Daten beim Empfänger zwischen. Dadurch wird zwar die Verzögerung erhöht, aber der Jitter gesenkt (Audio/Video on Demand) • Overprovisioning: erhöhe Router-Kapazitäten, Buffer und Bandbreite • Traffic Shaping, z.B. Leaky Bucket und Token Bucket Mechanismus: betrachte einen Fluss von Datenpaketen als Strom, versuche, für diesen Strom Qualitätsanforderungen durchzusetzen. Einhaltung von QoS Kapitel 2: Protokolle und Dienste im Netz hoch hoch niedrig niedrig mittel mittel niedrig niedrig Verzögerung hoch hoch hoch hoch mittel niedrig niedrig niedrig Jitter Kapitel 2: Protokolle und Dienste im Netz Seite 288 • Priority Queueing Anhand eines Merkmals (Bit im Header, Zieladresse, ...) wird einem Paket eine Priorität zugeordnet. Für jede Priorität existiert ein eigener Buffer. Es wird immer die höchst-priorisierte, nicht-leere Warteschlange abgearbeitet. • FIFO (First In, First Out) Die Pakete werden der Ankunft nach übertragen; ist der Buffer voll, werden weitere Pakete verworfen. Seite 286 hoch niedrig hoch mittel niedrig mittel mittel niedrig Bandbreite Bestimme die Reihenfolge, in der ein Router ankommende Pakete weiterleitet. Packet Scheduling Kapitel 2: Protokolle und Dienste im Netz hoch niedrig Remote Login • Verwaltung spezieller Routing-Tabellen, können getrennt von normalen RoutingTabellen gehalten werden hoch Zuverlässigkeit Web-Zugriff Anwendung • Implementierung verfügbar als Public-Domain Software “mrouted”, derzeit die populärste Multicast-Protokoll-Implementierung alle dedizierten OSPF-Router des LANs hoch 224.0.0.6 alle OSPF-Router des LANs • Aber: viele Anwendungen benötigen eine gewisse Dienstgüte (Quality of Service, QoS), um vernünftig ausgeführt werden zu können: hoch - 224.0.0.5 gesamtes LAN alle Router des LANs Dateitransfer - 224.0.0.2 • IP ist paketvermittelnd, daher gibt es bei einer Übertragung keinerlei Granatien (Durchsatz, Übertragungsverzögerung, ...) Problem heute: Quality of Service im Internet E-Mail - - 224.0.0.1 • Verwendet Class-D-Adressen, z.B. Distance Vector Multicast Routing Protocol (DVMRP, RFC 1075) Multicast-Routing RSVP Seite 289 Kapitel 2: Protokolle und Dienste im Netz Seite 291 • Um veraltete Reservierungen löschen zu können, werden Timeouts definiert. Frischt der Empfänger seine Reservierung nicht vor Ablauf des Timers auf, wird sie gelöscht. • Sobald die RSVP Reservation Message den Sender erreicht, ist der komplette Weg reserviert, der Sender fängt an zu senden. • Ist eine Reservierung bei einem Router nicht möglich, wird eine Fehlernachricht zurückgeschickt. • Der Empfänger schickt entlang dieses Pfads RSVP Reservation Messages, die seine Flussspezifikation enthalten. Jeder Router auf dem Weg reserviert entsprechend. • Der Sender schickt eine RSVP Path Message zum Empfänger. Hierdurch werden die Weginformationen der Router eingesammelt und dem Empfänger mitgeteilt. (Es können auch direkt Flussspezifikationen für den Empfänger mitgegeben werden.) Ablauf bei Verwendung von RSVP: Kapitel 2: Protokolle und Dienste im Netz • Weighted Fair Queueing Verbinde Round Robin mit Priorisierungen der einzelnen Warteschlangen • Round Robin Taste alle Warteschlangen der Reihe nach ab und sende jeweils ein Paket aus jeder nicht-leeren Warteschlange Packet Scheduling Kapitel 2: Protokolle und Dienste im Netz (c) Bei Multicast können bereits bestehende Reservierungen genutzt werden (b) Aufbau eines zweiten Pfads, da beide Datenströme unabhängig sind (a) Aufbau eines Pfads von Empfänger 3 zu Sender 1 RSVP bei Multicast Kapitel 2: Protokolle und Dienste im Netz RSVP kann für Unicast und für Multicast verwendet werden 3.) Delay-sensitive: eine garantierte Verzögerung ist nötig 2.) Rate-sensitive: eine garantierte Übertragungsrate ist nötig 1.) Best Effort: mach es, so gut es geht Seite 292 Seite 290 RSVP ist kein Routing-Protokoll, nur ein "Aufsatz" auf ein solches. Benötigt wird eine Beschreibung der Anforderungen des Empfängers in Form eine Flussspezifikation (Level des QoS). Kategorien sind • Von der IEFT standardisiert als Resource reSerVation Protocol, RSVP • Daher nötig: baue einen Pfad durch das Netz auf und reserviere festgelegte Kapazitäten von Bandbreite, Bufferspeicher und CPU-Zeit. • Problem mit all diesen Techniken: Pakete können unterschiedliche Wege nehmen Resource Reservation Seite 293 Kapitel 2: Protokolle und Dienste im Netz • Die Domäne definiert Dienstklassen, in die jeder Datenfluss eingeordnet wird. Bei Eintritt in die Domäne (am Ingress-Router) wird jedes Paket einer Klasse zugeordnet und im Netz nur noch entsprechend weitergeleitet. Dadurch wird eine bessere Skalierbarkeit als bei IntServ erreicht. Seite 295 • Teile das Netz in Domänen auf. Eine Domäne ist ein Teilbereich des gesamten Netzwerks, welcher DiffServ unterstützt. Sie besteht aus Zugangsroutern zur Domäne (Ingress-Router, gelb) und internen Routern (Core-Router, blau). • Damit wird die Komplexität in die Router "am Rand" des Netzes verlagert, interne Router können einfacher gehalten werden. • Klassen-basierter Ansatz (Differentiated Services, DiffServ): verzichte auf Garantien und verwalte nur aggregierte Datenströme QoS im Internet: Differentiated Services Kapitel 2: Protokolle und Dienste im Netz • Somit ähnelt das Prinzip dem Aufsetzen einer Verbindungsorientierung auf IP • Integrated Services (IntServ) baut auf RSVP zur Signalisierung von Flussspezifikationen und Reservierungen auf und ermöglicht QoS für jeden Datenfluss einzeln • 1995-1997 standardisiert durch die IETF als Architektur zur Übertragung von Multimedia-Strömen QoS im Internet: Integrated Services Type of Service Header Checksum Fragment Offset Destination Address Source Address Protocol DM FF Total Length D T R DSCP Precedence frei frei Seite 294 Kapitel 2: Protokolle und Dienste im Netz Seite 296 Für DiffServ sind momentan u.a. folgende Klassen (als Übertragungsverhalten) definiert: • Expedited Forwarding (einfachste Klasse) • Assured Forwarding Time to Live Identification Version IHL • Nutzung des Type-of-Service-Felds bei IPv4 für die Klassifizierung (DSCP – Differentiated Service CodePoint). Der DSCP-Eintrag definiert das per-HopVerhalten des Pakets von einem Router zum nächsten. Anwendung von DiffServ Kapitel 2: Protokolle und Dienste im Netz • Möglich: setze IntServ nur "am Rand" großer Netze ein, wo es wenig Datenflüsse gibt • Probleme: • Skalierbarkeit: für jeden Datenfluss muss ein Router eigene Flussspezifikationen überwachen • Wie können Reservierungswünsche authorisiert und priorisiert werden? • Die QoS-Klassen reichen nicht aus, um vernünftig zwischen verschiedenen Datenstromarten zu unterscheiden. • Klassen von QoS: Guaranteed: Bandbreite, Verzögerung und Zuverlässigkeit werden garantiert. Abweichungen kommen nicht vor. Controlled Load: "schwache" Garantien, Abweichungen sind in Maßen möglich. Prinzip: für Datenströme dieser Klasse erscheint das Netz als "schwach ausgelastet" Best Effort: so gut wie möglich, normaler Internet-Verkehr Integrated Services maxth2 minth1 Füllstand des Buffers eines Routers maxth3 maxth1 s Seite 297 Kapitel 2: Protokolle und Dienste im Netz Seite 299 Drei Verwurfswahrscheinlichkeiten in Abhängigkeit von der Auslastung des Routers 0 pmax1 pmax3 pmax2 1 p minth minth 3 2 Assured Forwarding Kapitel 2: Protokolle und Dienste im Netz Idee bei Expedited Forwarding: • es gibt "reguläre" und "eilige (expedited) Pakete. Eilige Pakete werden so weitergeleitet, als gäbe es keinen oder wenig weiteren Verkehr. Für sie wird eine minimale Übertragungsrate garantiert. • Router können für diese beiden Gruppen getrennte Queues verwalten (Weighted Fair Queueing). Expedited Forwarding Kapitel 2: Protokolle und Dienste im Netz Seite 298 Seite 300 4. Weighted Fair Queueing gemäß Prioritätsklassen 3. "Shapen", d.h. In-Form-Bringen der Datenströme gemäß ihrer Flussspezifikation. Überschreiten der Spezifikationen führt zu Verwerfen von Daten. Falls danach immer noch zu viel Daten anfallen, Verwerfen der Pakete gemäß ihrer Wahrscheinlichkeit 2. Entsprechende Wahl des DSCP-Tags 1. Einordnung der Pakete in Dienstklassen Assured Forwarding Kapitel 2: Protokolle und Dienste im Netz • Arbeitsweise: Die Prioritätsklasse bestimmt den Anteil der Sendekapazität des Routers Bei starker Belastung würden hierdurch Pakete niedrigerer Priorität ganz verworfen Fairness: jede Prioritätsklasse sollte Chancen haben, durchzukommen Daher Definition der Wahrscheinlichkeiten für jede Klasse. Durch geeignete Auswahl der Wahrscheinlichkeiten kann einem kleinen Teil der niedrigsten Prioritätsstufe immer noch eine Weiterleitung möglich sein, während schon Pakete höherer Prioritätsklassen verworfen werden. • Damit: insgesamt 12 verschiedene Dienstklassen • Für jede Klasse sind drei Wahrscheinlichkeiten für das Verwerfen eines Paketes definiert: niedrig, mittel, hoch • Bessere Differenzierung: Definition von 4 (momentan; es sind auch mehr Klassen möglich) Prioritätsklassen mit eigenen Ressourcen Assured Forwarding Kapitel 2: Protokolle und Dienste im Netz Eigentliches Label Dienstklasse Zur Verwendung in hierarchischen Netzen • Das Label findet nirgendwo im IP-Header Platz, also setze es davor: • Resultat: MultiProtocol Label Switching, MPLS Seite 301 Während die IETF an IntServ und DiffServ arbeitete, dachten auch Routerhersteller weiter: versehe jedes Paket mit einem Label, auf dessen Basis das Routing geschieht (anstatt aufgrund des Zielhosts). Label Switching: MPLS Kapitel 2: Protokolle und Dienste im Netz Achtung: keiner der Ansätze zu QoS im Internet in weit verbreitet – momentan ist alles noch im Experimentalstadium • In hierarchischen Netzen kann ein Paket mit mehreren Labeln hintereinander versehen sein. In diesem Fall ist das S-Bit gesetzt. Seite 302 • Unterschied zu verbindungsorientierten Netzen: es gibt keinen Verbindungsaufbau. • Am Ende des Netzes kann das Label entfernt und die IP-Adresse als Weginformation verwendet werden. • Der Router kann wieder verschiedene Warteschlangen verwalten, die Zugehörigkeit eines Pakets wird durch das QoS-Feld bestimmt. • Ein Router entscheidet anhand des Labels, auf welche Ausgangsleitung ein Paket gegeben wird. Gleichzeitig wird auch ein neues Label gesetzt, welches "den nächsten Router instruiert". • Das erste Paket eines Datenstroms bestimmt den Weg. Der Router speichert die Label-Information des Pakets und schickt alle weiteren Pakete mit diesem Label über die gleiche Leistung (logischer Kanal). Damit wird sozusagen eine Verbindungsorientierung geschaffen. Arbeitsweise: MPLS