RFC 7413 - TCP Fast Open
- ステータス: Experimental
- 発行日: December 2014
- ストリーム: IETF
- エラッタ: エラッタなし
概要
本文書は、TCP Fast Open (TFO) と呼ばれる実験的な TCP メカニズムについて説明します。TFO は、TFO Cookie(TCP オプションフィールド)を使用して以前接続したクライアントを検証することにより、TCP ハンドシェイク中のデータ交換を可能にします。これにより、新しい TCP 接続のレイテンシが削減され、Web サービスなどのレイテンシに敏感なアプリケーションにとって特に価値があります。
技術的重要性: TCP Fast Open は、HTTP リクエスト-レスポンス時間を 1 往復時間 (RTT) 分短縮でき、特に短期接続に有効です。
目次
主要セクション
-
- 1.1. 動機
- 1.2. 主要概念
-
- 2.1. TFO Cookie リクエスト
- 2.2. TFO Cookie レスポンス
- 2.3. TCP Fast Open 接続
- 2.4. Cookie の再利用
-
- 3.1. TCP Fast Open Cookie リクエスト
- 3.2. TCP Fast Open Cookie 付与
- 3.3. TCP Fast Open
- 3.4. Cookie 処理
-
- 4.1. 攻撃脅威
- 4.2. 増幅攻撃
- 4.3. リソース枯渇
- 4.4. プライバシーに関する考慮事項
-
- 6.1. 規範的参考文献
- 6.2. 情報的参考文献
付録
主要な技術ポイント
TFO Cookie メカニズム
- Cookie 生成: サーバーはクライアント IP アドレスに基づく暗号化を使用して Cookie を生成
- Cookie 検証: クライアントは後続の接続で Cookie を含めて検証
- データ転送: 検証が成功すると、SYN パケット内のデータをアプリケーション層で受信可能
パフォーマンス上の利点
- 1 RTT 分のレイテンシを削減
- 短期接続やリクエスト-レスポンスパターンに特に適している
- Web ブラウジングや API 呼び出しのパフォーマンスが大幅に向上
セキュリティ保護
- 増幅攻撃を防止: SYN データサイズを制限
- リソース枯渇を防止: Cookie 検証メカニズム
- 互換性: 従来の TCP と透過的に共存
関連 RFC
- RFC 793: Transmission Control Protocol
- RFC 6994: Shared Use of Experimental TCP Options
- RFC 7323: TCP Extensions for High Performance
実装状況
この RFC は実験的であり、いくつかの主要なオペレーティングシステムに実装されています:
- Linux カーネル (3.6+)
- Apple iOS および macOS
- Windows 10 (1607+)
注意: 実験的ステータスは、このメカニズムがまだ評価中であることを意味します。実装時にはセキュリティと互換性への影響を慎重に考慮する必要があります。