last modified : 1999/11/02
v1.0 #draft3

A Brief History of the Internet

translated by Takeharu Kudo

source: http://www.isoc.org/internet-history/brief.html


Introduction

インターネットは前例のない、革新的は発展を遂げた。そのメカニズムは人と人を地理的な壁を打破し、コラボレーションを図ることを成功させた。

インターネットはあらゆる調査や、情報インフラの発展において、もっとも成功を遂げた例の一つである。当初は政府や産業団体や学術団体が一緒となって研究を進めていた。

以下は、急いで進めたまだ未完成の簡単な歴史である。本屋に行けば、もっと詳しいことを網羅している本が沢山あるだろう。

この歴史は4つの局面を持っている。それは初期段階において、パケットスイッチングやARPANETの研究から得た技術の進歩であり、尺度やパフォーマンスや高レベルの機能において、現在のインターネット技術にあたって研究が求められている。社会面においては、共同に技術を発展させることによって、INTERNAUTSという広範囲なコミュニティにおいて結果を見出している。商業化局面においては、インターネット設備における需要において、研究の変化を効果的に見出している。

当初のNational Information Infrastructureに比べ現在のインターネットはとても広範囲な位置付けをしている。その歴史は複雑で解決しなければならない局面を多数持っている。それは技術面、組織面、コミュニティにおいてである。また、この影響は、コンピュータコミュニケーションの技術面だけでなく、E-Commerceや情報の取得や地域の活動においてOnlineツールを使用する人が増加し続けているという、社会面においても言える。

Origins of the Internet

最初のDescriptionとして、MITのJCR Licklider氏が書いたseries of memosというものである。これは全ての人がどんなサイトからでもすぐに情報を手に入れることができるように、ネットワークにおける社会的相互作用が可能となるようにしたものである。これは今日のインターネット概念にとてもよく似ている。Lickliderは、1962年に設立されたDARPAのコンピュータ研究の第1人者である。その意志は、DARPAに属するのIvan Sutherland, Bob Taylor, Lawrence G. Roberts(MIT resercher)に受け継がれた。

MITのLeonard Kleinrockは、1961年に最初のパケットスイッチング理論における論文と、1964年にfirst book on the subjectを発表した。Kleinrockは、回路(Circuit)よりパケットを使用する方が、通信において理論上の実現性を示すということを、Robertに確信させた。この実現性の提示は、コンピュータネットワーキングにおいて、革新的な進歩と言える。もう1つの進歩といえば、コンピュータを互いに喋らせるようにしたということである。これは、1965年に、教会のミサにあるTX-2コンピュータとカリフォルニアのQ-32コンピュータを、既存の電話線を使用した、低帯域のダイヤルアップによって構築され、広域通信を成功させた、Robert(TomasMerrillと共同作業)が最初である。この実験の結論としては、同時にコンピュータがプログラムを実行させて、リモートにあるコンピュータとデータの通信を実現させたという快挙にあるが、電話網を使用した回路では十分な仕事は成し得ないというということが分かった。これは、パケットスイッチングの需要を確信させたKleinrockが立証させたと言っても過言ではない。

1966年の終りに、RobertはDARPAにおけるコンピュータネットワークの概念を進化させることとなり、まもなく1967年に「Plan for the ARPANET」を発表した。この論文を発表した会議にて、イギリスのNPLのDonald DavisとRoger Scantleburyが同様のパケットスイッチングについての論文を発表していた。Scantleburyは、RANDのPaulBaran等が行ったのと同じような、NPLの成果を説明した。RANDという団体は、1964年に軍隊における秘密音声のやりとりのためのパケットスイッチングの論文を発表している。このことにおいては、MIT(1961-1967)とRAND(1962-1965)とNPL(1964-1967)が、当時、他の団体が何をしているのかを知らずに、並行的に調査を続けていたのである。そして、NPLの実験成果であるパケット技術は、ARPANETの通信速度を2.4Kbpsから50Kbpsまで上げるために、採用された。

RobertやDARPAがARPANETに向けての全体的な構造や詳細を定義付けた後である1968年の夏、IMP's(Interface Message Processor)と呼ばれるpacket switchesという、今後の鍵を握る要素の発展を示唆したRFQが、DARPAによって発表された。このRFQは、1968年に、BBN(Bolt Beranek and Newman)のFrank Heartが指揮する団体に、支持を得た。ARPANETの構造デザインにおいて大きな役目を果たしたBob Kahnと一緒に、BBNがIMP'sが作業をしたように、ネットワークトポロジーや経済は、Haward Frankとその団体を共に作業をしたRobertによって効果的にデザインされ、UCLAのKleinrockの団体によってネットワークを測るシステムが用意された。

