| |
TCP und UDP
Proseminar Rechnerkommunikation und Telefon
Grundlage von Netzwerken ist die Kommunikation zwischen Rechnern, also
der Austausch von Daten. Um die Vorgänge bei der Datenkommunikation zu
verdeutlichen betrachtet man das sogenannte Schichtenmodell, wie es in
der unteren Grafik dargestellt ist. Dabei unterscheidet man zwischen
der Applikationsschicht, den beiden Protokollschichten TCP/UDP und IP
und der physikalischen Schicht (z.B. Ethernet, Point-To-Point-Line).
Da große Unterschiede in der Umsetzung der Schichten bestehen können
wird durch die Protokolle lediglich beschrieben, auf welche Art und
Weise der Datenaustausch von Statten geht. Netzwerkprotokolle sind
daher keine eigenständigen Programme, sondern vielmehr Bibliotheken
von Diensten, die von anderen Schichten in Anspruch genommen werden
können. Das Prinzip der Einteilung in Schichten ist sehr sinnvoll, da
sonst jede Applikation alle benötigten Dienste selbst implementieren
müsste. Die wichtigsten und bekanntesten Dienste der im folgenden
betrachteten TCP/UDP-Schicht sind FTP, Telnet, Mail oder Network File
Systems.
Abb. 1: Schichtenmodell der Rechnerkommunikation
Die Adressierung von Rechnern innerhalb des Internet erfolgt mittels
der sogenannten IP-Adresse. Diese besteht aus einer 32bit Zahl, die
getrennt in 4x8bit (sogenannten Oktets) als dreistellige,
vorzeichenlose Dezimalzahlen dargestellt wird. Durch diese Adresse
wird jeder Rechner innerhalb des Internet eindeutig identifiziert.
Bei heutigen Betriebssystemen handelt es sich meist um
Multitasking-Betriebssysteme. Es laufen also auf einem Rechner mehrere
Prozesse gleichzeitig, die auch gleichzeitig und separat angesprochen
werden sollen. Daher findet Datenkommunikation aber nicht zwischen
Rechnern, sondern genauer zwischen einzelnen Prozessen statt. Es ist
daher notwendig, nicht nur Rechner im Internet eindeutig zu
identifizieren sondern auch die einzelnen Prozesse auf diesen
Rechnern. Dieses erfolgt durch die sogenannte Portnummer. Dabei
handelt es sich um eine 16bit Zahl dargestellt als Integerzahl. Bei
den Portnummern unterscheidet man zwischen zwei Arten. Die global
festgelegten oder konventionellen Portnummern reichen von
0-49150. Jeder dieser Zahlen ist genau eine Higher-Level-Applikation
zugeordnet. Die dynamisch vergebenen Portnummern von 49151-65535
werden wie der Name sagt während der Laufzeit vergeben. Dies bietet
Vorteile wie z.B. Erweiterbarkeit. Durch die IP und den Port, die
gemeinsam den sogenannten Socket bilden, wird jeder Prozess auf einem
Rechner der dem Internet angeschlossen ist eindeutig
identifiziert. Eine schematische Darstellung der Ports mit einigen
Beispielen ist in der folgenden Grafik dargestellt.
Abb. 2: Spektrum der Port-Nummern und wichtige Ports
TCP bedeutet Transmission Control Protocol. Es wurde 1981 spezifiziert
in STD-7/RFC-793. Neuerungen, Erweiterungen und Bugfixes sind
festgehalten in den RFCs 1323 und 1122. Ziel bei der Spezifikation
dieses Transportprotokolls war es, auf Basis des unzuverlässigen
Internet-Protocol (IP) eine verlässliche Datenkommunikation zu
gewährleisten.
|
| |
|
|