Die Internet-Protokolle und das ISO/OSI-Modell – Teil 3

Bildlink-PfeilSie sind hier:      Startseite > Die Internet-Protokolle und das ISO/OSI-Modell – Teil 2 > Die Internet-Protokolle und das ISO/OSI-Modell – Teil 3

analogie

Der Vergleich des Unbekannten, mit etwas Bekanntem, trägt sehr zum besseren Verständnis (der ohnehin komplexen Inhalte) bei.

Deshalb wird nachfolgend das Zusammenwirken der einzelnen Schichten im Vergleich zur bereits bekannten Briefpost aufgezeigt, da sich viele Mechanismen dort mit dem Transport elektronischer Nachrichten über Computernetze ähneln. Der Brief entspricht dabei der elektronischen Nachricht.

Nachfolgend finden Sie dazu als praktisches Beispiel eine Textnachricht, die per Chat-Client von einem Rechner zu einem anderen, räumlich weit entfernten Rechner versendet wird und dabei die einzelnen Netzwerkschichten beim Sender von oben nach unten und beim Empfänger von unten nach oben durchläuft. 

Beginnen Sie dabei links oben (1) beim Absender, wandern Sie dann Schicht für Schicht nach unten, dann nach rechts zur Netzwerkschicht des Empfänger-Rechners (5) bis hoch zur Anwenderschicht (8). Die Anwenderdaten entsprechen im Beispiel der eigentlichen Textnachricht.

 

Absender, der den Brief versendet

Rechner, mit dem die 
elektronische Nachricht, hier im Beispiel eine Textnachricht per Chat, versendet wird

 

Adressat, der den Brief empfängt

Rechner, mit dem die 
elektronische Nachricht, hier im Beispiel eine Textnachricht per Chat, empfangen wird

Schnittstelle vom Anwender zum jeweiligen Anwendungsprogramm, in diesem Beispiel der Chat-Client (z. B. mIRC), mit dem die Textnachricht geschrieben und versendet wird

Schnittstelle zwischen dem Anwender und dem jeweiligen Anwendungsprogramm, in diesem Beispiel der Chat-Client, mit dem die Textnachricht empfangen und gelesen wird

Seitenanfang

1

 

Anwendungsschicht

Wer einen Brief schreibt und verschicken möchte, dem ist es egal, auf welchen Wegen dieser den Adressaten erreicht, denn die Adresse des Empfängers bestimmt in der Regel den Zielort.  

Nachdem die Nachricht in den Chat-Client eingegeben und mit dem entsprechenden Befehl abgesendet wurde, wird diese nach den im Internet Relay Chat Protokoll (IRCP) vereinbarten Kontrollinformationen (Application Header), wie beispielsweise dem Datenformat und der Kennung des betreffenden Anwendungsprogramms (Chat-Client) zur weiteren Übertragung an die Transportschicht weitergereicht. Auf welchen Wegen die Nachricht den Adressaten erreicht, ist dem Absender und übrigens auch dem Rechner ebenfalls egal.

8

 

Anwendungsschicht

Der Empfänger liest den Brief und antwortet eventuell darauf.

Der Empfänger liest die Textnachricht, die in seinem Chat-Client angezeigt wird und antwortet eventuell darauf. 

Falls er antwortet, wird die gesendete Nachricht Schicht für Schicht auf seinem Rechner nach unten weitergereicht, über das jeweilige Übertragungsmedium, hier das Telefonnetz transportiert und beim Rechner des Empfängers wieder von der Netzwerkschicht bis hoch zur Anwendungsschicht an das entsprechende Anwendungsprogramm, in diesem Fall den Chat-Client, weitergeleitet.

Softwareschnittstelle zur Übergabe der Textnachricht von der Anwendungsschicht zur Transportschicht

Seitenanfang

Softwareschnittstelle zur Übergabe der Textnachricht von der Transportschicht zur Anwendungsschicht

Seitenanfang

2

Transportschicht

Um den Empfänger des Briefes zu erreichen, erfolgt die Übergabe an den Postboten oder der Einwurf in den Briefkasten. 

Das für die Transportschicht zuständige Transmission Control Protokoll (TCP) überwacht den sicheren Transport der Nachricht vom Absender zum Empfänger. 

Dazu teilt TCP die Textnachricht zunächst in einzelne Datenpakete (maximal 64 000 Byte groß) auf, denn kleinere Datenpakete sorgen für eine gleichmäßigere Netzbelastung. 


