Was ist der Unterschied zwischen TCP und UDP?

Wahrscheinlich haben Sie beim Einrichten der Portweiterleitung auf einem Router oder beim Konfigurieren der Firewall-Software Verweise auf TCP und UDP gesehen. Diese beiden Protokolle werden für verschiedene Datentypen verwendet.

TCP / IP ist eine Reihe von Protokollen, die von Geräten zur Kommunikation über das Internet und die meisten lokalen Netzwerke verwendet werden. Es ist nach zwei seiner ursprünglichen Protokolle benannt - dem Transmission Control Protocol (TCP) und dem Internet Protocol (IP). TCP bietet Apps die Möglichkeit, einen geordneten und fehlergeprüften Strom von Informationspaketen über das Netzwerk zu liefern (und zu empfangen). Das User Datagram Protocol (UDP) wird von Apps verwendet, um einen schnelleren Informationsfluss zu liefern, indem die Fehlerprüfung abgeschafft wird. Wenn Sie Netzwerkhardware oder -software konfigurieren, müssen Sie möglicherweise den Unterschied kennen.

Was sie gemeinsam haben

VERBINDUNG: So finden Sie Ihre privaten und öffentlichen IP-Adressen

Sowohl TCP als auch UDP sind Protokolle, die zum Senden von Datenbits - so genannten Paketen - über das Internet verwendet werden. Beide Protokolle bauen auf dem IP-Protokoll auf. Mit anderen Worten, unabhängig davon, ob Sie ein Paket über TCP oder UDP senden, wird dieses Paket an eine IP-Adresse gesendet. Diese Pakete werden ähnlich behandelt, da sie von Ihrem Computer an zwischengeschaltete Router und an das Ziel weitergeleitet werden.

TCP und UDP sind nicht die einzigen Protokolle, die zusätzlich zu IP arbeiten. Sie sind jedoch am weitesten verbreitet.

Wie funktioniert TCP?

TCP ist das am häufigsten verwendete Protokoll im Internet.

Wenn Sie eine Webseite in Ihrem Browser anfordern, sendet Ihr Computer TCP-Pakete an die Adresse des Webservers und fordert ihn auf, die Webseite an Sie zurückzusenden. Der Webserver sendet daraufhin einen Stream von TCP-Paketen, die Ihr Webbrowser zur Webseite zusammenfügt. Wenn Sie auf einen Link klicken, sich anmelden, einen Kommentar veröffentlichen oder etwas anderes tun, sendet Ihr Webbrowser TCP-Pakete an den Server und der Server sendet TCP-Pakete zurück.

Bei TCP dreht sich alles um Zuverlässigkeit: Mit TCP gesendete Pakete werden nachverfolgt, sodass während der Übertragung keine Daten verloren gehen oder beschädigt werden. Aus diesem Grund werden Dateidownloads auch bei Netzwerkproblemen nicht beschädigt. Wenn der Empfänger vollständig offline ist, gibt Ihr Computer natürlich auf und es wird eine Fehlermeldung angezeigt, dass er nicht mit dem Remote-Host kommunizieren kann.

TCP erreicht dies auf zwei Arten. Zunächst werden Pakete durch Nummerierung bestellt. Zweitens wird eine Fehlerprüfung durchgeführt, indem der Empfänger eine Antwort an den Absender zurücksendet, die besagt, dass er die Nachricht empfangen hat. Wenn der Absender keine korrekte Antwort erhält, kann er die Pakete erneut senden, um sicherzustellen, dass der Empfänger sie korrekt empfängt.

VERBINDUNG: Prozess-Explorer verstehen

Der Prozess-Explorer und andere Systemdienstprogramme können die Art der Verbindungen anzeigen, die ein Prozess herstellt. Hier sehen Sie den Chrome-Browser mit offenen TCP-Verbindungen zu einer Vielzahl von Webservern.

Wie UDP funktioniert

VERBINDUNG: Wie Latenz auch schnelle Internetverbindungen langsam machen kann

Das UDP-Protokoll funktioniert ähnlich wie TCP, wirft jedoch alle Fehlerprüfungsaufgaben aus. Die gesamte Hin- und Her-Kommunikation führt zu Latenz und verlangsamt die Arbeit.

Wenn eine App UDP verwendet, werden Pakete nur an den Empfänger gesendet. Der Absender wartet nicht darauf, dass der Empfänger das Paket empfangen hat - er sendet einfach die nächsten Pakete weiter. Wenn der Empfänger hier und da einige UDP-Pakete übersieht, gehen sie einfach verloren - der Absender sendet sie nicht erneut. Wenn Sie all diesen Overhead verlieren, können die Geräte schneller kommunizieren.

UDP wird verwendet, wenn Geschwindigkeit erwünscht ist und keine Fehlerkorrektur erforderlich ist. Beispielsweise wird UDP häufig für Live-Übertragungen und Online-Spiele verwendet.

Angenommen, Sie sehen einen Live-Videostream, der häufig mit UDP anstelle von TCP gesendet wird. Der Server sendet lediglich einen konstanten Strom von UDP-Paketen an Computer, die diese überwachen. Wenn Sie für einige Sekunden die Verbindung verlieren, friert das Video möglicherweise ein oder wird für einen Moment nervös und springt dann zum aktuellen Teil der Sendung. Wenn Sie einen geringfügigen Paketverlust feststellen, kann das Video oder Audio für einen Moment verzerrt sein, da das Video ohne die fehlenden Daten weiter abgespielt wird.

Dies funktioniert ähnlich in Online-Spielen. Wenn Sie einige UDP-Pakete verpassen, scheinen sich Spielercharaktere über die Karte zu teleportieren, wenn Sie die neueren UDP-Pakete erhalten. Es macht keinen Sinn, die alten Pakete anzufordern, wenn Sie sie verpasst haben, da das Spiel ohne Sie fortgesetzt wird. Alles was zählt ist, was gerade auf dem Spieleserver passiert - nicht was vor ein paar Sekunden passiert ist. Durch das Löschen der TCP-Fehlerkorrektur wird die Spielverbindung beschleunigt und die Latenz verringert.

Na und?

VERBINDUNG: Verwendung von Wireshark zum Erfassen, Filtern und Überprüfen von Paketen

Ob eine Anwendung TCP oder UDP verwendet, liegt beim Entwickler. Die Auswahl hängt davon ab, was eine Anwendung benötigt. Die meisten Apps benötigen die Fehlerkorrektur und Robustheit von TCP, aber einige Anwendungen benötigen die Geschwindigkeit und den reduzierten Overhead von UDP. Wenn Sie ein Netzwerkanalysetool wie Wireshark starten, können Sie die verschiedenen Arten von Paketen sehen, die sich hin und her bewegen.

Sofern Sie kein Netzwerkadministrator oder Softwareentwickler sind, sollte dies Sie nicht zu sehr beeinträchtigen. Wenn Sie Ihren Router oder Ihre Firewall-Software konfigurieren und nicht sicher sind, ob eine Anwendung TCP oder UDP verwendet, können Sie im Allgemeinen die Option "Beide" auswählen, damit Ihr Router oder Ihre Firewall dieselbe Regel sowohl auf den TCP- als auch auf den UDP-Verkehr anwendet.