TCP/IP


Eine Kommunikation zwischen verschiedenen Netzen ist  mittels TCP/IP möglich. Unter TCP/IP versteht man ein gesamtes Paket verschiedenster Datenkommunikationsprotokolle, wobei der Name selbst für Transmission Control Protocol und Internet Protocol steht. Diese zwei Protokolle gehören dabei zu den wichtigsten. Damit das Paket der Protokolle dem Bedarf der Kommunikation im Internet gerecht wird, muß es verschiedene Mermale enthalten, die diesem Bedarf gerecht werden.

Merkmale:


Funktionsweise( 4- Schichten Modell):

Um die Terminolgie der Datenkommunikation verstehen zu können, ist es notwendig eine allgemeine als Referenz dienende Basis zu haben. Es gibt jedoch keine Übereinkunft darüber, wie man TCP/IP mit einem Schichtenmodell beschreibt. Eine geeignete Darstellung ergibt sich aus einem 4 Schichten bestehenden Modell. Dieses basiert auf einem Dreischichtenmodell (Anwendung, Host- zu Host und Netzzugang) des DDN-Protocol Handbook– Volume 1 des US- Verteidigungsministeriums sowie einer hinzugefügten, seperaten Internet- Schicht.  Dieses Modell bietet eine übersichtliche Darstellung der TCP/IP- Protokollhierarchie.

Protokollarchitektur der vier TCP/IP- Schichten

Die in obiger Abbildung dargestellten Schichten definieren keine Protokolle, sondern geben die jeweilige Funktion der Datenkommunikation wieder, welche durch eine Vielzahl von Protokollen realisiert werden kann. Jedes Protokoll kommuniziert mit seinem Peer. Ein Peer ist das Gegenstück des Protokolls, welches sich in der gleichen Anwendungsschicht auf einem entfernten System befindet. Die Kommunikation auf Peer- Ebene muß standardisiert sein. Beim Senden werden die Daten durch die Schichten nach unten gereicht. Dabei fügt jede Schicht eigene Kontrollinformationen hinzu, um die korrekte Auslieferung der Daten zu gewährleisten. Diese Kontrollinformationen werden Header genannt. Beim Empfang werden die Daten an die jeweils darüberliegende Schicht weitergereicht, bis sie zur Anwendungsschicht gelangen. Dabei entnimmt jede Schicht die für sie vorgesehenen Kontrollinformationen.

Anwendungsschicht:

Die oberste Ebene in der Protokollhierarchie ist die Anwendungsschicht. Diese Schicht umfaßt alle Prozesse, die durch die Auslieferung der Daten von Protokollen der Transportschicht benutzt werden. Einige Beispiele sind:
 


Transportschicht:

Die Protokolle der Host- zu- Host- Transportschicht- kurz Transportschicht– liefern Daten zwischen der Anwendungs- und Internetschicht aus. Die wohl wichtigsten Protokolle dieser Schicht sind das Transmission Control Protocol ( TCP ) und das User Datagram Protocol ( UDP ). Das UDP stellt einen verbindungsfreien, unzuverlässigen Dienst zur Auslieferung von Datagrammen bereit. Unzuverlässig heißt, daß keine Prüfung des richtigen Empfangs der Daten vorgenommen wird. Auf das TCP wird noch im weiteren Verlauf eingegangen.

Internetschicht:

Die Internetschicht überträgt die Daten zwischen der Netzzugangs- und Transportschicht. Das wichtigste Protokoll dieser Schicht ist das Internet Protokoll ( IP ). Alle Protokolle der anderen Schichten benutzen IP zur Auslieferung von Daten. IP ist ein unzuverlässiges, verbindungsfreies Protokoll. Es ist für die Definiton des Internet- Adressierungsschemas, das Routing von Daten zu entfernten Rechnern und für die Definition der Übertragungseinheit im Internet verantwortlich. Die von IP nicht ausgeübten Funktionen wie z.B. Fehlererkennung können durch Protokolle anderer Schichten ausgeübt werden.

Netzzugangsschicht:

Die unterste Schicht in der TCP/IP– Protokollhierarchie ist die Netzzugangsschicht. Die darin enthaltenen Protokolle ermöglichen die Auslieferung von Daten in einem direkt angeschlossenen Netzwerk. Dabei müssen den Protokollen Details über die zugrundeliegende Netzwerkstruktur vorliegen. In Betriebssystemen wie Linux oder Windows werden die Protokolle dieser Schicht häufig als Kombination aus Gerätetreibern und den dazugehörigen Anwendungsprogammen implementiert. Ein Beispiel für ein derartiges Protokoll ist das Adress Resolution Protocol ( ARP ), welches IP-Adressen in Ethernet-Adressen abbildet.

TCP (Transmission Control Protocol):

Um einen zuverlässigen Datentransport zu gewährleisten, wird das in der Transportschicht vorhandene Transmission Control Protocol verwendet. TCP baut dabei eine Rechner- zu Rechner- Verbindung auf und sendet Daten solange erneut, bis es vom anderen Rechner eine positive Bestätigung über den Erhalt der Daten empfängt. Diese zwischen TCP- Modulen ausgetauschten Dateneinheiten werden als Segment bezeichnet. Der Verbindungsaufbau wird als Handshake bezeichnet und vollzieht sich in 3 Schritten.

Abbildung : TCP- Handshake

Wie in obiger Abbildung  zu sehen ist, schickt Host 1 ein Segment zu Host 2. Dabei wird angegeben, daß Host 1 eine Verbindung aufbauen will und welche Sequenznummer (SYN) als Startnummer seiner Segmente verwendet wird. Host 2 sendet daraufhin ein Acknowledge, um den Empfang des Segmentes von Host 1 zu bestätigen. Zugleich wird Host 1 die Sequenznummer gesendet, mit der Host 2 beginnt. Host 1 sendet darauf ein Segment, in dem der Empfang des Segmentes von Host 2 bestätigt wird und beginnt dann mit dem Senden der eigentlichen Daten.
 

Die IP- Adresse:

Das Internet- Protokoll überträgt Daten in Form von Datagrammen zwischen einzelnen Hosts. Dabei wird eine Zieladresse in der Kontrollinformation des Datagramms angegeben, die genug Informationen enthält, um ein Netzwerk und einen darin enthaltenen Host eindeutig zu bestimmen. Diese Zieladresse ist eine Standard 32- Bit- IP- Adresse. IP- Adressen werden üblicherweise in Form von 4 Dezimalstellen geschrieben, die durch einen Punkt voneinander getrennt sind. Jede dieser 4 Zahlen liegt zwischen 0 und 255. Dieses entspricht dem durch ein einzelnes Byte darstellbaren Wertebereich.

Socket( IP- Adresse und Portnummer):

Nachdem die Daten den Weg über das Netzwerk zum Zielhost gefunden haben, müssen sie dem richtigen Anwendungsprozeß zugeführt werden. TCP identifiziert den richtigen Anwendungsprozeß über eine Portnummer, die als 16- Bit Wert angegeben wird. Portnummern bis 256 werden für bekannte Dienste wie FTP oder telnet verwendet. Die Nummern von 256 bis 1024 werden für UNIX- spezifische Dienste benutzt. Die Kombination von IP- Adresse und Portnummer wird als Socket bezeichnet. Sowohl Sender- als auch Empfänger- Socket bilden die Endpunkte einer Verbindung, welche über ein verbindungsorientiertes Protokoll wie TCP kommunizieren.