Jedes dieser Einzelpakete (TCP-Segmente) wird mit einer Sequenznummer versehen, damit beim Empfänger die Einzelpakete wieder in der richtigen Reihenfolge zum gesamten Datenblock (Textnachricht) zusammengesetzt werden können. 

Dann stellt TCP die Verbindung zwischen Sender und Empfänger her und stellt während der Datenübertragung sicher, daß alle Datenpakete fehlerfrei beim Empfänger ankommen. Dazu erkennt TCP Übertragungsfehler automatisch und korrigiert sie, beispielsweise indem ein verlorengegangenes Datenpaket vom Empfänger noch einmal vom Sender angefordert wird. 

Die Kommunikation zwischen Sender und Empfänger geschieht bidirektional, das heißt, beide können gleichzeitig Daten senden und empfangen. Vor der eigentlichen Datenübertragung und nach ihrem Ende findet ein Handshake zwischen dem Sender und dem Empfänger statt. Beim Öffnen einer TCP-Verbindung tauschen beide Kontrollinformationen aus, die sicherstellen, daß der jeweils andere existiert und Daten annehmen kann. Am Ende teilt der Empfänger dem Sender mit, wie viele und welche Datenpakete er schon erhalten hat und für wie viele weitere momentan die Ressourcen (Speicherplatz = Buffer) reichen. Falls momentan kein Buffer vorhanden ist, unterbricht der Sender das Senden, bis er wieder eine positive Meldung bekommt.
Die Übertragung der Daten wird solange wiederholt, bis vom Empfänger der korrekte Erhalt aller fehlerfreien Daten quittiert wird. Ist das der Fall, bricht TCP die Verbindung ab.

Hauptaufgaben von TCP:

aufteilen der zu übertragenden Daten in handliche Datenpakete
– auf- und abbauen der Verbindung
– sicherstellen, daß der Empfänger alle Datenpakete fehlerfrei erhält
Verlorene oder verfälschte Datagramme werden von TCP automatisch neu übertragen.
– übermitttelt die Daten von der Anwendungsschicht zur Internetschicht und umgekehrt


TCP kann entsprechend gekennzeichnete Datagramme bevorzugt behandeln. Das bedeutet das diese als „out of band“ gekennzeichneten Datagramme andere vor ihnen abgesendete Datagramme auf dem Weg zum Zielrechner überholen können und so der betreffenden Anwendung schneller zur Verfügung stehen.

7

Transportschicht

Der Postbote bringt den Brief zum Adressaten. 

Falls auf dem Quellrechner die Textnachricht aufgrund ihrer Größe in einzelne Datenpakete (TCP-Segmente) zerteilt wurde, so müssen diese nun über das Transmission Control Protokoll (TCP) wieder entsprechend ihrer Sequenznummer zur ursprünglichen Textnachricht zusammengesetzt werden. Dazu müssen allerdings die TCP-Segmente fehlerfrei beim Empfänger-Rechner eingetroffen sein. Die komplett zusammengesetzte Textnachricht wird dann zur Anwendungsschicht weitergereicht.

Kann die Textnachricht nicht vollständig zusammengesetzt werden, weil ein oder mehrere TCP-Segmente fehlen, beispielsweise weil diese unterwegs verloren gegangen sind, so wird das fehlende TCP-Segment noch einmal vom Quellrechner (Sender) angefordert. Die Übertragung der fehlenden Daten wird solange wiederholt, bis diese vollständig und fehlerfrei angekommen sind. Ist das der Fall, bekommt der Sender eine Quittierung und die Verbindung wird abgebaut.

Softwareschnittstelle zur Übergabe der Textnachricht von der Transportschicht zur Internetschicht

Seitenanfang

Softwareschnittstelle zur Übergabe der Textnachricht von der Internetschicht zur Transportschicht

Seitenanfang

3

Internetschicht 

Das Postamt sammelt die Briefe von den Postboten und aus den Briefkästen ein, sortiert sie nach ihren Zielen und übergibt sie einem geeigneten Verkehrsmittel wie der Bahn. 

Da die Empfänger weltweit verteilt sein können, werden die Briefe nicht nach den Empfängeradressen sortiert, sondern nach dem Länderkürzel für Auslandspost und innerhalb von Deutschland nach dem Postleitzahlen-Bereich. So werden beispielsweise Briefe, die in den Postleitzahlen-Bereich 8xxxx versendet wurden, zuerst nach München geschickt und von dort aus weiterverteilt.

Ein ähnliches System wie für das eingangs beschriebene Sortieren von Briefen, die über den Postweg verschickt werden, wird auch für elektronische Nachrichten, die über Computer-Netzwerke (Internet) versendet werden, angewendet.

