Rechnernetze I. Routing. Dr. Andreas Kassler Universität Ulm. University of Ulm. Distributed Systems Department. QoS Group

Ähnliche Dokumente
Einführung in IP, ARP, Routing. Wap WS02/03 Ploner, Zaunbauer

Wo geht s lang: Routing. Erstellt von Simon Wegbünder.

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Netzwerke 3 Praktikum

Übung 6. Tutorübung zu Grundlagen: Rechnernetze und Verteilte Systeme (Gruppen MI-T7 / DO-T5 SS 2015) Michael Schwarz

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

2.1 Adressierung im Internet

IP routing und traceroute

ICMP Internet Control Message Protocol. Michael Ziegler

Modul 13: DHCP (Dynamic Host Configuration Protocol)

IP Tunneling und Anwendungen

Grundlagen der Rechnernetze. Internetworking

Routing im Internet Wie findet ein IP Paket den Weg zum Zielrechner?

Guide DynDNS und Portforwarding

8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung

Adressen im Internet (Wdh.)

Die Subnetzmaske/Netzwerkmaske

Übungsblatt 4. (Router, Layer-3-Switch, Gateway) Aufgabe 2 (Kollisionsdomäne, Broadcast- Domäne)

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

Man unterscheidet zwischen LAN (Local Area Network) und WAN (Wide Area Network), auch Internet genannt.

Internet Routing am mit Lösungen

Übungsblatt 4. (Router, Layer-3-Switch, Gateway) Aufgabe 2 (Kollisionsdomäne, Broadcast- Domäne)

Netzwerkeinstellungen unter Mac OS X

Einführung in die. Netzwerktecknik

Gedächtnisprtokoll für NPA-Klausur

Anbindung des eibport an das Internet

Anleitung Grundsetup C3 Mail & SMS Gateway V

Chapter 7 Distanzvektorprotokolle. CCNA 2 version 3.0 Wolfgang Riggert, FH Flensburg auf der Grundlage von

CCNA Exploration Network Fundamentals. ARP Address Resolution Protocol

How-to: Webserver NAT. Securepoint Security System Version 2007nx

3 Das verbindungslose Vermittlungsprotokoll IP

DNÜ-Tutorium HS Niederrhein, WS 2014/2015. Probeklausur

CCNA Exploration Network Fundamentals. Chapter 6 Subnetze

Modul N5 - Routing. Informatik erleben. Anwendung: http, smtp. Transport: TCP, UDP. Segment. Vermittlung: IP. Datagramm. Sicherung: Ethernet, PPP

Black Box erklärt. Subnetzmasken

Verbindungslose Netzwerk-Protokolle

Systeme II. Christian Schindelhauer Sommersemester Vorlesung

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Prof. Dr. R. Sethmann Übungen: Datum: Rechnernetze und Telekommunikation

Professionelle Seminare im Bereich MS-Office

Netzwerk- Konfiguration. für Anfänger

Öffnen Sie den Internet-Browser Ihrer Wahl. Unabhängig von der eingestellten Startseite erscheint die folgende Seite in Ihrem Browserfenster:

Idee des Paket-Filters

Internet Routing. Grundprinzipien Statisches Routing Dynamisches Routing Routingprotokolle Autonome Systeme

1 Mit einem Convision Videoserver über DSL oder ISDN Router ins Internet

Chapter 9 Troubleshooting. CCNA 2 version 3.0 Wolfgang Riggert, FH Flensburg auf der Grundlage von

Referat von Sonja Trotter Klasse: E2IT1 Datum Jan Subnetting

Internet Routing. Link State Routing. SS 2012 Grundlagen der Rechnernetze Internetworking 27

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Hauptdiplomklausur Informatik März 2002: Internet Protokolle

Router 1 Router 2 Router 3

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Internet Routing. SS 2012 Grundlagen der Rechnernetze Internetworking

Thema IPv6. Geschichte von IPv6

WLAN Konfiguration. Michael Bukreus Seite 1

Port-Weiterleitung einrichten

Rechnernetze Übung 8 15/06/2011. Schicht 7 Schicht 6 Schicht 5 Schicht 4 Schicht 3 Schicht 2 Schicht 1. Switch. Repeater

DHCP. DHCP Theorie. Inhalt. Allgemein. Allgemein (cont.) Aufgabe

Kontrollfragen Die nötigen Netzwerkgrundlagen

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

CSMA/CD: - keine Fehlerkorrektur, nur Fehlererkennung - Fehlererkennung durch CRC, (Jabber) Oversized/Undersized

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

Konfiguration von Exchange 2000 zum versenden und empfangen von Mails & Lösung des SEND after POP Problems

Einführung in die Netzwerktechnik

Gefahren aus dem Internet 1 Grundwissen April 2010

Printserver und die Einrichtung von TCP/IP oder LPR Ports

Abgesetzte Nebenstelle TECHNIK-TIPPS VON per VPN

Urlaubsregel in David

IPV6. Eine Einführung

Beschreibung Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Grundlagen Funktionsweise Anhang Begriffserklärungen. DHCP Grundlagen. Andreas Hoster. 9. Februar Vortrag für den PC-Treff Böblingen

Technische Grundlagen von Internetzugängen

Rechnernetze I SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 10.

How to install freesshd

Grundkurs Routing im Internet mit Übungen

Gruppe Grundlegende Konfiguration... 1 Übersicht Routerbefehle... 2 Schlussendliche Konfiguration... 2 TFTP-Server... 5 Gruppe 2...

Netzwerktechnologie 2 Sommersemester 2004

