Grundlagen von TCP/IP

Werbung
Grundlagen von TCP/IP
Falko Dreßler,
Regionales Rechenzentrum
[email protected]
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
1
Überblick
•
•
•
•
Historie
Architektur von TCP/IP
Link Layer
IP (Internet Protocol)
–
–
–
–
•
•
•
•
IP-Adressen
Subnetze
ARP (Address Resolution Protocol)
ICMP (Internet Control Message Protocol)
TCP (Transmission Control Protocol)
UDP (User Datagram Protocol)
DNS (Domain Name Service)
Routing
– Grundlagen
• WiN- und REVUE-Netz
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
2
Historie
• Situation der 70er Jahre
– Proprietäre Protokolle (z.B. DECNET, SNA)
• Ziele
– Offene Kommunikationsplattform
– Zuverlässige Datenkommunikation
• Entwicklung
–
–
–
–
–
–
Entwickelt von Universität Stanford und Bolt, Beranek und Newman
Unterstützt durch DARPA (Advanced Research Project Agency)
Erster Einsatz im ARPANET
1982: Einsatz in 4.2BSD UNIX
1983: Alle rechner im ARPANET müssen Internet Protokolle verwenden
Heute: ca. 2,5 Mio Endgeräte via Internet miteinander verbunden
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
3
Historie 2
• Mittel der Standardisierung
– IAB: Internet Activities Board - plant und koordiniert
die Entwicklung des Internet und der InternetProtokolle
– IETF: Internet Engeneering Task Force - besteht aus
Arbeitsgruppen, in denen die weitere Entwicklung der
Internetprotokolle geplant wird. Teil des IAB.
– RFC: Internet Request for Comments - die InternetStandards und Entwürfe. Weniger formal als ISOStandards.
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
4
Architektur von TCP/IP
• TCP/IP-Schichtenmodell ist älter und
einfacher als das ISO-OSI-Referenzmodell:
Application
Transport
Network
Link
Grundlagen von TCP/IP
1999-11-17
telnet, ftp, http
TCP, UDP
IP, ICMP, IPv6
Ethernet
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
5
Architektur von TCP/IP 2
• Aufgaben der Schichten
– Link Layer: realisiert die physikalische
Datenübertragung incl. „Verpackung“ der Daten,
Zugriff auf das Netzwerk
– Network Layer: Adressierung und Wegbestimmung der
Pakete, Fragmentierung
– Transport Layer: Datenfluß zwischen Endsystemen,
evtl. Übertragungssicherung, Flußsteuerung
– Application Layer: Abwicklung der speziellen
Anwendung
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
6
Beispiel für die beteiligten
Protokolle bei einer ftp-Sitzung
Rechner A
Rechner B
Application
Anwendungsprotokoll
ftp
Transport
Transportschichtprotokoll
TCP
Router
Network
IP-Protokoll
Link
IP-Protokoll
Netzwerk 1
Grundlagen von TCP/IP
1999-11-17
Network
Interface
IP-Protokoll
IP-Protokoll
IP
Ethernet-Treiber
Netzwerk 2 (Ethernet)
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
7
TCP/IP Protokollsammlung
• TCP/IP wird durch mehrere Teilprotokolle realisiert. Man spricht
deshalb von einer Protokollsammlung oder einer Protocol-Suite.
AnwenderProzeß
AnwenderProzeß
Application
TCP
UDP
Transport
ICMP
IP
ARP
RARP
Hardware-Schnittstelle
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
Network
Link
8
Link Layer
• IP ist auf einer Vielzahl von Medien (mittels RFC)
definiert:
– Ethernet
– FDDI (Fiber Distributed Data Interface)
– Asynchron
• SLIP (Serial Line IP)
• PPP (Point-to-Point Protocol)
– Token Ring
– ATM (Asynchronous Transfer Mode)
• Classical IP over ATM
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
9
IP (Internet Protocol)
•
•
•
•
•
Aufbau von IP-Paketen
IP-Adressen
Subnetze
ARP
ICMP
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
10
Aufbau von IP-Paketen
HLEN
Service Type
Total Length
FGS
Fragment Offset
Identification
Header Checksum
Time To Live
Protocol
Source IP Address
Destination IP Address
IP Options (so vorhanden)
Padding
Data
VERS
Bedeutung der Felder:
• VERS: Versionsnummer (z.Zt. 4)
• HLEN: Länge des Paket-Headers in 32 Bit-Worten
• Total Length: Länge des ges. Paketes in Bytes (max. 65535)
• Identification: eindeutige Kennung eines Paketes
• FGS: (Flags) legen fest, ob ein Paket fragmentiert werden darf, etc.
• Fragment Offset: Offset des akt. Fragments in Vielfachen von 8 Bytes
• Time To Live (TTL): maximale Lebensdauer eines Paketes; wird von jedem Router um 1 erniedrigt; wenn TTL=0,
wird das Paket verworfen und eine Fehlermeldung (ICMP) an den Absender geschickt
• Protocol: Kennung für das Protokol der übergeordneten Schicht (TCP=6, UDP=17)
• Header Checksum: Prrüfsumme für den Paketheader
• Source Ip Address: Absenderadresse
• Destination IP Address: Zieladresse
• IP Options: Optionen
• Data: Anwendungsdaten
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
11
Internet Datagram
Wichtig: IP ist verbindungslog, d.h. jedes Paket wandert unabhängig von
seinem Vorgänger und Nachfolger durch das Netz (Routing). Dabei kann
es vorkommen, daß ein Paket in mehrere zerlegt (fragmentiert) und wieder
zusammengesetzt werden muß. Weiterhin kann sich die Reihenfolge der
Pakete ändern.
Rechner B
Fragm. 2
Rechner A
Paket 1
Fragm. 2
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
12
IP-Adressen
• Ziel: Jede Rechnerschnittstelle muß eindeutig identifizierbar sein.
• IP-Adressen sind 4 Byte lang und werden in einen Netzwerk- und
einen Rechneranteil gegliedert.
• Unterschiedliche Netzklassen:
Class A
0 7 Bit Netzid
Class B
10
Class C
110
Class D
1110
Class E
11110
24 Bit Hostid
14 Bit Netzid
16 Bit Hostid
21 Bit Netzid
8 Bit Hostid
28 Bit Multicast Groupid
Reserviert für spätere Verwendung
• Die Universität hat zwei Klasse-B-Netze (131.188.0.0 für die
Wissenschaft und 141.67.0.0 für die Medizin sowie mehrere Klasse-CNetze. Für die Wähleingänge wird das nicht nach außen routbare Netz
10.10.0.0 verwendet.
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
13
Subnetze
• Ziel: Strukturierung des Adreßraums
• Der Adreßraum einer Organisation wird durch eine sogenannte
Subnetzmaske aufgeteilt. Die Subnetzmaske legt fest, welche Bits als
Netzadresse verwendet werden.
Beispiel 1
Beispiel 2
131
188
3
2
Rechner-IP-Adresse
131
188
29
129
255
255
255
0
Subnetzmaske
255
255
255
224
Netzwerk: 131.188.3.0
Rechner: 2
Broadcast: 131.188.3.255
Netzwerk: 131.188.29.128
Rechner: 1
Broadcast: 131.188.29.159
• Alle Bits auf 0 im Hostid-Teil einer IP-Adresse bestimmen die
Netzadresse und alle Bits auf 1 im Hostid-Teil ergeben die BroadcastAdresse.
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
14
ARP (Address Resolution Protocol)
•
•
•
„The Address Resolution Protocol, ARP, allows a host to find the physical address of a
target host on same physical network, given only the target‘s IP address.“
Ziel: Zu einer gegebenen logischen (IP-) Adresse die zugehörige Hardware-Adresse
(z.B. MAC-Adresse) ermitteln. Der Ausgangsrechner schickt einen Broadcast mit der
gesuchten IP-Adresse los. Der Zielrechner antwortet mit seiner Hardware-Adresse.
Wichtig: ARP baut nicht auf IP auf!
Zielrechner
IP: 131.188.3.150
MAC: 8:0:20:97:1f:60
1. Wer ist 131.188.3.150 ?
Ausgangsrechner
Zielrechner
IP: 131.188.3.150
MAC: 8:0:20:97:1f:60
2. Ich bin 131.188.3.150 mit 8:0:20:97:1f:60 !
Ausgangsrechner
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
15
ICMP (Internet Control Message Protocol)
•
•
•
„The Internet Control Message Protocol, ICMP, allows gateways to send error
or control messages to other gateways or hosts.“
ICMP-Pakete sind normale IP-Pakete, bei denen das Protokoll-Feld auf 1
gesetzt ist.
ICMP-Pakete enthalten ein Typ-Feld und ein Code-Feld, das die
Fehlermeldung genauer spezifiziert.
Type Field
0
3
4
5
8
11
12
13
14
17
18
Grundlagen von TCP/IP
1999-11-17
Beschreibung
Echo Reply
Destination Unreachable
Source Quench
Redirect
Echo Request
Time Exceeded
Parameter Problem
Timestamp Request
Timestamp Reply
Address Mask Request
Address Mask Reply
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
16
ICMP 2
• Code Values für „Destination Unrechable“
Code Value
0
1
2
3
4
5
6
7
8
9
10
11
12
Grundlagen von TCP/IP
1999-11-17
Beschreibung
Network unreachable
Host unreachable
Protocol unreachable
Port unrechable
Fragmentation needed, DF set
Source route failed
Destination network unknown
Destination host unknown
Source host isolated
Communication with destination network prohibited
Communication with destination host prohibited
Network unreachable for type of service
Host unreachable for type of service
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
17
TCP (Transmission Control Protocol)
•
•
•
•
•
•
Erstes Transportprotokoll auf IP
Definiert Ende-zu-Ende-Verbindung
Bietet gesichtere Übertragung
Flußkontrolle mittels Van-Jacobson-Algorithmus
Dominiert im Weitverkehrsbereich
Stellt eine Datenstromschnittstelle zur Verfügung,
die mittels Prozeduren von Applikationen genutzt
werden kann
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
18
TCP 2
• Socket-Konzept: Ein Socket dient zur eindeutigen
Identifikation eines Dienstes auf einem Rechner
• Ein Prozeß (eine Anwendung) wird auf einem Rechner
durch eine eindeutige Portnummer identifiziert
• Formal: Eine Association (eine TCP-Verbindung) wird
durch ein 5-Tupel charakterisiert: {Protokoll; lokale
Adresse; lokaler Prozeß; remote Adresse; remote Prozeß}
• Beispiel: {tcp; 131.188.3.150; 1022; 131.188.3.40; 22}
lisa$ netstat -an | grep 131.188.3.40
131.188.3.150.1022 131.188.3.40.22 17520
131.188.3.150.1011 131.188.3.40.22 17520
Grundlagen von TCP/IP
1999-11-17
0
0
33580
33580
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
0
0
ESTABLISHED
ESTABLISHED
19
Beispiele für TCP-Anwendungen
• telnet:
Ermöglicht den Zugriff auf entfernte Rechner. Eigener
Rechner verhält sich wie ein angeschlossenes Terminal.
Port 23.
• ftp (File Transfer Protocol):
Datenübertragung von/zu einem entfernten Rechner. Es
werden zwei Verbindungen (für Kommandos und
Datenübertragung) aufgebaut. Port 20 (Daten) und 21
(Kommandos).
• smtp (Simple Mail Transfer Protocol):
Elektronische Post. Port 25.
• http (Hypertext Transfer Protocol):
Übertragung von WWW-Daten. Port 80.
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
20
Aufbau eines TCP-Pakets
Source Port
HLEN
Reserved
Checksum
Destination Port
Sequence Number
Acknowledge Number
Code Bits
Options
Window
Urgent Pointer
Padding
Data
•
•
•
•
•
•
Source Port / Destination Port: Prozeßidentifikation auf Quell- und
Zielrechner.
Sequence Number / Acknowledge Number: dienen der Flußkontrolle
HLEN: Länge des Headers in 32 Bit-Worten
Window: aktuelle Fenstergröße bei der Datenübertragung
Checksum: Prüfsumme (beinhaltet auch einen Teil des IP-Headers)
Urgent Pointer: dient zur übertragung von beschleunigten Daten
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
21
TCP - Geschichte einer Verbindung
Rechner 1
Rechner 2
Verbindungsaufbau
Send SYN seq=x
Receive SYN segment
Send SYN seq=y, ACK x+1
Receive SYN + ACK segment
Send ACK y+1
Receive ACK segment
Datenübertragung
Send Packet x+1
Receive Packet x+1
Send ACK x+2
Receive ACK x+2
Verbindungsabbau
Send FIN seq=x‘
Receive FIN segment
Send ACK x‘+1
Receive ACK segment
Inform Application
Send FIN ACK x‘+1
Receive FIN + ACK segment
Send ACK y‘+1
Receive ACK segment
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
22
TCP Zustandsautomat
• Zustandsautomaten dienen zur Protkollspezifikation
• Die Beschriftungen an den Übergängen bezeichnen das empfangene /
gesendete Paket
begin
closed
passive open
close
active open/syn
syn/syn+ack
send/syn
listen
reset
syn/syn+ack
SYN
RECVD
SYN
SEND
ack
close/
timeout/
reset
fin/ack
established
CLOSE
WAIT
close/fin
close/fin
FIN
WAIT-1
close/fin
fin/ack
closing
ack
fin/ack ack
ack
FIN
WAIT-2
Grundlagen von TCP/IP
1999-11-17
fin/ack
ack
TIMED
WAIT
LAST
ACK
timeout nach 2 „segment lifetimes“
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
23
UDP (User Datagram Protocol)
•
•
•
•
•
•
•
Ungesichertes Transportprotokoll
Effizienter als TCP im LAN-Bereich
Einsatz für Multimedia-Anwendungen
Basis für Client-Server-Lösungen
Keine Flußkontrolle
Anwendung muß Datenverluste selber behandeln
Beispiele: NFS (Network File System), NIS
(Network Information System), SNMP (Simple
Network Management Protocol)
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
24
DNS (Domain Name Service)
• Problem: IP-Adressen sind schwer zu merken
• Idee: Einführung symbolischer Namen
– Erfordern Umsetzungstabellen
– Einführung von Nameservern, die alle Adressen einer Domain auflösen
können
1. Welche Adresse hat cssun ?
Client
2. cssun hat die 131.188.3.9 !
3. Hallo 131.188.3.9 !
Nameserver
cssun
• Neben den primary-Nameservern gibt es noch secondary-Nameserver
(Ausfallsicherheit!)
• Die Nameserver aller Domains arbeiten weltweit zusammen, um
global Adressen aufzulösen. Koordinierung über die root-Nameserver.
• Für die Kommunikation auf physikalischer Ebene benötigt man
Hardwareadressen. Die Umsetzung erfolgt über ARP.
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
25
Routing
• Was ist Routing?
– Router können aufgrund der Ziel-IP-Adresse im ankommenden
Paket entscheiden, in welche Richtung das Paket weitervermittelt
werden soll.
• Warum Routing?
– Logische (effiziente) Trennung von Subnetzen
– Verhinderung von Broadcast-Stürmen
– Optimierung der Netzwerkleistung durch automatische
Leitungswahl (redundante Anbindung)
• Wie wird geroutet?
– Statisches Routing: Routingeinträge werden vom Adminstrator von
Hand erstellt und verwaltet
– Dynamisches Routing: Die Router tauschen Routinginformationen
über Routingprotokolle aus.
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
26
Statisches vs. Dynamisches Routing
• Dynamisches Routing kann durch falsche
Informationen gestört werden
• Dynamisches Routing erzeugt Netzlast
• Statisches Routing funktioniert nur bei einfachen
Netztopologien
• Keine Backup-Pfade bei statischem Routing
• Statisches Routing ist arbeitsintensiv bei
Änderungen
• Näheres in „Routing und Routing-Protokolle im
FAU-Netz“
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
27
IP-Routing-Algorithmus
Route_IP_DATAGRAM (datagram, routing_table)
extract destination IP address, ID, from datagram
compute IP address of destination network, IN
if IN matches any directly connected network address
send datagram to destination over that network;
(this involves resolving ID to a physical address (ARP),
encapsulate datagram, and sending the frame)
else if ID apears as a host specific route
route datagram as specified in the table
else if ID apears in routing table
route datagram as specified in the table
else if default route has been specified
route datagram to default gateway
else declare a routing error
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
28
Routing Tabelle
• Tabelle, in der vermerkt ist, welche Netze oder Rechner wie erreichbar
sind.
131.188.71.0
131.188.71.15
Destination
Distance
Route
131.188.3.0
0
Direct
131.188.10.0
0
Direct
131.188.71.0
2
131.188.10.5
131.188.71.15
1
131.188.3.15
Default
131.188.5.3
131.188.71.1
Rechner 1
Router B
131.188.3.15
131.188.3.1
131.188.3.0
131.188.3.250
Router A
131.188.5.1
131.188.5.0
131.188.5.3
Router C
• Kann mittels Konfiguration statisch oder mittels Routingprotokollen
(Protokolle zum Austausch von Erreichbarkeitsinformationen)
dynamisch aufgebaut werden.
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
29
Routingprotokolle
• RIP (Routing Information Protocol)
– Alle 30 Sekunden werden Broadcasts zum Austausch der
Routinginformation ausgelöst. Jeder Router bzw. jedes Endsystem
erhält dadurch Informationen über seine direkten Nachbarn.
– Es wird eine Routingtabelle erzeugt, in der die Zieladresse mit
einer Metrik versehen ist. Diese Metrik ist beim RIP der „hopcount“, also die Anzahl der Systeme, die ein Paket zu diesem Ziel
durchlaufen muß.
– Der Vorteil von RIP ist seine Einfachheit und seine weite
Verbreitung.
– Nachteile sind die langsame Konvergenz und eine Unflexibilität,
da nur eine Netzmaske und eine Metrik unterstützt wird.
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
30
Routingprotokolle 2
• OSPF (Open Shortest Path First)
– Jeder Knoten kennt den kompletten Aufbau des Netzwerks. Er
prüft die Erreichbarkeit aller seiner direkten Nachbarn und sendet
diese Informationen an alle Knoten im Netz. Aus den eigenen
Informationen und denen von allen anderen Knoten findet er
mittels des „Shortest Path First“-Algotithmus den kürzesten Weg.
– Die Vorteile von OSPF sind eine schnelle Konvergenz, die
Unterstützung verschiedener Metriken (z.B. Geschwindigkeit der
Leitung) und Netzmasken, sowie eine einfache Problemverfolgung
als bei RIP.
– Ein Nachteil ist, daß es noch nicht so verbreitet ist, und daß
Implementierungen z.T. noch fehlerhaft sind.
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
31
Deutsches Wissenschaftsnetz (B-WiN)
• Verbund der deutschen L&F-Gemeinde, Teil des
Internet-Backbone
• Organisiert und betrieben vom DFN-Verein
(Verein zur Förderung des deutschen
Forschungsnetzes e.V.)
• Mehr als 400 Anschlüsse (128kBit/s, 2MBit/s,
34MBit/s, 155MBit/s), darunter auch ISPs wie
XLink, Eunet, ECRC und Nacamar
• Netzprotokolle: ATM (PVC) und IP
• Anschluß der FAU: 155MBit/s
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
32
REVUE
• REchner Verbund Universität Erlangen
• Im Augenblick:
–
–
–
–
In der Wissenschaft: 180 Netze mit 8164 Hosts
In der Medizin: 64 Netze und 3048 Hosts
10 Sondernetze
Umstrukturierung des Backbone fast abgeschlossen
• Backbone über ATM (622MBit/s und 155MBit/s)
• Anschlüsse der Institute via ATM, FastEthernet und
GigabitEthernet
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
33
Literatur
• Douglas E. Comer: Internetworking with TCP/IP. PrenticeHall International.
• Walter Richard Stevens: TCP/IP Illustrated Volume 1, The
Protocols. Addison-Wesley.
• Walter Richard Stevens: TCP/IP Illustrated Volume 2, The
Implementation. Addison-Wesley.
• Walter Richard Stevens: TCP/IP Illustrated Volume 3,
TCP for Transactions, HTTP, NNTP, and the UNIX
Domain Protocols. Addison-Wesley.
Grundlagen von TCP/IP
1999-11-17
Falko Dreßler, Universität Erlangen-Nürnberg, RRZE
Email: [email protected]
34
Herunterladen