"魔法使いが夜更かしする場所"
1957年から1989年までのアメリカ合衆国を舞台に、インターネットの起源である最初のコンピュータ通信ネットワーク "ARPANET" の誕生から終焉までを描いた書籍。
各章の要約は次の通り。
第一章「The Fastest Million Dollars」は ARPANET 構想の背景について。1957年のいわゆる「スプートニク・ショック」によってアメリカの科学技術の遅れが明らかとなり、国防総省において宇宙や防衛など先端研究を担う機関として ARPA が設立された。
ARPA はその設立直後に別途新設された NASA に予算の9割を奪われたものの、長期的な基礎研究を行うための機関として生き残った。空軍の予算削減で余ったコンピュータを入手し、当時コンピュータに関する先見的な論文を発表していた心理学者の J.C.R.Licklider を招いて IPTO を設立してコンピュータやネットワークに関する研究を始めた。
IPTO の director だった Bob Taylor は互いに異なる OS を持ち複数の研究所に点在するコンピュータにログインするために複数端末を使い分けていたが、その煩雑さに辟易していた。もしそれらのコンピューターを相互に接続できれば自分も楽になるし、計算資源や成果を研究者間で円滑に共有できる。Taylor はこれを実現する ARPANET 構想を上司に提案し、研究資金として100万ドルを得た。当時は大らかな時代で、20分の立ち話で決まったらしい。
第二章「A Block Here, Some Stones There」は ARPANET を構成する基本的な概念について。Taylor は ARPANET のプログラムマネージャとして、若い計算機科学者で大陸間の2台のコンピュータを接続する実験を成功させていた Larry Roberts を雇う。同じ頃 Paul Baran と Donald Davies はそれぞれ独立してパケット交換の概念を提唱する。
遠隔地の通信には電話回線が使われていたが、ホップ数が増えるに従い品質が低下する。電話では人間の耳と脳が補完するため信号の品質低下をカバーできるが、デジタルなデータは欠損すると正確な情報を伝えることができない。また、データ通信は突発的に増加する性質があるので、電話のように通信中に回線を占有するとかなりの数の回線が必要なことになってしまい非効率的である。そのため、パケットとしてデータを分割して複数の経路で送り、目的地で組み立て直すというアイデアが考え出された。
Roberts は ARPANET の構想を RfP としてまとめ競争入札のために様々な企業に送付したが、IBM など当時の大企業はその実現可能性の低さから次々と辞退した。その結果として Bolt Baranek and Newman(BBN)というボストンの無名なコンサルティングファームが契約を勝ち取った。
第三章「The Third University」は ARPANET の核となる IMP(Interface Message Processor の略で、host 間を仲介しネットワークを制御するためのコンピュータ。ルーティングやエラー処理、データの送受信等を行う)実装を担った BBN 社について。
創業当初 BBN は音響エンジニアリングのコンサルティング業を営んでいたが、コンピュータに興味を持ち前述の心理学者 Licklider を雇用した。BBN は当時としては最新のコンピュータを購入し Licklider という有名人がいたこともあり、様々な人材を惹きつけた。
同社は IBM などの大企業と比べて小さくシンプルな組織構造であり、リアルタイムなシステムの専門家として知られていた Frank Heart が在籍していたことで Roberts は高く評価していた。Heart は以前に Lincoln Lab でレーダーによる航空機の追跡や地震の検知等、高いリアルタイム性が要求されるシステムを開発していた。
自由でアカデミックな雰囲気から BBN はマサチューセッツ州ケンブリッジにおける「第3の大学」と呼ばれていた(MIT と Harvard の次という意味)。教育の義務やテニュアの獲得に気を遣わなくていいので、大学から移籍してくる研究者も多かったようだ。
第四章「Head Down in the Bits」は ARPANET の IMP 実装時に直面した技術的課題について。ARPANET はスケジュールが厳しく、1969年の年始に ARPA と BBN 社の間で契約が締結され、同じ年内に UCLA, SRI, UCSB, Utah の4箇所で IMP を稼働させなければならなかった。一方で、実現までには様々な技術的課題があった。
ネットワーク内でのデータ送受信の循環、メモリバッファの詰まりによる輻輳、RfP で要求された通信速度の実現、デバッグツールの開発、遠隔での監視と障害からの回復、データ欠損の検知、ハードウェアの障害など...
例えば輻輳について。各 IMP は単純化すると store-and-forward なシステムであり、host から送られたメッセージをパケットとして分割し転送する。目的地の IMP ではメモリバッファに保存しておき、揃ったら組み立て直して送信元の IMP に ack する。送信元は ack を待ってまた次のメッセージをパケットに分割して送る。ところが、ある IMP に送信が集中すると目的地の IMP でパケットを再組立する前にバッファが一杯になってしまい、送信データの再組立に必要だったパケットが IMP に流れ込むことができなくなる。結果として、ネットワークはデッドロックしてしまう。解決策としては、送ってから保存すると詰まるので(アナログな海運業のように)送信前にバッファの空き状況を確認してから送信することになった。
また、ハードウェアの信号処理にも問題があった。IMP はそのハードウェアとして Honeywell の DDP-516 を利用していたが、これには I/O の特定タイミングで処理が割り込んだとき信号を同期的に処理できなくなりクラッシュするという厄介な問題があった。原因に関する仮説はあったが、Honeywell は認めたがらなかった。解決策としては、DDP-516 に多大な負荷をかける装置を自作した上で DDP-516 の信号をオシロスコープで監視し、仮説を補強する証拠を集めた上で Honeywell に報告し fix してもらった。
BBN のエンジニア達は他にも次々と起きる問題を解決していったが、検証しきる時間もないままスケジュールが到来したのでぶっつけ本番で IMP の出荷が始まった。
第五章「Do It to It Truett」は ARPANET の開始と RFC について。ARPANET ではパケットを目的地に送り届けることに責任を持つが、実際に異なる host 間で通信するためのデータの標準的な形式は決まっていなかった。UCLA の大学院生だった Steve Crocker と Vint Cerf はそのための protocol として TCP を考案し RFC 1 として公開した。
RFC: Request for Comments は現在ではインターネットに関する標準を公開するための文書だが、当時はその名の通り「叩き台」だった。Crocker の意図としては「公式」の protocol デザイナー(実際にはそんな者は存在しなかった)に対してプレッシャーを与えないよう控えめな名前をつけたようだ。
"RFC" という名前により、ネットワークの標準は誰かに押し付けられるものではなく皆で作り上げるものという認識が広まった。ちなみに Crocker, Cerf, そして後に SMTP を考案し様々な RFC に貢献した John Postel の3人は同じ高校の同級生だったらしい。
1969年末までに予定通り4拠点に IMP が設置され ARPANET が稼働した。
第六章「Hacking Away and Hollering」は ARPANET の運用と一般公開について。西海岸の4拠点に設置された IMP が成功したことで、毎月のように新しい IMP が設置され ARPANET は東海岸にも拡大していった。BBN 社にも IMP が設置され、同社の社員が遠隔でネットワーク全体や IMP の状態を監視できるようになった。
ARPANET は1972年10月にワシントンで開催された国際会議 ICCC で一般公開された。当時大学院生だった Bob Metcalfe(後に Ethernet を発明する)は ARPANET の利用シナリオをまとめた小冊子を書いて配ったり、AT&T の重役にパケット通信のデモを行った。
ICCC に来場した通信会社やコンピュータ製造業者のエンジニア達の多くは、様々なデモを体験したことでこの技術が本物かもしれないと実感した。BBN 社で ARPANET に理論面から貢献してきた Bob Kahn はこの成功を次のように表現した。
"It was almost like the rail industry disbelieving that airplanes could really fly until they actually saw one in flight"
第七章「E-mail」はコミュニケーションツールとしての ARPANET について。ARPANET は政府の資金で作られた公的なネットワークだが、参加者はメールやゲーム等で私的に利用していた。1973年には ARPANET のトラフィックの 3/4 は電子メールによるものだった。元々 ARPANET の開発者たちにメッセージシステムに関するビジョンは無かったが、ネットワークに多くの人が参加すると自然にコミュニケーションのツールとして使われるようになった。
当初の電子メールは基本的に共有マシンの他のユーザーにメッセージを残すために使われていたが、BBN のエンジニア Ray Tomlinson は FTP を活用して他のマシンにメールを送れるようにした。Tomlinson はその際にユーザー名とマシンを分離するための文字として "@" 形式を使うようにしたが、これは現在でも使われている。人名に使われない + "at" で意味的にも分かりやすいという理由があったようだ。
様々なマシンの間でメールをやり取りするために RFC によるヘッダーの標準化が進められた(RFC 561, 680, 724, 733 等)。数多くのメールをやり取りしていた John Vittal は自分用に MSG というメール管理ソフトウェアを書いたが、やがて数千人に使われ国防総省がスポンサーするまでに成長した。RFC 733 はその MSG と互換性がなかったためにコミュニティから受け入れられなかった。ARPANET の世界では公式が何かを決めるのではなく、誰かが作った動くもののうち上手くいったものが標準となっていった(そもそも ARPA はいかなる RFC も支持しておらず「公式」は存在しなかった)。
第八章「A Rocket on Our Hands」は ARPANET の終焉とインターネットの誕生について。ARPANET の成功により、イギリスやフランスでもネットワーク構築プロジェクトが実施された。それらのネットワーク間を相互に接続する上で、TCP が標準的な protocol となった。BBN によって構築された ARPANET の IMP は非常に信頼性が高かったが、全てのネットワークにそれと同等の信頼性を要求することは不可能だった。そのため、TCP のようにパケット分割と再組立の責任を host に持たせる仕組みが採用された。
XEROX PARC では最初期のパーソナルコンピュータとして Xerox Alto が開発されていた。Metcalfe は開発に携わる過程で短距離かつローカルエリアのネットワークとして Ethernet を発明した。当時パケット通信において衝突を防ぐには ARPANET のような store-and-forward システムが必要とされていたが、オフィスや家庭に導入するには高価すぎた。Ethernet は異なるマシン間をケーブルで繋ぎ、データ送信前にケーブルを listen して他の通信を検知した際は一瞬待ってから再試行し、その backoff をランダムな時間に実行することで安価な方法でパケット衝突を防ぐことができた。
ISO はコンピュータネットワークの標準として OSI モデルを提示し TCP 支持派と衝突した。OSI 派は TCP を玩具のようなもの(おそらく仕様のシンプルさを指している)として軽蔑していたが、TCP 派は OSI が抽象的概念に過ぎず現実世界での実装が存在しないと批判していた。結局 OSI は普及せず TCP が生き残った。下記の文章がこの状況をよく表現していると考えられるので引用する。
"Standards should be discovered, not decreed," said one computer scientist in the TCP/IP faction. Seldom has it worked any other way.
ARPANET は発展を続ける一方で、計算機科学研究者のコミュニティを分断しつつあった。研究を進める上での資料入手やコミュニケーションの点で、ネットの役割は大きかった。しかし接続のためには高額な費用を負担する必要があり、通常は大学が政府の軍事研究を請け負って資金提供を受けていた。1979年当時アメリカには120のコンピュータサイエンス学部があったが、ARPANET に接続しているのは15校しかなかった。
全米科学財団 NSF は ARPANET より通信速度や冗長性が低い代わりに安価で利用できる CSNET(後に NSFNET として Internet 商用利用開始前の主要なバックボーンとなる)を構想し、初期の資金として5年分を提供した。CSNET は ARPANET の 1/5 ~ 1/10 の価格で利用でき、5年後には利用者から料金を徴収することで経済的に自立した。CSNET の成功により、BITNET, USENET, SPAN など様々なネットワークが誕生した。相互に接続されたネットワークの集合体はやがて "Internet" と呼ばれるようになった。
"Internet" 最初期にはその中心にいた ARPANET だが、政府による官僚的な管理では周囲のネットワークの進化についていけず、徐々に存在感が低下していった。新しい技術や製品を採用した後発のネットワークは ARPANET より数十倍高速で、接続費用も大幅に安かった。
役割を終えた ARPANET は20周年を迎えた1989年にシャットダウンされた。ネットワークを構成する IMP は一つずつ電源を落とされ、ケーブルを外され、ジャンクとして廃棄されたり博物館に収蔵されていった。
-----
以下は本書を読んだ感想。
私は毎日インターネットを使っている。Google でレストランを検索したり、YouTube で動画を視聴したり、Amazon で書籍や日用品を購入したり、Twitter(X) をだらだら眺めたり、インターネットの無い生活は考えられない。
本書ではインターネットの起源である「ARPANET」の誕生から終焉までを題材に、今日のインターネットがどのように生まれたかを当事者のインタビュー等を元に時代を追って解説していく。インターネットは誰か一人の英雄が作ったものではなく、多くの人々の労力によって構築されてきたことが分かる。
特に印象に残った点としては以下の3点がある。
素晴らしい成果と計画性の無さの gap
便利なものが標準になる。手を動かした人間が世界を変えていく
ARPANET と BBN 社の栄枯盛衰
まず「1. 素晴らしい成果と計画性の無さの gap」について。ARPANET が無ければ今日のインターネットは存在していないかもしれないが、当初から壮大な野心を持ったプロジェクトではなかった。「ソ連の核攻撃に耐えうる分散通信ネットワーク構想」という壮大な目的が語られることもあったがこれは後付けの理由で、発案者の Taylor によれば当初の目的は「各地の研究所に散らばった計算資源を簡単に共有、利用できるようにする」ことだった。Taylor にとっても複数のマシンにログインするため複数の端末を使い分けるのが面倒と感じており、身近な課題だったと言える。
ARPANET を実装した BBN 社も計画性は無かった。同社は元々はコンサートホール等の音響関係の建築設計コンサルタントで Licklider を雇うまでコンピュータとは何の関わりもなかったが、これからはコンピュータの時代だと考えて高価な設備を導入したり沢山の人を雇用していた。雇用しすぎてオフィスの机が足りず、本業だった建築設計の工場で余ったドアに足をつけて机にしていたらしい。ARPANET を構成する IMP はスケジュール通りに出荷されたが、バグも多く検証しきれないままサービスインしてしまう。
このように、初期の ARPANET 開発に携わった人々は最初から今のインターネットにつながる壮大な構想を抱いていたわけではなく、個人的な好奇心や期待感などからプロジェクトに加わっていった。一人の思いつきから始まった ARPANET が今日のインターネットにどれだけ貢献したかを考えると、事前の計画よりも手を動かして物を作ることが重要であるという印象を受ける。
次に「2. 便利なものが標準になる。手を動かした人間が世界を変えていく」について。本書では ARPANET の構築に貢献した人々の逸話が数多く登場する。その共通点として、オープンな姿勢でとにかく手を動かして叩き台や動く物を作るという点が挙げられる。
今日のインターネットを支える protocol である TCP は当時大学院生だった Steve Crocker と Vint Cerf が作った叩き台 "RFC 1" をもとに様々な人が議論して作られたもので、ISO のような委員会が決めて上から押し付けてくるものではない。実際に ISO が提唱した OSI は OSI 参照モデルとして教科書の上では生き残ったものの、具体的な実装はなかったので全く普及しなかった。
その RFC も常に受け入れられてきたわけではない。電子メールのヘッダーについて提案された RFC 733 は当時もっとも広く使われていたメール管理ソフト MSG と互換性がなかったためにコミュニティから反発された。叩き台(できればソフトウェアとして動作するもの)を作った上で広く使われた、受け入れられたものが標準になるというのは、一般ユーザーとしては官僚的な委員会や限られた特権的な人々が決めたことを守るより受け入れやすい。
IMP を開発した BBN には優秀なエンジニアが集まっていた。以下の文章に現れる BBN 社のエンジニア達の信念の重要性は現代でも変わらないと思う(第四章より引用)。
The team Heart had assembled knew how to make things that worked, if not perfectly, then well enough. They were engineers and pragmatists. All of their lives they had built things, connected wires, and made concepts real. Their ethos was utilitarian. At its core, all engineering comes down to making tradeoffs between the perfect and the workable.
このように、インターネットの歴史は実際に手を動かして動く物や叩き台を作る人々によって支えられてきた。
最後に「3. ARPANET と BBN 社の栄枯盛衰」について。ARPANET は計算資源の共有や互いに離れた拠点間のコミュニケーションを活発化し今日のインターネットの基礎を築いた偉大なプロジェクトだったが、開発当時の技術で高い信頼性を保つための高コストな設備やソフトウェアが仇となって時代の進化についていけなくなり、開始から20年でシャットダウンされた。
BBN 社は ARPANET プロジェクトの大成功により大きな収入を得て従業員も増加するが、あまりにも成功し過ぎて政府との契約に依存していく。当初はネットワークに関する技術で卓越した会社だったが、次々と研究の商業化に失敗し ARPANET の終焉とあわせて無名な会社となっていった。エンジニア達はネットワークに関する技術力を活かしてルーター製造ビジネスに参入すべきと主張たが、経営陣はそれが大きくならないとして却下した(その後、1994年にはルーター製造ビジネスは数十億ドル規模になった)。また、従業員のタイムシートを改竄して過大な請求を行ったとして政府に訴訟を提起され、罰金を支払うことにもなった。
生物の進化における自然選択と同様に、企業や製品もある環境に過剰適応した結果として環境の変化に耐えられなくなることがある。本書では AT&T や IBM 等の大企業が ARPANET という潜在的な成長機会を見逃してしまう場面があるが、当初は無名な挑戦者であった BBN も成長するとやがて同じ轍を踏んでしまった。大企業では既存のビジネスが巨大過ぎ(それによって大きくなったわけだから当然だが)て潜在的な成長機会を過小評価しがちなので、今も昔も変わらないという印象を受ける。
-----
最後に Licklider がコンピュータとネットワークの進歩が将来的に政治プロセスや人間の思考に与える影響を構想した箇所を第一章から引用する。
> The idea on which Lick’s worldview pivoted was that technological progress would save humanity. The political process was a favorite example of his. In a McLuhanesque view of the power of electronic media, Lick saw a future in which, thanks in large part to the reach of computers, most citizens would be “informed about, and interested in, and involved in, the process of government.” He imagined what he called “home computer consoles” and television sets linked together in a massive network. “The political process,” he wrote, “would essentially be a giant teleconference, and a campaign would be a months-long series of communications among candidates, propagandists, commentators, political action groups, and voters. The key is the self-motivating exhilaration that accompanies truly effective interaction with information through a good console and a good network to a good computer.”
(中略)
> “The hope,” Licklider wrote, “is that in not too many years, human brains and computing machines will be coupled . . . tightly, and that the resulting partnership will think as no human brain has ever thought and process data in a way not approached by the information-handling machines we know today.”
60年以上が経った今見ても先見的と言えるかもしれない。本書のサブタイトル「The Origins Of The Internet」に相応しいと思った。