protokolle - TU Ilmenau

Werbung
Die Internet-Protokollfamilie:
Einordnung [Wiederholung]
• Die Bezeichnung TCP/IP wird häufig als Synonym für die gesamte
Protokollfamilie verwendet
• Einordnung der Internetprotokolle in das ISO/OSIReferenzmodell:
Die Internet-Protokollwelt
Kommunikationssteuerungsschicht
TCP
IGMP
5. Die Transportschicht im
Internet
ICMP
Transportschicht
UDP
IP
ARP
Vermittlungsschicht
RARP
Sicherungsschicht
• Im Weiteren wird die Transportschicht behandelt.
Die Internet-Protokollwelt - 5. Transportschicht im Internet
TCP (Transmission Control Protocol):
Dienste







Mehrere Prozesse können gleichzeitig eine TCP-Instanz benutzen





FTPServer
Port
21
Vollduplex
Reihenfolgetreue
Flusskontrolle mit Fenstermechanismus
Fehlerkontrolle durch Folgenummern (Sequenznummern),
Prüfsumme, Quittung, Übertragungswiederholung
Unterstützung von Sicherheitsstufen und Prioritäten
Zeitbehaftete Daten: Falls Auslieferung in bestimmter Zeit nicht
möglich ist, wird der Dienstbenutzer informiert
TCP
129.13.42.112
129.13.42.115
FTPBenutzer A
Port
400
FTPBenutzer B
Port
400
TCP
IP
Netzzugang
TCP
IP
IP
Netzzugang
Netzzugang
Internet
Fehleranzeige
Die Internet-Protokollwelt - 5. Transportschicht im Internet
Identifikation von TCP-Diensten geschieht über Ports
(TSAPs in der OSI-Terminologie)
Portnummern bis 255 sind für häufig benutzte Dienste reserviert
(z.B. 21 für FTP, 23 für TELNET, 80 für HTTP)
Ein Socket besteht aus der Internetadresse eines Rechners und einem
Port. Notation: (IP-Adresse:Portnummer)  Internet-weit eindeutig
Beispiel – Der FTP-Server der TU Ilmenau ist über den Socket
141.24.191.41:21 erreichbar:
141.24.191.41
Datenübertragung



Verbindungsaufbau zwischen zwei „Sockets”
(entspricht CEP im TSAP).
Datentransfer über virtuelle Verbindung.
Gesicherter Verbindungsabbau (alle Daten müssen quittiert sein).
Multiplexen


TCP: Adressierung
Verbindungsverwaltung

121
122
Die Internet-Protokollwelt - 5. Transportschicht im Internet
123
1
TCP: fest vereinbarte Port-Nummern
(well-known ports)
Viele Anwendungen wählen
TCP als Protokoll, allerdings
muss der richtige Port gewählt
werden, um auf der Gegenseite
mit der richtigen Anwendung
zu kommunizieren.

13: Tageszeit

20: FTP Daten

25: SMTP
(Simple Mail Transfer
Protocol)

53: DNS
(Domain Name Server)

80: HTTP
(Hyper Text Transfer
Protocol)

119: NNTP
(Network News Transfer
Protocol)

> telnet walapai 13
Trying 129.13.3.121...
Connected to walapai.
Escape character is '^]'.
Mon Aug 4 16:57:19 1997
Connection closed by foreign host