IPv6. Autor Valentin Lätt Datum Thema IPv6 Version V 1.0

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Aufbau eines virtuellen privaten Netzes mit Peer-to-Peer-Technologie

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

Technical Note ewon über DSL & VPN mit einander verbinden

ALL7007 VPN-Tunnel Musterkonfiguration zwischen zwei ALL7007 über dynamische IP-Adressen mit PPPoE

ANYWHERE Zugriff von externen Arbeitsplätzen

Hilfestellung. ALL500VDSL2 Rev.B & ALL02400N. Zugriff aus dem Internet / Portweiterleitung / Fernwartung. Router. Endgeräte. lokales.

CISCO-Router. Installation und Konfiguration Dr. Klaus Coufal

Los geht s. aber Anhand meines Beispiels!

RARP, BOOTP, DHCP Wie ermittelt ein Client seine IP-Adresse?

KN Das Internet

Tevalo Handbuch v 1.1 vom

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

Analyse und Darstellung der Protokollabläufe in IPv6-basierten Rechnernetzen

Transkript:

Rechnernetze I Routing Dr. Andreas Kassler Universität Ulm Slide 1

Gliederung! Netzwerkschicht und Routing! Adressierungsschema! Routing! Routingtabellen! Routingprotokolle! Distance Vector! Link State! Hierarchisches Routing! Interior/Exterior Routing Protokolle! Routing im Internet! Routing im Broadcast LAN Slide 2

Netzwerk Schicht Die Netzwerkschicht (Vermittlungsschicht) ist zuständig für die Zustellung von Paketen vom Quell-Rechner zum Ziel-Rechner (Ende-zu-Ende) Aufgaben! Wahl der richtigen Wege Ende-zu-Ende! Abhängig von der Dienstcharakteristik! Stellt Dienste zur Verfügung! Unabhängig von der Subnetz Technologie (Anzahl, Typ, Topologie)! Stellt einheitliches, netzweites Adressierungsschema zur Verfügung! Entsprechend einer Topologie" Aggregierung von Adressen möglich Slide 3

Netzwerk Schicht Ziel ist es, ein logisches Netz aufbauend auf einer Menge von physikalischen Netzen zu erstellen US Backbone trans-atlantische atlantische Verbindung Europäischer Backbone Asien IP Token Bus LAN Regionales Netz IP Token Ring LAN Nationales Netz IP Ethernet LAN Slide 4

Wegewahl: Routing Aufgabe! Routing: Prozess einen Weg zu finden von einer Quelle zu jedem Zielrechner innerhalb eines Netzwerkes! Aber: Eindeutige Adressierung notwendig!! Annahme: Wir wollen von unserem Rechner Hawaii erreichen! Welche Route sollen wir wählen?! Ist die gewählte Route die kürzeste oder gibt es eine kürzere?! Was heisst kurz eigentlich?! Was passiert, falls eine Verbindung innerhalb der Route ausfällt?! Was passiert, wenn wir mobil sind und sich die Route ändert? Routing beschäftigt sich mit der Wegewahl von einer Quelle zu einem beliebigen Ziel Slide 5

Gliederung! Netzwerkschicht und Routing! Adressierungsschema! Routing! Routingtabellen! Routingprotokolle! Distance Vector! Link State! Hierarchisches Routing! Interior/Exterior Routing Protokolle! Routing im Internet! Routing im Broadcast LAN Slide 6

Internet Adressen IPv4! 32 bit lang! Eindeutig im gesamten Internet! Netzwerk- und Host Teil Internet Adressierungsschema! Unterscheidung mittels Adress-Klassen oder Subnetz Masken! Netzwerk-Teil wird von Routern verwendet zur Wegewahl Beispiel In Dezimal Dotted Dezimal Slide 7

Adressierungsschema bei IP Adressierungsschema muß Netzwerk-Ids unterscheiden können z.b. IP: Class A, B, C, D Netze Class A Class B Class C Class D Class E 32 bit, Netzwerk Teil + Host Teil Slide 8

! Class A Adressierung Internet Adressierung (IPv4)! Net-ID zwischen 1.x.x.x und 126.x.x.x 126 Subnetze! Host-ID zwischen x.0.0.1 und x.255.255.254 16.777.214 Hosts! Class B! Net-ID zwischen 128.1.x.x und 191.254.x.x 16.384 Subnetze! Host-ID zwischen x.x.0.1 to x.x.255.254 65.534 Hosts! Class C! Net-ID zwischen 192.0.0.x und 223.255.255.x 2.097.512 Subnetze! Host-ID zwischen x.x.x.1 to x.x.x.254 254 Hosts! Class D! Multicast IDs 268.435.456 Multicast-@! Jedes IF innerhalb eines Rechners hat eigene IP Adresse! Adressraum zugewiesen durch Administrative Behörde (z.b. DE-NIC)! Adressen sollten auch für Netze vergeben werden, die noch nicht am Internet hängen Slide 9

Internet Adressierung (IPv4) Subnetze (siehe auch RFC 950)! Vermeide exzessive Routertabellen!! Flexible Aufteilung in Netzwerk- und Host-Teil gefordert, da viele Firmen ursprünglich Class B Netze beantragten (mehr als 256 Rechner)! Mittels Subnetz Maske! Dotted dezimal: 192.168.1.128/255.255.255.128! Offset innerhalb Netzwerk Adresse: 192.168.1.128/25! "CIDR (Classless Interdomain Routing): kontinuierliche Teilmenge eines Class C Netzes! Wenn Subnetz Maske nur Netzwerkteil überdeckt " kein Subnetzteil vorhanden! Z.B. Class B und Subnetz Maske = 255.255.0.0! Ermöglicht drei Hierarchie-Ebenen! Router können ihre Entscheidungen auf Subnetz Ids basieren, Z.B.! Im Core: speichere Route zu 134.60.*! Router für 134.60.*: speichere alle Routen innerhalb 134.60.*, also z.b. zu 134.60.77.73 Slide 10

