ITmedia NEWS > 社会とIT >

Webの歴史とはどんなものだったのか 並行世界Web1〜Web3ではない、現実世界のWeb以前〜Web創世記を語ってみた(1/4 ページ)

» 2022年07月25日 18時56分 公開
[大原雄介ITmedia]

 某社から出版された書籍が、並行世界のWebの歴史を記述しているとTwitter界隈ではちょっと話題になっている(なんか今見たら販売中止になってしまっている)。

 別に筆者としてはそれをあげつらうつもりは全くなかったのだが、またしても担当編集の松尾氏より「僕らの知ってる世界線でこのあたりの時代の流れを書いていただけたらと。httpと並行してGopherがあったあたりの」という、分かる人間にしか分からないような依頼が飛んできた。

 「Web3関連の書籍とか情報があって、そこでWeb1というのが出てくるんだけど、そこで情報が錯綜しているようなので、僕らが知っている歴史についてまとめておく、みたいな立て付けで」というので、「第三者から見ると大原が若い筆者をイジメてるようにしか見えないw」とお返事したのだが、「まあそこは松尾が強要したでもいいですw」とまで言われたので、「ミャクミャク様のたたりを恐れる村人役その2」(*1)くらいのノリで、ちょっと古い話をまとめて書いてみたいと思う。

*1:Togetterまとめ参照

Web -1.0:〜1984

 「Web -1.0」というのは要するにインターネットと呼ばれるものができる以前の話である。Wikipediaの「インターネットの歴史」を見てみると、手紙や電話回線を使ってのモールス通信網から言及をスタートしているが、さすがにそこまで遡る気にはなれない。

 そもそもInternetが生まれる前に、人々はどうやって相互に通信していたか?というと大多数は「していなかった」になるのだが、ただそんな中で先駆的なネットワークと言うものはもちろん存在した。

 多分現在のインターネットの直接的な前身として良いと思うのはARPANETであろうか。これはARPA(Advanced Research Projects Agency:米高等研究計画局。後に頭にDefenceがついてDAPRA:米国防高等研究計画局に改称)が1969年に構築したネットワークである。

 もともとARPA自体の目的が、最先端科学技術を短期間で軍事技術へ転用させるための研究を管理する組織であり、それもあってARPA/DARPAから資金援助を受けて生まれた技術は少なくない。ARPANETもそうしたものの1つである。

 最初のアイデアを出したのはBBNのジョゼフ・カール・ロブネット・リックライダー博士なのだが、そもそもBBNは音響関係のコンサルタント会社だったし、リックライダー博士も音響学の専門家だったのに、何でコンピュータネットワークに行ってしまったのかはよく分からない。

 ただ博士が1960年に発表したMan-Computer Symbiosisという論文がARPANET構築の契機になったことは間違いない。

 博士も1962年はBBNからARPAに移籍している。1966年に、今でいうRouterにあたるIMP(Interface Message Processor)のプロトタイプがリンカーン研究所で開発され、これを基にした正式版の仕様に基づいてIMPが、(リックライダー博士の古巣である)BBNにより1969年に開発された。最初の4台のIMPはUCLA、UCSB、スタンフォード研究所(現SRI International)のARC(Augmentation Research Center)、ユタ大学のSchool of Computingにそれぞれ設置され、相互に電話回線経由で接続されることになった。これがARPANETの始まりである。

 この後ARPANETはどんどん接続拠点を増やしていく。IMPの数も1970年末には13台、1974年6月には46台、1975年7月には57台と、1カ月あたり1.5台程度の割合でIMPは増えていったそうだ。ちなみに1974年9月におけるIMPとTIP(Terminal Interface Processor)の設置場所を図に示したのがこちら(写真1)。一応この時点で米国の東海岸と西海岸はつながったことになる。

photo 写真1:出典はこちら

 ちなみにこの時点「つながった」という段階で何ができるか? という話であるが、一応ARPAでARPAnetの技術的な責任者のポジションに居たローレンス・G・ロバーツ氏が1967年に示した「指示書」(仕様書ですらない)が“Multiple Computer Network and Intercomputer Communication”である(写真2)。

photo 写真2:指示書というか、実際には「こういうものにしたい」という願望に近い

 この冒頭で示しているのが、

  1. 負荷共有(ジョブの分散)
  2. メッセージサービス(MailとかChatに近い概念)
  3. 情報共有(掲示板的なもの)
  4. プログラム共有(リモート実行)
  5. リモートサービス(リモートログイン)

の5つである。

 ただこの中で比較的簡単なのは(5)くらいで、(2)とか(3)はそもそもそうしたことを行うための上位アプリケーションがないし、(1)と(4)はそもそも異なるOSが動いているマシンでどうこれを実行するか、という問題になってくる。

 UNIXもまた1969年に登場したが、これがインターネットで重要な役割を果たすのはもう少し先の話。この時点では単なるテキスト整形プログラムが動くスタンドアロンのマシンだった。

 また、動的なルーティングもまだこの時点では実装されていない(これが実装されるのは1981年以降である)。またネットワークプロトコルとしてTCP/IPが登場するのも1983年以降の話で、それまでは独自のNCPというプロトコルが利用されていた。色んな意味で、まだ現在のインターネットとは異なるものだった。

 ちなみにARPANETにしても、これに続くMILNETやNSFNET/CSNETにしても、いわゆる中央集権的なネットワークではなかった。写真1でも分かるように、完全なMeshには程遠い(主に回線代というコストの問題である)ものの、複数の接続経路を持つサイトが少なくなく、実際東海岸と西海岸は3本の経路が用意されている、「網」の構造になっているのが特徴的である。

 もっともこの時点でも動的なルーティングを提供、というにはちょっとまだ能力が足りておらず、ある回線が切れても直ちに別の経路で接続できるというには程遠い状況ではあった(し、当時はまだそこまでネットワークの切断は重大事故とは捉えられていなかったというか、日常茶飯事に近かった)のだが。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.