Kann mir jemand erklären, wieso OpenVPN keinen Multi-Prozessor-Support hat?

santander

Lieutenant
Registriert
Juni 2010
Beiträge
671
Bei Bestellung und Benutzung des VPN-Anbieters NordVPN mußte ich kürzlich feststellen, daß VPN bei meinem Asus RT AC68U WLAN-Router, den ich für die Verschlüsselung meiner Internetverbindung als Gateway benutzen wollte, immer nur einen (1) Prozessorkern auslastet. Dies resultiert dann in einer maximalen Internetgeschwindigkeit von ca. 25 MBit. Würden beide CPU-Kerne des Routers parallel verwendet, wären immerhin 50 MBit drin, was dann schon wesentlich näher an die Möglichkeiten meiner 100 MBit-FTTH-Leitung herankäme.

Weiß jemand, woran die parallelisierte Programmierung von OpenVPN bisher gescheitert ist? - Ich fand einen Artikel aus dem Jahre 2010 (!) im Internet darüber, daß OpenVPN 3 einen Multi-Core-Support haben sollte. Aber in der in meinem Router implementierten OpenVPN-Routine sowohl bei Freshtomato als auch bei AsusWRT-Merlin ist davon weit und breit nicht zu sehen.

Wirklich schade eigentlich, weil durch den weitverbreiteten Einbau von Multi-Prozessor-CPU's in Routern damit viel Potenzial verschenkt wird.
 
Zuletzt bearbeitet:
Einige VPN Anbieter haben eh nur eine bestimmte Leistung. Bei NordVPN weiss ich sie nicht. Aber einige machen nur 30 - 50MBit. Und nur einige bezahlbare bis 500MBit.
 
Wenn ich den NordVPN-Client auf meinem Linux-Laptop (Ubuntu Mate) mit Quadcore-Prozessor laufen lasse, habe ich Fullspeed. Also 100/50 Down/Up über den Tunnel.

Bis vor kurzem hatte ich noch den MagentaZuhause XL-Tarif mit 250/100 MBit Down/Up. Auch da auf dem Notebook über das OpenVPN-Protokoll immer Fullspeed, über den Asus-Router konstant aber nur 25/25. - Also, an zu langsamen Servern von NordVPN kann es nicht liegen.
 
Das ist der Nachteil an OpenVPN - kein Multicore-Support. Ist halt so. Mit dem nächsten Major-Release soll sich das ändern, aber dieser Release wird nicht in absehbarer Zeit kommen.
Es hilft eine CPU mit AES-NI Support zu benutzen, das wird bei deinem Laptop der Fall sein bzw. deine Laptop CPU ist generell schneller als die Router-CPU.
 
  • Gefällt mir
Reaktionen: santander
Das Problem ist die Verschlüsselung bei OpenVPN. Das nächste Paket wird mit dem vorherigen zusammen geschmissen, deshalb kann das ganze nur von einem Core sequenziell abgearbeitet werden (AES CBC). Ich würde auf WireGuard umstellen, aber keine Ahnung, ob NordVPN das unterstützt.

Die andere Frage ist, warum du den gesamten Traffic von zuhause durch den VPN schieben willst?
 
santander schrieb:
daß OpenVPN 3 einen Multi-Core-Support haben sollte. Aber in der in meinem Router implementierten OpenVPN-Routine sowohl bei Freshtomato als auch bei AsusWRT-Merlin ist davon weit und breit nicht zu sehen.
Weil diese die kostenlose Community Edition nutzen.
OpenVPN3 findet dagegen bereits Verwendung in den offiziellen Clients, genannt OpenVPN Connect.
 
  • Gefällt mir
Reaktionen: santander
Was soll man da erklären? Multi-Core-Support muss aktiv implementiert werden. Das heißt es muss bei der Entwicklung berücksichtigt werden, dass Teile der Anwendung - zB die Berechnung der Verschlüsselung - ausgelagert werden können. IPsec oder WireGuard sind vom Design her ganz anders aufgestellt und für Multi-Core geeignet, OpenVPN eben nicht. Aus diesem Grunde benötigt OpenVPN eine hohe Single-Core-Leistung - egal wie viele Kerne die CPU am Ende hat - und das ist auch die Erklärung warum OpenVPN auf Geräten wie Routern oder NAS oftmals recht langsam ist, da meistens eine CPU mit Dual- oder QuadCore mit zT <1 GHz. verbaut ist.

Ein PC/Laptop hat eine CPU, die um mehrere Größenordnungen schneller ist als eine CPU im Router, nicht nur wenn man sich die GHz anschaut.

Warum die Community Edition von OpenVPN noch bei v2.5.4 (5.10.2021) steht und nicht bei 3.x, liegt vermutlich daran, dass es eben eine Community Edition ist und es sich niemand antun möchte, das große Update zu implementieren.