Übung Beispiel! IP Adresse: 201.1.1.34! Netzmaske: 255.255.255.240! Netzwerk-ID? Host-ID? Maske IP Netz-ID Host-ID Netz-ID= 201.1.1.32 Host-ID= 0.0.0.2 Slide 11

Wie bekommt man IP-Adressen Für Hosts! Hart codiert durch Administrator in einer Config-Datei! Mittels DHCP (Dynamic Host Configuration Protocol)! Automatische Adresszuweisung von einem DHCP Server! Mehrere DHCP Server möglich! Rechner schickt per Broadcast DHCP Discover Nachricht! DHCP Server antwortet mit DHCP Offer Nachricht! Rechner will IP-Adresse mittels DHCP Request Nachricht! DHCP Server antwortet mit DHCP Ack Nachricht Slide 12

Für den Netzwerk Teil Wie bekommt man IP-Adressen! Zuweisung eines Teils des ISP Adressraums ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23....... Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23 Slide 13

Hierarchische Adressierung Hierarchische Adressierung erlaubt somit effizientes Zusammenfassen von Routinginformation Organization 0 200.23.16.0/23 Organization 1 200.23.18.0/23 Organization 2 200.23.20.0/23 Organization 7 200.23.30.0/23.... ISP bekommt Block von Adressen über ICANN: Internet Corporation for Assigned Names and Numbers Alloziert Adressen Verwaltet DNS T-Systems ISP RnR ISP Weist Domain Namen zu Schicke mir alle Pakete deren Adressen Mit 200.23.16.0/20 beginnen Schicke mir alle Pakete deren Adressen Mit 199.44.0.0/16 beginnen Internet Slide 14

Hierarchische Adressierung RnR ISP hat jetzt aber auch spezifischere Route zu Organization X Organization 0 200.23.16.0/23 Organization 1 200.23.18.0/23 Organization 2 200.23.20.0/23 Organization 7 200.23.30.0/23 Organization X 200.23.19.0/23.... T-Systems ISP RnR ISP Schicke mir alle Pakete deren Adressen Mit 200.23.16.0/20 beginnen Internet Schicke mir alle Pakete deren Adressen Mit 199.44.0.0/16 beginnen oder 200.23.19.0/23 Slide 15

Gliederung! Netzwerkschicht und Routing! Adressierungsschema! Routing! Routingtabellen! Routingprotokolle! Distance Vector! Link State! Hierarchisches Routing! Interior/Exterior Routing Protokolle! Routing im Internet! Routing im Broadcast LAN Slide 16

Router! koppelt Netzwerke auf Schicht 3 Elemente des Routing! ermöglicht Kommunikation entfernter Endgeräte auch über WANs! Wegewahlentscheidung aufgrund weltweit eindeutiger Adressen (hierarchisch?)! Segmentierung und Reassemblierung von Schicht 3 Paketen! damit Anpassung an max. Segmentlängen bei Schicht 2! Sicherheitsmechanismen zur Regelung von Netzwerkzugriffen (vgl. Firewall) LAN1 Router 1 LAN1 LAN1 WAN1 Router 1 WAN2 Router 1 Slide 17

Router Eigenschaften! PHY und DLC für jedes Netzwerk! Typischerweise homogenes NWP (z.b. IP)! Wegewahl durch Netzwerkprotokoll (NWP), typischerweise IP, anhand eindeutiger Netzwerkadressen! Datenpfad auf Netzwerkschicht! Kontrollpfad darüber (Routing PDUs eingekapselt in N-PDUs oder T-PDUs)! Routingalgorithmus verwaltet Routingtabelle! Wegewahl anhand Routingtabelle (RT) Höhere Schichten (Routingprotokoll Routermgmt.) NWP DL1 PHY1 NWP DL2 PHY2 Datenpfad RT Kontrollpfad Router im ISO/OSI Modell NWP = Netzwerkprotokoll Slide 18

Modell eines Routers Routing Modul Routing- PDUs Routing- Tabelle Routing- Algorithmus Routing- PDUs Daten PDUs Vermittlungs- Modul Daten PDUs Slide 19

Routingfunktion Paket auf Netzwerkschicht enthält! Paket von Transport Layer (Port, SeqNr., ACK, Data, CRC,...)! Adressierungsinformation (SA, DA oder VC-Identifikator)! weitere Felder (Vers.Nr., Länge, TTL) Aufgaben des Routers bei Paketerhalt! Suche Paketidentifikator in Routing-Tabelle (Destination-@ oder VC-Id)! Leite Paket weiter an entsprechenden Port (oder zu höherer Schicht wenn schon am Ziel) " Ein Hauptproblem: Lokale Entscheidung aufgrund globaler Topologie Ein Routingprotokoll erstellt und verwaltet eine Routingtabelle in Routern und Switchen Slide 20

Schlüsselproblem Lokale Entscheidungen! Wie wird sichergestellt, dass die lokale Wegewahl korrekt ist?! Jeder Router muss eine gewisse Kenntnis der globalen Topologie haben! Globaler Zustand! Inhärent groß! Dynamisch! Schwer zu erstellen! Intelligente Zusammenfassung der Daten gefordert Slide 21