Kleinrockによってなされたパケットスイッチング理論の発展や、分析・デザイン・測量における彼の視点が認められ、UCLAにある彼のネットワーク測量センター(Network Measurement Center)はARPANETの最初のノードに選ばれた。これらは、BBNがUCLAで初めてIMPを実装し、初のホストコンピュータが接続されたということから始まった。「人の知の増加」というDoug Engelbartが指揮したプロジェクトが、SRI(Stanford Research Institue)が2番目ノードとして配備された。SRIは、Elizabeth Jake Feinlerが指揮するNICをサポートし、RFCとしてホストネームとアドレスを対応させる表を管理する機能も、行った。SRIがARPANETに接続された1ヶ月後、初めてのホスト間通信が、Kleinrock研究所からSRIに向けて発せられた。また、UC Santa Barbaraとユタ大学が、新たなノードとして加わった。これらの新たな2つのノードは、UCSBのGlen CullerとBurton Friedと共に、視覚的なアプリケーションの開発を共同に行い、ユタにてRobert TaylorとIvan Sutherlandは、ネットワーク上における3D表現手法を調査した。これにより、1969の最後には、4つのホストコンピュータがARPANETに同時に接続されることとなり、インターネットの起源を発祥させた。これにより、各団体が共同作業を行い、共同に研究をすることが、ネットワーク調査において、重要だということを見出した。この概念は、今日にも受け継がれている。

その後数年で、あらゆるコンピュータが、すぐさまARPANETに接続されるようになり、それは、ホスト間のプロトコルやソフトウェアの完成へ導いた。1970年の12月、S.Crocker率いるNWG(Network Working Group)は、NCP(Network Control Protocol)と呼ばれるARPANETにおける最初のホスト間プロトコルの完成を遂げた。1971から1972の期間において、ARPANETの全てのノードにNCPを実装し、ネットワーク使用者はついにアプリケーションを開発するという段階となった。

1972年の9月、KahnはICCC(International Computer Communication Conference)に、ARPANETをデモし、成功を遂げた。これは公共のネットワーク技術において、初の快挙となった。1972年に、同様に、電子メールというアプリケーションを開発した。それは5月に、BBNのRay Tomlinsonが、ARPANETの開発者が容易にメカニズムをやりとりしたいという需要のために、基礎的な電子メールを読み書きするソフトウェアを描いたということである。7月にRobertは、リストを挙げたり、選択して読めたり、ファイルとして保存できたり、転送できたり、返信できたり、というような機能を持つ電子メールユーティリティプログラムに拡張させた。このことから電子メールは10年の間で、もっとも広範囲なネットワークアプリケーションとしての位置付けとなった。このことは、今日のWWWのような莫大な「多対多」の通信が広まったということの前兆であったと言える。

The Initial Internetting Concepts

これらのパケットスイッチングを採り入れた独立した様々な要素を含んでいるARPANETのネットワーク概念が現在のインターネットの基盤となり、すぐさま無線通信にむけて衛星を使用したパケットネットワークが研究された。そして研究が続けられ、Kleinrockは1対1の通信ではなく、通信回路におけるEnd-to-Endの通信について示唆し、ネットワークにおいて1つのホストは全体の制御をする役目をするべきであり、他のホストはそのサービスを用いてEnd-to-Endの通信を図るクライアントとなれば良いと考えた。

このような開かれたネットワークにおいては、それぞれがプロバイダから供給された独自のインタフェースを持つべきであり、ネットワークの種類や地理的な問題において、不平等は許されない。

この「開かれたネットワーク」の概念は、1972年にDARPAを配備させた後に、Kahnによって初めて発せられた。その研究は主に無線通信プログラムについてであるが、結果としては異なったInternettingと呼ばれるプログラムを生み出した。無線通信システムの構築にあたって、他の無線に一切干渉されないで効果的な通信の信頼性があり、通信インフラの地形上の問題によって起きる断続的なパケット停止にも耐えられるという、End-to-End間でのプロトコルがKeyであった。そして、異なるOSにおいてでもそのプロトコルが採用できるように、最初はローカルな区域から実験を始め、無線の通信へと発展させ、その結果がNCPの使用の普及である。

しかしこの段階のNCPはネットワークやマシンにおいてアドレスを割り振るという機能は無かったため、その研究が求められた。だが、ARPANETの仕組みを簡単に変えるのは難しい状況であり、NCPはすでにEnd-to-Endの通信プロトコルとして高い信頼性を見出しており、何か少しでも問題が起こってしまったら、NCPはHaltしてしまう。よって、End-to-End通信の信頼性においては再上級の品質をもったこのNCPを、変えることは難しかった。

その結果、Kahnは「開かれたネットワーク」における需要にかなったプロトコルの新しいバージョンを開発することにした。このプロトコルが後にTCP/IPと呼ばれるようになる。そして、NCPはデバイスドライバという存在となり、TCP/IPはNCP以上の通信プロトコルという存在となった。

以下が、Kahnが考えたTCP/IPにおける4つの基本ルールである。

  • それぞれのネットワークは独立して成り立っており、インターネットを通じて他のネットワークに干渉を来すような内部構造の変更を行ってはいけない。
  • 通信は常にBestEffort主義であるべきで、もしパケットが目的地まで到達しなかったら、送信源から再送する。
  • 後にゲートウェイやルータと呼ばれるようになるブラックボックスを使用し、パケットが通るたびにその情報を溜めこむのではなく、様々な失敗からの復旧を複雑にしないように、それはシンプルに在るべきである。
  • 管理レベルにおいては、全世界的に制御するものは要らないだろう。

