Internet

Werbung
Datenkommunikation – V. Internet
Protokoll
Internet
Ethernet
Ethernet
Router
PPP
Router
FDDI-Ring
Router
1
Datenkommunikation – V. Internet
Protokoll
Internet Definition
Definition/Eigenschaften:
• Verbund verschiedener LANs mit verschiedener
Layer 1/Layer 2 Technologie und unterschiedlicher
Administration
• Nahezu unbegrenzte Ausdehnung ist möglich
• Gemeinsames Layer 3 Protokoll
• Hierarchischer Adressraum
– mehr oder minder ... siehe http://xkcd.com/195/
2
Datenkommunikation – V. Internet
Protokoll
Internet Protokollschichten
3
Datenkommunikation – V. Internet
Protokoll
Internet Protokolle
Protokoll
ISO/OSI
IP
TCP
UDP
Telnet
Rlogin
FTP
SMTP
ARP
RARP
ICMP
NFS
3
4
4
5-7
5-7
5-6
5-7
3
3
3/4
7
Beschreibung
Internet Protocol
Transmission Control Protocol
User Datagram Protocol
Interaktiver Terminaldienst
Remote Login
File Transfer Protocol
Simple Mail Transfer Protocol
Adress Resolution Protocol
Reverse Adress Resolution Protocol
Internet Control Messages Protocol
Network File System
4
Datenkommunikation – V. Internet
Protokoll
Internet Dienstmodell
Dienstmodell:
•
•
•
•
•
Host-zu-Host Dienst (End-to-End)
Oberhalb (unabhängig) vom physikalischen Netz
So anspruchslos wie möglich
Intelligenz am Rand des Netzes
Zwei Bestandteile:
Adressierungsschema
Datagramm-Modell
5
Datenkommunikation – V. Internet
Protokoll
Layer 3 Protokoll
• verbindungsloses Protokoll
• fragmentiert (zerteilt) Pakete bei Bedarf
• Adressierung durch 32-Bit Internet-Adressen
• 16-Bit Transportprotokolladressen
• maximal 65535 Bytes Paketgröße
• enthält lediglich eine Kopfprüf-, keine Datenprüfsumme
• nicht ständig benötigte Protokollfelder sind optional
• endliche Lebensdauer eines Pakets
• “Best- Effort”-Zustellung
6
Datenkommunikation – V. Internet
Protokoll
Paketformat (1)
Version
HLen
DiffServ
Ident
TTL
Length
Flags
Protocol
Offset
Checksum
SourceAddress
DestinationAddress
Optionen (variabel)
Füller (variabel)
Daten (variable)
7
Datenkommunikation – V. Internet
Protokoll
Paketformat (2)
Paketfelder:
• Version:
• Hlen:
• DiffServ:
•
•
•
•
•
•
•
4 (IPv4) ... -> IPv6
Header Length
Differentiated Services (RFC2474), Kennzeichnung
von Paketen für spezielle Behandlung,
wie QoS für VoIP, Bulk Traffic etc. aber auch ECN
Ident:
Identifikation der Zugehörigkeit zu einem Paket bei
Paket-Fragmentierung
Flags:
Reserviertes Bit, Don't Fragment, More Fragments
Offset:
Anfangsposition des Fragments im Paket
Length:
totale Paketlänge
TTL:
zur Vermeidung von “Routingschleifen“
Protocol: Übergeordnete Protokolle
Checksum: Header Prüfsumme
8
Datenkommunikation – V. Internet
Protokoll
Paketformat (3)
DiffServ – Differentiated Services:
• 1981 in RFC791 als 'TOS' – Type of Serice definiert
• 1998 in RFC2474 durch DiffServ ersetzt, da TOS in der
Praxis nicht verwendet
• 2001 in RFC3168 Bits 6/7 an 'ECN' – Explicit Congestion
Notification vergeben
• Verkehrsklassen basiert
9
Datenkommunikation – V. Internet
Protokoll
Protokolle der nächsthöheren Schicht
Höhere IP Prokolle:
$ cat /etc/protocols
icmp
ggp
tcp
egp
pup
udp
hello
l2tp
sctp
1 ICMP
3 GGP
6 TCP
8 EGP
12 PUP
17 UDP
63 HELLO
115 L2TP
132 SCTP
#
#
#
#
#
#
#
#
#
internet control message protocol
gateway-gateway protocol
transmission control protocol
Exterior-Gateway Protocol
PARC universal packet protocol
user datagram protocol
HELLO Routing Protocol
Layer Two Tunneling Protocol:RFC2661
Stream Control Transmission Protocol
[...]
10
Datenkommunikation – V. Internet
Protokoll
Fragmentierung (1)
Unfragmentiertes IP Paket
Header Anfang
Ident = X
0
Offset =0
Header Rest
Daten 1400 Byte
Fragmentiertes IP Paket
Header Anfang
Ident = X
1
Offset=0
Header Rest
Daten 512 Byte
• Offset à 8 Byte
11
Datenkommunikation – V. Internet
Protokoll
Fragmentierung (2)
Fragmentiertes IP Paket (Fortsetzung)
Header Anfang
Ident = X
1
Offset=64
0
Offset=128
Header Rest
Daten 512 Byte
Header Anfang
Ident = X
Header Rest
Daten 376 Byte
-> Fragmente & Firewall Problematik
12
Datenkommunikation – V. Internet
Protokoll
Adressierung (1)
IP Adressklassen
13
Datenkommunikation – V. Internet
Protokoll
Adressen (2)
Einige Adressbeispiele:
Class A (1. Oktet von 1 bis 126)
126 Netze, ca. 17 Mio. Hosts
112.10.3.34
Class B (1. Oktet von 128 bis 191)
Ca. 16 K Netze, 64 K Hosts
141.37.99.213
Class C (1. Oktet von 192 bis 223)
Ca. 2 Mio Netze, 254 Hosts
198.1.123.234
14
Datenkommunikation – V. Internet
Protokoll
Adressen (3)
Reservierte Adressen:
Broadcastadresse: alle Host Bits auf 1
Beispiel:
126.1.3.17 Broadcast 126.255.255.255
Netzwerkadresse: alle Host Bits auf 0
Beispiel:
126.1.3.17 Netzwerk 126.0.0.0
Local Loopback:
127.0.0.1
15
Datenkommunikation – V. Internet
Protokoll
Weiterleitung von IP Datagrammen (1)
„Forwarding“
Grundlagen für die Weiterleitungsentscheidung
• Zieladresse in jedem IP Paket
• Netzwerkteil einer Adresse kennzeichnet die Zugehörigkeit zu
einem physikalischen Netz
• Alle Hosts und Router, die die gleiche Netzwerkadresse haben,
gehören dem gleichen physikalischen Netz an und können
Pakete direkt austauschen
• Jedes physikalische Netzwerk umfasst mindestens einen Router
der an mindestens ein weiteres physikalisches Netzwerk
angeschlossen ist
• Dieser Router kann Pakete von einem physikalischen Netzwerk
in ein anderes physikalisches Netzwerk weiterleiten
16
Datenkommunikation – V. Internet
Protokoll
Weiterleitung von IP Datagrammen (2)
17.23.5.2
17.24.189.1
Ethernet
17.27.1.123
17.1.1.254
17.23.5.1
Router
134.34.98.230
134.34.1.100
134.34.14.3
Ethernet
134.34.90.36
134.34.33.45
17
Datenkommunikation – V. Internet
Protokoll
Weiterleitung von IP Datagrammen (3)
Welche Informationen braucht ein Host, um eine
Weiterleitungsentscheidung treffen zu können:
• Seine IP Adresse
• Die Adresse eines Routers, über den ein anderes Netz
erreichbar ist
• Daraus resultierend einen Eintrag in der Weiterleitungstabelle
Beispiel:
IP Adresse: 17.23.5.2
Router:
17.1.1.254
Eintrag in Weiterleitungstabelle für ein spezifisches Netz:
• 134.34.0.0
17.1.1.254
Bedeutung:
“Hosts mit der Netzwerkadresse 134.34.X.Y sind über den Router
17.1.1.254 erreichbar“
18
Datenkommunikation – V. Internet
Protokoll
Weiterleitung von IP Datagrammen (4)
Eintrag für die Default Route
• 0.0.0.0
17.1.1.253
Bedeutung:
“Alle anderen Hosts sind über den Router 17.1.1.253 erreichbar“
Wichtig:
Weiterleitungstabellen können mehrere spezifische Routen sowie
eine Default Route beinhalten
Die gesammte Weiterleitungstabelle würde nun so aussehen:
eigene IP Adresse: 17.23.5.2
Netz
17.0.0.0
134.34.0.0
0.0.0.0
erreichbar über
Interface 0
17.1.1.254
17.1.1.253
19
Datenkommunikation – V. Internet
Protokoll
Weiterleitung von IP Datagrammen (5)
Ablauf der Weiterleitungsentscheidung:
if (network number of destination ==
network number of one of my interfaces) then
deliver packet to destination over that interface
elsif (network number of destination is in my forwarding table) then
deliver packet to that next hop router
else
deliver packet to default router
Dabei werden immer spezifischere Einträge bevorzugt.
Wie ist das resultierende Layer 2 Paket adressiert?
20
Datenkommunikation – V. Internet
Protokoll
Weiterleitung von IP Datagrammen (6)
17.13.8.1
If 1: 17.28.11.1
If 2: 11.0.0.1
R1
If 2: 142.37.4.1
142.37.98.9
If 2: 11.0.0.4
If 2: 34.1.1.1
If 2: 11.0.0.2
R4
R2
34.10.10.99
If 2: 11.0.0.3
R3
134.48.10.12
R5
If 1: 134.48.1.3
If 2: 134.48.100.1
If 2: 198.11.10.1
198.11.10.2
21
Datenkommunikation – V. Internet
Protokoll
Subnetting – Subnetzmaske (1)
Information, wie ein Netz in Subnetze unterteilt ist:
Netzwerkbits = 1, Hostbits = 0
Beispiel:
Netzwerknummer
Hostnummer
Adresse der Klasse B
11111111.11111111.11111111
00000000
Subnetzmaske, Klasse B Netzes in 256 Netze a 256 Adressen unterteilt
22
Datenkommunikation – V. Internet
Protokoll
Subnetting – Subnetzmaske (2)
Schreibweisen der Subnetzmaske:
11111111.11111111.11111111.00000000
255.255.255.0
Netzwerkadresse / 24
Anmerkungen:
Jedes Interface eines Hosts bzw. Routers enthält zusätzlich die
Subnetzmaske. Die Subnetzmaske ist in einem Subnetz immer
gleich.
In einem Klassen Netz (A, B oder C) können aber Subnetze mit
unterschiedlichen Masken existieren
23
Datenkommunikation – V. Internet
Protokoll
IP Konfiguration von Hosts/Router
Anzeige der IP Adresse/Subnetzmaske
Windows 2K/NT:
Unix/Linux:
Cisco:
ipconfig /ALL
netstat –i
ifconfig
ip link show
show ip interface <if_num>
Anzeige der Routingtabelle
Windows 2K/NT – Unix/Linux:
Linux:
Cisco:
netstat –r
route
ip route show
show ip route
24
Datenkommunikation – V. Internet
Protokoll
Address Resolution (1)
• Rechner besitzen im Protokoll der Ebene 3 eine ID:
eine IP Adresse
• Somit hat der Rechner 2 Adressen:
- eine in Schicht 2
- und eine in Schicht 3
• Die Datenübertragung erfolgt ausschliesslich über die Adresse
aus Schicht 2
• Die Anwendung / der Benutzer kennt nur die Adresse aus Schicht
3 - oder einen „Namen“ nach einer anderen Konvention (DNS und
andere)
25
Datenkommunikation – V. Internet
Protokoll
Address Resolution (2)
Problemstellung:
Wie weiss ein Host, an welche Layer 2 Adresse er ein IP Paket
zustellen soll?
Address Resolution Protokoll
• Jeder Rechner hat eine ARP Tabelle, in der IP Adressen den
Layer 2 Adressen zugeordnet werden
Windows/Linux:
arp
• Ist ein Eintrag nicht vorhanden, wird dieser über Broadcast
angefordert
• Erkennt der gesuchte Rechner seine IP im Broadcast, antwortet
er dem Sender mit einem Unicast. Inhalt der Meldung: eigene IP
Adresse und eigene Layer 2 Adresse
26
Datenkommunikation – V. Internet
Protokoll
Address Resolution (3)
27
Datenkommunikation – V. Internet
Protokoll
Fehlerbehandlung - ICMP
• Protokol auf Layer 3/4
• überträgt Fehlermeldungen, die auf Layer 3 entstehen können:
Routing, Fragmentierung, Erreichbarkeit
• Nachrichten z.B. über:
- Netz ist nicht erreichbar (Routing)
- Host ist nicht erreichbar
- Reassembierung nicht möglich
- TTL abgelaufen
- siehe z.B. /usr/includes/linux/icmp.h
• ICMP Forwarding Redirects
• Implementierung: ping, traceroute
28
Datenkommunikation – V. Internet
Protokoll
Dynamic Host Configuration Protocol
Problemstellung:
Wie kann die Netzwerkkonfiguration von Hosts in grösseren
Netzwerken vereinfacht und automatisiert werden?
DHCP
• Host schickt Broadcast, DHCP Server antwortet mit Netzwerk
Konfiguration:
(IP, Netzmaske/-adresse, Route, DNS etc.)
• grosse Anzahl von weiteren Feldern möglich
• Server kann IPs an MACs binden (stationäre Hosts)
• freie IP Bereiche für dynamische Hosts (Laptops, Gäste etc.)
• "Mieten" einer IP für eine beschränkte Zeitdauer
• bei Subnetzen DHCP Relays
29
Datenkommunikation – V. Internet
Protokoll
Routing (1)
Bisher haben wir gesehen, dass ein Gerät Pakete anhand seiner
Weiterleitungstabelle weiterleitet. Wie entsteht jedoch diese
Tabelle? → Routing
Router:
Host mit mindestens 2 Netzwerkinterfaces die sich jeweils in
verschiedenen physikalischen Netzen befinden und jeweils
eine unterschiedliche (Sub-)Netzwerkadresse besitzen.
Aufgabe ist die Weiterleitung von IP Paketen zwischen den
angeschlossenen Netzen.
D.h. ein Router ist zuerst für die Weiterleitung von Paketen
zuständig. Das Routing ist eine zusätzliche Aufgabe.
30
Netzwerk als Graph
A
B
1
E
1
4
C
F
2
3
6
1
Datenkommunikation – V. Internet
Protokoll
Routing (2)
9
D
31
Datenkommunikation – V. Internet
Protokoll
Routing (3)
Routing:
• Finden des Weges zwischen zwei Knoten (Hosts, Router) mit den
geringsten Kosten
• Die Kosten eines Weges sind die Summe der Einzelkosten der
Kanten
Statische Methode:
Die Kosten werden einmal ermittelt, die Konfiguration ist dann
statisch
Nachteile:
• Berücksichtigt keine Knoten- oder Leitungsausfälle
• Berücksichtigt nicht den Anschluss neuer Knoten oder
Verbindungsleitungen
• Geht davon aus, dass sich die Kantenkosten nicht verändern
32
Datenkommunikation – V. Internet
Protokoll
Routing (4)
Dynamisches Routing:
• Anpassung der Routing- bzw. Weiterleitungstabelle zu Laufzeit
• Verteiltes, dynamisches Routing (jeder Knoten nimmt am
Routingprotokoll teil)
• Berücksichtigt Ausfall von Knoten und Verbindungsleitungen
• Verteilter Algorithmus
Zwei Klassen von dynamischen Routing Protokollen:
• Distance Vector
• Link State
33
Datenkommunikation – V. Internet
Protokoll
Routing (5)
Metriken
• Metrik ist ein Wert, der eine Route qualifiziert. Je geringer die
Metrik, desto besser ist die Route. Metriken können gebildet
werden nach der Bandbreite einer Verbindung, nach den Kosten
einer Verbindung etc.
• Metriken werden z.T. vom Router selbst gebildet, (wichtig)
können aber auch vom Admin gesetzt werden
• Bei alternativen Routen zum gleichen Ziel wird die Route
mit der niedrigsten Metrik gewählt!
34
Datenkommunikation – V. Internet
Protokoll
Routing - Distancevector Routing (1)
• Jeder Knoten bildet ein eindimensionales Array mit den
Metriken zu den übrigen Knoten
• Alle diese Informationen (Ziel, Metrik) werden an die
unmittelbaren Nachbarn verteilt.
• Annahme: Jeder Knoten kennt die Kosten der
Verbindungsleitungen zu seinen unmittelbaren Nachbarn
Protokollablauf
• 1. Schritt: Entfernung zu den direkt angeschlossenen Knoten
eintragen
• 2. Schritt: Versenden der eigenen Entfernungstabelle
• 3. Schritt: Ergänzen der eigenen Entfernungstabelle um die
erhaltenen Informationen, und Generieren der
Routingtabelle
• 4. Schritt: Versenden von Routing-Aktualisierungen
• 5. Schritt: wieder zu Schritt 3
35
Datenkommunikation – V. Internet
Protokoll
Routing - Distancevector Routing (2)
B
Aus Sicht von B
C
A
D
E
F
Destination Cost NextHop
A
1
A
C
1
C
D
2
C
E
2
A
F
2
A
G
3
A
G
36
Datenkommunikation – V. Internet
Protokoll
Routing - Distancevector Routing (3)
Routing-Aktualisierungen:
• Periodisch:
Mitteilen, dass der sendende Knoten noch in
Betrieb ist
• Angestossen: Wenn sich bei einem Knoten aufgrund von neuen
Informationen die Routingtabelle ändert
Probleme:
Count-of-Infinity Problem !!
Lösungen:
Maximale Metrik = 16 (“unendlich langer Weg zum Ziel”)
Split Horizon: Knoten schickt jene Routen nicht mit, die er vom
jeweiligen Nachbarn erhalten hat
Split Horizon with Poison Reverse: Die Information wird doch
an den Nachbar, der die Quelle der Information ist,
geschickt, aber mit einer unendlichen Metrik belegt
37
Datenkommunikation – V. Internet
Protokoll
Routing - Distancevector Routing (4)
Implementierung: RIP v1(Routing Information Protokoll)
• Kosten jeder Verbindungsleitung = 1
• Router versucht immer die Route mit den wenigsten Hops
auszuwählen
• Aktualisierung alle 30 Sekunden über Broadcast
• Gültige Anzahl Hops: 1-15, 16 = unendlich
• Unterstützt kein Subnetting
RIP v2
• Authentifizierung jedes RIP Packetes
• Multicast anstelle Broadcast für die Informationsverteilung
• Unterstützt auch Subnetting
38
Datenkommunikation – V. Internet
Protokoll
Routing - Distancevector Routing (5)
Cisco Konfiguration – RIP v2
interface Ethernet0
ip address 192.213.11.1 255.255.255.0
interface Ethernet1
ip address 192.213.12.2 255.255.255.0
interface Ethernet2
ip address 128.213.1.1 255.255.255.0
router rip
version rip 2
network 192.213.0.0
network 128.213.1.1
Konfiguration einzelner Interfaces (optional, ansonsten “send and
receive”:)
interface Ethernet0
ip rip send [1/2]
ip rip receive [1/2]
39
Datenkommunikation – V. Internet
Protokoll
Routing – Link State (1)
Vorgehensweise
• Routing Informationen werden an alle teilnehmenden Router
geschickt (vgl. Distance Vector: nur an unmittelbare Nachbarn)
• Link State Packet (LSP)
– ID des Routers, der das LSP generiert
– cost of link (Metrik) zu jedem direkt angeschlossenen Knoten
– Sequence Nummer (SEQNO)
– (TTL) für jedes Paket
• Zuverlässiges Fluten
– Speichern des neuesten LSPs von jedem Knoten (SEQNO)
– Übermitteln von neueren LSPs an alle Knoten außer dem
Urspungsknoten
– LSP periodsch generieren:
• Erhöhung der SEQNO
– Start SEQNO mit 0 nach Reboot
– Dekrementieren der TTL jedes gespeicherten LSP
• Verwerfen wenn TTL=0
40
Datenkommunikation – V. Internet
Protokoll
Routing – Link State (2)
Ermittlung des kürzesten Pfades
• siehe auch Zusatzdokument
• Dijkstra’s shortest path Algorithmus
• Sei
–N
die Knoten eines Graphen
– k(i, j) die Kosten (Metrik) der Kante (i, j)
–s
der Knoten, der den Algorithmus ausführt
–M
die vom Algorithmus bisher erfassten Knoten
– c(n) Kosten des Pfades von s nach n
M = {s}
for each n in N - {s}
c(n) = k(s, n)
while (N != M)
M = M union {w}
such that c(w) is the minimum for
all w in (N - M)
for each n in (N - M)
c(n) = MIN( c(n), c(w)+k(w, n) )
41
Datenkommunikation – V. Internet
Protokoll
Routing – Link State vs. Distanz Vector
Distanz Vector:
Jeder Knoten kommuniziert mit seinem direkten Nachbarn und teilt
ihm alles mit, was er weiss oder gelernt hat.
Link State:
Alle Knoten kommunizieren miteinander und schicken sich, was sie
mit Sicherheit wissen.
42
Datenkommunikation – V. Internet
Protokoll
Routing – Link State - OSPF (1)
OSPF – Open Shortest Path First
•
•
•
•
•
Implementierung des Link State Routing
Authentifizierung von Routing Nachrichten
Zusätzliche Hierarchie: Aufteilen der Routing Domain in Areas
Lastverteilung: Routen mit gleichen Metriken zulässig
32-Bit Router ID (i.d.R. immer die kleinste IP Adresse)
Kennt 6 Nachrichtentypen (5 LSA´s – Link State Advertisement):
Hello Packet
LSA Typ 1 – Ankündigung von Kosten zwischen Routern
LSA Typ 2 – Ankündigung von angeschlossenen Netzwerken
LSA Typ 3 – Summary der Netze einer Area
LSA Typ 4 – Routen und Kosten zu den Routern mit Anschluss
an externe Netze
• LSA Typ 5 – Routen und Kosten für externe Netze ausserhalb
des AS
•
•
•
•
•
43
Datenkommunikation – V. Internet
Protokoll
Routing – Link State - OSPF (2)
Router Typen:
•
•
•
•
IR: Internal Router
ABR: Area Border Router
BR: Backbone Router (jeder ABR ist auch BR)
ASBR: AS Boundary Router
44
Datenkommunikation – V. Internet
Protokoll
Routing – Link State - OSPF (3)
Areas
• Router einer Area können LSAs austauschen
• Für den LSA Austausch zwischen Areas stehen spezielle Router
(ABR) zur Verfügung.
• Backbone Area: (ID=0) Alle anderen Areas eines AS sind daran
angeschlossen
• Stub Area: Empfängt keine externen Routen, ist nach aussen mit
einer Default Route angebunden
• ABRs teilen den ABRs anderer Areas nur dann Link Informationen
mit, wenn der interne Link State Algorithmus abgeschlossen ist
• Eine “optimale” Route kann so oft nicht gefunden werden, der
Verkehr für das Routing Protokoll wird aber stark minimiert
45
Datenkommunikation – V. Internet
Protokoll
Routing – Link State - OSPF (4)
Typ 1/2
BR
BR
ABR
Typ
3/4
ABR
Typ
3
Typ
5
IR
IR
Typ 1/2
IR
Typ 1/2
Typ 5
IR
ASBR
Externe
Routing
Domain
46
Datenkommunikation – V. Internet
Protokoll
Routing – Link State - OSPF (5)
47
Datenkommunikation – V. Internet
Protokoll
Routing – Link State - OSPF (6)
Cisco Konfiguration – OSPF Konfig für 2 Areas
interface Ethernet0
ip address 192.213.11.1 255.255.255.0
interface Ethernet1
ip address 192.213.12.2 255.255.255.0
interface Ethernet2
ip address 128.213.1.1 255.255.255.0
router ospf 100
network 192.213.0.0 0.0.255.255 area 0.0.0.0
network 128.213.1.1 0.0.0.0 area 23
48
Datenkommunikation – V. Internet
Protokoll
Routing – Link State - OSPF (7)
Cisco Konfiguration – Authentifizierung
interface Ethernet0
ip address 10.10.10.10 255.255.255.0
ip ospf authentication-key mypassword
router ospf 10
network 10.10.0.0 0.0.255.255 area 0
area 0 authentication
49
Datenkommunikation – V. Internet
Protokoll
Routing – Klassenloses Routing (CIDR)
Skalierungs Aspekte
•
•
Anwachsen der Routingtabellen
Ausschöpfen des Adressraums
Problem: ineffiziente Adresszuweisung
Schlechte Ausnutzung hängt stark mit dem Verbrauch
von Klasse B Netzen zusammen
Lösung: Zuweisung mehrerer Klasse C Adressen, wenn nicht
nahezu 64K Adressen benötigt werden
Cisco Konfiguration:
ip classless
50
Datenkommunikation – V. Internet
Protokoll
Routing – Interdomain Routing (0)
Routing Domain, Autonomes System (AS):
Internetwork, bei dem sich alle Router unter der gleichen
administrativen Kontrolle befinden.
Klassifizierung der Routing Protokolle:
• Intradomain Routing Protokolle oder Interior Gateway Protokolle
(RIP, OSPF)
• Interdomain Routing (BGP)
51
Datenkommunikation – V. Internet
Protokoll
Routing – Interdomain Routing (1)
Routing:
• innerhalb eines AS: IGP (Interior Gateway Protocol):
- z.B. RIP, OSPF
• zwischen AS: EGP (Exterior Gateway Protocol):
- BGP4
• Austausch von Routinginformationen zwischen
AS = Interdomain Routing
• Möglichkeit für die hierarchische Aggregation von
Routinginformationen (CIDR)
• Innerhalb eines AS freie Wahl des Routing Protokolls
• Ein AS kann den Umfang von Routinginformationen
dadurch reduzieren, dass Default Gateways eingesetzt
werden
52
Datenkommunikation – V. Internet
Protokoll
Routing – Interdomain Routing (2)
Large corporation
„Consumer“ ISP
Peering
point
Backbone service providers
„Consumer“ ISP
Large corporation
Peering
point
„Consumer“ ISP
Small
corporation
53
Datenkommunikation – V. Internet
Protokoll
Routing – BGP4 (1)
Border Gateway Protokoll (BGP)
sehr gutes Buch dazu:
John W. Stewart III, BGP4 – InterDomain Routing in the Internet
• Komplex
• Annahme: Das Internet darf ein beliebiger
Zusammenschluss verschiedener AS sein
Drei AS Typen:
• Stub AS:
• Multihome AS:
• Transit AS:
nur eine Verbindung zu einem anderen
AS
Verbindungen zu mehr als einem
anderen AS, weigert sich, Transitverkehr
zu befördern
Verbindungen zu mehr als einem
anderen AS, befördert Transitverkehr
• BGP4 kennt auch private AS, welche nur intern benutzt
werden können
54
Datenkommunikation – V. Internet
Protokoll
Routing – BGP4 (2)
• BGP über TCP
• 2 Router (Peers) haben je eine BGP Session offen
• sobald TCP Session unterbrochen:
-> keine Connectivity
-> Peers müssen jeweils vom anderen gelernte Information
vergessen
• ein Router kann bei mehreren BGP Sessions dabei sein
• BGP übermittelt erreichbare Netzwerkpräfixe und deren
Eigenschaften:
- Nächster Hop
- Metriken
- AS - Pfad, über den das Präfix gekommen ist
- Ursprungsart eines Präfix (unbekannt oder statisch, IGP,
EGP)
55
Datenkommunikation – V. Internet
Protokoll
Routing – BGP4 (3)
• BGP ist erweiterbar: Feature Verhandlung via Protokoll
• BGP verwaltet Präfixe in drei Gruppen:
- empfangene Präfixe
- lokal verwendete Präfixe
- weiterzuversendende Präfixe
• Präfixe & deren Attribute können gefiltert und manipuliert
werden
• ein BGP Speaker wird mit seiner eigenen AS und der seiner
Peers konfiguriert
56
Datenkommunikation – V. Internet
Protokoll
Routing – BGP4 (4)
A
B
• AS A kann angeben über welche Verbindung welche seiner
Präfixe bevorzugt geroutet werden sollten
57
Datenkommunikation – V. Internet
Protokoll
Routing – BGP4 (5)
C
A
B
D
• AS C kann kommunizieren, dass es eine bessere Route von
A nach B hat als D
58
Datenkommunikation – V. Internet
Protokoll
Routing – BGP4 (6)
Warum ist Interdomain-Routing so schwierig?
• für jedes Netz muss ein passender Eintrag vorhanden sein
• Autonome Struktur der Domains (Metriken)
• Vertrauen in die Richtigkeit der Routinginformationen
anderer
59
Datenkommunikation – V. Internet
Protokoll
Routing – BGP4 (7)
• Administrator wählt in jedem AS mindestens einen BGP
Speaker
• BGP Speaker tauschen Informationen mit BGP Speakern
anderer AS aus
• jedes AS hat mindestens ein ABR
• BGP verbreitet im Gegensatz zu Intradomain Protokollen
vollständige Wege in Form von numerischen Listen
• BGP Sprecher sind in der Lage, zuvor bekanntgegebene
Wege zu annullieren
• BGP übermittelt positive wie negative
Erreichbarkeitsnachrichten
60
Datenkommunikation – V. Internet
Protokoll
Routing – BGP4 (8)
• BGP Routen werden nach Länge des AS-Pfads gewählt und
ans Routing weitergegeben
-> Kriterium bei EGP ist nicht Optimum, da es mit so einem
simplen Algorithmus nicht erreicht werden kann!
-> entscheidend ist die Erreichbarkeit!
• siehe auch Zusatzdokument
61
Datenkommunikation – V. Internet
Protokoll
Routing – IGP & EGP Routing (1)
Integration von Interdomain- und Intradomain-Routing
Verschiedene Ansatzpunkte
1 In einem Stub-AS kann ein Border-Router eine Default
Route in das AS injizieren, welche vom Intradomain
Protokoll verwendet wird.
2 In einem Multihomed-AS kann ein Border-Router Routen
in das AS injizieren, die er von auserhalb des AS gelernt
hat und welche vom Intradomain Protokoll verwendet
werden.
3 Als Intradomain Protokoll wird eine spezielle Variante,
das Interior BGP (IBGP) verwendet, welches Routen von
den BGP Sprechern direkt an die Router des AS
weiterleiten kann.
IBGP wird verwendet, da der Informationsverkehr aus
dem EGP zu hoch ist (Volumen, Häufigkeit) für das IGP.
62
Datenkommunikation – V. Internet
Protokoll
Routing – IGP & EGP Routing (2)
63
Datenkommunikation – V. Internet
Protokoll
Routing – IGP & EGP Routing (3)
Konfig Router A:
router bgp 100
neighbor 129.213.1.1 remote-as 200
Konfig Router B:
router bgp 200
neighbor 129.213.1.2 remote-as 100
neighbor 175.220.1.2 remote-as 200
Konfig Router C:
router bgp 200
neighbor 175.220.212.1 remote-as 200
neighbor 192.208.10.1 remote-as 300
Konfig Router D:
router bgp 300
neighbor 192.208.10.2 remote-as 200
64
Datenkommunikation – V. Internet
Protokoll
IP-Version 6 (IPv6) (1)
Problemstellung:
•
•
Handhabung von Skalierungsproblemen (hauptsächlich:
Adressraumausnutzung)
CIDR und Subnetting brachten in IPv4 Erleichterung,
reichen aber bald nicht mehr aus (?) (siehe NAT)
Entwicklung :
•
•
•
•
IETF (Internet Engeneering Task Force) beschäftigte sich
sich mit der Erweiterung des Adressraums
Erhöhung des Adressranges erfordert Änderungen am
Header
Zuerst: IP Next Generation (IPnG), heute IPv6
Neben der Adressraumvergrösserung wurden folgende
Ziele formuliert:
- Unterstützung von Echtzeitdiensten
- Unterstützung von Sicherheitsmerkmalen
- Automatische Konfiguration
- Erweiterung der Routingfunktionalität (Mobile
Hosts)
65
Datenkommunikation – V. Internet
Protokoll
IP-Version 6 (IPv6) (2)
Adressen und Routing:
•
•
128 Bit Adressen (=3,4*1038) anstelle 32 Bit (=4*109)
zum Vergleich:
– Erdoberfläche ca. 268mm2
– ca. 232 Menschen
66
Datenkommunikation – V. Internet
Protokoll
IP-Version 6 (IPv6) (3)
Adressen und Routing:
•
•
•
•
•
•
•
Keine Adressklassen, aber Aufteilung der Adressen nach
den führenden Bits (siehe S. 325, “Computernetze”)
Klasse A,B und C Adressen sind in 001 abgebildet
(“Aggregierbare”, globale Unicastadressen)
Es gib Reservierungen für IPX und spezielle ISO
Protokolle (NSAP), weite Bereiche wurden für zuküftige
Entwicklungen reserviert
Link Local Adressen: sind auch bei Wechsel eines Hosts
in ein anderes Netz noch eindeutig!
Site-local Adressen: Nicht geroutete Adressen für
Unternehmensbereiche, die nicht eindeutig sein müssen
Multicast Adressen, ähnlich wie in IPv4
Für den Übergang von v4 auf v6:
v4 kompatible v6 Adressen: v4 Adresse wird “vorne” mit
0en auf 128 Bit erweitert
v6 Adressen für Hosts, die nur v4 verstehen: 2 Byte mit
1en vor die v4 Adresse, dann mit 0en auf 128 Bit
auffüllen
67
Datenkommunikation – V. Internet
Protokoll
IP-Version 6 (IPv6) (4)
Adressbeispiele:
Schreibweise
x:x:x:x:x:x:x:x
Wobei x = 16 Bit in Hex, wenn x == 0, dann weglassen
47CD:1234:4422:AC02:0022:1234:A456:0124
47CD:0000:0000:0000:0000:0000:A456:0124 =
47CD::A456:0124
IPv6 Adresse für Hosts, die IPv4 und IPv6 verarbeiten:
134.34.1.1 = ::134.34.1.1
IPv6 Adresse für Host die nur IPv4 verarbeiten:
134.34.1.1 = ::FFFF:134.34.1.1
68
Datenkommunikation – V. Internet
Protokoll
IP-Version 6 (IPv6) (5)
Adressvergabe globale Unicast Adressen:
Ziel:
Durch Aggregation der Zuteilung kleine
Routingtabellen, Adressverteilung ähnlich CIDR
Begriffe:
•
Backbone AS verbindet Provider AS
Provider AS verbindet Teilnehmer AS
Provider bekommt ein Präfix zugeteilt, seinen Kunden
teilt er längere Präfixe zu
Probleme (z.Zt. ungelöst)
•
Was geschieht bei einem Providerwechsel?
•
Was ist, wenn ein Provider an mehreren Backbones
angeschlossen ist?
•
Was ist, wenn ein Teilnehmer an mehreren Providern
angeschlossen ist?
•
Erweiterung des IPv6 Protokol Stacks (Shim6) wird
diskuttiert (August 2006), welche Multihoming
implementieren würde (http://tools.ietf.org/wg/shim6/)
69
Datenkommunikation – V. Internet
Protokoll
IP-Version 6 (IPv6) (6)
IPv6-Header: (vgl. auch Seite 7 (#Slide 7))
0
4
Version
12
TrafficClass
PayLoadLen
16
24
31
Flow Label
NextHeader
HopLimit
SourceAddress
DestinationAddress
Next Header / Data
70
Datenkommunikation – V. Internet
Protokoll
IP-Version 6 (IPv6) (6)
Ipv4 vs IPv6
0
4
Version
8
HL
16
DiffServ
Identification
TTL
Protokol
20
31
0
4
Length
Version TrafficClass
Fl
PayLoadLen
Offset
Header Checksum
12
16
24
31
Flow Label
NextHeader
HopLimit
SourceAddress
Source
Destination
Next Header / Data
DestinationAddress
verändert
entfernt
Next Header / Data
hinzugefügt
Inspiriert von:
„Discovering IPv6 with Wireshark“ von Rolf Leutert, Seite 6
http://sharkfest.wireshark.org/sharkfest.10/B-6_Leutert%20Discovering%20IPv6%20with%20Wireshark.pdf
71
Datenkommunikation – V. Internet
Protokoll
IP-Version 6 (IPv6) (6)
Version:
Traffic Class:
6
Type Of Service, Explicit Congestion
Notification
Flow Label:
Zuordnung von Paketen zu
Datenströmen versch. Qualität
Payload Length: Extension Header + Daten
Next Header:
identifiziert Header, welcher auf IPv6
Header folgt (u.U. nächsthöheres
Protokol). Z.B. TCP Header oder IPv6
Extension Header
Hop Limit:
=> TTL
72
Datenkommunikation – V. Internet
Protokoll
IP-Version 6 (IPv6) (7)
Extension Header:
Müssen in definierter Reihenfolge auftreten:
- IPv6 Base Header
- Hop by Hop Options
- Destination Options (für Dest. plus
Knoten auf expliziter Route)
- Routing Header
- Fragmentation Header
- Authentication Header
- Encapsulation Header
- Destination Options für Dest.
Next Header: was für ein Header folgt als nächster
Options:
effektive Optionen
evtl. Padding: Füller
73
Datenkommunikation – V. Internet
Protokoll
IP-Version 6 (IPv6) (8)
Autokonfiguration:
Zustandslose Autokonfiguration:
Benötigt keinen Server (vgl. DHCP)
Prinzipielle Vorgehensweise:
1.
2.
Einholung einer Interface ID (ergibt wertniedrigsten Teil
der IPv6 Adresse, z.B. 48 Bit MAC Adresse)
Einholung des Adresspräfix des Subnetzes
Funktioniert mittels ICMPv6:
-
Router Anfragen & Antworten
Netz
ARP
Routen finden
Redirect
Fehlermeldungen
74
Datenkommunikation – V. Internet
Protokoll
IP-Version 6 (IPv6) (9)
Erweiterte Routingfunktionalität:
•
•
In einem Erweiterungs-Header wird eine Liste von IPv6
Adressen gespeichert
Diese stellen eine Reihen von Knoten dar, die ein Paket
auf dem Weg zu Ziel passieren sollte
Anycast:
•
gehen an irgendeine Maschine (üblicherweise Router) in
einem gewissen Netz
75
Datenkommunikation – V. Internet
Protokoll
IP-Version 6 (IPv6) (10)
IPSec
•
•
•
•
DB mit Sicherheitsinfos
[Gateway | Host] to [Gateway | Host] Sicherheit
Authentifizierung (entspr. Header)
Verschlüsselung (dito)
76
Herunterladen