Internetkommunikation funktioniert nicht durch einen einzigen großen Mechanismus.
Beim Ansehen einer Website, beim Senden von E-Mail und beim Verbinden einer App mit einem Server arbeiten mehrere Kommunikationsregeln zusammen.
Die grundlegende Denkweise dahinter ist TCP/IP.
Der Name TCP/IP enthält TCP und IP, meint aber nicht nur TCP und IP. Er wird als Bezeichnung für die Protokollfamilie verwendet, die im Internet genutzt wird, also für die grundlegenden Mechanismen der Kommunikation insgesamt.
Dieser Artikel behandelt TCP/IP nicht als detaillierte Spezifikation, sondern als Einstieg, um das Gesamtbild der Internetkommunikation zu verstehen.
Was ist TCP/IP?
TCP/IP ist die grundlegende Protokollfamilie, die für Kommunikation im Internet verwendet wird.
Ein Protokoll ist eine Vereinbarung für Kommunikation. Es braucht Regeln dafür, wie Ziele angegeben werden, in welchen Einheiten Daten gesendet werden, was bei nicht zugestellten Daten geschieht und in welchem Format Anwendungen miteinander sprechen.
Bei TCP/IP betrachtet man Kommunikation getrennt nach Rollen.
Rolle
Hauptzuständig
Erklärung
Zum Ziel bringen
IP
Richtet Kommunikation über IP-Adressen auf das Ziel aus
Zustellung verwalten
TCP / UDP
Legt fest, wie Daten gesendet werden und wie Zuverlässigkeit oder Leichtgewichtigkeit behandelt werden
Namen auflösen
DNS
Ermittelt die IP-Adresse zu einem Domainnamen
Anwendungen austauschen lassen
HTTP und Ähnliches
Tauscht Webseitendaten, API-Daten und andere Anwendungsdaten aus
Kommunikation schützen
TLS
Verschlüsselt Inhalte von HTTP und ähnlicher Kommunikation und erleichtert Schutz vor Veränderung und Nachahmung
Internetkommunikation entsteht also, indem IP, TCP und UDP als Grundlage mit Mechanismen wie DNS, HTTP und TLS zusammenspielen.
IP richtet Kommunikation auf das Ziel aus
IP steht für Internet Protocol.
Die zentrale Rolle von IP ist, Kommunikation mithilfe von IP-Adressen auf ein Ziel auszurichten. Im Internet werden IP-Adressen verwendet, um Geräte und Server zu adressieren.
Wenn ein Browser mit einem Webserver kommuniziert, werden Pakete letztlich an die Ziel-IP-Adresse gesendet. Router unterwegs betrachten unter anderem die Ziel-IP-Adresse und entscheiden, wohin sie das Paket als Nächstes weiterleiten.
IP ist jedoch ein Mechanismus, um Kommunikation zum Ziel zu richten. Es garantiert nicht allein die Zuverlässigkeit der gesamten Kommunikation.
IP allein behandelt folgende Punkte nicht ausreichend:
ob Daten angekommen sind
ob Daten in der richtigen Reihenfolge angekommen sind
ob verlorene Daten erneut gesendet werden
an welche App innerhalb eines Geräts Daten weitergegeben werden
Dafür sind TCP, UDP, Portnummern und höhere Protokolle relevant.
TCP legt Wert auf Zuverlässigkeit
TCP steht für Transmission Control Protocol.
TCP ist ein Mechanismus, der den genauen Umgang mit Daten erleichtert. Es baut eine Verbindung mit dem Kommunikationspartner auf, bestätigt, ob gesendete Daten angekommen sind, sendet verlorene Daten erneut und bringt Daten, deren Reihenfolge unterwegs durcheinandergeraten ist, wieder in die richtige Reihenfolge.
Deshalb eignet sich TCP für Kommunikation, bei der fehlende oder vertauschte Daten problematisch wären.
Verwendung
Warum TCP passt
HTTP/1.1 / HTTP/2
Webseitendaten müssen korrekt empfangen werden
Login-Verarbeitung
Wenn Authentifizierungsdaten fehlen, kann die Verarbeitung nicht korrekt laufen
Dateiübertragung
Wenn Teile fehlen, kann die Datei beschädigt sein
E-Mail-Versand
Der Nachrichteninhalt muss korrekt zugestellt werden
TCP ist jedoch kein Mechanismus, der alles schneller macht. Durch Bestätigungen und erneutes Senden kann je nach Kommunikationslage zusätzliche Verzögerung entstehen.
TCP ist wichtig, wenn Zuverlässigkeit wichtiger ist als geringe Verzögerung.
UDP legt Wert auf Leichtgewichtigkeit und Flexibilität
UDP steht für User Datagram Protocol.
UDP führt Verbindungsaufbau, Zustellbestätigung, Reihenfolgenkontrolle und erneutes Senden nicht im Protokoll selbst aus. Dadurch ist der Mechanismus leichtgewichtig, und Anwendungen können benötigte Kontrolle leichter selbst entwerfen.
UDP wird für Kommunikation verwendet, bei der Echtzeitfähigkeit oder flexible Steuerung wichtig ist.
Verwendung
Warum UDP verwendet wird
DNS
Kurze Anfrage und Antwort lassen sich schnell verarbeiten
Videoanrufe
Aktuelle Audio- oder Videodaten sind oft wichtiger als alte Daten später exakt zuzustellen
Online-Spiele
Der aktuelle Zustand soll mit geringer Verzögerung fortlaufend aktualisiert werden
QUIC / HTTP/3
Neue Mechanismen für Zuverlässigkeit und Verschlüsselung werden über UDP gelegt
UDP bedeutet nicht "schlechte Kommunikation, weil sie unzuverlässig ist". UDP selbst hält Garantien gering und überlässt notwendige Kontrolle der Anwendung oder höheren Mechanismen.
Mechanismen wie QUIC nutzen UDP als Grundlage und realisieren darüber eigene Zuverlässigkeit und Verschlüsselung.
Portnummern unterscheiden Anwendungen
Eine IP-Adresse zeigt die Position eines Kommunikationspartners im Netzwerk. In einem einzelnen Gerät oder Server kommunizieren jedoch mehrere Anwendungen und Dienste gleichzeitig.
Deshalb reicht eine IP-Adresse allein nicht aus, um zu wissen, an welche Anwendung die Kommunikation weitergegeben werden soll.
Dafür werden Portnummern verwendet.
Information
Rolle
Beispiel
IP-Adresse
Zeigt, zu welchem Gerät oder Server Kommunikation geht
IP-Adresse eines Webservers
Portnummer
Zeigt, an welchen Dienst innerhalb dieses Geräts sie geht
443 für HTTPS, 53 für DNS
Kommunikationsprotokoll
Zeigt etwa TCP oder UDP an
TCP 443, UDP 53
Wenn auf demselben Server Web, DNS und Mail laufen, können sie über unterschiedliche Portnummern unterschieden werden.
Bei TCP und UDP wird dieselbe Nummer als getrennte Kommunikation behandelt. TCP Port 443 und UDP Port 443 verwenden zwar beide die Nummer "443", sind aber nicht dieselbe Kommunikation.
DNS, HTTP und TLS laufen ebenfalls auf TCP/IP
Beim Ansehen einer Website endet es nicht bei IP, TCP und UDP.
Menschen geben Websites normalerweise über Domainnamen an, nicht über IP-Adressen. Deshalb wird zuerst mit DNS die IP-Adresse ermittelt, die zu einem Domainnamen gehört.
Wenn die IP-Adresse bekannt ist, kommuniziert der Browser mit dem Ziel. Für das Abrufen von Webseiten wird HTTP verwendet. Bei HTTPS wird HTTP-Kommunikation durch TLS geschützt.
Mechanismus
Rolle
DNS
Ermittelt aus einem Domainnamen eine IP-Adresse
IP
Trägt Pakete zur Ziel-IP-Adresse
TCP / UDP
Behandelt, wie Daten zugestellt werden
TLS
Verschlüsselt Kommunikationsinhalte und prüft Ziel sowie Veränderungen
HTTP
Tauscht Daten von Webseiten und APIs aus
Wichtig ist: Diese Mechanismen konkurrieren nicht miteinander, sondern teilen Rollen auf.
HTTPS ist zum Beispiel HTTP, das durch TLS geschützt wird. Darunter werden in vielen Fällen TCP oder UDP und IP verwendet.
Ablauf beim Öffnen einer Webseite
Aus TCP/IP-Sicht lässt sich das Öffnen einer Webseite grob so ordnen.
Phase
Was passiert
Beteiligte Mechanismen
1
Die URL wird interpretiert
Browser, HTTP/HTTPS
2
Aus dem Domainnamen wird eine IP-Adresse ermittelt
DNS
3
Kommunikation wird zur Ziel-IP-Adresse ausgerichtet
IP, Routing
4
Die Zustellung der Daten wird verwaltet
TCP, UDP, QUIC und Ähnliches
5
Bei HTTPS wird die Kommunikation geschützt
TLS
6
Seiten- oder API-Daten werden angefordert
HTTP
7
Empfangene Daten werden angezeigt
Browser
In realer Kommunikation können auch Cache, CDN, Load Balancer und Wiederverwendung bestehender Verbindungen beteiligt sein. Deshalb läuft nicht jedes Mal alles vollständig in derselben Reihenfolge von vorn.
Als Grundstruktur ist es jedoch hilfreich, DNS, IP, TCP/UDP, TLS und HTTP als Mechanismen mit jeweils eigener Rolle zu betrachten.
TCP/IP und Anonymität
TCP/IP ist kein Mechanismus zur Anonymisierung. Es ist die Grundlage, um Kommunikation im Internet überhaupt zustande zu bringen.
Deshalb können Informationen, die für Kommunikation notwendig sind, auf dem Kommunikationsweg oder beim Ziel sichtbar werden.
Information
Wo sie sichtbar sein kann
Hinweis für Anonymität
Quell-IP-Adresse
Zielserver, Geräte auf dem Kommunikationsweg und Ähnliches
Hinweis auf das Quellnetzwerk
Ziel-IP-Adresse
Geräte auf dem Kommunikationsweg und Ähnliches
Material zur Vermutung, zu welchem Server die Kommunikation geht
Portnummer
Router, Firewalls, Kommunikationslogs und Ähnliches
Hinweis auf Kommunikationsart wie HTTPS, DNS oder
Kommunikationsprotokoll
Router, Firewalls, Kommunikationslogs und Ähnliches
TCP oder UDP kann die Behandlung der Kommunikation verändern
Datenmenge und Zeitpunkt
Geräte auf dem Kommunikationsweg, Zielserver und Ähnliches
Material für Verhaltensmuster und Abgleich mit anderen Logs
Mit HTTPS oder TLS lassen sich Kommunikationsinhalte leichter schützen. IP-Adresse, Datenmenge, Kommunikationszeitpunkt und Beziehung zum Ziel verschwinden dadurch jedoch nicht vollständig.
Beim Nachdenken über Anonymität muss man "Kommunikationsinhalt" und "äußere Informationen, die zum Zustandekommen der Kommunikation nötig sind" getrennt betrachten.
Zusammenfassung
TCP/IP ist die grundlegende Protokollfamilie, die Internetkommunikation ermöglicht.
IP richtet Kommunikation mithilfe von IP-Adressen auf das Ziel aus. TCP baut Verbindungen auf und legt durch Zustellbestätigung, erneutes Senden und Reihenfolgenkontrolle Wert auf Zuverlässigkeit. UDP hält Garantien gering und legt Wert auf Leichtgewichtigkeit und Flexibilität.
Portnummern werden verwendet, um innerhalb eines Geräts oder Servers zu unterscheiden, an welche Anwendung oder welchen Dienst Kommunikation weitergegeben werden soll.
Auch DNS, HTTP und TLS arbeiten mit Rollen auf TCP/IP. Beim Öffnen einer Webseite wird mit DNS eine IP-Adresse ermittelt, mit IP Richtung Ziel kommuniziert, mit TCP oder UDP die Zustellung behandelt, bei HTTPS mit TLS geschützt und mit HTTP Seiteninhalt ausgetauscht.
TCP/IP ist keine Anonymisierungstechnik. Damit Kommunikation zustande kommt, werden IP-Adressen, Portnummern, Kommunikationsprotokoll, Datenmenge, Zeitpunkt und ähnliche Informationen verarbeitet.
Wer diese Grundlage versteht, kann beim Lernen über DNS, HTTP/HTTPS, TLS, VPN, und Kommunikationslogs leichter einordnen, "von welcher Schicht und welchem Teil" die Rede ist.
Verwandte Werkzeuge
Public IP Check
WhatIsMyIP
Eine externe Ressource zu diesem Artikel. Öffne sie nur, wenn sie zu deiner Situation und deinem Bedrohungsmodell passt.
Warum es hier aufgeführt ist: Sie kann beim Thema des Artikels helfen, liegt aber außerhalb von Anonymity Sense und sollte vor der Nutzung geprüft werden.