TCP vs. UDP: Unterschiede im Transport und praktische Beispiele
TCP und UDP transportieren Anwendungsdaten über IP, bieten aber unterschiedliche Dienste. TCP stellt Anwendungen einen geordneten Bytestrom mit Bestätigungen und erneuter Übertragung bereit. UDP versendet einzelne Datagramme ohne diese Garantien auf Transportebene. Keine der beiden Varianten ist automatisch besser: Entscheidend sind die Anforderungen der Anwendung.
Was TCP bietet
TCP baut eine Verbindung zwischen den Endpunkten auf, bevor Anwendungsdaten ausgetauscht werden. Es nummeriert Segmente, kann fehlende Daten erneut übertragen und liefert Bytes in der richtigen Reihenfolge an die empfangende Anwendung. Fluss- und Überlastkontrolle verhindern, dass ein Sender den Empfänger oder das Netzwerk überfordert. Diese Eigenschaften eignen sich für Dateien, E-Mail und viele Webverbindungen. Verschlüsselung gehört nicht dazu: Zum Schutz der Inhalte ist ein separates Sicherheitsprotokoll wie TLS nötig.
Geht ein Segment verloren, muss die Anwendung unter Umständen auf die fehlenden Bytes warten, bevor sie spätere verarbeiten kann. Das ist sinnvoll für ein Dokument, das vollständig ankommen muss, kann aber interaktiven Verkehr verzögern. TCP bewahrt außerdem keine Nachrichtengrenzen der Anwendung. Zwei Schreibvorgänge des Senders müssen beim Empfänger nicht als zwei Lesevorgänge erscheinen; die Anwendung muss selbst festlegen, wie ihre Nachrichten abgegrenzt werden.
Was UDP der Anwendung überlässt
UDP bewahrt die Grenzen von Datagrammen und baut keine Verbindung wie TCP auf. UDP selbst bestätigt keine Zustellung, ordnet Pakete nicht neu und überträgt fehlende Daten nicht erneut. Eine auf UDP aufbauende Anwendung kann diese Funktionen bei Bedarf dennoch hinzufügen, ebenso Überlastkontrolle und Verschlüsselung. DNS verwendet für Anfragen häufig UDP. QUIC läuft über UDP, implementiert aber auf einer höheren Ebene zuverlässige Streams und moderne Sicherheit.
Bei Live-Sprache oder einem Spiel kann ein stark verspätetes Paket weniger nützlich sein als das nächste rechtzeitige. Manche Anwendungen verwalten Verluste und Fristen daher lieber selbst. UDP macht ein überlastetes Netzwerk nicht schnell: Volle Warteschlangen und verworfene Pakete treffen beide Transportprotokolle. Messen Sie die tatsächliche Anwendung, statt anzunehmen, dass der Protokollname die Leistung vorhersagt. Die Verzögerung auf dem Weg zum Ziel messen Sie mit der Erreichbarkeitsprüfung von 2IP.
Ports und die Wahl des Protokolls
Beide verwenden Portnummern, doch TCP-Port 443 und UDP-Port 443 bezeichnen unterschiedliche Endpunkte. Eine TCP-Prüfung wie die Portprüfung von 2IP kann nicht beweisen, dass ein UDP-Dienst mit derselben Nummer funktioniert. HTTP/1.1 und HTTP/2 nutzen normalerweise TCP mit TLS, während HTTP/3 QUIC über UDP verwendet. Schlägt die UDP-Verbindung fehl, kann ein Client auf eine TCP-basierte HTTP-Version ausweichen; das genaue Ergebnis hängt von beiden Endpunkten ab.
Beginnen Sie mit den Anforderungen der Anwendung: vollständige Zustellung, Reihenfolge, Nachrichtengrenzen und Zeitlimits. Prüfen Sie anschließend die Unterstützung im Netzwerk und die Sicherheitsanforderungen. Die Spezifikationen von TCP und UDP definieren ihre Transportdienste. Die Bedeutung der Nummern erklärt der Leitfaden zu Netzwerkports.