Bis dahin gilt: Wer schnelles OpenVPN benötigt, kommt um eine CPU mit hoher Single-Core-Leistung nicht drumherum und wird daher mit den meisten Routern nicht glücklich werden. Selbst bei NAS muss man genau hinschauen welche CPU verbaut ist, weil auch ein QuadCore-Atom nicht zwingend die gewünschte Leistung bringt.

Alternativ hilft nur der Umstieg auf IPsec oder Wireguard, sofern der VPN-Anbieter dies .. .. anbietet ;)
 
Raijin schrieb:
Bis dahin gilt: Wer schnelles OpenVPN benötigt, kommt um eine CPU mit hoher Single-Core-Leistung nicht drumherum und wird daher mit den meisten Routern nicht glücklich werden.
Naja, stimmt nicht ganz, weil es eben mittlerweile Router mit einer hardwareseitigen Verschlüsselung von AES gibt. Besonders 1 bezahlbares Modell von Asus...

gaym0r schrieb:
Es hilft eine CPU mit AES-NI Support zu benutzen, das wird bei deinem Laptop der Fall sein bzw. deine Laptop CPU ist generell schneller als die Router-CPU.
Um dem ganzen Problem mit der zu geringen Geschwindigkeit über NordVPN abzuhelfen, habe ich mir nun einen Asus RT-AC86U gekauft. Mit einem Kaufpreis von 110 € gerade noch so zu rechtfertigen.

Der benutzte Broadcom-Chipsatz von dem hat eine hardwaremäßige AES-Verschlüsselung implementiert. Angeblich soll mit dem das OpenVPN-Limit bei ca. 250 MBit liegen.

Hier ein Geschwindigkeitsvergleich entnommen der Webseite von Mullvad-VPN:

Bild_2021-10-14_222207.png


Donnidonis schrieb:
Die andere Frage ist, warum du den gesamten Traffic von zuhause durch den VPN schieben willst?
Um der überbordenden Überwachung der angeblich so Staaten der "freien Welt" und deren Sicherheitsorganen etwas entgegenzusetzen.
 
Zuletzt bearbeitet:
@santander
Du legst deinen gesamten Traffic also lieber dem VPN Anbieter vor die Füße und damit einem anderen Land, als deinem eigenen? Dein Traffic liegt ja trotzdem komplett offen an einem Punkt, nur eben an einem anderen.

Bezüglich dem Router: wenn du denkst er kann das, was du möchtest, dann Kauf ihn.
 
Donnidonis schrieb:
Bezüglich dem Router: wenn du denkst er kann das, was du möchtest, dann Kauf ihn.
Der RT-AC86U ist heute eingetroffen.

Habe ihn gleich eingerichtet, mit Asus WRT-Merlin geflasht. Mit dem Ergebnis bin ich bisher zufrieden:


Bild_2021-10-15_193245.png



Bild_2021-10-15_193051.png
 
Zuletzt bearbeitet:
Ich habe heute 'mal meinen Asus RT-AC86U an einem 250 MBit-Glasfaseranschluß (250 Down/100 Up) der Telekom über einen NordVPN-Zugang testen können. Hier das Ergebnis:

Speedtest Telekom-FTTH Magenta XL NordVPN-Crypted 2021-11-17.png


Insgesamt nicht sooo berauschend. Die Verschlüsselungs-Speed endet dann wohl schon bei ca. 160 MBit. Ich dachte eigentlich, ich würde da an die versprochenen 240 MBit in irgendeiner Form herankommen.
 
Zuletzt bearbeitet:
OpenVPN kann an vielen Stellen gepimpt werden, nicht zuletzt bei der MTU, weil Jumboframes auf einem VPN-Adapter nichts mit der MTU der Hardwareschnittstelle oder der Internetverbindung zu tun haben. Etwaige "Versprechen" einer höheren Geschwindigkeit sind mit Sicherheit in einem isolierten System und voller Kontrolle über die Einstellungen getestet worden. Im Prinzip dasselbe wie der Verbrauch eines PKW, dessen Angabe vom Hersteller zum Teil massiv vom Realverbrauch abweicht.

VPN-Dienstleister wie NordVPN geben die Konfiguration jedoch vor und man hat keinerlei Möglichkeiten, diese anzupassen. Unterm Strich solltest du dich über die 160 Mbit/s freuen, das ist schon verdammt flott für ein Consumergerät. Wenn du höhere Ansprüche stellst, musst du in performantere Hardware investieren, die eben nicht mehr dem Consumermarkt zugerechnet wird. Aber wie gesagt, selbst mit einem dicken i7 wird man niemals schneller sein als das was NordVPN bieten kann.
 
Zurück
Oben