Was ist der Unterschied zwischen TCP und UDP?
Sie haben wahrscheinlich Verweise auf TCP und UDP gesehen, wenn Sie die Portweiterleitung auf einem Router einrichten oder Firewall-Software konfigurieren. Diese beiden Protokolle werden für unterschiedliche 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 eine Möglichkeit, einen geordneten und fehlergeprüften Strom von Informationspaketen über das Netzwerk zu liefern (und zu empfangen). Das UDP-Protokoll (User Datagram Protocol) wird von Apps verwendet, um einen schnelleren Informationsfluss bereitzustellen, da die Fehlerprüfung entfällt. Bei der Konfiguration einiger Netzwerkhardware oder -software müssen Sie möglicherweise den Unterschied kennen.
Was sie gemeinsam haben
Sowohl TCP als auch UDP sind Protokolle, die zum Senden von Datenbits, die als Pakete über das Internet bekannt sind, verwendet werden. Beide Protokolle bauen auf dem IP-Protokoll auf. Wenn Sie also ein Paket über TCP oder UDP senden, wird dieses Paket an eine IP-Adresse gesendet. Diese Pakete werden ähnlich behandelt, wenn sie von Ihrem Computer an zwischengeschaltete Router und an das Ziel weitergeleitet werden.
TCP und UDP sind nicht die einzigen Protokolle, die über IP arbeiten. Sie werden jedoch am häufigsten verwendet.
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 Sie auf, die Webseite an Sie zurückzusenden. Der Webserver antwortet, indem er einen Stream von TCP-Paketen sendet, die Ihr Webbrowser zu einer Webseite zusammenfügt. Wenn Sie auf einen Link klicken, sich anmelden, einen Kommentar posten oder etwas anderes tun, sendet Ihr Webbrowser TCP-Pakete an den Server und der Server sendet TCP-Pakete zurück.
Bei TCP geht es nur um Zuverlässigkeits-Pakete, die mit TCP gesendet werden, so dass 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 Wegen. Erstens ordnet er Pakete durch Nummerieren an. Zweitens, es wird eine Fehlerprüfung durchgeführt, indem der Empfänger eine Antwort an den Absender zurücksendet, dass er die Nachricht erhalten 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.
Process 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 verschiedenen Webservern.
Wie funktioniert UDP?
Das UDP-Protokoll funktioniert ähnlich wie TCP, wirft aber alle Fehlerprüfungen aus. Die gesamte Hin- und Her-Kommunikation führt zu Latenzen und verlangsamt die Dinge.
Wenn eine App UDP verwendet, werden Pakete nur an den Empfänger gesendet. Der Absender wartet nicht, um sich zu vergewissern, dass der Empfänger das Paket erhalten hat. Er sendet nur die nächsten Pakete weiter. Wenn der Empfänger hier und da ein paar UDP-Pakete vermisst, sind sie einfach verloren - der Sender sendet sie nicht erneut. Durch den Verlust dieses Overheads 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 schauen sich einen Live-Videostream an, der häufig mit UDP statt mit TCP übertragen wird. Der Server sendet nur einen konstanten Strom von UDP-Paketen an die beobachtenden Computer. Wenn Sie Ihre Verbindung für ein paar Sekunden verlieren, kann das Video einen Moment lang einfrieren oder unruhig werden und dann zum aktuellen Bit der Sendung springen. 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 in Online-Spielen ähnlich. Wenn Sie einige UDP-Pakete vermissen, werden die Spielercharaktere möglicherweise über die Karte teleportiert, wenn Sie die neueren UDP-Pakete empfangen. Es ist sinnlos, die alten Pakete anzufordern, wenn Sie sie verpasst haben, da das Spiel ohne Sie weitergeht. Alles, was wichtig ist, ist, was gerade auf dem Spieleserver passiert, nicht was vor ein paar Sekunden passiert ist. Mit der Fehlerkorrektur von TCP können Sie die Verbindung zum Spiel beschleunigen und die Latenz reduzieren.
Na und?
Ob eine Anwendung TCP oder UDP verwendet, bleibt dem Entwickler überlassen und die Wahl hängt von den Anforderungen der Anwendung ab. Die meisten Apps benötigen die Fehlerkorrektur und Robustheit von TCP, aber einige Anwendungen benötigen die Geschwindigkeit und den geringeren Overhead von UDP. Wenn Sie ein Netzwerkanalysewerkzeug wie Wireshark starten, können Sie die verschiedenen Pakettypen sehen, die hin und her gehen.
Wenn Sie kein Netzwerkadministrator oder Softwareentwickler sind, hat dies keinen großen Einfluss auf Sie. Wenn Sie Ihre Router- oder 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 die gleiche Regel sowohl auf den TCP- als auch den UDP-Verkehr anwendet.