Contexte et objectifs

Tailscale, basé sur le protocole WireGuard®, a toujours misé sur la traversée NAT comme avantage différentiel. Au‑delà de la connectivité, les ingénieurs ont ciblé le plan de données, où la latence et le débit conditionnent l’usage dans les CI, les environnements de développement à distance ou les appareils robotisés. Depuis 2022, ils ont d’abord poussé le débit TCP sur Linux, puis ont fait dépasser les 10 Gb/s en wireguard-go sur du matériel nu, avant d’exploiter les offloads de segmentation pour multiplier par 4 le débit UDP.

Optimisation de la gestion des petits paquets

La plupart des flux Internet transportent des paquets d’environ 1 KiB. L’implémentation wireguard-go réservait toutefois un tampon unique de 64 KiB pour chaque lecture, obligeant le système à copier chaque petit paquet dans son propre espace de 64 KiB. Cette duplication consomme du temps CPU et de la mémoire. La nouvelle version, déployée sur Linux et Android, identifie les limites de chaque paquet à l’intérieur du gros tampon et évite la copie. Le résultat mesuré est une amélioration d’environ 5 % du débit dans de nombreuses configurations réseau. Parallèlement, les files d’attente intermédiaires ont été raccourcies ; les tests montrent que la profondeur maximale était rarement utilisée, et la réduction de ces files diminue le temps d’attente et libère de la RAM.

Architecture multi‑queue pour routeurs et connecteurs

Les routeurs de sous‑réseau, les connecteurs d’application et les nœuds de sortie traitaient auparavant tous les flux dans une seule pipeline ordonnée, garantissant l’absence de ré‑ordonnancement mais limitant l’utilisation des cœurs CPU. En 2026, Tailscale introduira un système multi‑queue qui crée autant de voies que les ressources matérielles le permettent, chaque flux conservant sa propre file. Cette parallélisation permet de répartir le travail sur plusieurs cœurs, augmentant la capacité agrégée et réduisant la latence de traitement. Les gains sont particulièrement visibles sur les nœuds de sortie, où de nombreux utilisateurs établissent des connexions de courte durée.

Impacts sur les performances et limites

Les améliorations combinées – réduction de la copie mémoire, files d’attente plus courtes et architecture multi‑queue – se traduisent par une latence moindre du moment où le paquet arrive sur le fil jusqu’à son injection dans le système d’exploitation. Les tests internes indiquent des gains de 10 % à 20 % sur les routeurs de sous‑réseau de grande taille et des augmentations similaires sur les connecteurs d’application. Cependant, les bénéfices dépendent de la capacité du matériel sous‑jacent : les machines avec peu de cœurs ou sans support d’offload ne verront qu’une partie des améliorations. De plus, la version wireguard-go reste la couche critique ; toute régression dans son code cryptographique pourrait annuler les gains de débit.