TCP/IP
TCP/IP steht für Transmission Control Protocol/Internet Protocol und bezeichnet eine Suite von Kommunikationsprotokollen, die zur Verbindung von Netzwerkgeräten im Internet verwendet werden. TCP/IP wird auch als Kommunikationsprotokoll in einem privaten Computernetz (einem Intranet oder Extranet) verwendet.
Die gesamte Suite des Internet-Protokolls – eine Reihe von Regeln und Verfahren – wird allgemein als TCP/IP bezeichnet. TCP und IP sind die beiden Hauptprotokolle, obwohl auch andere Protokolle in der Suite enthalten sind. Die TCP/IP-Protokollsuite fungiert als Abstraktionsschicht zwischen Internet-Anwendungen und der Routing-/Switching-Struktur.
TCP/IP spezifiziert, wie Daten über das Internet ausgetauscht werden, indem es eine Ende-zu-Ende-Kommunikation bereitstellt. Sie legt fest, wie die Daten in Pakete aufgeteilt, adressiert, übertragen, weitergeleitet und am Zielort empfangen werden sollen. TCP/IP erfordert nur wenig zentrale Verwaltung und ist darauf ausgelegt, Netzwerke zuverlässig zu machen, mit der Fähigkeit, sich nach dem Ausfall eines beliebigen Geräts im Netzwerk automatisch zu erholen.
Das Internet-Protokoll Version 4 (IPv4) ist die heute im Internet hauptsächlich verwendete Version. Da jedoch nur eine begrenzte Anzahl von Adressen zur Verfügung steht, wurde 1998 von der Internet Engineering Task Force (IETF) ein neueres Protokoll mit der Bezeichnung IPv6 entwickelt. IPv6 erweitert den Pool der verfügbaren IPv4-Adressen beträchtlich und wird nach und nach eingeführt.
Wie unterscheiden sich TCP/IP und IP?
Die beiden Hauptprotokolle der IP-Suite erfüllen spezifische Funktionen und weisen zahlreiche Unterschiede auf. Zu den wichtigsten Unterschieden zwischen TCP und IP gehören die folgenden:
TCP
- Sorgt für eine zuverlässige und ordnungsgemäße Zustellung von Paketen über Netzwerke.
- Ist ein übergeordnetes, intelligentes Kommunikationsprotokoll, das zwar immer noch IP für den Transport von Datenpaketen verwendet, aber auch Computer, Anwendungen, Webseiten und Webserver miteinander verbindet.
- Versteht den gesamten Datenstrom, den diese Anlagen zum Betrieb benötigen, ganzheitlich und stellt sicher, dass die gesamte benötigte Datenmenge gleich beim ersten Mal gesendet wird.
- Legt fest, wie Anwendungen Kommunikationskanäle über ein Netzwerk erstellen können.
- Verwaltet, wie eine Nachricht in kleinere Pakete zerlegt wird, bevor sie über das Internet übertragen und an der Zieladresse in der richtigen Reihenfolge wieder zusammengesetzt wird.
- Arbeitet auf Schicht (Layer) 4, der Transportschicht, des OSI-Modells (Open Systems Interconnection).
- Ist ein verbindungsorientiertes Protokoll, das heißt es stellt eine Verbindung zwischen dem Sender und dem Empfänger her, bevor es die Daten übermittelt, um eine zuverlässige Zustellung zu gewährleisten.
- Bei seiner Arbeit kann TCP auch die Größe und die Flussrate (Flow Rate) der Daten kontrollieren. Es stellt sicher, dass die Netze frei von Überlastungen sind, die den Empfang von Daten blockieren könnten. Ein Beispiel ist eine Anwendung, die eine große Datenmenge über das Internet senden möchte. Würde die Anwendung nur IP verwenden, müssten die Daten in mehrere IP-Pakete aufgeteilt werden. Dies würde mehrere Anfragen zum Senden und Empfangen von Daten erfordern, da IP-Anfragen pro Paket gestellt werden.
- Mit TCP ist nur eine einzige Anfrage zum Senden eines gesamten Datenstroms erforderlich; den Rest erledigt TCP.
- Führt Prüfungen durch, um sicherzustellen, dass die Daten zugestellt werden. Es kann Probleme erkennen, die bei IP auftreten, und eine erneute Übertragung der verlorenen Datenpakete anfordern.
- Kann Pakete neu ordnen, damit sie in der richtigen Reihenfolge übertragen werden. Dadurch wird die Überlastung des Netzes minimiert, da Engpässe, die durch die nicht ordnungsgemäße Zustellung von Paketen verursacht werden, vermieden werden.
IP
- Ist ein Low-Level-Internetprotokoll, das die Datenkommunikation über das Internet ermöglicht.
- Liefert Datenpakete, die aus einem Header bestehen, der Routing-Informationen wie Quelle und Ziel der Daten und die Nutzdaten selbst enthält.
- Legt fest, wie jedes Paket zu adressieren und weiterzuleiten ist, um sicherzustellen, dass es das richtige Ziel erreicht. Jeder Gateway-Computer im Netz überprüft diese IP-Adresse, um festzustellen, wohin die Nachricht weitergeleitet werden soll.
- Ist durch die Datenmenge, die es senden kann, begrenzt. Die maximale Größe eines einzelnen IP-Datenpakets, das sowohl den Header als auch die Daten enthält, liegt zwischen 20 und 24 Byte. Das bedeutet, dass längere Datenstränge in mehrere Datenpakete aufgeteilt werden müssen, die unabhängig voneinander gesendet und dann in der richtigen Reihenfolge reorganisiert werden müssen.
- Stellt den Mechanismus für die Übermittlung von Daten von einem Netzknoten zu einem anderen bereit.
- Arbeitet auf der Schicht 3, der Netzzugangsschicht (Network Access Layer), des OSI-Modells.
- Ist ein verbindungsloses Protokoll, das heißt es garantiert weder die Zustellung noch bietet es eine Fehlerprüfung und -korrektur.
Andere Komponenten in einem TCP/IP-Netz
Zu den weiteren Komponenten eines TCP/IP-Netzes gehören Subnetzmasken, Network Address Translation (NAT) und verschiedene Protokolle.
Eine Subnetzmaske teilt einem Computer oder einem anderen Netzwerkgerät mit, welcher Teil der IP-Adresse für das Netzwerk und welcher Teil für die Hosts oder andere Computer im Netzwerk verwendet wird. Ein NAT ist die Virtualisierung von IP-Adressen. Es trägt dazu bei, die Sicherheit zu verbessern und die Anzahl der IP-Adressen zu verringern, die ein Unternehmen benötigt.
Zu den gängigen TCP/IP-Protokollen gehören die folgenden:
- Hypertext Transfer Protocol. HTTP regelt die Kommunikation zwischen einem Webserver und einem Webbrowser.
- HTTP Secure. HTTP Secure regelt die sichere Kommunikation zwischen einem Webserver und einem Webbrowser.
- File Transfer Protocol. FTP regelt die Übertragung von Dateien zwischen Computern.
- Domain Name System. DNS wandelt Domänennamen in IP-Adressen um.
- Simple Mail Transfer Protocol. SMTP wird für die E-Mail-Kommunikation verwendet und ist für die Übertragung von E-Mails zwischen Mailservern zuständig.
- User Datagram Protocols. UDP ist ein verbindungsloses Protokoll, das eine schnellere, aber weniger verlässliche Datenübertragung ermöglicht. Es wird häufig bei Echtzeitanwendungen wie Video-Streaming und Online-Spielen eingesetzt.
So funktioniert TCP/IP
TCP/IP verwendet das Client-Server-Kommunikationsmodell, bei dem einem Benutzer oder einer Maschine (einem Client) ein Dienst (wie das Senden einer Webseite) von einem anderen Computer (einem Server) im Netzwerk zur Verfügung gestellt wird.
Insgesamt wird die TCP/IP-Protokollfolge als zustandslos klassifiziert, was bedeutet, dass jede Client-Anforderung als neu betrachtet wird, da sie in keinem Zusammenhang mit früheren Anforderungen steht. Durch die Zustandslosigkeit werden Netzwerkpfade frei, so dass sie kontinuierlich genutzt werden können.
Die Transportschicht selbst ist jedoch zustandsbehaftet. Sie überträgt eine einzige Nachricht, und ihre Verbindung bleibt bestehen, bis alle Pakete einer Nachricht empfangen und am Zielort wieder zusammengesetzt worden sind.
Das TCP/IP-Modell unterscheidet sich geringfügig von dem danach entworfenen siebenschichtigen OSI-Netzwerkmodell (Open Systems Interconnection). Das OSI-Referenzmodell definiert, wie Anwendungen über ein Netzwerk kommunizieren können.
Warum ist TCP/IP wichtig?
TCP/IP ist das grundlegende Protokollpaket, das die Datenübertragung und die Kommunikation über das Internet und andere Netze ermöglicht. Es ist nicht proprietär und wird daher nicht von einem einzigen Unternehmen kontrolliert. Daher kann die IP-Suite leicht geändert werden. Sie ist mit allen Betriebssystemen (OS) kompatibel und kann daher mit jedem anderen System kommunizieren. Die IP-Suite ist auch mit allen Arten von Computerhardware und Netzwerken kompatibel.
TCP/IP ist hochgradig skalierbar und kann als Routing-fähiges Protokoll den effizientesten Weg durch das Netz bestimmen. In der derzeitigen Internetarchitektur ist es weit verbreitet.
Die vier Schichten des TCP/IP-Modells
Die TCP/IP-Funktionalität ist in vier Schichten unterteilt, von denen jede spezifische Protokolle enthält:
- Die Anwendungsschicht (Application Layer) bietet Anwendungen einen standardisierten Datenaustausch. Zu den Protokollen gehören HTTP, FTP, Post Office Protocol 3 (POP3), Simple Mail Transfer Protocol (SMTP) und Simple Network Management Protocol (SNMP). Auf der Anwendungsschicht sind die Nutzdaten die eigentlichen Anwendungsdaten.
- Die Transportschicht (Transport Layer) ist für die Aufrechterhaltung der End-to-End-Kommunikation über das Netzwerk verantwortlich. TCP wickelt die Kommunikation zwischen Hosts ab und bietet Flusskontrolle, Multiplexing und Zuverlässigkeit. Zu den Transportprotokollen gehören TCP und das User Datagram Protocol (UDP), das manchmal für spezielle Zwecke anstelle von TCP verwendet wird.
- Die Netzwerkschicht, auch als Internetschicht bezeichnet, befasst sich mit Paketen und verbindet unabhängige Netzwerke, um die Pakete über Netzwerkgrenzen hinweg zu transportieren. Die Protokolle der Netzwerkschicht sind das IP und das Internet Control Message Protocol (ICMP), das für die Fehlerberichterstattung verwendet wird.
- Die Networkverbindungsschicht (Network Link Layer), die auch als Bitübertragungsschicht, Netzwerkschnittstellenschicht oder Datenverbindungsschicht bezeichnet wird, besteht aus Protokollen, die nur auf einer Verbindung – der Netzwerkkomponente, die Knoten oder Hosts im Netzwerk miteinander verbindet – arbeiten. Zu den Protokollen in dieser untersten Schicht gehören Ethernet für lokale Netzwerke (LAN) und das Address Resolution Protocol (ARP). Es ist zudem die physische Schicht des TCP/IP-Modells.
Einsatzszenarien für TCP/IP
TCP/IP kann für die folgenden Aufgaben verwendet werden:
- Fernanmeldung und interaktive Dateiübertragung. TCP/IP ermöglicht die Fernanmeldung über das Netz und die interaktive Dateiübertragung, um E-Mails und Webseiten über das Netz zu übertragen.
- Fernzugriff auf ein Dateisystem. TCP/IP ermöglicht den Fernzugriff auf das Dateisystem eines Server-Hosts, so dass Benutzer von einem entfernten Standort aus auf die auf dem Server gespeicherten Dateien zugreifen und diese verwalten können.
- Repräsentiert den Informationsfluss. TCP/IP wird verwendet, um darzustellen, wie Informationen ihre Form ändern, während sie über ein Netzwerk von der konkreten physischen Schicht zur abstrakten Anwendungsschicht wandern. Es beschreibt die grundlegenden Protokolle oder Kommunikationsmethoden auf jeder Schicht, die die Informationen durchlaufen.
- Ende-zu-Ende-Datenübertragung. Sie beschreibt, wie eine End-to-End-Kommunikation erreicht werden sollte, indem die Daten in Pakete aufgeteilt, adressiert, übertragen, weitergeleitet und am Zielort empfangen werden.
- Cloud Computing. TCP/IP wird beim Cloud Computing verwendet, um die Kommunikation zwischen Cloud-basierten Diensten, Anwendungen und virtuellen Maschinen zu erleichtern. TCP/IP sorgt dafür, dass Cloud-Ressourcen und Clients zuverlässig und sicher über das Internet kommunizieren.
Vor- und Nachteile von TCP/IP
Zu den Vorteilen der Verwendung des TCP/IP-Modells gehören:
- Hilft bei der Herstellung einer Verbindung zwischen verschiedenen Computertypen.
- Arbeitet unabhängig vom Betriebssystem.
- Unterstützt viele Routing-Protokolle.
- Hat eine Client-Server-Architektur, die hoch skalierbar ist.
- Kann unabhängig betrieben werden.
- Unterstützt mehrere Routing-Protokolle.
- Ist leichtgewichtig und belastet ein Netzwerk oder einen Computer nicht unnötig.
Zu den Nachteilen von TCP/IP gehören:
- Kompliziert einzurichten und zu verwalten.
- Die Transportschicht garantiert nicht die Zustellung von Paketen.
- Es ist nicht einfach, die Protokolle in TCP/IP zu ersetzen.
- Es trennt die Konzepte von Diensten, Schnittstellen und Protokollen nicht klar voneinander, sodass es sich nicht gut zur Beschreibung neuer Technologien in neuen Netzwerken eignet.
- Ist besonders anfällig für einen SYN-Angriff (eine Art DoS-Angriff (Denial of Service), bei dem ein böswilliger Akteur das TCP/IP-Protokoll verwendet).
TCP/IP vs. OSI-Modell
TCP/IP und OSI sind die am weitesten verbreiteten Kommunikationsnetzwerkprotokolle. Der Hauptunterschied besteht darin, dass OSI ein konzeptionelles Modell ist, das praktisch nicht für die Kommunikation verwendet wird. Vielmehr definiert es, wie Anwendungen über ein Netzwerk kommunizieren können. TCP/IP hingegen wird häufig verwendet, um Verbindungen und Netzwerkinteraktionen herzustellen.
Die TCP/IP-Protokolle legen Standards fest, auf deren Grundlage das Internet geschaffen wurde, während das OSI-Modell Richtlinien dafür liefert, wie die Kommunikation zu erfolgen hat. Daher ist TCP/IP ein praxisnäheres Modell.
Das TCP/IP- und das OSI-Modell weisen Ähnlichkeiten und Unterschiede auf. Die größte Ähnlichkeit besteht in der Art und Weise, wie sie aufgebaut sind, da beide Schichten verwenden, obwohl TCP/IP nur aus vier Schichten besteht, während das OSI-Modell sieben Schichten besitzt.
Dies sind die sieben Schichten des OSI-Modells:
- Schicht 7, die Anwendungsschicht, ermöglicht es dem Benutzer (Software oder Mensch), mit der Anwendung oder dem Netzwerk zu interagieren, wenn der Benutzer Nachrichten lesen, Dateien übertragen oder an anderen netzwerkbezogenen Aktivitäten teilnehmen möchte.
- Schicht 6, die Darstellungsschicht oder Präsentationsschicht, übersetzt oder formatiert Daten für die Anwendungsschicht auf der Grundlage der Semantik oder Syntax, die die Anwendung akzeptiert.
- Schicht 5, die Sitzungsschicht, richtet Gespräche zwischen Anwendungen ein, koordiniert und beendet sie.
- Schicht 4, die Transportschicht, kümmert sich um die Übertragung von Daten über ein Netzwerk und bietet Mechanismen zur Fehlerprüfung und Datenflusskontrolle.
- Schicht 3, die Vermittlungsschicht oder Netzwerkschicht, bewegt Daten in und durch andere Netzwerke.
- Schicht 2, die Sicherungsschicht oder Datenverbindungsschicht, behandelt Probleme, die als Folge von Bitübertragungsfehlern auftreten.
- Schicht 1, die Bitübertragungsschicht oder physische Schicht, transportiert Daten über elektrische, mechanische oder prozedurale Schnittstellen.
Die oberste Schicht sowohl für das TCP/IP-Modell als auch für das OSI-Modell ist die Anwendungsschicht. Obwohl diese Schicht in jedem Modell die gleichen Aufgaben erfüllt, können diese Aufgaben je nach den jeweils empfangenen Daten variieren.
Die Funktionen, die in jedem Modell ausgeführt werden, sind auch deshalb ähnlich, weil beide eine Netzwerkschicht und einen Transport zum Betrieb verwenden. Die TCP/IP- und OSI-Modelle werden beide am häufigsten zur Übertragung von Datenpaketen verwendet. Obwohl sie dies auf unterschiedlichen Wegen und über unterschiedliche Pfade tun, erreichen sie dennoch ihre Ziele.
Zu den Ähnlichkeiten zwischen dem TCP/IP-Modell und dem OSI-Modell gehören:
- Sie sind beide logische Modelle.
- Sie definieren Netzwerkstandards.
- Sie unterteilen den Netzwerkkommunikationsprozess in Schichten.
- Sie bieten einen Rahmen für die Schaffung und Implementierung von Netzwerkstandards und -geräten.
- Sie ermöglichen es einem Hersteller, Geräte und Netzwerkkomponenten herzustellen, die mit den Geräten und Komponenten anderer Hersteller koexistieren und zusammenarbeiten können.
Die Unterschiede zwischen dem TCP/IP-Modell und dem OSI-Modell sind unter anderem:
- TCP/IP verwendet nur eine Schicht (Anwendung), um die Funktionalitäten der oberen Schichten zu definieren, während das OSI-Modell drei Schichten (Anwendung, Präsentation und Sitzung) nutzt.
- Das TCP/IP-Modell verwendet eine Schicht (Verbindung), um die Funktionalitäten der unteren Schichten zu definieren, während das OSI-Modell zwei Schichten (physische und Datenverbindung) enthält.
- Das TCP/IP-Modell verwendet die Internetschicht, um die Routing-Standards und -Protokolle zu definieren, während OSI die Netzwerkschicht nutzt.
- Die Größe des TCP/IP-Headers beträgt 20 Bytes, während der OSI-Header 5 Bytes umfasst.
- Das TCP/IP-Modell ist ein protokollorientierter Standard, während das OSI-Modell ein generisches Modell ist, das auf den Funktionalitäten der einzelnen Schichten basiert.
- TCP/IP folgt einem horizontalen Ansatz, während OSI einem vertikalen Ansatz folgt.
- In der TCP/IP-Suite wurden zuerst die Protokolle und dann das Modell entwickelt. Bei OSI entwarf man zuerst das Modell und dann die Protokolle in jeder Schicht.
- TCP/IP hilft bei der Herstellung einer Verbindung zwischen verschiedenen Arten von Computern, während das OSI-Modell zur Standardisierung von Routern, Switches, Mainboards und anderer Hardware beiträgt.
Die Geschichte von TCP/IP
Die Defense Advanced Research Projects Agency (DARPA), der Forschungszweig des US-Verteidigungsministeriums, schuf in den 1970er Jahren das TCP/IP-Modell zur Verwendung im ARPANET, einem Weitverkehrsnetz, das dem Internet vorausging. TCP/IP wurde ursprünglich für das Unix-Betriebssystem entwickelt und ist in alle nachfolgenden Betriebssysteme eingebaut worden. Das TCP/IP-Modell und die damit verbundenen Protokolle werden heute von der Internet Engineering Task Force (IEEE) gepflegt.