Das für die Internetschicht zuständige Internet Protokoll (IP) verteilt die einzelnen Datenpakete im Netzwerk und sorgt dafür, daß diese auf dem bestmöglichsten Weg dem betreffenden Empfänger zugestellt werden und zwar unabhängig davon, ob sich dieser im gleichen Netz (LAN) befindet oder andere Netze dazwischen liegen (Internet). Dazu müssen die Pakete oder genauer TCP-Segmente adressiert werden. Jedes TCP-Segment erhält dazu im Header die IP-Adresse des Empfängers (wohin soll das TCP-Segment gesendet werden) und des sendenden Rechners (woher kommt das TCP-Segment).

Die IP-Adresse entspricht dabei im Prinzip der Postleitzahl. Jedem Netzwerk oder Einzelplatzrechner mit einer Verbindung zum Internet wird dabei eine weltweit gültige und einmalige IP-Adresse zugeordnet. Diese besteht wie bereits im Abschnitt „Die Internetadresse (URL) und das Domain-Name-System“ beschrieben wurde, aus zwei Hauptteilen: einer Netzadresse und einer Adresse des Rechners innerhalb dieses Netzes, außerdem enthält die IP-Adresse codierte Angaben über die Klasse, der das Netzwerk zugeordnet ist.

Eine weitere wichtige Aufgabe von IP ist die Fragmentierung der Daten. Die von TCP bereits in einzelne TCP-Segmente (maximal 64 000 Byte groß) zerlegte Textnachricht muß gegebenenfalls während des Transport in noch kleinere Datenpakete aufgeteilt (fragmentiert) werden. Das kommt daher, daß IP die technische Möglichkeit schaffen muß, die Datenpakete (IP-Datagramme) über jede Art von Netzwerk verschicken zu können, deren zulässige maximale Paketgröße (Maximum Transfer Unit – MTU) sich aber in der Praxis teilweise stark unterscheiden.

So können beispielsweise über ein X.25-Netz nur Datenpakete versendet werden, die nicht größer als 128 Byte sind, die Größe der Ethernet-Pakete innerhalb eines lokalen Netzwerks ist auf maximal 1500 Byte begrenzt. Ist also die MTU eines Übertragungsmediums kleiner als die Größe eines versendeten Pakets, so muß dieses von IP in entsprechend kleinere Teilpakete (Fragmente) aufgeteilt werden. Da die in Fragmente zerteilten IP-Datagramme beim Empfänger wieder richtig zum ursprünglichen Datagramm zusammengesetzt werden müssen, bekommen diese eine Identifikationsnummer, die für alle Fragmente eines IP-Datagramms gleich sind. Außerdem wird mit dem Fragment-Offset (Fragmentabstand) die Information an das IP-Datagramm geheftet, die angibt, an welcher Stelle im Verhältnis zum Beginn des gesamten Datagramms ein Fragment gehört. Über das Identifikationsfeld im Header können also alle Fragmente eines IP-Datagramms wiedererkannt und über den Fragment Offset die Position eines Fragments innerhalb des ursprünglichen IP-Datagramms ermittelt werden.

Unterstützt wird das Internet Protokoll vom Internet Control Message Protocol (ICMP), das die Aufgabe hat, Fehler- und Diagnoseinformationen für IP zu transportieren. Das fertige IP-Datagramm wird nun an die Netzwerkschicht weitergereicht.

Grundsätzlich basiert also jede Datenübertragung via Internet auf den Protokollen TCP und IP. Dabei ist TCP dafür verantwortlich, das alle Datenpakete fehlerfrei beim Empfänger ankommen und IP sorgt dafür, daß die Daten unabhängig vom Übertragungsweg möglichst schnell beim richtigen Zielrechner eintreffen. 

Hauptaufgaben von IP sind:

Adressierung der TCP-Segmente (Angabe von Ziel- und Quelladresse)
– Fragmentierung von TCP-Segmenten und Zusammensetzung von IP- Datagrammen
– Routing von IP-Datengrammen durch das Netz
– Übermittlung der IP-Datagramme von der Transportschicht zur Netzwerkschicht und umgekehrt

Unterstützt wird IP dabei von ICMP, dabei verwendet IP „ICMP“ zum Versenden von Fehler- und Diagnosemeldungen, während ICMP zur Übertragung seiner Nachrichten IP benutzt. 

6

Internetschicht

Am Zielort angelangt, holt das für den jeweiligen Postleitzahlenbereich zuständige Postamt alle Sendungen von dem jeweiligen Transportmittel ab, und ein Mitarbeiter sortiert sie dem Zusteller in das Fach. 