また、他にも説明すべき問題があった。

  • 永久にパケット落ちが続き再送されないという状況じゃなく、全てがうまくいくようなパケット再送のアルゴリズムの構築
  • 色々な種類のパケットが正確に流れるように、ネットワークの中心部におけるホスト間のパイプラインの構築
  • ゲートウェイは、ルーティングやインタフェース識別やパケットを再分割化するためにIPヘッダ情報を解釈するという、入ってきたパケットを正確に転送する能力を持つべきである。
  • FragmentによるChecksum
  • 世界規模のアドレスの割り当て
  • ホスト間のフロー制御
  • 異なるOSにおける互換性
  • 他にも、効果的な実装やインターネットのパフォーマンス性という関連した問題があるが、これらは最初の段階においてはまだ必要度は低かった。

KahnはBBNでOSにおける通信の原理について研究を始め、論文も発表した。そこで彼は、どんな新しいOSでも使えるようなプロトコルの追求が求められていることに気付いた。それがゆえに1973年に彼はVintCerfに一緒にそのようなプロトコルのデザインを行おうと言った。VintCerfはNCPのデザインから親しい仲であった。そして、Kahnの通信技術へのアプローチやCerfのNCP技術能力の統合から、TCP/IPについての本格的な研究が始まった。

彼らのGive&Takeな研究手法によって、ついに1973年の9月にSussex大学で開かれたINWG(International Network Working Group)によって、最初のヴァージョンが発表された。Cerfは前々からINWGのKeyPerson的な人達と会合を開く機会を持ちつづけていたから、今回Cerfが議長から招かれたのである。

KahnとCerfによって導かれた、基礎的な示唆が以下である。

  • 2つのプロセス間の通信は理論上、オクテットと呼ばれる長いバイトの単位で成り立っている。それらのオクテットは全て同一視する必要がある。
  • フロー制御は、ウィンドウサイズと確認応答(ACK)によって、成す。Destination(受信側)は、パケットが届いたということからACKを返し、その頻度は選べる。例えば、パケットが到着した毎に返したり、全てのパケットが届いてから返したり、ということである。
  • そのウィンドウサイズの値は、送信側と受信側によって決められる。当初は彼らによって実装された初期値が使われていた。
  • 当初はXerox PARCによってEthernetの開発が進められていたが、PCやWSはまだ普及していなく、LANとしての広がりを見せてはいなかった。その起源のモデルが、まだ少数のアドレスしか必要とされていなかったARPANETである。そして、8bitがネットワーク部で24bitがホスト部の合計32bitのIPアドレスが使われるようになった。当分の間はこの256のネットワークで十分だろうと言われていた概念は、LANが出現し始めた1970年代最後には、再考せざるを得ない状況にまで発展した。

KahnとCerfがTCPと呼ばれるプロトコルについて発表した論文は、インターネットにおいてデータの伝送や転送のサービスを示唆した。KahnはTCPを連続で信頼性のあるデータの伝送技術(Virtual Circuit, Datagram)をサポートするプロトコルにする意向にあり、パケットがしばしば落とされたり腐敗されたり再送されたりするであろうという旨も暗示させた。

しかし当初の第1段階のTCPは、Virtual Circuitにだけ実装された。それはFTPやTELNETのアプリケーションにおいては成功したが、1970年代の最新のアプリケーション(パケット音声など)にあたっては、TCPはパケットの喪失が正確ではないということが判明した。この結果、TCPは2種類のプロトコルに分かれるようになった。1つは、アドレスの割り当てやパケットを転送するなどという簡単なIPであり、もう1つは新たなTCPであり、それは喪失したパケットの回復やフロー制御などのサービスを行う役目となった。また、TCPを欲さなかったアプリケーションにおいては、IPにおける基礎的なダイレクトな通信を担うUDP(User Datagram Protocol)が採り入れられた。

ARPANETやInternetにおいて当初もっとも基盤とされる動機として、資源の割り当てがあった。その例として、ARPANETでそれぞれのユーザが無線通信を用いた時分割システムの通信の許可が挙げられる。高価なコンピュータを同時に接続させることはとても経済的とは言えなかった。しかし、FTPやTELNETは重要なアプリケーションであり、電子メールは次世代の革新的な意味付けをしていた。電子メールは人々に新たなコミュニケーションの仕方を教え、コラボレーションを図ったり、インターネットの共同研究を可能としたり、社会的なものとなった。

また他にもインターネット開始同時には、パケットを使った音声通信技術(the precursor of Internet telephony)などの色々なアプリケーションが存在しており、ウィルスなどのWormプログラムが出てくるまでとなった。インターネットの主な概念は、1つのアプリケーションを作るということではなくて、後に出現したWWWのように、自然に開発されるようなインフラを想定したものであった。これがインターネットの当初の目的であり、TCP/IPがこれを実現させた。


translated into Japanese by Takeharu Kudo

back to the top