Gliederung! Netzwerkschicht und Routing! Adressierungsschema! Routing! Routingtabellen! Routingprotokolle! Distance Vector! Link State! Hierarchisches Routing! Interior/Exterior Routing Protokolle! Routing im Internet! Routing im Broadcast LAN Slide 22

Routingtabellen! Minimiere Größe der Routingtabelle! Zur Durchführung schneller Routingentscheidungen! Zum schnellen Austausch zwischen Routern! Schlüsselfragen! Wer bestimmt die Tabelleneinträge?! Welche Information wird zur Tabelleneintragsbestimmung verwendet?! Wann ändern sich Routing-Tabelleneinträge?! Wo wird welche Routing Information gespeichert?! Wie halten wir die Tabellengröße unter Kontrolle?! Wie bestimmen wir die Routing Tabelleneinträge? Was ist der theoretische Grund für einen bestimmten Algorithmus Eine Antwort auf diese Fragen ergibt die notwendige Information zum Bau eines vollständigen Routers Slide 23

Gliederung! Netzwerkschicht und Routing! Adressierungsschema! Routing! Routingtabellen! Routingprotokolle! Distance Vector! Link State! Hierarchisches Routing! Interior/Exterior Routing Protokolle! Routing im Internet! Routing im Broadcast LAN Slide 24

Anforderungen and Routingprotokoll! Minimiere Größe der Routingtabellen! Minimiere Anzahl und Größe der Kontrollnachrichten! Robustheit! Vermeide Bermudadreieck! Vermeide Schleifen! Vermeide Oszillationen! Finde optimalen Weg! Geringste Verzögerung?! Geringster Paketverlust?! Höchster Durchsatz?! Skalierbarkeit! Unterstütze große Anzahl Endgeräte, Router und Netze! Adaptivität! Schnelle und effiziente Anpassung auf Änderung in Topologie und Netzlast! Selbstheilung: Wenig oder keine Eingriffe durch Benutzer nötig! Policy! Z.B. Wähle Route, die wenn möglich kein öffentliches Netz kreuzt Slide 25

Klassifizierung! Zentralisiert vs. Routingprotokolle! Zentraler Knoten berechnet Route! Äquivalent: Information zur Routenberechnung global bekannt, jeder Router wendet gleiche Berechnungen an! Einfacher, aber fehleranfälliger als! Dezentral! Jeder Router kennt nur lokale Information (sich und seine unmittelbaren Nachbarn), berechnet Route auf dieser Basis! Source based vs.! Paket-Kopf hat komplette Weginformation! Mehr overhead, Quelle muß gesamte Topologie kennen! Hop-by-Hop! Auch Mischformen möglich " Loose Source Routing Slide 26

Klassifizierung! Statisch vs. Routingprotokolle! Routingtabellen ändern sich kaum, oft nur durch Manuellen Eingriff! Dynamisch! Routingtabellen verändern sich mit Topologie oder Netzverkehr! Gebräuchlich:! Link State: Zentralisiert, Dynamisch (Periodische Veränderung)! Distance Vector: Dezentral, Dynamisch (Reagiert auf Veränderungen) Slide 27

! Umgebung Annahmen für Routingprotokolle! Verbindungen und Router sind fehleranfällig! Verkehrsmuster ändert sich schnell! Alternative Pfade sind kaum vorhanden! Annahmen der Protokolle! Jeder Router kennt Adresse des Nachbarn! Jeder Router kennt Kosten, um den Nachbarn zu erreichen! Globale Routinginformation wird verfügbar durch Kommunikation mit seinem Nachbarknoten! Zwei Algorithmen! Distance Vector! Router verschickt Kosten zu allen anderen Routern an alle direkten Nachbarn! Link State! Router verschickt Kosten zu direkten Nachbarn an alle anderen Router Slide 28

Gliederung! Netzwerkschicht und Routing! Adressierungsschema! Routing! Routingtabellen! Routingprotokolle! Distance Vector! Link State! Hierarchisches Routing! Interior/Exterior Routing Protokolle! Routing im Internet! Routing im Broadcast LAN Slide 29

! Distance Vector Routingprotokoll: : DV! Jeder Router kennt Distanz (aber nicht notwendigerweise die kürzeste!) zu allen anderen Routern im Netz! Dynamisches Austauschen der Distanzen durch Versenden eines Distance Vector (DV) an seinen unmittelbaren Nachbarn! Iteratives Verteilen und Berechnen von Informationen, bis stabiler Zustand erreicht! Eigenschaften! Verteilter Algorithmus! Adaptiert sich im Hinblick auf Verbindungsausfälle und Veränderungen in der Verkehrscharacteristik! Gut geeignet für Netze mit mehreren administrativen Einheiten! Problem: Kürzerer langsamer Weg wird längerem schnellen Weg vorgezogen! Beispiele:! Routing Information Protocol (RIP)! Distance Vector Routing Protocol (DVRP) Slide 30

Grundidee für DV: Bellman&Ford! Knoten teil seinen Nachbarn seine beste Schätzung des Abstands zu jedem anderen Knoten im Netz mit! Kommunikation nur mit direkten Nachbarn! Wenn sich kürzesten Wege verändert haben, z.b. durch Neuberechnung oder Topologieänderung! Nachbar teilt dies wiederum seinen Nachbarn mmit, usw! Knoten erhält dies Information als Abstandsvektor: Distance Vector! Liste von <Ziel, Kosten> Tupeln, einen pro Ziel! Kosten: Schätzung der Summe der Linkkosten für den kürzesten Weg zum Ziel! Jeder Knoten baut seine eigene DV Tabelle auf! Zeile für jedes mögliche Ziel! Spalte für jeden direkten Nachbarn Slide 31