Verbindungsaufbau
ACK; Close; FIN
Die Internet-Protokollwelt - 5. Transportschicht im Internet
ACK; -
FIN wait2
0
Close; -
SYN; SYN+ACK
(gleichzeitig)
Estblshd
FIN+ACK;
ACK
FIN; ACK
Piggyback Acknowledgement
SYN sent
4 bit TCP
header
length
FIN; ACK
Close wait
ACK; -
Close; FIN
Timed wait
(Timeout; -)
Destination Port
Sequence Number
SYN+ACK; ACK
Closing
31
16
Source Port
Send
Close; FIN
FIN; ACK
125
TCP-Paketformat: Aufbau
Last ACK
UA E R S F
R C O S Y I
G KMT NN
Window
Paketkopf
Urgent Pointer
Options (0 oder mehr 32-bit-Worte)
Daten ...
Dieses Bit wird in der Literatur auch durch
PSH (Push-Bit) bezeichnet.
ACK; -
Closed
Die Internet-Protokollwelt - 5. Transportschicht im Internet
6 bit
unused
Checksum
Close Passive
FIN wait1
Anmerkung: Die Verbindung wird von den TCP-Instanzen ohne
weiteres Eingreifen der Dienstbenutzer aufgebaut (es existiert z.B.
kein Primitiv, das T-CONNECT.Rsp entspricht).
124
Close; -
Listen
SYN rcvd
Spezifikation eines speziellen Sockets, von dem er eine eingehende
Verbindung erwartet wird ( fully specified passive open) oder
Alle Verbindungen annehmen ( unspecified passive open).
Geht ein Verbindungsaufbauwunsch ein, wird ein neuer Socket erzeugt,
der dann als Verbindungsendpunkt dient.
Connect; SYN
Closed
RST; -
Aktiver Modus: Anforderung einer TCP-Verbindung mit dem
spezifizierten Socket.
Passiver Modus: Ein Benutzer informiert TCP, dass er auf eine
eingehende Verbindung wartet.

TCP: Verbindungsmanagement
SYN; SYN+ACK
aktiv (connect) oder
passiv (listen/accept)
aufgebaut werden.
> telnet mailhost 25
Trying 129.13.3.161...
Connected to mailhost .
Escape character is '^]'.
220 mailhost ESMTP Sendmail 8.8.5/8.8.5;
Mon, 4 Aug 1997 17:02:51 +0200
HELP
214-This is Sendmail version 8.8.5
214-Topics:
214- HELO
EHLO
MAIL
RCPT
DATA
214- RSET
NOOP
QUIT
HELP
VRFY
214- EXPN
VERB
ETRN
DSN
214-For more info use "HELP <topic>".
...
214 End of HELP info
Listen; -
Verbindungen können nach der Erstellung eines Sockets

Die Internet-Protokollwelt - 5. Transportschicht im Internet
Close Activ

TCP: Verbindungsaufbau
126
Die Internet-Protokollwelt - 5. Transportschicht im Internet
127
2
TCP-Verbindungsaufbau
im Detail
TCP-Paketformat














Source- und Destinationport: identifizieren die Endpunkte der Verbindung.
Wie die Hosts ihre Ports zuweisen, bleibt ihnen überlassen (bis auf die
standardisierten bis Nummer 255)
Sequence number: enthält die Byte-Folgenummer
Piggyback acknowledgement: Huckepackverschickung von Quittungen. Die
nächste erwartete Folgenummer
TCP header length: Anzahl der 32-bit-Wörter im Paketkopf
URG: Wird auf 1 gesetzt, falls der Urgent Pointer verwendet wird
SYN: Wird beim Verbindungsaufbau verwendet, um CONNECT.Req/Ind
anzuzeigen
ACK: Unterscheidet bei gesetztem SYN-Bit eine CR-PDU von einer CC-PDU.
Signalisiert die Gültigkeit des Acknowledgement-Feldes
FIN: Gibt an, dass der Sender keine Daten mehr senden möchte
RST: Wird benutzt, um eine Verbindung zurückzusetzen
EOM (bzw. PSH): Dieses Bit zeigt das Ende einer Nachricht an
Window: Dient zur Flusskontrolle. Anzahl der Bytes, die nach dem höchsten
bestätigten Byte gesendet werden dürfen
Checksum: Enthält die Prüfsumme über Paketkopf und Daten
Urgent Pointer: Relativer Zeiger auf wichtige Daten
Das Options-Feld kann Optionen variabler Länge aufnehmen
Die Internet-Protokollwelt - 5. Transportschicht im Internet
A
A beantragt Verbindung
B akzeptiert und bestätigt
A akzeptiert und beginnt
Übertragung

3-Wege-Handshake


