付録 A. TCP SYN Cookies との比較
本付録では TCP Fast Open (TFO) と TCP SYN Cookies の 2 つのメカニズムを詳しく比較し、それぞれの異なる目標と適用シナリオを理解するのに役立てます。
A.1. 概要 (Overview)
TFO と SYN Cookies はどちらも「Cookie」の概念を使用していますが、まったく異なる目的に使用されます。
TFO (TCP Fast Open):
目標:接続遅延を削減し、パフォーマンスを向上
メカニズム:事前に割り当てられた Cookie、SYN データを許可
状態:ステートフル(Cookie をキャッシュ)
SYN Cookies:
目標:SYN Flood 攻撃を防御し、サーバーを保護
メカニズム:ステートレスな応答、ISN に情報をエンコード
状態:ステートレス(SYN-RECEIVED 状態を保存しない)
A.2. 機能特性の比較 (Feature Comparison)
| 特性 | TFO | SYN Cookies | 説明 |
|---|---|---|---|
| 主な目標 | パフォーマンス最適化 | セキュリティ保護 | 設計の意図が異なる |
| SYN データ転送 | ✓ サポート | ✗ 非サポート | TFO のコア機能 |
| 状態タイプ | ステートフル | ステートレス | SYN Cookies のステートレス性が鍵 |
| 接続遅延 | 1 RTT 削減 | 標準 3-way | TFO のパフォーマンス優位性 |
| サーバーリソース | 通常消費 | 極低消費 | SYN Cookies がリソースを節約 |
| TCP オプション保持 | 完全保持 | MSS のみ | SYN Cookies の制限 |
| Cookie 有効期間 | 時間〜日 | 分 | TFO Cookie は永続化 |
| 攻撃防護 | 中程度 | 非常に強力 | SYN Cookies は防御専用設計 |
A.3. 共存と協力 (Coexistence and Cooperation)
TFO と SYN Cookies は共存できます。
推奨設定:
通常時:
├─ TFO:有効(パフォーマンス最適化)
└─ SYN Cookies:有効だが非アクティブ(バックアップ)
軽度の攻撃:
├─ TFO:継続動作(レート制限あり)
└─ SYN Cookies:一部の接続で有効化
重度の攻撃:
├─ TFO:無効化または厳格に制限
└─ SYN Cookies:完全に有効化(主要な防護)
攻撃終了後:
├─ SYN Cookies:段階的に退出
└─ TFO:再有効化
A.4. 総括 (Summary)
TFO と SYN Cookies は競合関係ではなく、補完関係にあります。
TFO:
「速いものをさらに速く」— 通常の状況でパフォーマンスを最適化
SYN Cookies:
「遅くても使える」— 攻撃時でも可用性を維持
理想的な展開:
両方を同時に有効化し、ネットワーク状況に応じて動的に切り替え