Grundidee für DV: Bellman&Ford! Bei Empfang eines DV A! Verbessert sich damit seine Kenntnis des besten Weges zu jedem Ziel und den nächsten Hop, über den er dieses Ziel erreicht! A will Daten über seinen direkten Nachbarn B an D weiterleiten! Wenn also Router A einen DV von B erhält, kann er feststellen, ob es günstiger ist über B an D schicken als über den bis jetzt festgestellten kürzesten Weg 1 B 1 1 4 2 C D X D (Y,Z) = = Abstand von X zu Y, via Z als nächster hop Z c(x,z) + min {D (Y,w)} w Slide 32

Beispiel Original Jeder Router speichert Tabelle mit der besten Entfernung zu jedem Ziel und dem dazugehörenden ausgehenden Interface A B C D Berechnung bei A bei Ankunft von DV von B A A B C D 0 1 4 X 1 B 1 1 1 0 1 1 4 2 C D 42 1 0 2 X2 1 2 0 Kosten AB = 1 1 2 0 0 0 1 1 1 1 2 4 2 Nächster Hop: B 1 2 X 2 B + = Kosten um zu B zu gelangen Kosten zum Ziel von B (DV) Kosten zum Ziel via B Momentane Kosten von A Slide 33 MIN! Neue Kosten = Neuer DV für A

Begründung! Jeder Knoten Kn kennt seine tatsächlichen Kosten zu jedem Nachbarn! Diese Information wird zu seinen Nachbarn verteilt, wenn Kn seinen DV verschickt! Jede nachfolgende Versendung des DV verteilt diese Information weiter, bis! Schliesslich sich diese Information in jeder Routingtabelle wiederfindet! Beweis: Bellman&Ford, 1957 Slide 34

Probleme mit DV A Initial BC tot 1 1 B A B A B Kosten Via zu C 2 1 2 X B C B - C Austausch! Weglänge kann bis unendlich gezählt werden! Dann wird Knoten als nicht erreichbar behandelt!! Langsame Konvergenz A B A B A B A X 3 4 X X X - B - - - Austausch Austausch Stabil Slide 35

Lösungsmöglichkeiten - 1! Pfadvektor! Jeder Listeneintrag im DV beinhaltet kompletten Pfad zum Ziel! Dann kann Router erkennen, ob es tatsächlich Route gibt. " Größere Routingtabellen und höherer Overhead, aber robuster! Verwendung im Border Gateway Protocol (BGP) im Internet Core! Split horizon! Teile niemals Nachbar N die Kosten zu X mit, wenn N schon nächster Hop zu X ist! Funktioniert für manche Sonderfälle nicht! In diesem Beispiel würde A dem Router B nicht die Kosten zu C mitteilen, da B schon nächster Hop zu C von A aus gesehen ist! A 1 1 B N C X Slide 36

Lösungsmöglichkeiten - 2 A 1 1 B! Split horizon with poisonous reverse! Wenn A nach C via B routed, teilt A mit einem DV an B mit, dass die Kosten unendlich sind, also <C, X>! Besser als Split horizon, aber funktioniert für manche Sonderfälle auch nicht! Verwendung im Routing Information Protocol (RIP)! Trigger Update! Tausche Routinginformation bei Topologiewechsel mit, nicht periodisch! normalerweise werden DVs alle 30 s ausgetauscht! Wenn Unendlich:= 16 " 450 s werden benötigt bis Problem erkannt! Schnelleres Zählen zu unendlich! Verwendung im Routing Information Protocol (RIP)! Noch manch andere kompliziertere Lösungen N C X Slide 37

Gliederung! Netzwerkschicht und Routing! Adressierungsschema! Routing! Routingtabellen! Routingprotokolle! Distance Vector! Link State! Hierarchisches Routing! Interior/Exterior Routing Protokolle! Routing im Internet! Routing im Broadcast LAN Slide 38

Link State Routing! Bei DV kennt Router nur die Kosten zu jedem Ziel! Und den dafür notwendigen nächsten Hop! Dies ist nicht die vollständige Topologie! Bei Link State Routing kennt Router die gesamte Topologie! Berechnet selbst den kürzesten Weg! Unabhängig von anderen! Möglicherweise weniger robust! Mechanismen! Verteilen der Topologieinformation mittels Link State Broadcast! ID und Kosten zu direkten Nachbarn werden an alle Knoten im Netz geflutet! Knoten lernen Topologie aus Link State Broadcasts anderer Knoten! Alle Knoten haben identisches Wissen über die Topologie! Jeder Knoten berechnet kürzesten Pfade unabhängig! Da jeder die gleiche Topologiekenntnis hat sind die Pfade gleich! Nach Fluten und Berechnung der kürzesten Pfade ist Netz zyklenfrei und stabil Slide 39

! Link State Routing Protokolle: : Link State! Jetzt auch unterschiedliche Metriken möglich! Messung von z.b. Verzögerung zu Nachbar mittels Echo Paket! Berücksichtigung der aktuellen Zustände (=Link State) der Netzanschlüsse! Jeder Router kennt komplette Topologie, auf deren Basis er die Routinginformation errechnet! Am Anfang nur Kenntnis der unmittelbaren Nachbarn! Mittels Hello Nachrichten! Berechnung mittels Dijkstra Algorithmus! Minimiert Kosten für einen Pfad von einem Knoten zu allen anderen Knoten! Schnellere Konvergenz als DV-Algorithmen! Für grosse Netze geeignet! Beispiele:! Open Shortest Path First (OSPF)! Intra-Domain Intermediate System to Intermediate System Routing Protocol (IS-IS) Slide 40

