QUICで高速化したSASEクライアント:プロキシモードを再構築
公開日: 2026-03-05 — Koko Uko, Logan Praneis, Gregor Maier — 3分で読めます
プロキシを使ってゼロトラスト環境を保護する必要があるとき、多くの場合コストとしてユーザー側のパフォーマンス低下が発生します。クライアントプロキシを導入した直後、セキュリティチームはしばしばブラウザの遅さ、ファイル転送の遅延、ビデオ通話の途切れなどに関するサポートチケットの対応に追われます。時間が経つと「プロキシのせいだ」と決めつけてしまい、実際にパフォーマンスに影響を与えている他の要因を見落とすこともあります。
私たちは、セキュリティを犠牲にすることなくユーザーをより高速にできるはずだと考え、プロキシモードのアプローチを根本から再構築しました。
旧来の実装と課題
Cloudflare One向けデバイスクライアントの初期開発では、汎用互換性を優先していました。管理者がプロキシモードを有効化すると、クライアントはローカルのSOCKS5またはHTTPプロキシとして動作しました。しかし、基盤となるトンネルアーキテクチャがWireGuard(Layer 3, L3プロトコル)を用いていたため、アプリケーション層のTCPトラフィック(Layer 4, L4)をL3トンネルに流し込むという技術的な壁がありました。
デスクトップクライアントはWindows、macOS、Linuxの複数プラットフォームで動作するため、カーネルに頼る方法は採れませんでした。そこで私たちは、ユーザー空間でL4→L3変換を行うために、Rustベースのユーザー空間TCP実装であるsmoltcpを採用しました。ローカルプロキシにパケットが到着すると、クライアントはsmoltcpを使ってL4のストリームをL3パケットに変換し、WireGuardトンネルへ流していました。
この方式は機能したものの効率的ではありませんでした。smoltcpは組み込み向けに最適化されており、最新のTCP機能をサポートしていません。さらにCloudflareのエッジ側では、L3パケットを再びL4ストリームに戻す必要がありました。結果として、特に多数の同時接続を開くメディア重視サイトでは、パフォーマンスの上限が顕在化しました。高性能なTCPスタックがないため、高速な回線上でも高いレイテンシと遅い読み込み時間が発生し、プロキシモードは他のモードと比べて明らかに遅く感じられていました。
QUICを用いた直接L4プロキシの導入
この問題を解決するため、Cloudflare Oneクライアントのプロキシモードをゼロから作り直し、プロキシモードでのWireGuard利用を廃止してQUICの機能を活用することにしました。私たちは既にIPパケットのプロキシにMASQUE(QUICの一部)を活用しており、これに加えてQUICストリームを使った直接的なL4プロキシングを追加しました。
HTTP/3(RFC 9114)のCONNECTメソッドを用いることで、トラフィックを本来あるべきレイヤー4のまま扱えるようになりました。ブラウザがクライアントにSOCKS5やHTTPリクエストを送ると、それはL3パケットに分解されるのではなく、直接QUICストリームにカプセル化されます。
このアーキテクチャ変更により、即座に得られる技術的利点は主に3つあります:
- L3変換(smoltcp)を回避: L3変換層を排除することで、IPパケット処理や
smoltcpのTCP実装の制約を取り除きます。
- QUICのネイティブ利点: 現代的な輻輳制御やフロー制御をトランスポート層がネイティブに処理します。
- チューニング性: クライアントとCloudflareエッジはQUICのパラメータを調整してパフォーマンスを最適化できます。
内部テストでは結果は明瞭で、ダウンロードとアップロードの速度は倍増し、レイテンシも大幅に低下しました。
最も恩恵を受けるユースケース
この更新は全体的な高速化をもたらしますが、特に以下の3つの一般的なユースケースで大きな効果を発揮します:
- 第三者VPNとの共存: レガシーVPNが特定のオンプレ資源のために必要、あるいは冗長性/コンプライアンスのために二重SASE構成が必要な場合、ローカルプロキシモードはウェブトラフィックにゼロトラストを追加するための定番ソリューションです。本アップデートにより、セキュリティの“重ね掛け”がユーザー体験の犠牲を意味しなくなります。
- 高帯域幅のアプリケーション分割: プロキシモードは特定のブラウザトラフィックだけをCloudflare Gatewayへ誘導し、OSの他トラフィックはローカルネットワークに残す用途でよく使われます。高解像度のストリーミングや大規模データセットの扱いがパフォーマンスを犠牲にせず可能になります。
- 開発者・パワーユーザー: CLIツールやスクリプト用のSOCKS5セカンダリリスナーに依存するユーザーは即座に恩恵を受けます。プロキシ経由のリモートAPI呼び出しやデータ転送は、Cloudflareのグローバルネットワークと同等の低レイテンシ接続の恩恵を受けます。
始め方
プロキシモードの改善は、Windows、macOS、Linuxデバイス向けにクライアントの最小バージョン2025.8.779.0で利用可能です。これらのパフォーマンス向上を利用するには、最新のCloudflare One Clientを実行していることを確認してください。
設定手順の概要:
- Cloudflare Oneダッシュボードにログインします。
- Teams & Resources > Devices > Device profiles > General profiles に移動します。
- 編集するプロファイルを選ぶか新規作成し、Service modeを
Local proxy mode、Device tunnel protocolをMASQUEに設定します。
- クライアントマシンでアクティブなプロトコルを確認するには、ターミナルで次のコマンドを実行します:
warp-cli settings | grep protocol
詳細な有効化手順はドキュメントを参照してください。
まだSASEを始めていない場合は、最大50ユーザーまでの無料Cloudflare Oneアカウントにサインアップできます。アカウントを作成し、Cloudflare One Clientをダウンロードして、オンボーディングガイドに従えばチーム全体でより高速で安定した接続が体験できます。
Cloudflareの接続クラウドは、企業ネットワーク全体を保護し、インターネットスケールのアプリケーションを効率的に構築するのに役立ち、ウェブサイトやインターネットアプリケーションの高速化、DDoS攻撃の阻止、ハッカーからの防御、ゼロトラストへの移行支援を行います。任意のデバイスから1.1.1.1にアクセスして、インターネットをより速く安全にする無料アプリを始めてください。
私たちのミッション(より良いインターネットを作る)について詳しく知りたい場合は、start hereを参照してください。新しいキャリア方向を探しているなら、オープンポジションもご覧ください。
関連タグ: SASE, Proxying, Cloudflare Zero Trust, Zero Trust, Cloudflare One, Cloudflare One Client, Connectivity, TCP