Falls bei der Übertragung Datagramme in weitere Pakete (Fragmente) zerteilt wurden, so müssen diese nun wieder korrekt zum ursprünglichen Datagramm zusammengesetzt werden. Dazu müssen allerdings die Fragmente fehlerfrei beim Empfänger-Rechner eingetroffen sein. Die komplett zusammengesetzten IP-Datagramme werden dann zur Transportschicht weitergereicht.

Kann das IP-Datagramm nicht vollständig zusammengesetzt werden, weil ein oder mehrere Fragmente fehlen, beispielsweise weil deren Lebenszeit zu Ende war, so wird das gesamte IP-Datagramm (nicht das oder die fehlenden Fragmente) noch einmal vom Quellrechner (Sender) angefordert.

Softwareschnittstelle zur Übergabe der Textnachricht von der Internetschicht zur Netzwerkschicht

Seitenanfang

Softwareschnittstelle zur Übergabe der Textnachricht von der Anwendungsschicht zur Transportschicht

Seitenanfang

4

Netzwerkschicht

Die Bahn transportiert das Schreiben mit vielen anderen Sendungen an seinen Bestimmungsort. Natürlich darf der Brief mehrfach das Verkehrsmittel wechseln, von der Bahn auf das Flugzeug, vom Flugzeug auf den LKW. 

Der weitere Weg der Datenpakete oder genauer IP-Datagramme hängt nun davon ab, ob der sendende Computer ein Einzelplatzrechner oder Teil eines lokalen Netzwerks ist. Im zweiten Fall muß das IP-Datagramm erst durch das lokale Netzwerk bis zum Internetzugangsrechner bzw. -router reisen, um den Weg zum Zielrechner fortzusetzen. 

Bei vielen LAN’s wird dabei die Ethernet-Technologie eingesetzt. Prinzipiell sind dazu in jedem Rechner des Netzwerks die Ethernet-Netzwerkkarten eingebaut und die zugehörigen Netzwerkkarten-Treiber installiert. Zusätzlich müssen auf den betreffenden Rechnern die betriebssystem- und protokollspezifischen Netzwerktreiber installiert sein, die bei den gängigen Betriebssystemen wie Windows oder Linux bereits enthalten sind. 

Die Netzwerkkarten und damit auch die betreffenden Rechner werden dann in der Regel mit entsprechenden Kupferkabeln elektrisch leitend miteinander verbunden. Wie die Datenpakete innerhalb des LAN’s zu transportieren sind, ist dabei im Ethernet-Protokoll festgelegt, das übrigens einen weiteren Header zu den Anwendungsdaten hinzufügt.


Abb.  Hinzufügen von Kontrollinformationen beim Senden der Daten innerhalb eines Ethernet-Netzwerks


Aber auch das Übertragungsmedium (Telefonnetz, Kabelnetz,…) über das die IP-Datagramme von der Netzwerkschicht des Quellrechners (Sender) zur Netzwerkschicht des Zielrechners (Empfänger) transportiert werden, kann unterschiedlich sein.

In diesem Beispiel soll der Internetzugang durch die Einwahl über einen Provider in das Telefonnetz per ISDN (ISDN-Karte) realisiert werden. Die gleiche Technologie soll auch beim Empfänger-Rechner eingesetzt werden. Das bedeutet die IP-Datagramme setzen ihren weiteren Weg also über das Telefonnetz fort und gelangen auch über dieses Netz zum Zielrechner. 

Dafür, das die IP-Datagramme korrekt zwischen der ISDN-Karte und dem Einwahlrechner des Providers übertragen werden, sorgt in der Regel das Point to Point Protocol (PPP).Dieses Protokoll wird übrigens auch häufig für Computer die Teil eines lokalen Netzwerks sind und über das Telefonnetz an das Internet angebunden werden sollen, verwendet. Dabei können die LAN’s mit den unterschiedlichsten Netzwerkprotokollen (Ethernet, Token Ring,…) betrieben werden.

5

Netzwerkschicht

Ist ein IP-Datagramm beim Zielrechner angekommen, wird es von der Netzwerkschicht an die Internetschicht weitergereicht.

 

          

Grundsätzlich basiert also jede Datenübertragung via Internet auf den Protokollen TCP und IP. Dabei ist TCP dafür verantwortlich, das alle Datenpakete fehlerfrei beim Empfänger ankommen und IP sorgt dafür, daß die Daten unabhängig vom Übertragungsweg möglichst schnell beim richtigen Zielrechner eintreffen. Unterstützt wird IP dabei von ICMP, das die Aufgabe übernimmt, die Fehler- und Diagnoseinformationen, die während der Datenübertragung erzeugt werden, für IP zu transportieren. 

