Internet‐Routing Link‐State‐Routing SS 2012 Grundlagen der Rechnernetze ‐ Internetworking 27 Link‐State‐Routing (R,U) (R,V) (R,W) (R,X) (R,Y) Erster Schritt Zweiter Schritt U R Y V R X W R Jeder Knoten teilt allen anderen seine adjazenten Kanten mit (Flooding) SS 2012 Jeder Knoten hat globale Sicht und kann alle kürzesten Pfade berechnen Grundlagen der Rechnernetze ‐ Internetworking 28 Reliable‐Flooding Jeder Knoten versendet Link‐State‐Pakete (LSP) mit folgender Info: • ID des Knotens, der das LSP erzeugt hat • Liste der direkten Nachbarn (inklusive Link‐Kosten) • eine Sequenznummer • Ein TTL‐Wert für das Paket Jedes LSP wird geflutet, d.h.: • LSP‐Erzeuger inkrementiert eine lokale Sequenznummer und versendet das LSP mit dieser Nummer • Jeder Knoten, der ein „neueres“ (d.h. höhere Sequenznummer) LSP empfängt, leitet dieses an alle Nachbarn (außer dem, von dem das LSP empfangen wurde) weiter • LSP mit älteren oder gleicher Nummer werden ignoriert • Des Weiteren werden LSPs ab bestimmtem TTL‐Wert ebenfalls verworfen SS 2012 Grundlagen der Rechnernetze ‐ Internetworking 29 Routenberechnung mittels Dijkstra‐Algorithmus Es sei s der Startknoten, N die Menge aller Knoten und l(v,w) die Kosten der Verbindung von v nach w. Wir definieren: c(v) = aktuelle Kosten von v m(v) = Markierung der schon behandelten Knoten pre(v) = Vorgänger von v entlang der kürzesten Route nach s Dijkstra‐Algorithmus: Für alle v in N-{s} setze c(v)= und m(v)=false c(s)=0 und m(s)=false Solange noch unmarkierte Knoten existieren: Finde unmarkierten Knoten v mit kleinstem Wert c(v) m(v) = true Für jeden unmarkierten Nachbarknoten w: Wenn c(w) > c(v) + l(v,w) dann pre(w) = v c(w) = c(v) + l(v,w) SS 2012 Grundlagen der Rechnernetze ‐ Internetworking 30 Beispiel an der Tafel SS 2012 Grundlagen der Rechnernetze ‐ Internetworking 31 Internet‐Routing Konkrete Realisierungen im Internet SS 2012 Grundlagen der Rechnernetze ‐ Internetworking 32 Anwendung dieser Verfahren im Internet? Skalierbarkeit Kommunikationsoverhead Speicheroverhead Langsame oder keine Konvergenz Administrative Autonomie Freie Wahl von Routing‐Protokollen Verbergen von Netzinterna SS 2012 Grundlagen der Rechnernetze ‐ Internetworking 33 Autonomous‐Systems (AS) Gateway‐Router 2c H2 3a 3c H2 in AS2 H1 2a 1c 3b 1a AS3 2b 1b AS2 1d AS1 Inter‐AS‐Routing Intra‐AS‐Routing Beispiel: Routing Information Protocol (RIP) Beispiel: Open Shortest Path First (OSPF) SS 2012 Border Gateway Protocol (BGP) Grundlagen der Rechnernetze ‐ Internetworking 34 RIP und OSPF Routing Information Protocol (RIP) = Distanzvektor‐Routing (ungewichtet) Open Shortest Path First (OSPF) = Link‐State‐Routing (gewichtet) OSPF erlaubt zusätzliche Hierarchie in einem AS: Backbone‐Router Area‐Border‐ Router Internal‐Router H2 in Area 3 Area 1 SS 2012 H1 Area 2 Separates OSPF in Backbone und jeder Area Grundlagen der Rechnernetze ‐ Internetworking Area 3 H2 35 BGP Grundlagen AS3 AS2 2c 3c AS1 3a 2a 2b 1c 3b 1b Ziel Pfad Next x in AS1 AS1 3a‐1c y in AS2 AS1‐AS2 3a‐1c z in AS3 ‐‐ ‐‐ … 1a 1d Border Gateway Protocol (BGP) = Distanzvektor‐Routing (ungewichtet) … … Aber: Distanzvektortabelle speichert komplette Pfade anstatt Distanzwert Aber: Distanzvektortabelle muss zusätzlich den ersten Hop speichern Aber: Distanzvektortabellen werden nicht „unreflektiert“ ausgetauscht Aber: Zwei AS können durch mehrere Kanten verbunden sein SS 2012 Grundlagen der Rechnernetze ‐ Internetworking 36 BGP Policy B Ziel Pfad z in X A‐B‐X or A‐C‐X Ziel Pfad z in Y X‐C‐Y X W A Ziel Pfad z in W B‐A‐W C Y Kunden‐AS Provider‐AS SS 2012 Beispielregeln: 1. Kunden‐AS darf nur Kommunikationsendpunkt sein 2. B möchte keinen Verkehr zwischen A und C tragen 3. A will niemals Verkehr über B leiten Grundlagen der Rechnernetze ‐ Internetworking 37 Limitierter Adressbereich SS 2012 Grundlagen der Rechnernetze ‐ Internetworking 38 Problemstellung Mit den Standard‐IP‐Adressen lassen sich maximal 232 = 4.294.967.296 ~ 4,3 Mrd. Hosts adressieren. Das ist schon alleine ein Problem weltweit alle gewöhnlichen Hosts mit einer eindeutigen Adresse zu versehen. Darüber hinaus werden in Zukunft nicht nur gewöhnliche PCs am Internet angeschlossen sein, sondern beispielsweise auch: • Mobiltelefone • Fernseher • und viele andere Geräte des täglichen Lebens SS 2012 Grundlagen der Rechnernetze ‐ Internetworking 39 Ein Patch auf die Schnelle Network‐Adress‐Translation (NAT) • Lokalen Hosts werden temporär globale Adressen zugeordnet. • In ausgehenden IP‐Paketen wird von der NAT‐Box die lokale Adresse mit der zugehörenden globalen Adresse ersetzt. • In ankommenden IP‐Paketen wird von der NAT‐Box die globale Adresse mit der zugehörenden lokalen ersetzt. IP‐Paket: Quelle: 10.0.1.5 Lokal eindeutige Adresse: 10.0.1.5 H Lokales Netz NAT‐Box IP‐Paket: Quelle: 171.69.210.246 Ins Internet Verfügbare eindeutige globale Adressen: 171.69.210.246, ..., 171.69.210.252 IP‐Paket: Ziel: 10.0.1.5 SS 2012 Grundlagen der Rechnernetze ‐ Internetworking IP‐Paket: Ziel: 171.69.210.246 40 Ein wichtiges Thema von IPv6 Bisher haben wir IP Version 4 (kurz IPv4) betrachtet. Es gibt Bemühungen das heutige Internet mit einer IP Version 6 (kurz IPv6) zu verbessern. Ein wichtiger Punkt bei IPv6: stelle genügend Adressen zu Verfügung IPv6 definiert 128‐Bit‐Adressen. Damit können etwa 3,4 * 1038 Hosts adressiert werden oder anders gesagt 655 570 793 348 866 943 898 599 Adressen pro Quadratmeter der Erde vergeben werden. SS 2012 Grundlagen der Rechnernetze ‐ Internetworking 41 Wechsel von IPv4 nach IPv6? Aufgrund der Größe und dezentralen Organisation des Internets ist ein einfacher Wechsel von v4 nach v6 nicht durchführbar. Möglichkeit: fließender Wechsel, der über Jahre hinweg paralleles betreiben von IPv4 und IPv6 ermöglicht. Mechanismen: • Dual‐Stack‐Operation • Tunneling SS 2012 Grundlagen der Rechnernetze ‐ Internetworking 42 Zusammenfassung und Literatur SS 2012 Grundlagen der Rechnernetze ‐ Internetworking 43 Zusammenfassung • Das Thema von Internetworking: wie konstruiert man ein großes Netz durch verbinden von vielen kleinen Netzen • Hauptproblem: Heterogenität und Skalierbarkeit • Lösung IP‐Protokoll: Best‐Effort‐Service, der von allen aktuellen und möglichen zukünftigen Netztypen unterstützt werden kann • Hauptaufgabe: Routing – Interdomain‐Routing – Intradomain‐Routing • Tradeoff zwischen Skalierbarkeit und Optimalität: Skalierbarkeit durch hierarchische Organisation des Netzes auf Kosten von optimalen Pfaden • Aktuelle Probleme: – Adressverbrauch! – (Routingtabellengrößen) SS 2012 Grundlagen der Rechnernetze ‐ Internetworking 44 Literatur [PetersonDavie2007] Larry L. Peterson and Bruce S. Davie, „Computer Networks: A Systems Approach“, Edition 4, 2007. 4.1.2 Service Model 4.1.6 Host Configuration (DHCP) 4.1.7 Error Reporting (ICMP) 4.1.8 Virtual Networks and Tunnels 4.2.1 Network as a Graph 4.2.2 Distance Vector (RIP) 4.2.3 Link State (OSPF) 4.3.3 Interdomain Routing (BGP) 4.3.4 Routing Areas 4.3.5 IP Version 6 (IPV6) SS 2012 Grundlagen der Rechnernetze ‐ Internetworking 45