it-swarm.com.de

Was ist der Unterschied zwischen VPN über TCP und UDP)?

Mein VPN-Anbieter bietet mir die Möglichkeit, UDP und TCP für Verbindungen) zu verwenden. Laut diese Site ist UDP auf kurzen Strecken schneller. Ich bin auf demselben Kontinent wie Gibt es einen Test, den ich ausführen kann, um die beiden zu vergleichen?

37
David Drohang

Ein VPN dient zum Verpacken von rohen IP-Paketen in eine Art "Tunnel" zwischen zwei Standorten (einer der Standorte wird möglicherweise auf einen Computer reduziert, d. H. Ihren). TCP ist ein Protokoll, das über IP liegt und IP-Pakete verwendet (die "unzuverlässig" sind: Sie können verloren gehen, dupliziert, neu angeordnet werden ... ), um einen zuverlässigen bidirektionalen Kanal für Datenbytes bereitzustellen, wobei Bytes den Empfänger immer in der Reihenfolge erreichen, in der sie gesendet wurden. TCP verwendet dazu eine komplexe Zusammenstellung von Metadaten mit expliziten Bestätigungen und Neuemissionen. TCP verursacht daher einen geringen Netzwerk-Overhead.

Wenn das VPN TCP verwendet, verwenden Ihr own TCP-Verbindungen IP-Pakete, die über das VPN gesendet werden, sodass Sie am Ende das TCP Overhead zweimal. Ein UDP-basiertes VPN hat somit das Potenzial für eine etwas bessere Leistung. Andererseits den kryptografischen Schutz des VPN erfordert eine gewisse Statusverwaltung, die für die VPN-Implementierung bei Verwendung von UDP möglicherweise schwieriger ist. Daher ist es möglich, dass das UDP-basierte VPN einen zusätzlichen Overhead hat, mit dem es fertig werden muss.

Daher ist die Leistungssituation nicht klar und Sie sollten messen.

44
Thomas Pornin

Sie können versuchen, eine Datei mit beiden Methoden herunterzuladen und festzustellen, ob sich die Download-Geschwindigkeiten drastisch unterscheiden.

Die Kompromisse zwischen TCP und UDP (unabhängig von der VPN-Nutzung) sind immer gleich: Sie opfern Geschwindigkeit für Zuverlässigkeit, da UDP verbindungslos ist und der Server die Daten theoretisch sendet (abhängig von der Implementierung). Es ist egal, ob es das Ziel erreicht oder nicht. Dies ist in Dingen wie Internet-Spielen in Ordnung, bei denen jedes Paket eine Bewegung eines Benutzers sein kann, aber in Dingen wie Verschlüsselung, bei denen fehlende Datenbits bedeuten, dass möglicherweise eine gesamte Nachricht sein muss erneut gesendet, TCP wäre willkommener, da die durch die Verwendung von UDP gewonnene Zeit möglicherweise verloren geht, wenn eine gesamte Nachricht erneut gesendet werden muss.

Auf dem gleichen Kontinent zu sein, wird im Allgemeinen nicht als kurze Distanz angesehen. Ich würde in Betracht ziehen, im selben Gebäude zu sein, vielleicht in der gleichen Stadt wie ein kurzes Stück, aber nicht viel weiter. Je mehr Hops ein Paket durchlaufen muss, desto wahrscheinlicher ist es, dass es irgendwann auf dem Weg beschädigt wird. Wenn Sie sehen möchten, wie viele Hops erforderlich sind, um an Ihr Ziel zu gelangen, führen Sie den Befehl "trace route" aus.

Hoffe ich habe geholfen.

13
NULLZ

UDP wird für VPNs bevorzugt, der Overhead ist geringer. Diese Diskussion über die Unzuverlässigkeit von UDP ist umstritten. Da wir gerade tuneln, gibt es keinen Unterschied zwischen einem TCP Datagramm, das im offenen Internet verloren gegangen ist, und einem TCP Datagramm, das in einem TCP Tunnel oder einem TCP Datagramm in einem UDP-Tunnel verloren. Alle werden erneut übertragen.

Ein Problem bei UDP-Tunneln besteht darin, dass sie zustandslos sind. Dies erschwert die Sicherung an der Firewall. Antwortpakete unterscheiden sich nicht von Quellpaketen. Aus Sicherheitsgründen sind TCP Tunnel einfacher.