Der erste Rechner, den alle IP-Datagramme dabei passieren, ist also auf jeden Fall der nächstgelegene Einwahlrechner des jeweiligen Providers, über den sich der Sender der Textnachricht (der Chatter) in das Internet eingewählt hat. Danach nehmen die Datenpakete den Weg durch die einzelnen Teilnetze (aus denen sich das Internet zusammensetzt) der ihnen von den jeweiligen Internet-Routern, die diese untereinander verbinden, vorgegeben wird. Das bedeutet, daß ab dem Provider die IP-Datagramme zwar alle den gleichen Zielrechner ansteuern, diesen aber nicht auf gleichen Wegen erreichen müssen. 

Die Router verfolgen dabei das primäre Ziel, ein IP-Datagramm möglichst schnell zum Zielrechner zu lotsen und gleichzeitig das Netz möglichst gleichmäßig auszulasten. Ein Router speichert dabei in einer internen Tabelle ein Verzeichnis, das grobe Informationen über den geographischen Standort des Zielrechners enthält. Trifft nun ein IP-Datagramm beim Router ein, prüft dieser anhand seiner Tabelle, an welches Teilnetz (Subnetz) diese Nachricht weitergereicht werden muß, um den Empfänger schnellstmöglich zu erreichen. Weil der Router stets an mehreren Teilnetzen (Subnetzen) angeschlossen ist, kann er mehrere Wege auswählen. Beispielsweise könnte er durch die Messung des Datendurchsatzes eines Teilnetzes ermitteln, ob die Daten dort zügig übertragen werden können oder ob dieses Teilnetz wegen eines Staus auf dem dortigen Datenhighway besser gemieden werden sollte. Das Ergebnis solcher Messungen kann auch der Grund dafür sein, daß IP-Datagramme, die beispielsweise in Regensburg losgeschickt wurden und an einen Rechner in Berlin adressiert sind, einen Umweg über Moskau nehmen und trotzdem schneller beim Zielrechner sind, als wenn sie durch die verstopften Datenhighways innerhalb von Deutschland geleitet würden.

Alle Internet-Router stehen untereinander mit einem speziellen Protokoll in Verbindung, dem Routing Information Protocol (kurz RIP). Wird im Internet ein neuer Router in Betrieb genommen, kann sich dieser selbständig bei den bereits betriebenen Routern anmelden und damit zu einer verbesserten Übertragungseffizienz des Internets beitragen. Dadurch, daß die Router miteinander kommunizieren und den aktuellen Datendurchsatz der Subnetze, die sie miteinander verbinden, anderen Routern mitteilen können, sind diese in der Lage, die IP-Datagramme an den normalerweise günstigsten, aber möglicherweise momentan verstopften Teilnetzen vorbeizulotsen und so für eine gleichmäßige Nutzung des Datennetzes zu sorgen. 

Ein Problem, das hierbei immer wieder auftaucht, ist folgendes: Ein Router 1 stellt fest, daß die von ihm verbundenen Teilnetze überlastet sind und übergibt deshalb ein IP-Datagramm, das durch eines dieser Subnetze transportiert werden sollte, an einen anderen günstig erscheinenden Router 2, der das Datenpaket allerdings ebenfalls wegen überlasteter Netze ablehnt und wieder an den Router 1 zurückgibt. Beide Router spielen gewissermaßen „Ping-Pong“ mit dem IP-Paket. Damit sich dieses Spiel in zeitlichen Grenzen hält, gibt es beispielsweise die Möglichkeit, das fehlgeleitete IP-Datagramm nach einer bestimmten Zeit zu löschen. Dazu wird dem IP-Datagramm eine bestimmte Lebenszeit (Time To Live oder kurz TTL) vorgegeben, die genau dann vorbei ist, wenn das Datenpaket mehr als 255 Sekunden unterwegs ist. Die Zeit wird beim Absenden des IP-Datagramms auf maximal diese Zeit gesetzt und von den Routern, an denen das Paket vorbeikommt, entsprechend der dortigen Verweildauer heruntergezählt. Hat die Lebenszeit den Wert 0 erreicht, wird das IP-Datagramm gelöscht und beim Absender gegebenenfalls eine Kopie angefordert. 

 

 

 

 

 

Bildlink-Pfeil     Sie sind hier:  Startseite > Die Internet-Protokolle und das ISO/OSI-Modell – Teil 2 > Die Internet-Protokolle und das ISO/OSI-Modell – Teil 3