Beide SYNs müssen bestätigt sein
Für den Empfänger gilt die Verbindung erst nach der
Bestätigung seines SYNs als aufgebaut
128
TCP-Verbindungsaufbau:
Verwaistes SYN
Die Internet-Protokollwelt - 5. Transportschicht im Internet
129
TCP-Verbindungsaufbau:
Verspätetes SYN/ACK
A
A
B Passive Open
Active Open
B Passive Open
B Passive Open
Active Open
Altes SYN kommt an
A beantragt Verbindung
Altes SYN/ACK kommt an
B akzeptiert und bestätigt
A bricht „alte” Verbindung
ab
B akzeptiert und bestätigt
neue Verbindung
A verweigert Bs Verbindung
A bestätigt und beginnt
Übertragung
Die Internet-Protokollwelt - 5. Transportschicht im Internet
130
Die Internet-Protokollwelt - 5. Transportschicht im Internet
131
3
TCP: Duplikaterkennung




Kein Anzeichen für Duplikate

Empfängerpuffer
0
4K
Leer
2K
Anwendung
schreibt 3KB
Datenpakete können Verbindungsabbau überstehen und irrtümlich
einer neuen Verbindung zugeordnet werden
Durch einen Systemzusammenbruch kann die Paketnummerierung
verloren gehen
Problemvermeidung:

Empfänger
Anwendung
schreibt 2KB
Sequenznummernbereich muss groß genug sein, dass zwei
Pakete mit der gleichen Sequenznummer genügend weit
auseinander liegen
Allerdings:


Sender
Datenpakete werden zur Duplikaterkennung durchnummeriert
Unter Umständen wird ein Datenpaket mehrfach bestätigt


TCP: Fenstermanagement
Voll
Sender ist
blockiert
Anwendung liest 2KB
2K
Sender kann bis zu
2KB übertragen
Uhr-unterstützte Sequenznummer (Clock-based initial sequence
number)
Sendeverzögerung (Quiet Time)
1K
Die Internet-Protokollwelt - 5. Transportschicht im Internet
132
TCP: Flusskontrolle / Staukontrolle


Flusskontrolle regelt den Datenfluss zwischen den Endsystemen
Staukontrolle befasst sich mit Stausituationen in den
Zwischensystemen
Flusskontrolle in TCP: Fenstermechanismus mit Kreditvergabe




44

Timeout
40
36
ACK-Feld im Paketkopf bestätigt alle niedrigeren Bytefolgenummern
Window-Feld gibt an, wieviele Bytes der Empfänger zusätzlich akzeptiert
Staukontrolle in TCP: Problem „congestion collapse”:
Stau in Zwischensystemen führt oftmals dazu, dass Transportprotokolle
nach einem Timeout Pakete wiederholen.
 Die Stausituation wird verstärkt!
TCP: „slow start” und „multiplicative decrease” Mechanismen

133
TCP: Staukontrolle am Beispiel
Bei Datenverlust reduziert TCP den Schwellwert, bis zu dem eine Steigerung
der Senderate möglich ist, auf die Hälfte des aktuellen Fensterwerts.
(multiplicative decrease).
Nach einer Stauperiode wird die Fenstergröße um ein Datenpaket erhöht
und weiterhin nach jeder empfangenen Quittung (slow start)
 Der „slow start” Mechanismus verhindert, dass nach einem Stau direkt
zu hoher Verkehr auftritt
Übertragungsfenster (KB)

2K
Die Internet-Protokollwelt - 5. Transportschicht im Internet
Schwelle
32
28
24
Schwelle
20
16
12
8
4
0
0
Die Internet-Protokollwelt - 5. Transportschicht im Internet
134
2
4
6
8
10
12
14
16
18
Anzahl der Übertragungen
Die Internet-Protokollwelt - 5. Transportschicht im Internet
20
22
24
135
4
TCP: Verbindungsabbau

UDP (User Datagram Protocol)
Bestätigter und nummerierter Verbindungsabbau


Noch ausstehende Datenpakete können erkannt werden, so
dass der Verbindungsabbau erst mit Eintreffen des letzten
Datenpakets vollzogen werden kann.
Close
A

