TCP/IP
TCP/IP (Transmission Control Protocol/Internet Protocol) ist die grundlegende Protokollfamilie, auf der das gesamte Internet basiert. Diese Protokollsuite definiert, wie Daten in Netzwerken adressiert, uebertragen, geroutet und empfangen werden.
Der Name TCP/IP setzt sich aus den zwei wichtigsten Protokollen der Suite zusammen: Das Transmission Control Protocol (TCP) auf der Transportschicht sorgt fuer zuverlaessige Datenuebertragung, waehrend das Internet Protocol (IP) auf der Vermittlungsschicht fuer die Adressierung und das Routing von Datenpaketen verantwortlich ist.
Geschichte und Entwicklung
Die Entwicklung von TCP/IP begann in den fruehen 1970er Jahren als Forschungsprojekt der DARPA (Defense Advanced Research Projects Agency). Die beiden Wissenschaftler Vint Cerf und Bob Kahn gelten als die Vaeter des Internets und entwickelten im Sommer 1973 die grundlegenden Konzepte.
Wichtige Meilensteine
Das urspruengliche Design wurde stark vom franzoesischen CYCLADES-Netzwerk beeinflusst, das von Louis Pouzin entworfen wurde. Die zentrale Innovation bestand darin, die Verantwortung fuer Zuverlaessigkeit von der Netzwerkinfrastruktur auf die Endgeraete zu verlagern.
- 1974: Erste Spezifikation des Transmission Control Program durch Cerf, Dalal und Sunshine
- 1978: Aufspaltung in TCP und IP als separate Protokolle (Version 4)
- 1983: ARPANET stellt von NCP auf TCP/IP um - das moderne Internet entsteht
- 1982: US-Verteidigungsministerium erklaert TCP/IP zum Standard fuer militaerische Netzwerke
- 1989: Tim Berners-Lee entwickelt das World Wide Web auf Basis von TCP/IP
Ein entscheidender Durchbruch kam 1978, als Jon Postel erkannte, dass das monolithische Design des urspruenglichen Transmission Control Programs gegen das Prinzip der Schichtenarchitektur verstiess. Er trennte das Protokoll in zwei Teile: IP als verbindungslose Schicht und TCP als zuverlaessigen, verbindungsorientierten Dienst.
Das TCP/IP-Schichtenmodell
Das TCP/IP-Modell ist ein pragmatisches Vier-Schichten-Modell, das die Netzwerkkommunikation strukturiert. Im Gegensatz zum theoretischen OSI-Modell mit sieben Schichten konzentriert sich TCP/IP auf die praktische Implementierung.
Die vier Schichten im Detail
Jede Schicht hat spezifische Aufgaben und kommuniziert nur mit den benachbarten Schichten. Daten werden beim Senden von oben nach unten durch die Schichten gereicht (Kapselung) und beim Empfangen in umgekehrter Reihenfolge verarbeitet (Entkapselung).
| Schicht | Name | Aufgabe | Wichtige Protokolle |
|---|---|---|---|
| 4 | Anwendungsschicht | Bereitstellung von Netzwerkdiensten fuer Anwendungen | HTTP, HTTPS, FTP, SMTP, DNS, SSH |
| 3 | Transportschicht | Zuverlaessige Ende-zu-Ende-Kommunikation | TCP, UDP |
| 2 | Internetschicht | Adressierung und Routing von Paketen | IP (IPv4, IPv6), ICMP, ARP |
| 1 | Netzzugangsschicht | Physische Uebertragung im lokalen Netzwerk | Ethernet, WLAN (802.11), PPP |
Die Netzzugangsschicht entspricht den Schichten 1 und 2 des OSI-Modells und kuemmert sich um die physische Datenuebertragung. Die Internetschicht (Schicht 3 im OSI-Modell) ermoeglicht die Kommunikation ueber Netzwerkgrenzen hinweg. Die Transportschicht stellt sicher, dass Daten zuverlaessig oder schnell (je nach Protokoll) uebertragen werden. Die Anwendungsschicht fasst die obersten drei OSI-Schichten zusammen.
Das Internet Protocol (IP)
Das Internet Protocol ist das zentrale Protokoll der Internetschicht. Es ist fuer die Adressierung von Geraeten im Netzwerk und das Routing von Datenpaketen zwischen verschiedenen Netzwerken verantwortlich. IP ist ein verbindungsloses Protokoll - es garantiert weder die Zustellung noch die Reihenfolge der Pakete.
IPv4 und IPv6
Aktuell sind zwei Versionen des Internet Protocols im Einsatz: IPv4 und IPv6. IPv4 verwendet 32-Bit-Adressen und ermoeglicht etwa 4,3 Milliarden eindeutige Adressen. Da diese nicht mehr ausreichen, wurde IPv6 mit 128-Bit-Adressen entwickelt.
IPv4-Adresse: 192.168.1.1 (32 Bit, dezimal mit Punkten)
IPv6-Adresse: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 (128 Bit, hexadezimal mit Doppelpunkten)
IP-Paketaufbau
Ein IP-Paket besteht aus einem Header und den Nutzdaten (Payload). Der Header enthaelt wichtige Informationen fuer die Zustellung:
- Quell-IP-Adresse: Absender des Pakets
- Ziel-IP-Adresse: Empfaenger des Pakets
- TTL (Time to Live): Maximale Anzahl von Routing-Hops
- Protokollfeld: Identifiziert das Protokoll der naechsten Schicht (z.B. TCP oder UDP)
- Pruefsumme: Zur Fehlererkennung im Header
Das Transmission Control Protocol (TCP)
TCP ist ein verbindungsorientiertes Protokoll auf der Transportschicht. Es garantiert die zuverlaessige, geordnete und fehlerfreie Uebertragung von Daten zwischen Anwendungen. Bevor Daten uebertragen werden, wird eine Verbindung zwischen Sender und Empfaenger aufgebaut.
Der TCP Three-Way Handshake
Der Verbindungsaufbau erfolgt ueber den sogenannten Three-Way Handshake, einen dreistufigen Prozess zur Synchronisation beider Kommunikationspartner:
Client Server
| |
|-------- SYN (seq=x) ---------> |
| |
|<----- SYN-ACK (seq=y, ack=x+1) |
| |
|-------- ACK (ack=y+1) -------> |
| |
| Verbindung hergestellt |
- SYN: Der Client sendet ein Synchronisationspaket mit seiner Sequenznummer
- SYN-ACK: Der Server antwortet mit seiner eigenen Sequenznummer und bestaetigt die Sequenznummer des Clients
- ACK: Der Client bestaetigt die Sequenznummer des Servers - die Verbindung steht
TCP-Merkmale
TCP bietet mehrere Mechanismen fuer zuverlaessige Kommunikation:
- Sequenznummern: Jedes Byte erhaelt eine Nummer zur korrekten Reihenfolge
- Bestaetigungen (ACK): Empfangene Daten werden bestaetigt
- Neuuebertragung: Verloren gegangene Pakete werden erneut gesendet
- Flusskontrolle: Verhindert Ueberflutung des Empfaengers
- Staukontrolle: Passt die Senderate an die Netzwerkauslastung an
TCP vs. UDP
Neben TCP gibt es auf der Transportschicht auch das User Datagram Protocol (UDP). Waehrend TCP auf Zuverlaessigkeit setzt, priorisiert UDP Geschwindigkeit. Die Wahl des Protokolls haengt von den Anforderungen der Anwendung ab.
| Eigenschaft | TCP | UDP |
|---|---|---|
| Verbindung | Verbindungsorientiert | Verbindungslos |
| Zuverlaessigkeit | Garantierte Zustellung | Keine Garantie |
| Reihenfolge | Garantiert | Nicht garantiert |
| Geschwindigkeit | Langsamer (Overhead) | Schneller |
| Anwendungen | Web, E-Mail, Dateitransfer | Streaming, VoIP, Gaming, DNS |
Fuer Anwendungen, bei denen jedes Datenpaket ankommen muss (Webseiten, E-Mails, Dateiuebertragungen), ist TCP die richtige Wahl. Bei zeitkritischen Anwendungen wie Video-Streaming, VoIP oder Online-Gaming ist der Verlust einzelner Pakete weniger problematisch als Verzoegerungen - hier wird UDP bevorzugt.
Vergleich: TCP/IP-Modell vs. OSI-Modell
Das TCP/IP-Modell und das OSI-Modell verfolgen aehnliche Ziele, unterscheiden sich aber in ihrer Herangehensweise. Das OSI-Modell ist ein theoretisches Referenzmodell mit sieben Schichten, waehrend TCP/IP ein praktisches Modell mit vier Schichten ist.
| OSI-Modell | TCP/IP-Modell |
|---|---|
| 7. Anwendung | 4. Anwendung |
| 6. Darstellung | 4. Anwendung |
| 5. Sitzung | 4. Anwendung |
| 4. Transport | 3. Transport |
| 3. Vermittlung | 2. Internet |
| 2. Sicherung | 1. Netzzugang |
| 1. Bitübertragung | 1. Netzzugang |
Das OSI-Modell eignet sich hervorragend fuer die Lehre und das Verstaendnis von Netzwerkkonzepten. Das TCP/IP-Modell hingegen beschreibt die tatsaechliche Implementierung des Internets und ist daher fuer die praktische Arbeit relevanter.
Wichtige Protokolle der TCP/IP-Familie
Die TCP/IP-Protokollfamilie umfasst neben TCP und IP viele weitere Protokolle, die fuer verschiedene Aufgaben zustaendig sind:
Anwendungsschicht
- HTTP/HTTPS: Uebertragung von Webseiten
- FTP: Dateiuebertragung
- SMTP/POP3/IMAP: E-Mail-Kommunikation
- DNS: Namensaufloesung (Domain zu IP-Adresse)
- SSH: Sichere Fernzugriff-Verbindungen
- DHCP: Automatische IP-Adressvergabe
Internet- und Netzzugangsschicht
- ICMP: Fehlermeldungen und Diagnosefunktionen (z.B. ping)
- ARP: Zuordnung von IP-Adressen zu MAC-Adressen
- IGMP: Verwaltung von Multicast-Gruppen
Praktisches Beispiel: Abruf einer Webseite
Um zu verstehen, wie TCP/IP in der Praxis funktioniert, betrachten wir den Abruf einer Webseite im Browser:
- DNS-Anfrage: Der Browser fragt den DNS-Server nach der IP-Adresse der Domain
- TCP-Verbindung: Three-Way Handshake zum Webserver (Port 443 fuer HTTPS)
- HTTP-Request: Browser sendet GET-Anfrage fuer die gewuenschte Seite
- Kapselung: Die Anfrage wird in TCP-Segmente, dann in IP-Pakete, dann in Ethernet-Frames verpackt
- Routing: Die Pakete werden ueber mehrere Router zum Zielserver geleitet
- Entkapselung: Der Server entpackt die Daten Schicht fuer Schicht
- HTTP-Response: Der Server sendet die Webseite zurueck
- Darstellung: Der Browser rendert die empfangene HTML-Seite
TCP/IP in der Praxis
TCP/IP bildet das Rueckgrat praktisch aller modernen Netzwerke. Ob im Heimnetzwerk, in Unternehmensnetzwerken oder im globalen Internet - ueberall kommunizieren Geraete ueber diese Protokollfamilie.
Fuer Fachinformatiker fuer Systemintegration gehoert das Verstaendnis von TCP/IP zum taeglichen Handwerkszeug. Die Konfiguration von Routern, Firewalls und Netzwerkdiensten erfordert fundierte Kenntnisse der Protokollmechanismen. Auch Fachinformatiker fuer Anwendungsentwicklung benoetigen dieses Wissen, wenn sie Netzwerkanwendungen, APIs oder verteilte Systeme entwickeln.
Wichtige Diagnose-Tools
Fuer die Fehlersuche in Netzwerken stehen verschiedene Werkzeuge zur Verfuegung, die auf TCP/IP-Protokollen basieren:
# Erreichbarkeit pruefen (ICMP)
ping 192.168.1.1
# Route zu einem Ziel verfolgen
traceroute google.com
# Aktive Netzwerkverbindungen anzeigen
netstat -an
# DNS-Abfrage durchfuehren
nslookup example.com
# Netzwerkverkehr analysieren
tcpdump -i eth0
Quellen und weiterfuehrende Links
- RFC 791 - Internet Protocol (IPv4) - Offizielle IP-Spezifikation
- RFC 793 - Transmission Control Protocol - Offizielle TCP-Spezifikation
- RFC 1122 - Requirements for Internet Hosts - Architektur des TCP/IP-Stacks
- Elektronik-Kompendium: TCP/IP - Deutschsprachige Einfuehrung
- Internet Protocol Suite - Wikipedia - Umfassende Uebersicht