Link State Routing: : Topologieinformation! Router verwendet Link State Paket (LSP), um seine Topologieinformation zu beschreiben und zu verteilen A 1 B 1 1 4 2 C D! Diese Information wird mittels kontrolliertem Fluten an alle Router verteilt! Speichere LSP in LSP Datenbank! Wenn neuer Eintrag, schicke LSP an alle Interfaces, bis auf dasjenige, auf welchem LSP erhalten wurde! Vernichten von Duplikaten! Bei Timeout (nur bei aging) " entferne LSP aus Datenbank! In einem Netz mit k Kanten wird LSP höchstens 2k kopiert LSPs erzeugt von A von A A nach B C Kosten 1 4 Slide 41

Sequenznummern! Verwende Sequenznummern! Erkenne, dass erhaltenes LSP j einen neuen Eintrag ergibt! Wenn Seq(j) > Seq(Eintrag in DB) " ersetze alten Eintrag durch j! Was passiert bei Überlauf? Annahme: N Sequenznummern! Definiere: a ist älter als b, wenn! a < b AND Ib-aI < N/2 OR a > b AND Ib-aI > N/2! Was muss initiale Sequenznummer sein beim Re-Booten?! Beachte, dass pre-boot Information im Netz noch vorhanden! Muss alte Information löschen! Lollipop Sequenznummernraum! Wenn Router altes LSP erhält " teilt Sender des LSPs das neuere LSP mit " Frisch gebooteter Router R kann schnell seine zuletzt verwendete Sequenznummer SN finden! R verwendet dann SN+1! Spezieller Sequenznummernraum erleichtert Auffinden von SN! Aging Slide 42

! Verwende Timeout Aging! Erzeuger des LSP versendet Timeout MAX_AGE im Header! Router entfernt LSP aus DB, wenn Timer für LSP abläuft! Danach flutet er diese Information ins Netz (warum?) mittels MAX_AGE = 0! Erhält Router LSP mit MAX_AGE==0 und neuester Sequenznummer, löscht er LSP aus DB und flutet diese Info weiter! Beim Bootvorgang muß Router nur warten, bis alle Timer abgelaufen sind! Dann sind automatisch LSPs entfernt und sein neuer LSP gelangt in DB! Problem:! Timeout zu klein! LSP wird in einem Router entfernt, bevor neue LSP ankommt " inkonsistente Routen! Häufige Updates erforderlich! Timeout zu groß! Router muss beim Bootvorgang lange warten Slide 43

Prinzip des kürzesten Wegs: Dijkstra Grundidee! Unterhalte eine Knotenmenge P, zu der wir schon den kürzesten Weg kennen! Jeder Knoten ausserhalb P muß durch einen Weg von einem Knoten aus P heraus erreichbar sein! Jeder Knoten mit Abstand 1 Hop zu Knoten in P gehört zu T! Initialisiere P={Startknoten}; T={}! Repeat! Für jeden Knoten p in P, addiere alle Nachbarn n zu T! Berechne jeden Weg mittels welchem man einen gegebenen Knoten in T erreichen kann und wähle den kürzesten " Knoten {K},! T = T\{K}, P = P U {K} Until T={} Slide 44

A 1 B 1 2 D 1 2 C 1 E 3 Beispiel F Permanent Temporär Kommentar A B(A,1), D(A,2) Wurzelknoten und seine Nachbarn A A, B(A,1) D(A,2), C(B,2) Add C(B,2) A 1 B A, B(A,1), D(A,2) A, B(A,1), D(A,2), C(B,2) A, B(A,1), D(A,2), C(B,2), E(C,3) A, B(A,1), D(A,2), C(B,2), E(C,3), F(E,6) E(D,4), C(B,2) E(C,3) F(E,6) NULL C(D,3) geht nicht! E(D,4) zu lang, ersetze durch E(C,3) STOP 2 D A 1 B 2 D 1 A 1 B C 2 D 1 1 A 1 B C E 2 D 1 1 3 A 1 B CF E Slide 45

Diskussion Komplexität! N Knoten! Jede Iteration: prüfe alle Knoten w, die nicht in P enthalten sind! N*(N+1)/2 Vergleiche: O(n²)! Effizientere Implementierung erreicht O(n log n) Slide 46

A B C D E F G H Partitionierung University of Ulm! Bei Partition ergeben sich LSP Synchronisierungsprobleme! Fällt DE aus, danach FH, so weiss das Knoten A nicht! Fällt AB aus, so weiss das Knoten H nicht! Wenn DE wieder operabel, müssen D und E LSP DBs wieder synchronisieren! LSP DB beschrieben mittels Database Descriptor Records (Link_ID, Version_Nr)! Bei Veränderung eines LSP: Version_Nr++! Wesentlich weniger Info als LSPs! Router auf jeder Seite eines frisch wiederhergestellten Links müssen miteinander kommunizieren, um die LSP DB zu synchronisieren! Verwende dazu Exchange Protokoll! Austausch der DDR (Welche LSPs fehlen, sind veraltet?)! Alle veralteten/fehlenden LSPs werden angefordert Slide 47