0
B

A sendet VerbindungsabbauAnfrage
Unzuverlässig, verbindungslos, einfacher und schneller als TCP
Demultiplexing der empfangenen Pakete basiert auf der PortNummer
Optionale Prüfsumme
16
Source Port
Destination Port
Message Length
Checksum

festgelegte, so genannte „well-known” Ports:


A bestätigt den Verbindungsabbau von B. Ist dieses Signal
bei B angekommen, gilt die
Verbindung als abgebaut.


daytime
domain name server
network time protocol
Die Internet-Protokollwelt - 5. Transportschicht im Internet
137
SCTP-Paketaufbau
SCTP ist als Kompromiss zwischen TCP
und UDP entwickelt worden:





13:
53:
123:
sehr viele Multimedia-Anwendungen nehmen UDP statt TCP wegen
Leistungsvorteilen
136
Stream Control Transmission Protocol
SCTP

Paketkopf
Daten ...
B bestätigt und sendet eigenes
Verbindungsabbau-Signal
Die Internet-Protokollwelt - 5. Transportschicht im Internet
31
Verbindungsorientiert: SCTP-Assoziation
Nachrichtenbasiert
Ermöglicht Flusssteuerung
Segmentieren und Blocken
IPHeader
•
•
•
•
SCTP-Assoziation:


Zusammengesetzt aus mehreren Streams
Ein Stream entspricht einer
unidirektionalen gerichteten Verbindung
Die Internet-Protokollwelt - 5. Transportschicht im Internet
138
Common
Header
Source Port Nummer (2 Bytes)
Destination Port Nummer (2 Bytes)
Verification Tag (4 Bytes)
Prüfsumme (4 Bytes)
Chunk 1
Chunk 2
Chunk n
• Chunk-Header:
o Type
o Flags
o Länge
• Chunk-Inhalt
Die Internet-Protokollwelt - 5. Transportschicht im Internet
139
5
Anwendungsnahe Adressierung
im Internet

Adressierung erfolgt über logische Namen





Länder
Weltweit eindeutig
Hierarchische Struktur
Gliederung in Domänen
us
ikmcip1.e-technik.tu-ilmenau.de
Rechner
de
se ...
uk net org gov mil
tu-ilmenau
Institution
e-technik
Benötigt:



edu
com

Domain_name
Time_to_live
Class
Type






A (IP-Adresse des Rechners)
MX (Mail Exchange)
HINFO (CPU und Betriebssystem des Rechners in ASCII)
CNAME (Canonical Name)
...
Value
Die Internet-Protokollwelt - 5. Transportschicht im Internet
Die Internet-Protokollwelt - 5. Transportschicht im Internet
141
DNS – Beispieldatenbank
Fünf-Tupel, der einzelne Ressourcen näher
beschreibt:

...
www
140
DNS – Resource Records

Geplante, z.T.
bereits realisierte
weitere Zonen
(top level domains):
• arts
• firm
• info
• nom
• rec
• shop
• web
nasa
ikmcip1
Abbildung logischer Name  IP-Adresse
Ursprünglich: Datei (hosts.txt), die jede Nacht vom Server geladen wurde
Problem: steigende Anzahl der Namen ließ zentrale Datei nicht mehr zu
Die Internet-Protokollwelt - 5. Transportschicht im Internet

ac co
Land
Abteilung

Allgemeine Kategorie
(vorrangig innerhalb
der USA)
Beispiel


Namensraum ist in Zonen aufgeteilt

Einfacher zu merken
Dienste einfacher auf andere Rechner übertragbar
Aufbau eines logischen Namens


