Host Configuration (DHCP)
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 13
• IP‐Adressen haben einen Netz‐ und Host‐Anteil
• Im Gegensatz zu Ethernet‐Adressen kann die IP‐Adresse damit nicht fest mit der Netzhardware „verdrahtet“ sein. Warum?
• Es muss zumindest eine Möglichkeit bestehen, die IP‐Adressen manuell zu konfigurieren. Umständlich!
• Besser: dynamische Zuweisung von IP‐Adressen.
• Bei der Gelegenheit kann man dem DHCP‐Client auch gleich den Default‐Router mitteilen.
N S DHCP‐Server
DHCP Relay
H IP‐Broadcast DHCPDISCOVER
IP‐Unicast
DHCPDISCOVER
Beispiel:
ICMP‐Redirect
Error‐Reporting (ICMP)
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 14
ICPM (Internet Control Message Protocol) definiert eine Sammlung von Fehler‐ und Kontrollnachrichten.
Beispiel für Fehlernachrichten, die an den sendenden Host verschickt werden:
• Unerreichbarer Ziel‐Host
• Reassembly‐Prozess fehlerhaft
• TTL=0 erreicht
• IP‐Header‐Checksumme falsch Beispiel für Control‐Nachricht:
ICMP‐Redirect
H1
H2
R2 R1
Nachricht an H2 Default‐Router: R1
IP‐Tunneling und Anwendungen
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 15
• Security in Kombination mit Verschlüsselung (z.B. Virtual‐Private‐Networks (VPN))
• Router R1 und R2 haben besondere Features (z.B. Multicast‐fähige Router)
• Verbinden von Nicht‐IP‐Netzen über ein IP‐Netz (z.B. global verteilte Sensornetze)
• Auslieferung an bestimmter Stelle erzwingen, obwohl Zieladresse eine andere ist (z.B.
Mobile‐IP)
R2
Netz 1.x R1 Internet Netz 2.x
IP‐Header,
Destination = 2.x IP‐Payload
IP‐Header,
Destination = 2.x IP‐Payload
IP‐Header,
Destination = 18.5.0.1 IP‐Header,
Destination = 2.x IP‐Payload
18.5.0.1 Netz‐Nummer Next‐Hop
1 Interface 0
2 Virtual Interface 0
Default Interface 1
Internet‐Routing
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 16
Forwarding und Routing
H3 H2
H1
H5
H4 H6 H7
R1
R3 R2
H7
1 2
Forwarding‐Tabelle
Adresse Interface MAC‐Adr.
Host H1 3 Adr(H1) Host H2 3 Adr(H2) Host H3 3 Adr(H3) Netz N2 1 Adr(R2) Netz N3 2 Adr(R3) 3
Woher bekommt man die Forwarding‐Tabelle?
Netz N1
Netz N2 Netz N3
Grundlagen der Rechnernetze ‐Internetworking
SS 2012 17
Routing
Grundlagen der Rechnernetze ‐Internetworking 18
Wir betrachten zunächst Routing als Graph‐Problem.
Gegeben sei ein Graph mit gewichteten Kanten
(hier der Einfachheit halber ein ungerichteter Graph):
Finde die kürzesten Pfade zwischen den einzelnen Knoten.
B D
C
F
A E
12
1 3
3
1
1
4
4 7
Was wäre wohl „per draufgucken“ der kürzeste Pfad P von A nach F?
Was ist das Gesamtgewicht w(P) dieses Pfades?
SS 2012
Routing Algorithmen
Link‐State‐Routing Distanzvektor‐Routing
Von allen Nachbarinformation an alle (zentraler Routing‐Algorithmus) Globale Information an Nachbarn
(verteilter Routing‐Algorithmus)
R
R1 R2
Ziel Distanz
H1 5
H2 3
H3 7
H4 2
… …
R
Ziel Distanz
H1 7
H2 4
H3 4
H4 1
… …
Grundlagen der Rechnernetze ‐Internetworking
SS 2012 19
Internet‐Routing
Distanzvektor‐Routing (aka. Bellman‐Ford)
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 20
Grundlagen der Rechnernetze ‐Internetworking
Stetiger Austausch und Aktualisierung dieser Tabellen
(Routing‐Update)
Neue Tabelle von A
Tabelle von B Tabelle von C
B C
A
Grundidee
Initiale Distanzvektortabellen
A
C B
D E Ziel Next Dist
A A 1
B ‐‐ 0
C C 1
D D 1
E ??
Ziel Next Dist
A A 1
B B 1
C ‐‐ 0
D D 1
E E 1
Ziel Next Dist
A ‐‐ 0
B B 1
C C 1
D B 2
E C 2
Initiale Tabelle von A Ziel Next Dist
A ‐‐ 0
B B 1
C C 1
D ??
E ??
Kantengewichte hier verein‐
facht alle auf 1 gesetzt.
SS 2012 21
Details zu Routing‐Updates
Generelle Regel für Knoten u:
1. Aktualisiere iteTabellenzeile (xi, yi, di), wenn für die von Knoten v empfangene Tabellenzeile (xi, zi, ci) gilt: di > ci + 1
2. Die aktualisierte Tabellenzeile ist dann (xi, v, ci + 1)
(Erweiterung auf gewichtete Kanten offensichtlich: ersetze „+1“ mit Kantengewicht für Kante uv)
u v
Ziel Next Dist
… … …
xi zi ci
… … …
Ziel Next Dist
… … …
xi vi di
… … …
xi v ci+1
Grundlagen der Rechnernetze ‐Internetworking
SS 2012 22
Wann versendet ein Knoten ein Routing‐Update?
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 23
Periodic‐Update: Tabellen werden regelmäßig an Nachbarn geschickt
• Damit wissen die Nachbarknoten, dass es den Link und Knoten noch gibt.
• Werden über einen bestimmten Zeitraum keine Updates mehr empfangen, so wird der Link als ausgefallen interpretiert
Triggered‐Update: Wann immer ein Knoten seine Routing‐Tabelle geändert hat
• Nach lokal festgestelltem Link‐Ausfall
• Nach Empfang eines Routing‐Updates von einem Nachbarn
• Das kann wiederum eine Änderung in den Nachbarknoten und damit Routing‐Updates von den Nachbarn bewirken (usw.)
Forwarding anhand der Routing‐Tabellen
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 24
A
C B
D E
Ziel Next Dist
A ‐‐ 0
B B 1
C C 1
D B 2
E C 2
Ziel Next Dist
A A 1
B B 1
C ‐‐ 0
D D 1
E E 1
Randbemerkung
• Routing‐Tabelle: speichert alles was man für das Routing benötigt.
• Forwarding‐Tabelle: speichert alles was man für das Forwarding
benötigt
• Kann ein und dieselbe Tabelle sein;
muss es aber nicht.
Beispiel eines Link‐Ausfalls
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 25
B
D C
F A
E
G
Dst Next Hops
G F 2
Dst Next Hops
G G 1
Tabelleneinträge
bzgl. Knoten G: Dst Next Hops
G D 2
Stabilisiert sich das Netz immer in dieser Form?
Count‐to‐Infinity‐Problem
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 26
A B
C
A
B
C
D
Lösungsansatz 1: ignorieren. Am Ende wird sowieso bis hoch gezählt.
Lösungsansatz 2: Split‐Horizon.
Routing‐Updates nur zu Nachbarn, die nicht selber der nächste Hop sind.
Lösungsansatz 3: Split‐Horizon with Poison Reverse. Routing‐Updates zu allen Nachbarn. Allerdings Routing‐
Update zu denen, die selber der nächste Hop sind.
Funktioniert das immer?
Internet‐Routing
Link‐State‐Routing
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 27
Link‐State‐Routing
Zweiter Schritt
Jeder Knoten hat globale Sicht und kann alle kürzesten Pfade berechnen
R R Erster Schritt
Jeder Knoten teilt allen anderen seine adjazenten Kanten mit (Flooding)
R U
V
X W Y
(R,U) (R,V) (R,W)
(R,X) (R,Y)
Grundlagen der Rechnernetze ‐Internetworking
SS 2012 28
Reliable‐Flooding
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 29
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
Routenberechnung mittels Dijkstra‐Algorithmus
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 30
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)
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
Grundlagen der Rechnernetze ‐Internetworking
SS 2012 33
Autonomous‐Systems (AS)
3c 3a
3b
1c 1a
1d
1b
2a
2c
2b
AS1
AS2 AS3
H1
H2 Gateway‐Router
H2 in AS2
Intra‐AS‐Routing
Beispiel: Routing Information Protocol (RIP) Beispiel: Open Shortest Path First (OSPF)
Inter‐AS‐Routing Border Gateway Protocol (BGP)
Grundlagen der Rechnernetze ‐Internetworking
SS 2012 34
OSPF erlaubt zusätzliche Hierarchie in einem AS:
RIP und OSPF
Routing Information Protocol (RIP) = Distanzvektor‐Routing (ungewichtet) Open Shortest Path First (OSPF) = Link‐State‐Routing (gewichtet)
Area 1 Area 2
Area 3
Area‐Border‐
Router Backbone‐Router
Separates OSPF in Backbone und jeder Area
H1 H2 in Area 3
H2
Internal‐Router
Grundlagen der Rechnernetze ‐Internetworking
SS 2012 35
BGP Grundlagen
3c
3a
3b 1c
1a 1d
1b
2a
2c
2b AS1
AS3 AS2
Ziel Pfad Next
x in AS1 AS1 3a‐1c y in AS2 AS1‐AS2 3a‐1c
z in AS3 ‐‐ ‐‐
… 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
Grundlagen der Rechnernetze ‐Internetworking
SS 2012 36
BGP Policy
Kunden‐AS Provider‐AS W
B
X
Y
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
Ziel Pfad
z in Y X‐C‐Y
Ziel Pfad
z in W B‐A‐W
Ziel Pfad
z in X A‐B‐X or A‐C‐X
A
C
Grundlagen der Rechnernetze ‐Internetworking
SS 2012 37
Limitierter Adressbereich
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 38
Problemstellung
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 39
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
Ein Patch auf die Schnelle
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 40
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.
Lokales Netz NAT‐Box
Verfügbare eindeutige globale Adressen:
171.69.210.246, ..., 171.69.210.252 Lokal eindeutige
Adresse:
10.0.1.5 H
IP‐Paket:
Quelle: 10.0.1.5
IP‐Paket:
Quelle: 171.69.210.246 Ins Internet
IP‐Paket:
Ziel: 10.0.1.5
IP‐Paket:
Ziel: 171.69.210.246
Ein wichtiges Thema von IPv6
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 41
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.
Wechsel von IPv4 nach IPv6?
SS 2012 Grundlagen der Rechnernetze ‐Internetworking 42
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
Zusammenfassung und Literatur
Grundlagen der Rechnernetze ‐Internetworking 43
SS 2012
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)
Grundlagen der Rechnernetze ‐Internetworking 44
SS 2012
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)
Grundlagen der Rechnernetze ‐Internetworking 45
SS 2012