Routerversagen und Sicherheit Versagen und Nachbarerkennung! Erkennung! Hello Protokoll! Bei fehlerhaftem HELLO Paket! Welche LSPs fehlen? Welche LSPs sind veraltet? " Timeout für LSPs (auch bei Verwenden des Lollipop Adressraumes) " Läuft Timer ab: Flute diese Information mittels speziellem Paket Sicherheit! Bösartiger Routing Agent kann gefälschte LSPs verschicken! Router müssen aktiv LSP DB sichern! Prüfsumme über LSPs auch in der Datenbank! Verwende ACKs bei Austausch von LSP " ev. Re-transmission! Passwörter, vergeben von Routeradmins Slide 48

Vergleich der Algorithmen Link State (LS) vs. Distance Vector (DV) Link State (LS) vs. Distance Vector (DV)! Komplexität! Link State: Jeder Knoten muss komplette Topologie kennen! N Knoten, E Links: O(NE) Datenpakete! Bei Änderung der Topologie muß dies an alle andere Knoten propagiert werden! Distance Vector: Änderung nur an Nachbar weitergegeben! Konvergenzgeschwindigkeit! LS hat Komplexität O(n²). Schnelle Konvergenz danach zyklenfrei! DV hat langsame Konvergenz und Count-to-Infinity Problem. Zyklenbildung möglich! Robustheit! LS separiert Routenberechnung von Topologie " gewisse Robustheit! DV: Knoten kann inkorrekte Pfade zu allen anderen Zielen verbreiten Slide 49

Gliederung! Netzwerkschicht und Routing! Adressierungsschema! Routing! Routingtabellen! Routingprotokolle! Distance Vector! Link State! Hierarchisches Routing! Interior/Exterior Routing Protokolle! Routing im Internet! Routing im Broadcast LAN Slide 50

Motivation Hierarchisches Routing! Große Netze erfordern große Routingtabellen! Hoher Berechnungsaufwand für kürzesten Weg! Hoher Netzverkehr für Austausch von DV, LSPs! Lösungsansatz: Hierarchisches Routing! Idee:! Aufteilung des Netzwerks in Autonome Systeme oder Domains! Gateways verbinden Autonome Systeme! Rechner innerhalb Autonomem System haben keine Kenntnis von Rechnern ausserhalb! Gateways kennen nur andere Gateways, fahren mehrere Routingprotokolle! Vorteil:! Skalierbar, da Routingtabellen durch Größe des AS beschränkt. Bei Veränderung der Topologie eines AS werden andere AS nicht benachrichtigt! Autonomie: Internet=Netz von Netzen! Jeder Administrator eines AS will eigenes Routingprotokoll betreiben Slide 51

Gateways A.b Hier: 2 Routing Ebenen C.b a Keine strikte Hierarchie, da mehr als ein Router Wege zum gleichen Teiladressraum anbieten kann, hier z.b. B.d und B.c zu Subnetz B AS A b a b d B.d B.c c AS B Nächste Hierarchie b a AS C Gateway nimmt an zwei Routingprotokollen teil Inter-AS routing untereinander Intra-AS routing mit anderen Routern im gleichen AS Slide 52 c

Gateways a AS A A.b b Intra AS Routing in AS B a b d B.d Inter AS Routing zwischen AS B und C B.c c AS B C.b b Intra AS Routing in AS C a AS C c B.c B.c erkennt nimmt daß aber kürzester auch teil Weg an zu Netzen, Routingprotokollen angeboten von eine C.b, Ebene über Link tiefer. B.c/C.b weiss, ist. Fällt dass dieser kürzester Link aus, Weg so sagt zu B.a Routingprotokoll über B.b geht. in dieser Ebene (gelb), dass B.c diese Pakete über B.d schicken soll Slide 53

Routing Hierarchie Im Internet! Dreistufig! Netzwerk Nummer (z.b. bei Class B die ersten 16 bit), Ebene 3! Subnetz Nummer (entsprechend der Subnetz Maske), Ebene 2! Host Nummer, Ebene 1! Core Router bietet nur Routen zu einem gesamten Netz an nicht für einzelne Subnetze! z.b. 134.60.*, 135.103.225.*! Trotzdem gabs 1996 ~ 80.000 Netzwerk Nummern im Core! Gateway muss besten next-hop Router zu jedem anderen Netzwerk finden Slide 54

External Records Bei mehreren Gateways pro Domain! External Record! Hilft Rechnern innerhalb der Domain den richtigen Gateway zu finden, um einen Rechner in einer externen Domain zu erreichen! Z.B. ermöglicht 134.60.0.0 den kürzesten Weg zu 133.* finden, nämlich über 134.0.0.0! 134.0.0.0 weiss, dass es einen 1-Hop Weg zu 133.0.0.0 gibt (Ebene 3)! Erzeugt external LSP zum Ziel 133.0.0.0 mit Linkkosten 1! Flutet diese Info in Ebene 2! 134.0.0.1 lernt, dass es einen 2-Hop Weg zu 133.0.0.0 gibt (Ebene 3)! Erzeugt external LSP zum Ziel 133.0.0.0 mit Linkkosten 2! Flutet diese Info in Ebene 2!.! Router 134.0.0.1 und 134.0.0.2 gaukeln vor, dass 133.0.0.0 ein Ebene 2 Router ist " 134.60.0.0 erkennt automatisch den kürzesten Weg zu 133.0.0.0 über Slide 55 134.0.0.0