11
mgjk

Dies ist wirklich dasselbe wie TCP und UDP normalerweise. TCP ist ein System, bei dem garantiert wird, dass jedes Paket in der richtigen Reihenfolge ankommt. Wenn ein Paket empfangen wird Außer Betrieb ist es gespeichert und wenn ein Paket nicht angezeigt wird, um eine Lücke zu füllen, wird es erneut angefordert. Dies stellt einen vollständigen Stream ohne Datenverlust sicher, bedeutet jedoch, dass eine Verbindung möglicherweise von einem gehalten wird Paket verpasst, während die Informationen erneut angefordert werden.

UDP übernimmt keine solche Garantie und Informationen werden in der Reihenfolge ihres Eintreffens eingehen und als solche verarbeitet. Ich bin mir über die Auswirkungen auf die Sicherheit nicht sicher, aber Sie würden wahrscheinlich immer noch eine ähnliche Verzögerung bei UDP erhalten, wenn Sie eine nicht parallelisierbare Verkettungsstromverschlüsselung verwenden, da alle Pakete in der richtigen Reihenfolge eintreffen müssten, aber dies könnte auch durch überwunden werden Verwenden eines Verschlüsselungsmodus, der die parallele Entschlüsselung unterstützt.

Das einzige, was VPN dem typischen TCP/UDP-Mix hinzufügt, ist, dass es die Art der Verschlüsselungsmodi ein wenig einschränkt, aber ansonsten der typische Kompromiss ist.

3
AJ Henderson

Die tatsächliche physische Punkt-zu-Punkt-Entfernung bedeutet nichts in der Internet-Welt, alles hängt von ISP-Verbindungen ab. Einmal habe ich einen Server im Rack neben mir gepingt und es hatte eine Verzögerung von 300 ms, weil die Pakete über den Pazifik und zurück geleitet wurden, weil die ISPs auf diese Weise miteinander verbunden waren. Wenn die Server direkt verbunden gewesen wären, wäre die Verzögerung in Mikrosekunden gewesen. Die Server waren nur wenige Zentimeter voneinander entfernt, aber die tatsächliche Entfernung, die die Pakete über alle Hopfen zurücklegten, lag in der Größenordnung von 25.000 Meilen! Das ist ein extremes Beispiel, aber es zeigt, dass man der Distanz nicht vertrauen kann.

Anstelle der Entfernung müssen Sie die Latenz betrachten. Dies ist die Umlaufzeit, die benötigt wird, um ein an das VPN-Ziel gesendetes Echo zu beantworten. Welche Umlaufzeit UDP zu einer besseren Wahl machen würde als TCP Ich weiß es nicht, und es ist nicht so einfach, da es andere Faktoren gibt:

  • paketverlust und Jitter: UDP reagiert sehr empfindlich auf Paketverlust und Jitter (Paket außerhalb der Reihenfolge) und verfügt über keinen integrierten Korrekturmechanismus wie TCP). Jede Latenz oder jeder Jitter schwächt jeden Vorteil ab der Verwendung von UDP über TCP
  • Effizienz des OS-IP-Stacks: Die VPN-Anwendung verwendet den TCP/IP-Stack des Betriebssystems, der auch UDP-Pakete verarbeitet. Ein Großteil der relativen Effizienz von TCP gegenüber UDP hängt davon ab, wie gut das Betriebssystem (und alle Paketfilter oder Firewalls im Weg) verarbeitet TCP gegenüber UDP)
  • Anwendungscodierung: Die Qualität der VPN-Anwendung macht einen großen Unterschied, ebenso wie die VPN-Software auf dem Gerät, mit dem Sie eine Verbindung herstellen. Wie wird es beispielsweise von verlorenen UDP-Paketen wiederhergestellt? Kann es Neuübertragungen anfordern oder verlässt es sich auf die Upstream-Anwendungen, um Neuübertragungen anzufordern?

Es gibt zu viele Faktoren, um eine endgültige Antwort zu geben, da dies von zu vielen Faktoren abhängt. Sie müssen einfach beide Methoden ausprobieren und sehen.

2
GdD