Das TCP/IP-Modell

Um das Kapitel abzuschließen betrachten wir jetzt noch das Modell für die Netzwerkarchitektur, mit der wir uns in diesem Text hauptsächlich beschäftigen werden - der von TCP/IP.

Historisches

TCP/IP ist die Netzwerkarchitektur,die dem weltweiten Internet zugrunde liegt. Das Internet entspringt dem ARPANET, ursprünglich ein Forschungsnetz, das vom amerikanischen Verteidigungsministerium gefördert wurde. Es verband zuerst nur ein paar hundert Universitäten und Regierungsbehörden über Mietleitungen. Später kamen Satelliten- und bodengestützte Funknetze hinzu, und es kam zu Problemen mit den damals verwendeten Protokollen, so das eine neue Netzwerkarchitektur gefunden werden musste.

Die neue Architektur sollte nicht nur verschiedenste Netze zusammenschließen können, sondern auch der Besorgnis des US-Militärs Rechnung tragen, das einige der wichtigsten Router durch den unglücklichen Einschlag der einen oder anderen Bombe ausfallen könnte. Verbindungen sollten bestehen bleiben, solange Quell- und Zielmaschine noch existieren, auch wenn dazwischen einige Router oder Leitungen verschwinden sollten. Des weiteren sollte die Architektur von der Übertragung von Dateien bis zur Sprachübertragung in Echtzeit als Träger für nahezu beliebige Anwendungen dienen können.

Die aus diesen Anforderungen entwickelte Architektur wurde nach ihren primären Protokollen TCP und IP benannt und ist ausreichend flexibel um diese Anforderungen zu erfüllen.

Sollte zum Beispiel heute eine Atombombe auf  Hamburg fallen, so wäre das zwar ziemlich ärgerlich für Hamburg und Umgebung,  die Funktionsfähigkeit des TCP/IP-basierten Internets in Deutschland wäre aber nur bezüglich Adressaten in Hamburg und Umgebung eingeschränkt.

Die Schichten von TCP/IP

Über die unterste Schicht (in unserem Diagramm mit »Netzwerk« bezeichnet) sagt die Spezifikation nichts aus, außer das sich ein Rechner mit einem bestimmten Protokoll an das Netz anschließen muss. Wie sie also IP-Pakete auf die Leitung bringen, ist ganz alleine ein Problem der Implementierung.

Darüber liegt die Internet-Schicht. Ihre Aufgabe ist es den angeschlossenen Geräten  das Einleiten von IP-Paketen und das Weiterleiten derselben an einen beliebiges ( und wahrscheinlich in einem völlig anderen Netz liegenden ) Gerät zu ermöglichen. Diese Pakete kommen eventuell weder vollständig, noch in der Reihenfolge in der sie abgesandt werden am Ziel an. Für eine vollständige und korrekte Datenübertragung zu sorgen ist Aufgabe der höheren Schichten.

Das wichtigste Protokoll dieser Schicht ist das Internetprotokoll (IP). Seine Hauptaufgaben sind:

  • Adressierung von Netzknoten

  • Routing

  • Zerlegung des Datenstroms in Pakete

Das IP enthält keine Funktionen für 

  • Flusskontrolle

  • Ende-zu-Ende-Sicherung von Nachrichten.

Ebenfalls auf dieser Schicht angesiedelt ist das Internet Control Message Protocol (ICMP) dessen Aufgabe es ist Fehler- und Diagnoseinformationen für das IP zu befördern.

Über der Internet-Schicht liegt die Transport-Schicht.  Sie soll, analog der Transportschicht im ISO-OSI-Modell verschiedenen Rechner im Netzwerk eine zuverlässige Kommunikation ermöglichen. Dafür sind zwei Protokolle definiert. Das TCP ist ein verbindungsorientiertes Protokoll mit folgenden Merkmalen:

  • voll duplexfähige bidirektionale Verbindungen

  • aus Benutzersicht Übertragung als Datenstrom, nicht blockweise

  • Sicherung der Datenübertragung durch Sequenznummern, Prüfsummen, Empfangsquittierung mit Zeitüberwachung

  • Sliding-Windows-Prinzip

  • Urgent-Data und Push-Funktionalität

  • Transportbenutzeradressierung durch Portnummern

  • Geregelter Verbindungsauf- und Abbau.

Das zweite Protokoll auf dieser Ebene ist das UDP.  Es handelt sich dabei um ein unzuverlässiges, verbindungsloses Protokoll, das vorwiegend für einmalige Anfragen, oder für Anwendungen im Client-Server-Betrieb für die Geschwindigkeit wichtiger ist, als Fehlerfreiheit, benutzt.

Ganz oben liegen schließlich die Anwendungsprotokolle, wie Telnet, FTP, SMTP, SNMP usw. Wir werden einige dieser Protokolle später noch behandeln.