
2026/10/18 23:31
Show HN: Ranet3 – パフォーマンスの高いポリシールーティング付き IPsec メッシュ SD-WAN
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
「ranet3」プロトコルスタックは、標準的な IKEv2 暗号化(Ed25519 キー使用)、Babel ルーティング(RTT メトリクス付き)、および SRv6 ヘッダーを活用することで、柔軟かつ低遅延のメッシュ networking に適した高性能ソリューションです。このアーキテクチャにより既存ツールとの完全な相互運用性が確保され、Tailscale、ZeroTier、NetBird、Nebula といった主要なメッシュソリューションと並走して利用することが可能になります。システムは優れたスループットと応答性を提供します:2026 年 10 月 15 日に実施したベンチマークテスト(Intel Xeon Gold 6130、Intel X710 NIC を搭載する Dell PowerEdge C6420 ホスト 2 台を Dell S5296F-ON スイッチで接続)において、ランニングユーザースペース環境で ranet3 が 10 GbE ペイロード上限の 95% を達成しました。飽和条件下でも遅延は最小限に抑えられ、p99 RTT はカーネルデータプレーンでは 0.85 ms〜2.51 ms、ユーザースペースでは 1.6 ms〜2.1 ms の範囲で推移しました。SRv6 ウェイポイントによる精密なトラフィック制御が可能で、エグレスノード到達前にカスタム順序で構成することもできます。さらに、オプションのカーネルレベル実装はユーザースペース版に対し最大 1.5 倍の性能向上をもたらします;特にテストされたカーネル実装の WireGuard は、特定の負荷シナリオにおいて wireguard-go に比べ 1.2〜1.5 倍高速であることが確認されました。本システムは、卓越したスループットとカスタマイズ可能なルーティングパスを必要とする組織にとって、堅牢かつ互換性の高い代替手段を提供します。
本文
パフォーマンスの高いポリシーベース IPsec メッシュ SD-WAN: ranet3
🛠️ プロトコルとルーティングの基盤
標準プロトコルの選定
ピア間通信には以下の標準プロトコルのみを使用し、互換性を検証済みです:
- IKEv2: Ed25519 鍵を使用したセッション
- ESP: Ed25519 鍵を使用したトンネル化
- Babel: RTT メトリクスに基づく動的ルーティング
- SRv6: Linux カーネル内の
モジュールによるヘッダー操作seg6local
互換性と特徴
- 汎用性: ranet3 は、Ed25519 鍵および Babel/SRv6 を対応する他のルーターやスイッチと即座に連携可能です。
- 並列実行: Tailscale, NetBird, ZeroTier などの専用エージェントとは異なり、同じホスト上で並走して動作します。
🚀 レイテンシールーティング (RTT Routing)
Babel は全リンクの往復時間(RTT)を継続的に測定し、最適な経路を自動選定します。
- 経路選択ロジック:
- 直結リンクが低速な場合でも、リレー経由の高速なパスを選択します。
- パケットロスや障害はリンクの信用度低下として重み付けされます。
- 直結リンクが復旧・高速化すると、自動的に経路が戻ります。
動作例
| 経路構成 | RTT | 状態 |
|---|---|---|
| A → B → C (直結) | 40 ms | 低速 |
| D (リレー経由) | 265 ms | 高速 |
| 選択経路 (B 経由) | 80 ms | 🏆 最適 |
結論: トラフィックは常に最も高速な経路を選択します。
🧭 セグメントルーティング (Segment Routing)
送信元・宛先プレフィックスに基づくポリシーにより、指定されたウェイポイントを経由してデータを送出します。
- 実装場所: ユーザー空間実装のため、SRv6 サポートのない XNU カーネル (macOS) でも動作します。
- 構成の柔軟性: ユーザーがウェイポイントの順序を自由指定し、重複も許容します。
- 例: A→B→C→B→D(エグジット:D)
環境定義
- データ転送先 (DT): 46 ノード
- ラップトップ: インターネットへデフォルトルート
📊 ベンチマーク結果
測定日: 2026 年 10 月 15 日
環境: Dell PowerEdge C6420 x2, Intel Xeon Gold 6130, NIC Intel X710 (10 Gbit/s)
メインメトリック
| メトリック | 結果・詳細 |
|---|---|
| スループット | 8.39 Gbit/s (10 GbE ペイロード制限の 95%, 最大可能 8.84 Gbit/s) |
| Kernel WireGuard vs. | スループットが 1.2〜1.5 倍向上 |
| wireguard-go vs. | 飽和状態での RTT p99: 1.91〜4.96 ms |
| カーネルデータプレーン | 飽和状態中央値: 0.85〜2.51 ms |
ヘッドトゥヘッド (Head to Head)
以下の 6 テストにおいて、他のデータプレーンとの比較結果:
- Kernel WireGuard: 单向 5.1〜5.4 Gbit/s (トンネルなし TCP)
- Kernel IPsec: 単一 NIC キュー制限により 4.0〜4.7 Gbit/s に収束
注記: カーネル空間とユーザー空間の両方とも、パケットを独自プロセスへコピーするため通常はカーネルベースが高速です。しかし、ranet3 は IPsec でもKernel WireGuard を上回る性能を発揮しています。
全結果サマリー
- スループット: 飽和時の受信用 Gbit/s(数値が高いほど◎)
- CPU コスト: 提供量 3 Gbit/s あたりの忙しんコア数(両ホスト合計、数値が低いほど◎)
- Kernel IPsec は 6 Gbit/s の負荷を 4.67/4.14 Gbit/s でしか賄えず非効率。
- レイテンシ: 飽和時の RTT p99(数値が低いほど◎)
🔧 環境設定と測定方法
ハードウェア構成
- ホスト OS: Debian 13
- プロセッサー: Intel Xeon Gold 6130 (16 コア / 32 スレッド)
- メモリ: 192 GiB
- ネットワーク: Intel X710 (SFP+, 各单向 10 Gbit/s) × 2
- スイッチ: Dell S5296F-ON
ソフトウェアスタック
- カーネル: Linux 6.12.11 (
モジュール搭載)seg6local - ツール群:
- wireguard-go:
0.0.20250522 - wireguard-tools:
1.0.20260223 - iproute2:
7.1.0 - iperf3:
3.2.1
- wireguard-go:
測定条件詳細
- トラフィック: TCP (cubic アルゴリズム), 内層 MTU 1400
- ストリーム数: 1 ストリーム、8 ストリーム
- ロード条件:
- スループット/レイテンシ測定: 飽和状態
- CPU コスト測定: 各方向 3 Gbit/s
- 方向性: 单向・両方向同時計測
- 実行手法: データプレーンを交互に実装し、10 秒実行を 3 回繰り返し中央値を計算
- CPU 集計:
の Busy コアを両ホスト合計(ピン留めなし)/proc/stat
ライン制限 (Throughput Limits)
- ESP + TCP ペイロード (单向): 8.84 Gbit/s
- トンネルなし (両方向合計): 18.76 Gbit/s