Grundlagen von TCP/IP

Werbung
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
Falko Dressler
Regionales Rechenzentrum
[email protected]
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, 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)
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, 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
– 1968 Beginn der Entwicklung eines Paket-Vermittlungssystems
durch die DARPA (Defense Advanced Research Projects Agency)
– gleichzeitig Entwicklungen im „Xerox Palo Alto Research Center“
(PARC)
– 1972: ARPANET wird vorgestellt, unterstützt durch die DARPA
Erster Einsatz im ARPANET
– 1983: Alle Rechner im ARPANET müssen TCP/IP verwenden
– 1984: 4.2BSD und UNIX System V mit TCP/IP-Unterstützung
– Heute: ca. 20 Mio Endgeräte via Internet miteinander verbunden
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, 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
Internet-Protokolle. Gliedert sich in:
• IETF: Internet Engineering Task Force
• IRTF: Internet Research Task Force
• beide bestehen aus Arbeitsgruppen, in denen die weitere
Entwicklung der Internetprotokolle vorangetrieben wird
– RFC: Internet Request for Comments - die
Internet-Standards
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
4
Architektur von TCP/IP
• TCP/IP-Schichtenmodell ist älter und
einfacher als das ISO-OSIReferenzmodell:
Application
Transport
Network
Link
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
telnet, ftp, http
TCP, UDP
IP, ICMP, IPv6
Ethernet
Falko Dressler, 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 und Flußsteuerung
– Application Layer
• Abwicklung der speziellen Anwendung
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
6
Beispiel für die beteiligten
Protokolle bei einer ftp-Sitzung
Rechner A
Rechner B
Anwendungsprotokoll
Application
Transportschichtprotokoll
Transport
Network
Link
ftp
Router
IP-Protokoll
Link-Protokoll
Netzwerk 1
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Network
Link
IP-Protokoll
Link-Protokoll
TCP
IP
Ethernet
Netzwerk 2 (Ethernet)
Falko Dressler, 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ß
TCP
UDP
ICMP
IP
Application
Transport
ARP
Hardware-Schnittstelle
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
RARP
Network
Link
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
8
Link Layer
• IP ist auf einer Vielzahl von Medien (mittels
RFC) definiert:
– Ethernet (FastEthernet, GigabitEthernet)
– 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
• LAN Emulation
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
9
Link Layer 2
Preambel
Rahmenbegrenzer
Zieladresse
Quelladresse
Aufbau eines Ethernet V.2 Frames
Beispiele für den Typ:
Typenfeld
Daten
IP
ARP
IPX
0x0800
0x0806
0x8137
Prüfsumme
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
10
IPv4 (Internet Protocol Version 4)
•
•
•
•
•
Aufbau von IP-Paketen
IP-Adressen
Subnetze
ARP
ICMP
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
11
Aufbau von IP-Paketen
Total Length
VERS HLEN Service Type
FGS
Fragment Offset
Identification
Header Checksum
Time To Live
Protocol
Source IP Address
Destination IP Address
IP Options (so vorhanden)
Padding
Data
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 Protokoll der übergeordneten Schicht (TCP=6, UDP=17)
• Header Checksum: Prüfsumme für den Paket-Header
• Source IP Address: Absenderadresse
• Destination IP Address: Zieladresse
• IP Options: Optionen
• Data: Anwendungsdaten
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
12
Internet Datagram
Wichtig: IP ist verbindungslos, 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 A
Fragm. 2
Rechner B
Paket 1
Fragm. 1
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
13
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 Netz-Id
Class B
10
Class C
110
Class D
1110
Class E
11110
•
24 Bit Host-Id
14 Bit Netz-Id
16 Bit Host-Id
21 Bit Netz-Id
8 Bit Host-Id
28 Bit Multicast Group-Id
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 KlasseC-Netze. Für die Wähleingänge wird das nicht nach außen routbare
Netz 10.10.0.0 verwendet.
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
14
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
254
0
Subnetzmaske
255 255
255
224
Netzwerk: 131.188.2.0
Rechner: 258
Broadcast: 131.188.3.255
•
Netzwerk: 131.188.29.128
Rechner: 1
Broadcast: 131.188.29.159
Alle Bits auf 0 im Host-Id-Teil einer IP-Adresse bestimmen die
Netzadresse und alle Bits auf 1 im Host-Id-Teil ergeben die
Broadcast-Adresse.
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
15
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!
1. Wer ist 131.188.3.150 ?
Zielrechner
IP: 131.188.3.150
MAC: 8:0:20:97:1f:60
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
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
16
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
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
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 Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
17
ICMP 2
•
Code Values für „Destination Unreachable“
Code Value
0
1
2
3
4
5
6
7
8
9
10
11
12
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Beschreibung
Network unreachable
Host unreachable
Protocol unreachable
Port Unreachable
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 Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
18
TCP (Transmission Control Protocol)
•
•
•
•
Erstes Transportprotokoll auf IP
Definiert Ende-zu-Ende-Verbindung
Bietet gesicherte Übertragung
Flußkontrolle mittels Van-JacobsonAlgorithmus
• Dominiert im Weitverkehrsbereich
• Stellt eine Datenstromschnittstelle zur
Verfügung, die mittels Prozeduren von
Applikationen genutzt werden kann
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
19
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
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
0
0
33580
33580
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
0
0
ESTABLISHED
ESTABLISHED
20
Beispiele für TCP-Anwendungen
• ssh (Secure Shell):
Ermöglicht den Zugriff auf entfernte Rechner. Eigener
Rechner verhält sich wie ein angeschlossenes
Terminal. Port 22.
• 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.
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
21
Aufbau eines TCP-Pakets
Source Port
HLEN
•
•
•
•
•
•
Destination Port
Sequence Number
Acknowledge Number
Reserved Code Bits
Window
Checksum
Urgent Pointer
Options
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
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
22
TCP - Geschichte einer Verbindung
Rechner 1
Send SYN seq=x
Rechner 2
Verbindungsaufbau
Receive SYN segment
Send SYN seq=y, ACK x+1
Receive SYN + ACK segment
Send ACK y+1
Receive ACK segment
Send Packet x+1
Datenübertragung
Receive Packet x+1
Send ACK x+2
Receive ACK x+2
Send FIN seq=x‘
Verbindungsabbau
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
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
23
TCP Zustandsautomat
•
•
Zustandsautomaten dienen zur Protokollspezifikation
Die Beschriftungen an den Übergängen bezeichnen das empfangene /
gesendete Paket
begin
closed
passive open
syn/syn+ack
close
active open/syn
send/syn
listen
reset
syn/syn+ack
SYN
RECVD
ack
close/fin
FIN
WAIT-1
FIN
WAIT-2
CLOSE
WAIT
close/fin
close/fin
fin/ack
closing
fin/ack ack
fin/ack
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
close/
timeout/
reset
fin/ack
established
ack
SYN
SEND
ack
TIMED
WAIT
LAST
ACK
ack
timeout nach 2 „segment lifetimes“
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
24
UDP (User Datagram Protocol)
•
•
•
•
ungesichertes Transportprotokoll
effizienter als TCP im LAN-Bereich
keine Flußkontrolle
Anwendung muß Datenverluste selber
behandeln
• Einsatz für Multimedia-Anwendungen
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
25
Beispiele für UDP-Anwendungen
• NFS (Network File System)
• NIS (Network Information System)
• SNMP (Simple Network Management
Protocol)
• RTP (Realtime Transport Protocol, für
Multimedia over IP Anwendungen)
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
26
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
• Für die Kommunikation auf physikalischer Ebene
benötigt man Hardwareadressen. Die Umsetzung
erfolgt über ARP.
1. Welche Adresse hat cssun ?
Client
2. cssun hat die 131.188.3.9 !
3. Hallo 131.188.3.9 !
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Nameserver
cssun
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
27
DNS 2
• Aufteilung der „Welt“ in Zonen.
• Zonen weiter unterteilt:
– Top-level-Zonen: z.B. „de“ für Deutschland oder „uk“ für GB
– Second-level-Zonen: z.B. „uni-erlangen.de“ oder „bhn.de“
– weitere Unterteilung möglich
• Die Nameserver aller Domains arbeiten weltweit
zusammen, um global Adressen aufzulösen.
Koordinierung über die root-Nameserver.
• Neben den primary-Nameservern (verantwortlich für
einzelne Zonen) gibt es noch secondary-Nameserver
(Ausfallsicherheit!)
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
28
Routing
• Was ist Routing?
– Kommunikation der Rechner via IP nur im lokalen Subnetz
– Spezialrechner (Router) als Gateways zwischen diesen Subnetzen
– Router entscheiden anhand der Ziel-IP-Adresse im ankommenden
Paket, wie dieses Paket weitervermittelt werden soll.
(1), (2)
(3)
(5)
(4)
Host A
Router
Host B
1.
Host A stellt fest, daß Host B nicht im selben Netz
2.
Host A ermittelt ‚next-hop‘ über seine Routing-Tabelle
3.
Host A schickt Paket an ‚next-hop‘, also an den Router
4.
Router stellt fest, daß Host B im selben Netz
5.
Router liefert Paket an Host B aus
Fall (4) nicht zutreffen würde, würde der Router bei (2) fortfahren
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
29
Routing 2
• 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: Routing-Einträge werden vom
Administrator von Hand erstellt und verwaltet
– Dynamisches Routing: Die Router tauschen RoutingInformationen über Routingprotokolle aus.
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
30
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 und fehleranfällig
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
31
Literatur
• Douglas E. Comer: Internetworking with TCP/IP.
Prentice-Hall 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.
Grundzüge der Datenkommunikation
Grundlagen von TCP/IP
2003-04-30
Falko Dressler, Universität Erlangen-Nürnberg, RRZE
EMail: [email protected]
32
Herunterladen