Summary Records Bei mehreren Gateways pro Domain! Summary Record! Hilft Backbone einen korrekten Gateway zu finden, um einen Rechner innerhalb einer Domain zu erreichen! Z.B. ermöglicht 133.0.0.0 den kürzesten Weg zu 134.60.0.0 zu finden, nämlich über 134.0.0.0! 134.0.0.0 bietet Ebene 3 Routern eine Route zu 134.60.0.0 mit Kosten c an! Dabei handelt es sich um virtuelle Links, mit entsprechend höheren Kosten " dies ist keine Topologieinformation, aber funktionell gleich einem Distance Vector (enthält Abstand von einem Ebene 3 Router zu all seinen mit ihm verbundenen Ebene 2 Routern)! External und Summary Records! Beinhalten Abstand vom Gateway zu externem oder internem Knoten! Verallgemeinern somit Distance Vector und Link State Algorithmen Slide 56

Gliederung! Netzwerkschicht und Routing! Adressierungsschema! Routing! Routingtabellen! Routingprotokolle! Distance Vector! Link State! Hierarchisches Routing! Interior/Exterior Routing Protokolle! Routing im Internet! Routing im Broadcast LAN Slide 57

Interior/Exterior Protokolle Verschiedene Routing Protokollfamilien! Internet hat dreistufiges Routing! Backbone Ebene! Verbindung Autonomer Systeme! Innerhalb Autonomer Systeme! Innerhalb eines LANs Slide 58

Exterior Protokolle! Zwischen AS Gateways Interior/Exterior Protokolle! Gateways sind potentiell nicht vertrauenswürdig! Einem Border-Gateway (Grenzpunkt zwischen Interior und Exterior Routing) muß mitgeteilt werden! Wer ist vertrauenswürdig?! Welche Wege sind erlaubt? Annahme: B und C haben für sich selbst Link B.b/C.c erstellt. B.c lernt, dass C.c über B.b erreichbar ist durch sein Interior Routing Protokoll. Wenn B.c dies A.b mitteilt, so haben alle Router in A Kenntnis von der internen Route. Es muß also vermieden werden, bestimmte Links anzubieten! a b d a b B d c A c a b Wenn B.c/B.d Link fehlerhaft, so kann B.d immer noch B.c über A.b erreichen. Dies mag aus administrativen Gründen nicht gewünscht sein! d C c Slide 59

Interior/Exterior Protokolle Interior Protokolle! Innerhalb eines AS! Einfacher zu implementieren als Exterior Protokolle! Partitioniere AS in Gebiete! Exterior und Summary Records zwischen den Gebieten verwenden Verbindung Interior/Exterior Routing! Verwendung verschiedener Routingalgorithmen (DV/LS)! Unterschiedliche Kostenfunktion! Aufgaben! Wie soll von einem auf das andere Schema konvertiert werden?! Kleinster gemeinsamer Nenner für Kosten! Wenn notwendig, Eingriff von Hand Slide 60

Gliederung! Netzwerkschicht und Routing! Adressierungsschema! Routing! Routingtabellen! Routingprotokolle! Distance Vector! Link State! Hierarchisches Routing! Interior/Exterior Routing Protokolle! Routing im Internet! Routing im Broadcast LAN Slide 61

Internet Routing Protokolle Übersicht! Interior, also Intra-AS! RIP! OSPF! EIGRP Enhanced Internal Gateway Routing Protocol (Ciscos proprietärer Nachfolger für RIP)! Exterior,also Inter-AS! EGP! BGP Slide 62

RIP Router Information Protocol! Distance Vector Algorithmus! Routing Protokoll des ARPAnets, in BSD-UNIX distr. 1982 enthalten! Zahl der Hops als Kostenmetrik! RIP Router unterhalten nur die beste Route zu einem gegebenen Ziel! Austausch von DVs! alle 30 s! Router wird als nicht funktionabel angesehen, wenn mehr als 180s keine Antwort! Bei Erhalt eines DV für einen gegebenen Knoten: Erhöhe Kosten um 1, Sender des DV wird als nächster Hop gemerkt! Split Horizon Poisonous Reverse! zur Vermeidung von fehlerhafter Routinginfo! Unendlich := 16 " Ziel nicht erreichbar " Max. #Hops im Pfad = 15! Gut für kleine Subnetze, da leicht zu installieren Slide 63

OSPF Open Shortest Path First Open Shortest Path First! Link State Algorithmus! LS Pakete! Topologie in jedem Knoten! Dijkstra zur Berechnung der Route! Verwendet Gebiete um LS Pakete hierarchisch innerhalb eines AS zu routen! Komplexes Protokoll! LSP Datenbank geschützt! Verwendet designierte Router! Reduziere Anzahl der Endpunkte Slide 64

EGP Exterior Gateway Protocol Exterior Gateway Protocol! Distance Vector Algorithmus! Link Kosten! 128: erreichbar! 256: nicht erreichbar " Protokoll ermittelt Erreichbarkeit " Backbone darf keine Zyklen enthalten! Warum?! Ermöglicht Administratoren Nachbarn zum Peering auszuwählen! Ermöglicht Backdoor (Kosten von backdoor link < 127) Slide 65

Border Gateway Protocol! Pfad Vektor Algorithmus BGP! DV Algorithmus mit zusätzlichem gesamten Pfad (Sequenz von Asen zum Ziel, ohne Kosten)! Beispiel: Gateway X speichert folgenden Pfad zum Ziel Z Path (X,Z) = 402, 411, 420,, 3012! Enthält auch Policy Attribute! Garantiert Zyklenfrei! Kann verschiedene Backbone Topologien verwenden! Nicht nur Bäume! TCP zur Verteilung von DV! Sichere Zustellung! Unterliegt aber TCP eigener Flusskontrolle! Policies schwierig einzurichten Slide 66