2022/08/09 追記 「RFC 9293 Transmission Control Protocol (TCP)」として正式なRFCが出ました
TCPのコア部分の仕様は1981年に発行された「RFC793 TRANSMISSION CONTROL PROTOCOL」で標準化されています。
この、RFC793の改訂版となる「Transmission Control Protocol (TCP) Specification」は、2013年からIETFのTCPM WGで議論されてきましたが、4月4日にIESGによって承認されました(参考URL)。現在はRFC出版の準備に入っています(新しいRFC番号はこの後正式に決まります)
改めてTCPの仕様を読みたい場合はこのドキュメントを読むのが良さそう。
概要
この改訂版の仕様(通称 rfc793bis)は、RFC793が公開されて以来断片的に公開されたTCPに関連する追加のRFCを一つにまとめ直しています。
ですので、プロトコルとしてこの改訂により大きな変更があるわけではなく、すでに標準化されているものが整理される形になります。
例えばTCPの基本的な機能について述べた次のRFCが取り込まれます
- RFC879 The TCP Maximum Segment Size
- RFC2873 TCP Processing of the IPv4 Precedence Field
- RFC6093 On the Implementation of the TCP Urgent Mechanism
- RFC6429 TCP Sender Clarification for Persist Condition
- RFC6528 Defending against Sequence Number Attacks
- RFC6691 TCP Options and Maximum Segment Size (MSS)
その他にも「RFC5961 Improving TCP's Robustness to Blind In-Window Attacks」の内容を、このrfc793bisで更新します。
その他にも、すでに報告されていた仕様上のエラッタなどが修正されている他、新しく公開された輻輳制御アルゴリズム(RFC2581, RFC5681, RFC6298)など多くのドキュメントを参照するようアップデートされています。
RFC793からの変更点
rfc793bisでは「5. Changes from RFC 793」に、RFC793からの変更点がまとめられています。(先にあげたRFCの取り込みとかぶりますが、かいつまんで紹介)