スクリーンショット_2019-05-04_22

RFC1からTCPが生まれるまでのBob Kahnの思考を辿る(2)

前回はTCP/IPを発明したBob KahnがARPANETからIMPの開発を委託されていたBBNの一員だった頃の話を取り上げたが、今回はBBNを辞めてからの動きを追ってみる。

1969年頃に「Kahnと議論したら、彼はこう言ってたよ」とフランクな感じでRFCに出ていたBob Kahnは暫くRFCでの議論に登場しなくなり、1974年5月に公開されたRFC626で、こんな形で名前が出てくる。

The best known lockup that has occurred in the ARPANET is the reassembly lockup [1]. The store-and-forward lockup, also described in Reference 1, has been avoided in the new IMPSYS by carefully observing Kahn's heuristics [1].

初期のIMPではロックアップという現象がよく起こっていたようだ。その中のひとつはKahnのheuristics(発見的教授法)によって回避された。この手法についてKahnがBBN在籍時に論文を書いている。

In this paper, we examine in some detail the nature of the flow control required in the subnet and its relation to the host flow control and subnet performance.

IEEEの会員でないので33ドル払わないと読めないが、サブネットで要求されるフロー制御のnature(性質)とホストのフロー制御とサブネットの性能の関係について説明している。TCPの特徴のひとつであるフロー制御の元となるアイデアだ。

ARPANETが始まった当初はUCLAにいたVint Cerfも、いつの間にかStanfordに移っており、同じく1974年5月に、このようなRFCを公開する。

This paper presents some theoretical and practical motivations for the redesign of the ARPANET communication protocols. Issues concerning multipacket messages, Host retransmission, duplicate detection, sequencing, and acknowledgment are discussed.

ARPANETの通信プロトコルをredesign(再設計)しようという提案している。マルチパケットメッセージ、ホスト再送信、重複検知、sequencing(順序付け)、そしてacknowledgmentを盛り込もうという話だ。

In an earlier paper [9], the author and R. Kahn propose a more robust flow control scheme including ideas found in the French CYCLADES network [10]. Essentially, the receiver allocates a window representing the span of sequence numbers that the sender may transmit. Acknowledgments from the receiver to the sender indicate the largest sequence number received so far (implicitly acknowledging all those preceding), and also indicate the .current width of the window.

CerfとKahnによって書かれた論文でrobust(強靭)なフロー制御を提案している。CYCLADESはフランス版ARPANETとでもいうべき実験ネットワークで、この技術を参考にしている。このCYCLADESの設計に携わったLouis Pouzinは後にInternet Hall of Fame(インターネットの殿堂)にも選ばれている。

A protocol that supports the sharing of resources that exist in different packet switching networks is presented. The protocol provides for variation in individual network packet sizes, transmission failures, sequencing, flow control, end-to-end error checking, and the creation and destruction of logical process-to-process connections. Some implementation issues are considered, and problems such as internetwork routing, accounting, and timeouts are exposed.

こちらも非会員は33ドル払わないと読めない(と思いきや、勝手にPDFを掲載してるサイトが幾つかある)。Kahnにとって3回目、Cerfにとって2回目のIEEE投稿だ。

この当時のRFCはUCLAやSRIといった大学関係者が主役という印象だが、意外に論文ベースでの議論は少ない。RFCをIEEEで検索してみると冒頭で引用したRFC626でKahnがBBN時代にまとめた論文の参照と、このRFC635でのCerfとKahnによる論文の参照ぐらいだ。

ここから単なる妄想だが、急ピッチで進む国家プロジェクトであるARPAのメンバーが論文を書く暇もなくRFCで少しずつコメントを重ねてプロトコルを決めていた。それに対し、Bob KahnはRFCから少し距離をおき、落ち着いて論文を書いた。このモード・チェンジこそがTCP/IPの発明につながったのではないだろうか。

では、何が彼をそうさせたかという話は次回に。

この記事が気に入ったらサポートをしてみませんか?