next up previous contents
Next: Sicherheit Up: Netz Architektur Previous: ISO/OSI:   Contents

TCP/IP:

Der Name TCP/IP bezeichnet eine ganze Reihe von Protokollen für die Datenkommunikation. Diese Protokollfamilie bezieht ihren Namen von zweien der enthaltenen Protokolle - dem Transmission Control Protocol (TCP) und dem Internet Protocol (IP). Obwohl noch einige andere Protokolle enthalten sind, sind TCP und IP sicherlich zwei der wichtigsten. In diesem Text wird nur auf die noch aktuelle Version 4 von TCP/IP eingegangen.

TCP/IP wurde für das ARPANET (Advanced Research Projects Agency), dem Vorgänger des heutigen Internets, entwickelt. Das ARPANET war in seiner ursprünglichen Nutzung ein rein militärisches Netz, das zur Koordination von weiträumig verteilten militärischen, behördlichen und wissenschaftlichen Einrichtungen dienen sollte. Die Entwicklung der TCP/IP Architektur, welche die bis dahin verwendeten Protokolle ablösen sollte, begann etwa 1978, 1981 wurde TCP/IP im RFC2 793 standardisiert. Im Jahre 1983 wurden die TCP/IP-Protokolle zu Military Standards (MIL STD) erhoben und alle Institutionen, die am ARPANET partizipierten, mußten auf die neuen Protokolle umstellen. Eine der Hauptvorgaben bei der Entwicklung des ARPANETs und der damit verbundenen Protokolle war, dass auch beim Ausfall einiger Knoten (durch z.B. äußere Einwirkung des Feindes) das restliche Netz weiterhin funktionsfähig bleiben sollte.

Aus dieser Vorgabe resultieren einige Eigenschaften des TCP/IP Modells.

TCP/IP lässt sich in vier Schichten einteilen.


Table 2: IP Schichtenmodell

$\displaystyle \begin{tabular}{\vert c \vert c \vert c \vert}
\hline Schichteben...
...utinen für den Zugriff\\
& & auf physikalische Netze\\
\hline
\end{tabular}$


Wie man sieht, besteht der Protokollstack von TCP/IP nicht aus 7, sondern nur aus 4 Schichten. Dieses Modell mit vier Schichten basiert auf den drei Ebenen, die im Protocol Model des DOD (US-Verteidigungsministrerium) im DDN Protocol Handbook beschrieben werden.

Es fehlen die Darstellungsschicht und die Kommunikationssteuerungsschicht aus dem OSI-Modell. Die Kommunikationssteuerungsschicht ist bei TCP/IP hauptsächlich in der Transportschicht untergebracht. Es exisitieren auch keine Sessions wie bei OSI, sondern Verbindungen werden bei TCP/IP über sockets und port referenziert und somit die zuständigen Applikationsendpunkte festgelegt. Falls Applikationen bei TCP/IP zusätzliche Kommunikationssteuerungsdienste benötigen, müssen diese auf Applikationsebene erbracht werden. Ein Beispiel sei Network File System$ \,$(NFS), welches seine eigene Kommunikationssteuerung mitbringt, die Remote Procedure Call $ \,$(RPC).
Auch die Darstellungsschicht fehlt bei TCP/IP. Diese Funktionalität liegt auf Applikationsebene. Ein Beispiel sei Multipurpose Internet Mail Extensions $ \,$(MIME).

Die Tranportschicht teilt sich vertikal bei TCP/IP auf in User Datagram Protocol $ \,$(UDP) und Transmission Control Protocol $ \,$(TCP).

