RFC 9293 - 伝送制御プロトコル (Transmission Control Protocol)
発行日: 2022年8月
ステータス: インターネット標準 (Internet Standard)
STD: 7
著者: W. Eddy (Ed.), MTI Systems
廃止: RFC 793, 879, 2873, 6093, 6429, 6528, 6691
更新: RFC 1011, 1122, 5961
概要 (Abstract)
本文書は伝送制御プロトコル (Transmission Control Protocol, TCP) を規定します。TCPはインターネットプロトコルスタックにおける重要なトランスポート層プロトコルであり、インターネットの使用と成長の数十年にわたって継続的に進化してきました。この期間に、RFC 793で指定されたTCPに多くの変更が加えられましたが、これらは断片的な方法でのみ文書化されてきました。本文書は、RFC 793のプロトコル仕様とともにそれらの変更を収集してまとめます。
本文書はRFC 793、およびRFC 793の一部を更新したRFC 879、2873、6093、6429、6528、6691を廃止します。RFC 1011および1122を更新し、TCP要件を扱うこれらの文書の部分の代替と見なされるべきです。また、SYN-RECEIVED状態でのリセット処理に小さな明確化を追加することでRFC 5961を更新します。RFC 793のTCPヘッダー制御ビットもRFC 3168に基づいて更新されています。
目次 (Table of Contents)
- 1. 目的と範囲 (Purpose and Scope)
- 2. 序論 (Introduction)
- 2.1 要求言語 (Requirements Language)
- 2.2 TCPの主要概念 (Key TCP Concepts)
- 3. 機能仕様 (Functional Specification)
- 3.1 ヘッダー形式
- 3.2 特定のオプション定義
- 3.3 TCP用語の概要
- 3.4 シーケンス番号
- 3.5 接続の確立
- 3.6 接続の終了
- 3.7 セグメンテーション
- 3.8 データ通信
- 3.9 インターフェース
- 3.10 イベント処理
- 4. 用語集 (Glossary)
- 5. RFC 793からの変更 (Changes from RFC 793)
- 6. セキュリティに関する考慮事項 (Security Considerations)
- 7. IANAに関する考慮事項 (IANA Considerations)
- 8. 参考文献 (References)
- 8.1 規範的参考文献
- 8.2 情報的参考文献
附属書 (Appendices)
- 附属書A. TCP接続状態図 (TCP Connection State Diagram)
- 附属書B. TCP要件の要約 (TCP Requirement Summary)
- 附属書C. TCP検証 (TCP Verification)
関連リソース
- 公式原文: RFC 9293
- 公式ページ: RFC 9293 DataTracker
- 正誤表: RFC Editor Errata
- STD 7: 本文書はインターネット標準7の一部です
クイックリファレンス
TCPとは?
TCP (Transmission Control Protocol, 伝送制御プロトコル) は、インターネットプロトコルスタックにおける中核的なトランスポート層プロトコルであり、以下を提供します:
- 接続指向 (Connection-Oriented) - 通信前に接続を確立
- 信頼性のある伝送 (Reliable Transmission) - データが正しく到着することを保証
- 順序付き配信 (Ordered Delivery) - 送信された順序でデータを受信
- フロー制御 (Flow Control) - 受信者の過負荷を防止
- 輻輳制御 (Congestion Control) - ネットワーク輻輳を回避
主要機能
- ✅ 3ウェイハンドシェイク - 接続確立
- ✅ シーケンス番号メカニズム - 順序と信頼性を保証
- ✅ 確認応答 - データ到着の確認
- ✅ タイムアウト再送信 - パケット損失の処理
- ✅ スライディングウィンドウ - フロー制御
- ✅ 輻輳制御 - ネットワークの安定性
TCP vs UDP
| 機能 | TCP | UDP |
|---|---|---|
| 接続 | 接続指向 | コネクションレス |
| 信頼性 | 信頼性あり | 信頼性なし |
| 順序 | 保証あり | 保証なし |
| 速度 | 遅い | 速い |
| オーバーヘッド | 大きい | 小さい |
| 用途 | HTTP, SMTP, FTP, SSH | DNS, ビデオストリーミング, ゲーム |
RFC 9293の重要性
RFC 9293 vs RFC 793:
- RFC 793 (1981) - 元のTCP仕様
- RFC 9293 (2022) - 最新標準、40年の進化を統合
- RFC 793および複数の更新を廃止
- 現代のTCP実装要件を明確化
- セキュリティとパフォーマンスのベストプラクティスを更新
主な改善点:
- すべてのTCP拡張機能と正誤表を統合
- 必須サポートオプションを明確化
- 輻輳制御要件を更新
- セキュリティの考慮事項を強化
- 現代のネットワーク環境を反映
一般的なTCPポート
- HTTP: 80
- HTTPS: 443
- SMTP: 25
- FTP: 20, 21
- SSH: 22
- Telnet: 23
- POP3: 110
- IMAP: 143
関連RFC:
- RFC 768 - UDP (ユーザーデータグラムプロトコル)
- RFC 791 - IP (インターネットプロトコル)
- RFC 5681 - TCP輻輳制御
- RFC 7323 - TCP拡張機能 (ウィンドウスケーリング、タイムスタンプ)
- RFC 7413 - TCP Fast Open
- RFC 8200 - IPv6仕様