PPS-Seminar Grundlagen der Internet

Werbung
GIT
Grundlagen der Internet Technologie
IP
Internet Protokoll
Adressierung und Routing fürs
Internet
von Stephan Senn
GIT
Grundlagen der Internet Technologie
Inhalt
•
•
•
•
•
Orientierung: Die Netzwerkschicht (1min)
Aufgabe des Internet Protokolls (1min)
Header eines Datenpakets (1min)
Fragmentierung und Assembling (1min)
Adressierung (5min)
–
–
Aufbau der Adressen
Subnetze und Netzmasken
• Routing
–
–
–
(5min)
Aufgabe
Routing-Verfahren
Beispiel
• Probleme mit IPv4
2. Mai 2003
(für spätere Diskussion)
2
GIT
Grundlagen der Internet Technologie
Die Netzwerkschicht
•
•
Das IP entspricht im ISO/OSI-Modell
der Netzwerkschicht.
Merke:
– Keine Flusskontrolle möglich!
– Keine Fehlerkorrektur der Daten
möglich!
– ICMP: Fehlererkennung nur im Rahmen
der Netzwerkschicht! Betrifft nur den
Internet Header und nicht die
eigentlichen Daten!
– Kein automatisch erneutes Senden von
fehlerhaften Daten!
2. Mai 2003
ISO/OSI-Modell
Standard-InternetProtokollarchitektur
Application Layer
Application Layer
Presentation Layer
Session Layer
Transport Layer
TCP / UDP
Network Layer
IP / ICMP
Datalink Layer
Link Layer
Physical Layer
IP: Internet Protocol
ICMP: Internet Control Message
Protocol
TCP: Transmission Control Protocol
UDP: User Datagram Protocol
3
GIT
Grundlagen der Internet Technologie
Aufgabe des Internet Protokolls
•
•
•
•
Hauptaufgabe: Datenpakete an Subnetze weiterleiten
Jetzige Version: IPv4 (seit 1980)
IP Next Generation (IPng): IPv6
Stellt zwei grundlegende Funktionen zur Verfügung:
– Adressierung:
• Prinzip der Adressvergabe
• Systematisches Auffinden von Adressen im Netz
– Fragmentierung:
• ‚Aufsplittung‘ eines Datenpakets in kleinere Datenpakete
• Anschliessendes Assembling (Zusammenfügen) der Datenpakete
2. Mai 2003
4
GIT
Grundlagen der Internet Technologie
Internet Header
Next-Level-Protokolle
Internet Header Length
Für Fragmentierung und
Assembling
Version
IHL Type of Service
Total Length
Identification
Flags Fragment Offset
Time to Live
Protocol
Header Checksum
Dienste zur Beeinflussung
Source Address
der Übertragungsqualität:
Verzörgerung, Durchsatz,
Destination Address
usw.
‚SelbstzerstörungsOptions
Padding
mechanismus‘:
Beschreibt die
Lebensdauer eines
Datenpakets im
Netz
2. Mai 2003
Optionen: variables Feld
Route-Tracking,
Sicherheitsaspekte, usw.
Ausgleichsfeld: variables Feld
Internet Headers müssen ein
Vielfaches von 32Bits sein.
Datenpaket
Header
Daten
5
GIT
Grundlagen der Internet Technologie
Fragmentierung
•
•
•
Datenpakete werden in
Fragmente aufgeteilt.
Übertragungskanal
beeinflussen: Für das
Zusammenspiel von
schwachen und starken Netzen
untentbehrlich!
Merke:
– Jedes Fragment enthält
wiederum einen Header!
– Fragment Offset als Angabe
für die Reihenfolge!
– Eindeutige Kennung mit
Identification!
2. Mai 2003
Header
Header
Fragment Offset: 0Bytes
More Fragments: 1
Identification: 111
Fragment #1
1Byte
Header
Daten
Fragment Offset: 1Byte
More Fragments: 1
Identification: 111
1Byte
3Bytes
Header
Identification: 111
Fragment Offset: 2Bytes
More Fragments: 0
Identification: 111
Fragment #3
1Byte
6
GIT
Grundlagen der Internet Technologie
Adressierung
2. Mai 2003
7
GIT
Grundlagen der Internet Technologie
Die Internetadresse
• Jede Internetadresse besteht aus vier Zahlen
von 0 bis 255 (1Byte).
z.B. 129.132.200.35
• Sie hat eine Länge von 32Bits (4Bytes).
• Aufbau jeder Internetadresse:
Präfix Netzadresse
2. Mai 2003
Hostadresse
8
GIT
Grundlagen der Internet Technologie
Adressklassen
• Es gibt drei Adressklassen:
Klasse
A
B
C
Klasse
A
B
C
2. Mai 2003
Präfix Netzadresse Anzahl
Hostadresse Anzahl
Netzadressen
Hostadressen
0
7Bits
126
24Bits
16777214
10
14Bits
16382
16Bits
65534
110
21Bits
2097150
8Bits
254
von
bis
1.0.0.0
128.0.0.0
192.0.0.0
feste Bitstellen
126.0.0.0 00000000.00000000.00000000.00000000
191.255.0.0 10000000.00000000.00000000.00000000
223.255.255.0 11000000.00000000.00000000.00000000
9
GIT
Grundlagen der Internet Technologie
Welche Adressklassen sind für
welche Netzwerke?
• Klasse A: für grosse Netzwerke mit vielen
Hosts
• Klasse B: für mittlere Netzwerke mit einer
mittleren Anzahl Hosts
• Klasse C: für kleine Netzwerke mit einer
geringen Anzahl Hosts
2. Mai 2003
10
GIT
Grundlagen der Internet Technologie
Beispiel: ETH-Netz
• Mit dem Befehl ping [URL] kann die
Internetadresse ermittelt werden.
z.B. ping www.ee.ethz.ch
www.ee.ethz.ch
129.132.2.198
www.ethz.ch
129.132.200.35
ETHZ-Netz
129.132.0.0
www.ssd.ethz.ch
129.132.185.100
2. Mai 2003
www.math.ethz.ch
129.132.148.197
11
GIT
Grundlagen der Internet Technologie
Subnetze bilden
• Anwendung: ein Netz von einem anderen Netz
abgrenzen, Teilnetze bilden
• Nur Hosts mit einer spezifischen Netzkennung
werden im Netz erlaubt.
z.B. nur 149.76.6.X
• Netzmaske für verschiedene Adressklassen:
Klasse
A
B
C
2. Mai 2003
Netzmaske
255.0.0.0
255.255.0.0
255.255.255.0
Netzmaske in Binärform
11111111.00000000.00000000.00000000
11111111.11111111.00000000.00000000
11111111.11111111.11111111.00000000
12
GIT
Grundlagen der Internet Technologie
Subnetze bilden (2)
• Vorgehen:
Bitweise Addition der Internetadresse mit
der Netzmaske
Internetadresse
149.76.6.4
10010101.01001100.00000110.00000100
Maskierung
255.255.0.0
11111111.11111111.00000000.00000000
AND
149.76.0.0
10010101.01001100. 00000000.00000000
• Ziel: Netzadresse ‚herausstanzen‘.
2. Mai 2003
13
GIT
Grundlagen der Internet Technologie
Beispiel: Subnetze bilden
• Aufgabe: Eine Firma besitzt drei grosse Abteilungen A, B und C
mit den Netzadressen 149.76, 149.77 und 149.78 (Adressklasse B).
Die einzelnen Abteilungen werden als Subnetze geführt; d.h. ein Host
aus der Abteilung A kann nicht mit einem Host der Abteilung B
kommunizieren. Die Subnetzmaske lautet dann: 255.255.0.0.
Access-Bereich
149.76
2. Mai 2003
149.77
149.78
149.76
149.78
149.77
14
GIT
Grundlagen der Internet Technologie
Symbolische Internetadressen
• Numerische Internetadresse: 129.132.200.35
• Symbolische Internetadresse: www.ethz.ch
• Domain: Bereich eines Netzes
z.B. .ch, .li, .ethz.ch, .google.ch
• ‚Alias-System‘
• Query-Abfrage auf einer globalen
ethz.ch
Datenbank (Baumstruktur)
• Domain Name System (DNS)
Wurzel
.de
.ch
google.ch
ee.ethz.ch
2. Mai 2003
15
GIT
Grundlagen der Internet Technologie
Routing
2. Mai 2003
16
GIT
Grundlagen der Internet Technologie
Was ist Routing?
• Definition: Datenpakete von einer Quelladresse
zur richtigen Zieladresse führen
• Merke:
– Ein Datenpaket enthält keine Informationen, wie es
zum Ziel gelangt!
– Aus der Sicht der Datenpakete: Es gibt keine
vordefinierten Pfade!
– Routing: betrifft Network-Layer (IP-Adresse)
– Switching: betrifft Link-Layer (MAC-Adresse)
2. Mai 2003
17
GIT
Grundlagen der Internet Technologie
Was ist ein Router?
• Definition: Gerät, bestehend aus Link- und
Network-Layer, das für das Routing
zuständig ist
• Router:
2. Mai 2003
18
GIT
Grundlagen der Internet Technologie
Beispiel: Router im Netz
• Beispiel:
Host #1 will ein Datenpaket nach Host #3 schicken!
Router #2
Netz #2
Router #3
Netz #5
Host #1
Netz #1
Netz #3
Netz #4
Router #1
Router #4
Host #2
Server #2
Router #5
Netz #6
Netz #7
Router #6
Server #1
2. Mai 2003
Host #3
19
GIT
Grundlagen der Internet Technologie
Routing-Verfahren
• Es gibt mehrere Routing-Konzepte mit spezifischen
Routing-Verfahren, die in Protokollen beschrieben sind:
– Distanz-Vektor-Routing: z.B. Routing Information Protocol (RIP)
– Link-State-Routing: z.B. Open Shortest Pass First (OSPF)
• Es werden Routing-Tabellen verwendet.
• Border Gateway Protocol (BGP): Grundrouting-Protokoll,
das die Kommunikation zwischen den einzelnen RoutingProtokollen gewährleistet.
2. Mai 2003
20
GIT
Grundlagen der Internet Technologie
Statisches und dynamisches
Routing
• Statisches Routing: Netztopologie oder
Teile daraus zu Beginn bekannt, kein
Hinzufügen von Netzkomponenten während
der Laufzeit möglich!
• Dynamisches Routing: kein Vorwissen über
die Netztopologie nötig, Erkennen der
Netztopologie zur Laufzeit (dynamisch)
2. Mai 2003
21
GIT
Grundlagen der Internet Technologie
Routing-Tabellen
• Grundfrage des Routers: An wen leite ich meine Daten
weiter?
• Inhalt der Routing-Tabellen:
– Beschreibung der gesamten Netztopologie oder Teile daraus, je
nach Routing-Verfahren
– Unterschiedliche Verfahren zur Beschreibung von Netzen:
Zeitmessung (z.B. Hello-Protokolle), Distanzangaben (z.B. Hops),
u.a.
– Zusätzliche Informationen (Routing-Metriken): Durchsatz,
Verzögerung, Zuverlässigkeit, finanzielle Kosten, usw.
• Grundkonzept: zyklischer Austausch der Routing-Tabellen
zur Laufzeit (Informationsaustausch)
2. Mai 2003
22
GIT
Grundlagen der Internet Technologie
Routing-Tabellen
• So könnte etwa eine Routing-Tabelle eines
Routers aussehen:
Netz
Hops
Router
Host/Server
Hops
Router
#1
0
-
Host #1
0
-
#2
0
-
Host #2
1
#1
#3
1
#3
Host #3
3
#1
#4
1
#1
Server #1
1
#1
#5
1
#3
Server #2
2
#1
#6
2
#2
#7
2
#1
Distanzangaben: Ist dies die kürzeste
Distanz? Gibt es eine kürzere Verbindung?
Was sagen die erhaltenen Routing-Tabellen
der anderen Router?
An welchen
Router muss ich
die Daten
weiterleiten?
Wo soll das
Datenpaket
hin?
2. Mai 2003
23
GIT
Grundlagen der Internet Technologie
Beispiel: Routing
•
Aufgabe: Host #1 möchte Daten an Server #2 schicken.
Netz
#1,4: grossenach
Netze
mit#18erfolgt.
Routern
Datenübertragung
nach Router #3 erfolgt. Dieser
Datenübertragung
Router
Dieser
die Daten an
Router
wird#3,2:
die Daten
an Router
#4mit
weiterleiten.
Router
#4#4 weiterleiten, da dies
Netz
kleine
Netzewird
je
3
Routern
der kürzeste Weg sei. Router #4 wird die Daten an
wird die Daten an den Server #2 weiterreichen.
den Server #2 weiterreichen.
Router #1 schickt seine Routing-Tabelle
Netz #2
Netz #5
an Router
#2:
Router #2
Router
#3
Router #5
Host #1
Von:
Distanz:
Nach:
Status: Router #2
Server #2 5Hops (Annahme) Router #1
Netz #1
Netz #3
Netz #6
Von:
Distanz:
Nach:
ServerStatus:
#2 10Hops
(Annahme)
Router #3
Router #1 wieder OK!
Alter
Router
#2
Von:
Distanz:
Nach:
Netz #4
Netz
#7
OK!
Server #2 10Hops
(Annahme)
Router #3 Router #6
Router
#4
Router #1
Server #1
X
5Hops sind kürzer als 10Hops daher:
Router #1 sei defekt!
Host #2
2. Mai 2003
Neuer Status: Router #2
Server #2
Von:
Distanz:
Nach:
Server #2 5Hops (Annahme) Router #1
Host #3
24
GIT
Grundlagen der Internet Technologie
Probleme mit IPv4
•
•
•
•
Ausgehende Internet-Adressen
Unterschiedliche Datenstrukturen
Sicherheitsaspekt
Dynamic Host Configuration Protocol
(DHCP)
2. Mai 2003
25
GIT
Grundlagen der Internet Technologie
Fragen...
2. Mai 2003
26
GIT
Grundlagen der Internet Technologie
Vielen Dank für eure
Aufmerksamkeit!
2. Mai 2003
27
Herunterladen