UDP UDP baut einen verbindungslosen Kommunikationskanal auf. Pakete können verloren gehen, sich verdoppeln oder korrupt sein. Die darunter liegende Netzwerkschicht behandelt nämlich jedes Paket wie eine eigene Einheit und deswegen kann jedes Daten-Paket bei einem paketvermittelnden Netz, wie IP, unterschiedliche Netzrouten nehmen. Wenn bei der Übertragung von Daten ein hoher Durchsatz erfoderlich ist, wobei nicht jedes Datum relevant ist, dann nutzt man meist den UDP Dienst.
TCP TCP ist für Verbindungen gedacht, die verlässlich bei der Übertragung der Daten arbeiten sollen. TCP ist zuständig für die Datenwiederherstellung von verlorenen, korrupten oder auch in falscher Reihenfolge erhaltenen Daten-Paketen. Dies gewährleistet TCP durch Sequenznummern in jedem Daten-Paket. TCP erfordert, dass jedes übertragene Daten-Paket quittiert wird.
TCP und UDP kommunizieren beide mit dem Konzept der Ports.Ein Port ist eine virtuelle Schnittstelle, welche auf einer Netzschnittstelle geöffnet werden kann. Viele Ports sind bei TCP/IP mit dem zuständigen Dienst assoziiert. Über einen Port kann man sozusagen bestimmen, welche Applikation die Daten erhalten sollen. Durch Ports besteht die Möglichkeit zu multiplexieren, also mehrere paralelle Verbindungen zu öffnen.

Die Portnummern zusammen mit der Quell- und Zieladresse spezifizieren einen Socket. Jede Maschine, welche über TCP/IP kommuniziert, wird ein Socket zu der empfangenden Maschine hin öffnen. Sind die Sockets verbunden, steht bei TCP ein verlässlicher Dienst zu Verfügung. Eine Applikation kann mehrere Sockets öffnen und über diese parallel kommunizieren.

Die Internet-Schicht bei TCP/IP ist fast identisch zu der Vermittlungsschicht vom OSI-Modell. Ein Unterschied ist, das bei IP nur verbindungslose Kanäle existieren. Die Vermittlungsschicht ist zuständig für den Weg, welchen die Pakete von einem Kommunikationspartner zum anderen nehmen. Dabei wird für jedes Daten-Paket unabhängig entschieden, welche Route dieses durch das Netz nehmen soll.
Ein weiterer Unterschied zu OSI ist, dass IP eine feste Länge für die Adresse (32 Bit) verlangt.

Die Vermittlungsschicht kümmert sich darum, die Daten, die sie von der Transportschicht erhalten hat, in Pakete mit bestimmten Längen zu unterteilen, welche den Beschränkungen der physikalischen Schicht Rechnung tragen (Fragmentierung).

Über die Sicherungsschicht und Bitübertragungsschicht wird bei TCP/IP nichts weiter erwähnt, da TCP/IP auf unterschiedlichen darunterliegenden Netzwerktypen aufgebaut ist. Es verlangt nur irgendein Protokoll, welches dem Rechner ermöglicht irgendwelche IP-Pakete zu verschicken. Da also die unteren Protokolle nicht näher spezifiziert sind, variieren diese von Rechner zu Rechner und Netzwerk zu Netzwerk.

Im Folgenden wird die zugrundeliegende Netz-Architektur zusammengefasst als Grafik dargestellt:

Table 3: TCP/IP-ISO

$\displaystyle \begin{tabular}{\vert c \vert c \vert c \vert}
\hline Schicht & I...
...Schicht \\
\cline{1-2} 1 & Bitübertragungsschicht & \\
\hline
\end{tabular}$


Genau wie im OSI-Modell werden die Daten im Stack nach unten weitergereicht, wenn Daten verschickt werden. Beim Empfang verläuft der Weg genau umgekehrt, von Netzzugangsschicht zu der Anwendungsschicht. Jede Schicht fügt ihre eigenen Kontrollinformationen hinzu. Diese Information nennt man Header (Kopf), da sie den eigentlichen Daten vorangestellt wird. Jede Schicht betrachtet die gesamte Information, die sie von der darüberliegenden Schicht empfängt, als zu übertragende Daten. Bei dem Empfangen von Paketen wird der umgekehrte Weg genommen. Jede Schicht trennt ihren Header von dem Datenpaket ab und reicht, falls keine Fehler aufgetaucht sind, den restlichen Datenteil eine Schicht höher.

Figure 5: IP Paketschachtelung
\begin{figure}\centerline{\epsfig{file=bilder/IP-Paketschachteln.eps, width=13cm }}\end{figure}


next up previous contents
Next: Sicherheit Up: Netz Architektur Previous: ISO/OSI:   Contents
willemATkoram.de