T1#standard
TCP/IP への切り替え ── 「フラグ・デー」

メタデータ
- 日付
- 年代
- 1980s
- Tier
- T1
- 出典数
- 10
- 関連項目
- 03
- Tags
- #standard
TCP/IP は、別々に作られたネットワーク同士をひとつのインターネットとして動かすための2つのプロトコルである。IP が個々のパケットをネットワークをまたいで運び、TCP がそれを番号順にそろえた確実なデータの流れに変えてプログラム同士をつなぐ。TCP/IP は一日で発明されたものではない。Vint Cerf と Bob Kahn が1973年に設計をまとめ、1974年5月に IEEE Transactions on Communications で発表した。その論文の単一のプロトコルが TCP と IP に分かれたのが1978年、2つが RFC 791 と RFC 793 として標準化されたのが1981年9月である。そして 1983年1月1日、ARPANET はホストの通信方式を旧来の NCP から TCP/IP へ切り替えた。この「フラグ・デー」が、TCP/IP が実験ではなくネットワークの実運用のプロトコルになった日である。
| 時期 | 出来事 | 文書 |
|---|---|---|
| 1973年9月 | 最初の文書版が Sussex 大学での国際ネットワーク作業部会(INWG)の会合で配布される | INWG#39 |
| 1974年5月 | Cerf と Kahn が設計を発表(原稿受理は1973年11月5日) | 「A Protocol for Packet Network Intercommunication」 |
| 1974年12月 | Cerf・Yogen Dalal・Carl Sunshine による最初の詳細仕様 | RFC 675 |
| 1978年 | 1つのプロトコルが、伝送の TCP と網間配送の IP の2つに分かれる | ── |
| 1980年 | TCP/IP が米国防総省の標準として採用される | ── |
| 1981年9月 | IP と TCP が国防総省標準として公開される | RFC 791、RFC 793 |
| 1981年11月 | 移行計画が1983年1月1日を期限に定める | RFC 801 |
| 1983年1月1日 | NCP が停止され、ARPANET は TCP/IP で動き始める | ── |
1972〜74年 ── Kahn、Cerf、そしてゲートウェイ
Internet Society の歴史記述は、「オープン・アーキテクチャのネットワーク」という考え方を、1972年に DARPA に着任して間もない Bob Kahn に帰している。問題は、DARPA が出資するパケット網が ARPANET だけではなくなっていたことだった。パケット無線網もその一つである。一方、ARPANET のホスト間プロトコル NCP は端から端までの信頼性を ARPANET 自身に頼っており、宛先の IMP より先にある機械を指定することもできなかった。パケットが失われれば、NCP はそのまま止まってしまう。1973年春、Kahn は当時 Stanford にいた Vint Cerf に詳細設計への協力を求めた。同年9月には最初の文書版が INWG#39 として Sussex 大学で配布されている。
論文「A Protocol for Packet Network Intercommunication」は1974年5月号(vol. COM-22, no. 5, pp. 637–648)に載った。要旨によれば、このプロトコルは異なるパケット交換網のあいだで、網ごとに違うパケット長、伝送の失敗、順序制御、フロー制御、端から端までの誤り検査、そしてプロセス間の論理接続の確立と解放を扱う。今日でも見覚えのある考え方が2つある。網と網をつなぐ装置に、著者たちは GATEWAY という名を与えた ── のちのルータである。そして信頼性はネットワークの仕事ではない。各ホストに置かれた「transmission control program (TCP)」が、そこで動くプロセスに代わってメッセージの送信と受け取りを受け持つ。
1974年12月 ── RFC 675
1974年12月、Cerf・Yogen Dalal・Carl Sunshine は RFC 675「Specification of Internet Transmission Control Program」を出した。その謝辞は、TCP がいまも接続を開くときに使う3ウェイ・ハンドシェイクと初期シーケンス番号の選び方を、BBN の Ray Tomlinson ── ネットワーク電子メール で知られる人物 ── の貢献として挙げている。DARPA はその後、Stanford(Cerf)、BBN(Tomlinson)、ロンドン大学ユニバーシティ・カレッジ(Peter Kirstein)の3か所に実装を発注し、Internet Society によれば、独立に作られた3つの実装は互いに通信できた。
1978年 ── 1つのプロトコルが2つになる
1974年の設計は、すべてを1つのプログラムでこなすものだった。しかし、すべてのバイトを順番どおりに届ける必要のない用途 ── Internet Society の記述は1970年代のパケット音声を挙げる ── では、失われたパケットを TCP が再送するのではなくアプリケーション側に任せるべき場合があると分かってきた。1978年、Cerf・Jon Postel・Danny Cohen は、IEEE Communications Society の記述によれば、TCP をホスト間の伝送層プロトコル(TCP)と網間のネットワーク層プロトコル(IP)の2つに分けることを提案した。IP は個々のパケットのアドレス指定と転送だけを受け持ち、TCP はその上で順序と信頼性を担う。さらに、IP の基本的なデータグラム配送をプログラムが直接使えるように、3つ目のプロトコル UDP が加えられた。
1981年 ── RFC 791 と RFC 793
1981年9月、USC の Information Sciences Institute は、いまもプロトコル名の基準点になっている2つの仕様を公開した。Jon Postel が編集した RFC 791 は、国防総省標準のインターネット・プロトコルを定める文書であると冒頭で述べ、IPv4 が今日まで使う32ビット(4オクテット)のアドレスを定義している。RFC 793 は国防総省標準の Transmission Control Protocol を記述し、ARPA の TCP 仕様にはそれ以前に9つの版があり、本文はそれらに大きく依拠していると書く。どちらも DARPA の情報処理技術室(IPTO)のために作成された。国防総省はすでに1980年に TCP/IP を防衛標準として採用していた。
1983年1月1日 ── フラグ・デー
標準がそろうと、Postel の RFC 801(1981年11月)が切り替えの段取りを示した。目標は明快で、1983年1月1日までに NCP から IP/TCP へ完全に切り替えるというものだった。計画は段階を踏んでいる。
| RFC 801 の節目 | 目標時期 |
|---|---|
| 最後の NCP ホストの移行開始 | 1982年1月 |
| メール中継サービス | 1982年1月 |
| 通常のインターネット・サービス | 1982年7月 |
| 最後の NCP ホストの移行完了 | 1982年11月 |
| 完全なインターネット・サービス ── NCP を停止し、全サービスを TCP ベースに | 1983年1月 |
Internet Society はこれを、すべてのホストに同時の移行を求める「フラグ・デー」型の移行と呼び、コミュニティの中で数年がかりで計画され、驚くほど円滑に進んだと記している。1983年1月1日、NCP は運用から外された。切り替えによってネットワークを分けることも可能になり、軍の運用系は MILNET として独立し、ARPANET は研究用として残った。
その後
同じ年のうちに、もう一つの部品が加わる。1983年11月、Paul Mockapetris が ドメインネームシステム(DNS) を発表し、ホスト表1枚に頼っていた名前の管理を分散したネームサーバへ置き換えた。また Internet Society の歴史記述は、Berkeley 版 Unix(BSD)のリリースに TCP/IP が組み込まれたことを、研究者コミュニティへの普及にとって決定的な要素だったとしている。UNIX を動かしている大学の計算機が、そのままこのプロトコルを話せるようになったのである。
1981年の文書は長く使われた。RFC 793 は40年以上にわたって TCP の仕様であり続け、2022年8月の RFC 9293 が、それを修正してきた RFC 群とともに廃止・統合した。
TCP と IP の役割分担は用語集の TCP/IP に、周辺の出来事は インターネットと Web の年表 に、設計者の一人については Vint Cerf にある。
よくある質問
- TCP/IP はいつ、誰が発明したのですか。
- Vint Cerf と Bob Kahn が1973年に設計をまとめ、1974年5月の論文「A Protocol for Packet Network Intercommunication」で発表しました。ただしこの時点では単一のプロトコルで、TCP と IP に分かれたのは1978年、RFC 791・793 として標準化されたのは1981年9月、ARPANET で実運用に入ったのは1983年1月1日です。
- TCP/IP のフラグ・デーとは何ですか。
- 1983年1月1日に ARPANET が NCP から TCP/IP へ切り替えた日のことです。すべてのホストに同時の移行を求める方式で、Jon Postel の RFC 801(1981年11月)が期限を定め、その日に NCP は運用から外されました。
- TCP と IP はなぜ、いつ分かれたのですか。
- 1978年です。パケット音声のように、失われたパケットを TCP に再送させずアプリケーションに任せたい用途があると分かり、Cerf・Jon Postel・Danny Cohen が、伝送層の TCP と網間配送の IP に分けることを提案しました。IP を直接使うための UDP もこのとき加わりました。
- TCP の仕様はいまも RFC 793 ですか。
- いいえ。RFC 793 は40年以上使われた後、2022年8月の RFC 9293 によって、それを修正してきた RFC 群とともに廃止・統合されました。
出典
1974年5月号の書誌、原稿受理1973年11月5日、GATEWAY と transmission control program (TCP) の記述
1974年12月の最初の詳細仕様。Tomlinson の3ウェイ・ハンドシェイクへの謝辞
一次資料RFC 791: Internet Protocol — J. Postel (ed.), ISI, September 1981
国防総省標準 IP、32ビットのアドレス、DARPA IPTO 向け
一次資料RFC 793: Transmission Control Protocol — ISI, September 1981
国防総省標準 TCP。それ以前の9つの版に依拠すると記す
一次資料RFC 801: NCP/TCP Transition Plan — J. Postel (ISI), November 1981
1983年1月1日までの完全な切り替えという目標と、段階ごとの節目
一次資料RFC 9293: Transmission Control Protocol (TCP) — W. Eddy (ed.), August 2022
RFC 793 とその修正 RFC 群を廃止・統合
二次資料Brief History of the Internet — Internet Society
Kahn の1972年の構想、1973年春の Cerf 参加、INWG#39、パケット音声と分割、UDP、1980年の防衛標準化、フラグ・デー、MILNET、BSD
二次資料TCP Split into TCP/IP (1978) — IEEE Communications Society
1978年に Cerf・Postel・Cohen が TCP を TCP と IP に分ける提案をした
最終更新: