メインコンテンツまでスキップ

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)

附属書 (Appendices)


関連リソース


クイックリファレンス

TCPとは?

TCP (Transmission Control Protocol, 伝送制御プロトコル) は、インターネットプロトコルスタックにおける中核的なトランスポート層プロトコルであり、以下を提供します:

  • 接続指向 (Connection-Oriented) - 通信前に接続を確立
  • 信頼性のある伝送 (Reliable Transmission) - データが正しく到着することを保証
  • 順序付き配信 (Ordered Delivery) - 送信された順序でデータを受信
  • フロー制御 (Flow Control) - 受信者の過負荷を防止
  • 輻輳制御 (Congestion Control) - ネットワーク輻輳を回避

主要機能

  • 3ウェイハンドシェイク - 接続確立
  • シーケンス番号メカニズム - 順序と信頼性を保証
  • 確認応答 - データ到着の確認
  • タイムアウト再送信 - パケット損失の処理
  • スライディングウィンドウ - フロー制御
  • 輻輳制御 - ネットワークの安定性

TCP vs UDP

機能TCPUDP
接続接続指向コネクションレス
信頼性信頼性あり信頼性なし
順序保証あり保証なし
速度遅い速い
オーバーヘッド大きい小さい
用途HTTP, SMTP, FTP, SSHDNS, ビデオストリーミング, ゲーム

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仕様