DNS-Namensraum
142
Domain_name
Time_to_live
Class
Type
Value
cs.vu.nl
86400
IN
TXT
„Faculteit Wiskunde en Informatica”
cs.vu.nl
86400
IN
TXT
„Vrije Universiteit Amsterdam”
cs.vu.nl
86400
IN
MX
1. zephyr.cs.vu.nl
cs.vu.nl
86400
IN
MX
2. top.cs.vu.nl
flits.cs.vu.nl
86400
IN
HINFO
Sun Unix
flits.cs.vu.nl
86400
IN
A
130.37.16.112
flits.cs.vu.nl
86400
IN
A
192.31.231.165
flits.cs.vu.nl
86400
IN
MX
1. flits.cs.vu.nl
flits.cs.vu.nl
86400
IN
MX
2. zephyr.cs.vu.nl
www.cs.vu.nl
86400
IN
CNAME
star.cs.vu.nl
ftp.cs.vu.nl
86400
IN
CNAME
zephyr.cs.vu.nl
laserjet
IN
A
192.31.231.216
IN
HINFO
„HP Laserjet IIISi” Proprietary
Die Internet-Protokollwelt - 5. Transportschicht im Internet
143
6
DNS – Name Servers
DNS – Anfragen an Name Server
Allgemeine Kategorien

Länderspezifisch

int
com
edu
sun
yale
eng
cs
gov
mil
org
acm
eng
jack
net
jp
ieee
jill
ac
us
co
de
tu-bs
keio
nec
cs
cs
csl
ibr
...
Jede Zone hat einen primären und beliebig weitere sekundäre
Nameserver
Anfragen können rekursiv oder nicht-rekursiv beantwortet
werden

Name
yahoo
linda
robot
pc24
Name
Info
Info
www

ai
rekursiv:
etc.
nicht-rekursiv:
Name
Info
faxe
Name
Info
Die Internet-Protokollwelt - 5. Transportschicht im Internet
144
DNS – Beispiele
 http://www.nasa.gov/
Endsystem
 http 198.116.142.34
Die Internet-Protokollwelt - 5. Transportschicht im Internet
Literatur
 IP-Adresse für
www.nasa.gov ?

DNSName Server
 198.116.142.34

Router

 MX-Daten für ieee.org ?
 mail [email protected]
Endsystem
 smtp 199.172.136.14
145
DNSName Server

 gemini.ieee.org,
IP-Adresse 199.172.136.14, SMTP
COMER, D.E. (2002). Computernetzwerke und
Internets mit Internet-Anwendungen. Pearson
Studium / Prentice Hall, München, 3. überarbeitete
Auflage. ISBN 3-8273-7023-X.
COMER, D.E. (2003): TCP/IP – Konzepte, Protokolle
und Architekturen. mitp-Verlag, Bonn, 4. Auflage,
2003. ISBN 3-8266-0995-6.
PETERSON, L.; DAVIE, B.S. (2003): Computernetze –
Eine systemorientierte Einführung. dpunkt.verlag,
Heidelberg, 3. Auflage. ISBN 3-89864-242-9.
STEVENS, W.R. (1994). TCP/IP Illustrated, Bd. 1 – The
Protocols. Addison-Wesley, Boston; San Francisco;
New York. ISBN 0-201-62246-9.
Router
Die Internet-Protokollwelt - 5. Transportschicht im Internet
146
Die Internet-Protokollwelt - 5. Transportschicht im Internet
147
7
RFCs







POSTEL, J.: User Datagram Protocol, August 1980, RFC
768.
POSTEL, J.: Transmission Control Protocol – DARPA
Internet Program Protocol Specification, September 1981,
RFC 793.
MOCKAPETRIS, P.V.: DNS encoding of network names and
other types. April 1989. RFC 1101.
POSTEL, J.: Domain Name System Structure and
Delegation, März 1994, RFC1591.
FREED, N.: Behavior of and Requirements for Internet
Firewalls, Oktober 2000, RFC 2979.
RAMAKRISHNAN, K.; FLOYD, S.; BLACK, D.: The Addition of
Explicit Congestion Notification (ECN) to IP, September
2001, RFC 3168.
ONG, L.; YOAKUM, J.: An Introduction to the Stream Control
Transmission Protocol (SCTP), Mai 2002, RFC 3286.
Die Internet-Protokollwelt - 5. Transportschicht im Internet
148
8
Herunterladen