Die Transportprotokolle UDP und TCP

Werbung
! UDP (User Datagram Protocol)
Transport layer/TCP
Die Transportprotokolle UDP und TCP
" Ist wie IP verbindungslos (Zustellung und Reihenfolge
werden nicht garantiert)
" Erweitert die Funktionalität von IP um die Möglichkeit, eine
spezifische Anwendung auf einem Rechner durch Portnummer
zu adressieren
Georges Awad
1
Transport layer/TCP
" UDP-Nachrichtenformat:
" In UDP werden keine Mechanismen zur Fehlerbehebung
und keine Flußkontrolle angeboten.
" Im Falle eines erkannten Fehlers (Prüfsumme) wird das
Datagramm verworfen.
"#UDP-Pakete sind leichter zu fälschen. Es gibt keine Quittungsund keine Laufnummern.
Georges Awad
2
Transport layer/TCP
Beispiel
Mail-Kopf
TCP-Kopf
IP-Kopf
PPP-Kopf
Mail-Inhalt
TCP-Nutzdaten
IP-Nutzdaten
PPP-Nutzdaten
PPP-Ende
Bitstrom auf der Leitung
Georges Awad
3
! TCP (Transmission Control Protocol)
" Ist ein verbindungsorientiertes Protokoll mit Flußkontrolle
" Aufbau und Abbau von End-zu-End-Verbindungen zwischen
adressierten Anwendungen (16-Bit-Portnummern).
" End-zu-End-Fehlererkennung und -behebung (durch Angabe einer
Prüfsumme und ggf. Wiederholung im Fehlerfall).
" End-zu-End-Flußkontrolle (durch Kreditrahmen, Zeitüberwachung und Quittierung).
" Übertragung von Eildaten (Urgent-Data).
Wichtigsten Aufgaben von TCP:
∙ Flusskontrolle und Zeitüberwachung einer Verbindung
∙ Überwachung der richtigen Reihenfolge der Pakete
∙ Überwachung der Zuverlässigkeit und Sicherheit einer Verbindung
∙ Steuerung der Prioritäten der Vorrangdaten
Georges Awad
4
Schicht 4
(TCP)
Kopf
Schicht 3
(IP)
Schicht 2
Kopf
Kopf
Data
Data
Data
Segment
Paket
Transport layer/TCP
" Wenn zwei TCP-Instanzen miteinander Daten austauschen,
werden diese Daten als Segmente oder Nachrichten bezeichnet.
Frame
" TCP- und UDP-Portnummern sind unabhängig voneinander, d.h.
UDP- und TCP-Nachrichten mit derselben Portnummer werden an
unterschiedliche Dienstzugangspunkte verteilt.
Georges Awad
5
Anwendung
Georges Awad
Portnummer
Transport layer/TCP
" Es gibt wichtige Prozesse, die auf jedem Host den gleichen Port
(well-known ports) haben:
Protokoll
FTP
21
TCP
TELNET
23
TCP
SMTP
25
TCP
rlogin
513
TCP
rwhod
portmap
513
111
UDP
UDP
6
Transport layer/TCP
! TCP-Nachrichtenformat
URG Urgent-Frame:
SYN Sync Sequence-Numbers:
ACK Acknowledgement-Frame:
RST Reset Connection:
PSH Push (weiter ohne resync):
FIN Finish/End-Frame:
Georges Awad
Zeigt auf wichtige, sofort weiterzuleitende Daten
Für Verbindungsaufbau zuständig Kontrollfelder
Zeigt an, dass Quittungsnummer gültig ist
Zurücksetzen einer Verbindung
Sofortige Auslieferung der Daten
Für Verbindungsabbau zuständig
7
Da TCP auf dem „unzuverlässigen“ IP-Protokoll aufsetzt, geschieht
der Verbindungsaufbau durch das relativ aufwendige „3-wayhandshake“:
Transport layer/TCP
! TCP-Verbindungsaufbau
Sende Verbindungsaufbauwunsch mit
Sequenznummer = X
Sende Quittung für X
mit eigner
Sequenznummer = Y
Sende Quittung für Y
Georges Awad
8
Transport layer/TCP
9
Georges Awad
" Da TCP verbindungsorientiert ist, muß eine Nachricht einer
TCP-Verbindung zugeordnet werden.
" Diese Zuordnung findet über die Kombination von IP-Adressen
und Portnummern von Sender und Empfänger statt.
Transport layer/TCP
! Interprozeßkommunikation
Prozesse
Port 997
Port 999
IP-Adr.
A.1
Port 21
IP-Adr.
Port 999
A.2
IP-Adr. A.3
IP-Aresse + Portnummer wird als Socket bezeichnet
Georges Awad
10
Transport layer/TCP
IP-Aresse + Portnummer eines Senders
und
IP-Aresse + Portnummer eines Empfängers
wird als Interprozeßkommunikation bezeichnet und ist Internetweit einmalig
Georges Awad
11
$ Auf der Netzwerkschicht unterscheidet jedes Medium normalerweise
zwischen „Kunden“ (Einheiten auf der Internet-Schicht) durch die
Verwendung von unterschiedlichen Werten in einem Typ-Feld
(z.B. benutzt Ethernet den Wert 0800 für IP).
$ Auf der Internet-Schicht unterscheidet IP zwischen „Kunden“
(Einheiten auf der Transport-Schicht) durch Verwendung von
unterschiedlichen Werten im Protokoll-Feld (z.B. 6 für TCP
und 17 für UDP).
Transport layer/TCP
Zusammenfassung
$ Auf der Transportschicht unterscheiden TCP und UDP zwischen
„Kunden“ (Einheiten auf der Anwendungsschicht) durch
unterschiedliche Werte im Port-Feld (z.B. benutzt TCP den
Wert 21 für FTP).
Georges Awad
12
1. Hardware-Adresse (bei LANs MAC-Adresse 48 Bits)
Transport layer/TCP
Um eine Rechnerübergreifende Prozeßkommunikation
unter TCP/IP zu realisieren sind vier verschiedene
Adreß-Ebenen notwendig:
2. Internet-Adresse (32 Bits)
3. Transportprotokoll-Nummer (8 Bits)
4. Portnummer (16 Bits)
Georges Awad
13
Herunterladen