Tailscaleがマルチキューでさらに高速化へ

Making Tailscale Faster

Tailscaleがマルチキューでさらに高速化へ

TailscaleはこれまでNAT越えやデータプレーンの性能改善に注力し、LinuxでのTCPスループット向上や10Gb/s超え、UDPの4倍高速化などを実現してきた。今回、小さいパケットのメモリオーバーヘッド削減やwritevの活用に加え、サブネットルーターやアプリコネクタ、出口ノード向けのマルチキュー処理を導入。さらにnetmapキャッシュで起動を高速化する。これらの改善はv1.104以降で順次提供される予定だ。

「悪いネットワーク条件——まさにそこが、人々がnetmapキャッシュから多くの効用を得られる領域です」とClaus Lensbøl氏は語る。「[デバイスクライアントは言う]『ねえ、まだコントロールと話してないけど、すぐにできるだろう。その間に、君はまだ何かを始められるよ』と。」
  1. apenwarr

    (Tailscaleの共同創業者です) ここでカーネルwireguardを使えば速くなるというコメントをいくつか見かけましたが、そう単純な話ではありません。実際、しばらくの間(それについてブログ記事も書きましたが)、私たちの最適化によってwireguard-goの方がカーネルwireguardよりも速くなっていました。より最適化されていたからです。彼らはその改善のいくつかを取り入れて、今度は一緒に次の桁を目指しています。

    非常に高い帯域幅が必要なケースでは、DPDKのようなものが長期的に最適な選択であり、主にユーザースペースで動くのも正当な理由があります。カーネルモードはかつてのような純粋な利点ではありません(かつてそうだったとしてもですが)。

    別の話として、wireguard自体に、使っている暗号スイートがハードウェアアクセラレータでサポートされていないという問題があります。なので、数百ギガビットの領域に踏み込みたいなら、パケットフォーマットを完全に切り替える必要があるかもしれません。(ただ、wireguardはポスト量子暗号のサポートも更新する必要があるので、もしかしたら両方の問題を同時に解決して、私たちも参加できるかもしれません。)

  2. iscoelho

    私の意見では、これがTailscaleの最大の問題です。

    遅いのです。通常使われるクライアントシステム(WindowsとMac)では1Gbpsを超える速度を達成できません。Linuxでは、合成の大きなパケットのベンチマーク[1]を使っても10Gbpsを達成するのに苦労します。IMIXベンチマークでは、まったく競争力がないでしょう。

    この問題は修正可能です。WireGuardは(カーネル実装とユーザースペース実装の比較で)より高いパフォーマンスを達成し、IPsec実装は100Gbps/400Gbps(DPDK/XDP)を達成できます。ゼロコピーネットワーキングです。

    このブログ記事から言えるのは、Tailscaleはまだそこまでの意欲がないように見えるということです。残念です。

    [1] https://tailscale.com/blog/more-throughput

  3. fitblipper

    以前はTailscaleが大好きでした。それから自宅ネットワークにwireguardを導入し、動的DNSプロバイダー経由でインターネットに公開したら、すぐに無関係になりました。素のwireguardの方が安定しているだけでなく(携帯電話のDNS問題と格闘する必要がありません)、速く感じられ、セットアップも驚くほど簡単です。

  4. CharlesW

    この記事がLinux/Androidに焦点を当てているのは、単にそこで始めたからなのか、それともLinux/Androidでしか使えないテクニックを活用しているからなのか気になります。

  5. ykurtov

    私たちのユースケースでは、250セッションでトンネルを通して毎秒わずか60mbを流しただけで、レイテンシが放物線状に悪化しました。

この日のほかの記事

2026-09-23