Zum Hauptinhalt Zur Navigation

VPN: Wireguard-Spezialist Tailscale schafft 10GBit/s Durchsatz

Die von Tailscale genutzte Wireguard -Implementierung in Go hat einige Limitierungen, die die Entwickler seit Monaten versuchen zu überwinden.
/ Sebastian Grüner
21 Kommentare News folgen (öffnet im neuen Fenster)
Das Wireguard-Maskottchen ist ein Drache. (Bild: Oriental Image via Reuters Connect)
Das Wireguard-Maskottchen ist ein Drache. Bild: Oriental Image via Reuters Connect

Die Entwickler des Start-ups Tailscale berichten in ihrem Blog(öffnet im neuen Fenster) von einem wichtigen Meilenstein: De VPN-Technik, die auf Wireguard basiert, erreicht nun mehr als 10 GBit/s Datendurchsatz auf einem Bare-Metal-Server. Das ist insbesondere mit Blick auf den Einsatz der Technik im Rechenzentrum von großer Bedeutung. Grundlage der Arbeiten sind Verbesserungen an der Go-Implementierung des Wireguard-Projekts, die Tailscale verwendet.

Das Team arbeitet bereits seit Längerem an Geschwindigkeitsverbesserungen in Wireguard-Go und hat diese in der Vergangenheit in das Open-Source-Projekt eingepflegt. Auch mit den nun umgesetzten weiteren Verbesserungen soll so verfahren werden, dass diese auch allen Wireguard-Nutzern zugutekommen kann. Den entstandenen Code, der mit Unterstützung von Wireguard-Hauptentwickler Jason Donenfeld entstanden ist, hat der verantwortliche Entwickler bereits zur Aufnahme eingereicht(öffnet im neuen Fenster) .

In einer ersten Optimierung setzte das Team darauf, nicht nur einzelne UDP-Pakete zu versenden und zu empfangen, sondern sogenannte Paket-Vektoren, also mehrere Pakete auf einmal. Die nun bereitgestellten Optimierungen bauen darauf auf und nutzen wiederum UDP-spezifische Verbesserungen des Linux-Kernel. Dabei handelt es sich um Generic Segmentation Offload (GSO) beim Versenden sowie um Generic Receive Offload beim Empfangen. Das Team hebt in seinem Blog hervor, dass es sich dabei um vergleichsweise junge Techniken im Linux-Kernel handele.

Auch diese zwei Techniken nutzen wiederum die Idee, UDP-Pakete nicht einzeln vom Netzwerkstack des Linux-Kernel verarbeiten zu lassen, sondern als zusammenhängende Gruppe. Optimiert hat das Team darüber hinaus die Berechnung sowie die Verwendung der Prüfsummen der Pakete, die nun ebenfalls dank Offloading nicht mehr direkt verarbeitet werden müssen.


Relevante Themen