ARPANET

ARPANET（アーパネット、Advanced Research Projects Agency NETwork、高等研究計画局ネットワーク）は、世界で初めて運用されたパケット通信コンピュータネットワークであり、インターネットの起源でもある。アメリカ国防総省の高等研究計画局（略称ARPA、後にDARPA）が資金を提供し、いくつかの大学と研究機関でプロジェクトが行われた。ARPANETのパケット交換はイギリスの科学者ドナルド・デービスとリンカーン研究所のローレンス・ロバーツの設計に基づいていた。
歴史.
パケット交換は今日データ通信の基盤として世界中で使われているが、ARPANETの構想が持ち上がった当時は新しい概念だった。パケット交換が登場する以前、音声通信やデータ通信は回線交換が基本であり、電話の回線網のように電話をかけるたびに通信局から通信局まで専用の電気的接続がなされていた。この場合の通信局は電話やコンピュータである。この（一時的な）専用回線は多数の中継局間の回線から構成されており、発信局から受信局までを結ぶようになっている。パケット交換では、データシステムは単一の通信リンクを使って複数のマシンと通信する。データはデータグラムに分割され、パケットとしてそのネットワークのリンク上を転送される。パケットは小さいので、リンクはすぐに空き状態となり、別のパケットを転送可能となる。そのため、郵便ポストが様々な宛先の手紙を出すのに使えるようにリンクを共有できるだけでなく、各パケットはそれぞれ独自の経路で転送される。
概念の提唱.
ARPANETに直接影響を及ぼしたコンピュータネットワークの概念の提唱を行ったのはBBNテクノロジーズのJ・C・R・リックライダーによるタイムシェアリングシステムによるネットワークである。リックライダーの1960年の論文、「人間とコンピュータの共生」の中で早くもリソースを共有するためのタイムシェアリングシステムのネットワークの可能性について言及している箇所が見られる。又リックライダーがARPAのIPTO部長に就任した後の1963年にIPTOの助成機関宛に送ったメモランダム「銀河間コンピュータネットワークメモランダム」の中ではIPTOの将来的な目標として相互の研究内容の情報を共有するためにコンピュータネットワークを構築することの提案を行っている。これには現在のインターネットを構成するほとんど全てのアイデアが含まれていた。リックライダーは計画が実施される前にARPAを去ったが、その構想はアイバン・サザランド、ロバート・テイラーといったIPTOに入社した彼の後継者達によって受け継がれる事になった。
ネットワークの実験.
サザランドとテイラーはそのようなコンピュータネットワークを構築することに関心を持ち続け、ARPAが資金提供しているアメリカ各地の様々な企業や大学の研究者たちがARPAの資金で開発されたコンピュータ群にアクセスできるようにし、ソフトウェアなどの計算機科学の成果を素早く広めたいと考えていた。テイラーのオフィスには3つのコンピュータ端末があり、それぞれ別々の（ARPAが資金提供した）コンピュータに接続されていた。1つはサンタモニカの (SDC) にある、2つめはカリフォルニア大学バークレー校のProject GENIE、3つめはMITのMulticsである。これについてテイラーは後に次のように回想している。
「この3台の端末はそれぞれユーザーコマンド群が異なっていた。だから私が S.D.C. の誰かとオンラインで話をしていて、バークレーあるいはMITの誰かと話したいとき、S.D.C. との端末から離れて、別の端末にログインして連絡する必要があった。（中略）何をするのかは明らかだが、私はそんなことをしたくない。インタラクティブ・コンピューティングが可能なら、1つの端末でどこにでも接続できるべきだ。このアイデアが ARPANET だ」
1964年にリックライダーがIPTOの部長を退いた後、彼の役職を継いだサザランドはリックライダーが提唱したコンピュータネットワークの実験を行ってみる事にした。1965年にUCLAの2つのコンピュータをネットワークで接続してみる事になったが、この実験は通信方式に問題があったために失敗した。
ARPANETの開発.
1966年にサザランドの次にIPTO部長に就任したテイラーは更に一歩進めて本格的なコンピューターネットワークを構築しようと試み、ARPA本体から予算を取り付けた。ただしテイラーはリックライダーと同じ音響心理学者でコンピュータ工学のエンジニアではなかった。このためネットワークを実際に構築できる技術者を必要としていた。こうしてマサチューセッツ工科大学のリンカーン研究所から半ば脅される形でIPTOにリクルートされてきたのがローレンス・ロバーツである。ロバーツは1967年にこれまでリックライダーやサザランド、タイラーが概念として述べてきた事を「指示書」のような形でまとめた。これが"Multiple Computer Network and Intercomputer Communication"である。この「指示書」の中ではARPANETの基本的な「仕様」が以下のように示されている。
タイムシェアリングシステム本体にコミュニケーションの管理を行わせる事に対してはコンピュータの管理者から否定的な意見が出されていた。このためロバーツはリンカーン研究所のの助言を受け入れタイムシェアリングシステムにコミュニケーションの管理を専門に行わせる小さいコンピュータを接続させることにした。この結果開発されたのが、現在のルーターの前身ともいえるInterface Message Processor（IMP）である。
1968年中ごろまでにテイラーはコンピュータネットワークの計画を完成させ、ARPAの承認を得た。そして、契約者となる可能性のある140の組織などに見積依頼を送った。多くのコンピュータ企業はARPAとテイラーの提案を絵空事だとみなして考慮せず、送り返されてきたネットワーク構築の見積もりは12だけだった。ARPAはそこから4社を契約候補に選んだ。同年末には2社に絞り込み、最終的に1969年4月7日、BBNテクノロジーズとネットワーク構築の請負契約を結んだ。BBNでは当初7人のチームを結成しフランク・ハートが指揮した。ARPAの見積依頼は技術的にも詳細で、チームはすぐさまネットワーク接続用のコンピュータを構築できた。BBNの提案したネットワークはARPAの計画に沿ったもので、IMPという小型コンピュータでネットワークを形成してIMPをゲートウェイ（今日のルーター）として機能させ、ローカルなリソースと相互接続するというものだった。各サイトではIMPがストアアンドフォワード型のパケット交換機として機能し、IMP同士はモデムを介して専用線（当初50kbit/s）で相互接続した。ホストコンピュータとIMPは独自のシリアル通信インタフェースで接続された。このシステムのハードウェアとパケット交換ソフトウェアは、9カ月で設計・構築された。
第一世代のIMPはBBNがハネウェルのDDP-516というコンピュータをベースとして構築した。主記憶（磁気コアメモリ）は24キロバイト（拡張可能）で、16チャネルの Direct Multiplex Control (DMC) というDMAユニットを備えていた。DMCはホストコンピュータやモデムとのインタフェースに使われた。フロントパネルのランプ群に加えて、DDP-516にはIMPの通信チャネルの状態を示す24個の表示ランプがある。IMPは最大4台のホストコンピュータを接続でき、最大6台のIMPと専用線で相互接続できる。パケット転送の機構はストアアンドフォワード型として設計された。また、各ルータは2秒毎に経路情報を送信し、最小のトランジットタイムを持つ経路を評価すると共に、0.5秒毎に経路表を各送信先までのトランジットタイムを最小にするように更新する、動的なルーティング・アルゴリズムも実装された。このアルゴリズムは以前にポール・バランが考案していたものであった。
ほぼ同じころ、他の人々も（それぞれ独自に）「パケット交換」について研究を行っており、まず1968年8月5日にイギリス国立物理学研究所 (NPL) が公開デモンストレーションを行った。
設計目的についての議論.
ARPANETは核攻撃にも耐えるよう設計されたネットワークだ、という言い伝えが広まっているが、インターネット協会は否定している。その方式が1960年代前半にアメリカ空軍のシンクタンクであるランド研究所のポール・バランによって提唱された核攻撃下でも生き残れるコミュニケーション方式であるという点を持ち上げて冷戦構造全体の中で技術としての「インターネット」を議論するべきなのか、それともロバーツの言うとおりパケット通信はバランの研究とは全く関係の無いイギリス国立物理学研究所のドナルド・デービスの研究成果を反映したもので「インターネット」の誕生は新しいコミュニケーションツールとしての側面から評価してよいという議論までかなりの幅が見られる。インターネット協会は "A Brief History of the Internet" の中でARPANETを生み出した技術的アイデアの融合について次のように記している。
ARPANETが核戦争に耐えられるネットワーク構築と何らかの関係があると主張する間違った噂が始まったのは、ランド研究所の研究からである。ランド研究所では核戦争を考慮した秘密音声通信を研究していたが、ARPANETはそれとは全く無関係である。しかし、後のインターネットワーキング作業の展開においては、ネットワークの大きな部分が失われてもインターネットワークが機能し続けるなど、その頑健性と生存可能性を強調したことがあるのも事実である。
一方で、ARPANETの開発のほとんどの請求書に署名を行なったDARPAの副局長 (1967-1971)・局長（1971-1974）のステファン・J・ルカシックは次のように述べている。
目的は新しいコンピュータ技術を利用して、核の脅威に対する軍事的指揮と制御のニーズを満たし、米国の核兵器の存続可能な制御を達成し、軍事戦術と管理の意思決定を改善することでした。
ARPANETは、ルーティングテーブルの分散計算や頻繁な再計算を組み込んだことでネットワークの存続可能性が向上したが、自動ルーティングは技術的に困難だった。また、下位ネットワークが失われても機能し続けるよう設計されているが、これは核攻撃を受けなかったとしても交換ノードとネットワークリンクの信頼性が低かったためである。ARPANET構築を促進させたリソース不足について、ARPA局長 (1965–1967) のチャールズ・ヘルツフェルトはつぎのように述べた。
ARPANETは核攻撃に耐える指揮統制システムを作るために始まったのではない。そのようなシステムの構築は明らかに軍にとって大きな要望ではあったが、それはARPAの任務ではなかった。実際、我々がそれを試みていれば、厳しく批判されただろう。むしろARPANETは、わが国にある大規模で強力な研究用コンピュータの数が限られていて、それらを使いたいと思っている研究者の多くは地理的に離れたところにいるという我々の欲求不満が出発点である。
ARPANETは、1990年までの20年間、軍によって運営された。
当時のIPTO責任者であったテイラーは、1994年7月にアメリカ・タイム誌で、「インターネットは核攻撃下でのコミュニケーションの生き残りを想定して開発された」という記事が掲載されたときに事実とは異なる旨、正式な抗議をタイム誌に対して行っている。
パケット通信の先駆者ポール・バランは次のように述べている。
テイラーはそれぞれ異なるマシンに接続したいくつかの端末を持っていた。彼が考え付いたのは、1つの端末がそれらコンピュータのどれとも接続できるネットワークを構築することだった。それがARPANETの本当の起源だ。当時、そういった相互接続の方法は未解決の問題だった。
村井純は、「ARPANETは軍事用に開発され、それが民間に転用された」という説に関し、「ARPA基金の方針が非主流非軍事だが将来性を求め、軍事直結の基金は国防総省と区別がある」、「アメリカ軍は湾岸戦争のとき、様々な通信技術を運用した結果、TCP/IP技術の高い有用性を初めて認識した」とコメントし、さらに「中東派遣軍総司令官のノーマン・シュワルツコフは技術を『禁輸にすべきだ』とまで言い出した」というエピソードとともに、次のように答えている。
ARPANETが最初から軍の独占技術だったとしたら、こんなことをする必要はまったくなかったでしょう。それどころか、すべてが軍の機密情報として扱われ、インターネットはそれこそ誰も知らないものになっていたはずです。
ARPANETの始動.
ARPANETは、次の4カ所のIMPを相互接続する形で始まった。
発足当初のメンバーには以後のネットワークの歴史や文化に大きな影響を与えることになるジョン・ポステルやヴィント・サーフが含まれていた。
ARPANET上で最初に送信されたメッセージは、UCLAの学生プログラマであるチャーリー・クラインが送ったものである。1969年10月29日午後10:30、UCLAの Boelter Hall 3420号室からのことだった。クラインは同大学のからスタンフォード研究所のSDS 940へとメッセージを送った。その内容は "login:" というテキストだったが、"lo" まで送信したところでシステムがクラッシュした。したがってARPANET初のメッセージは実際には "lo" である。これは1文字ずつ送信元から送信先に対して電話確認を行いながらの送信であった。約1時間後クラッシュから復旧させ、当初のテキストメッセージ全体の送信を成功させた。ARPANETの恒久的リンクが確立したのは1969年11月21日のことで、UCLAとスタンフォード研究所のIMP間のことである。1969年12月5日には、4ノード相互のネットワークが完成した。
発展と進化.
1970年3月、マサチューセッツ州ケンブリッジにあるBBNにあるIMPが接続され、ARPANETはアメリカ東海岸にまで広がった。その後、1970年6月にはIMPが9台、1970年12月には13台、1971年9月には18台（この時点で接続ホスト数は大学や政府機関を含めて23台）、1972年8月には29台1973年9月には40台となった。1974年6月にはIMPが46台となり、1975年7月には57台のIMPが相互接続された。1981年までに213台のホストコンピュータが接続され、およそ20日に1台の割合で新たなホストが接続されるという状況になった。
1973年、 (Norwegian Seismic Array)が人工衛星の通信リンクでARPANETと接続され、ノルウェーはアメリカ以外で初めてARPANETと接続した国となった。また、同時期にロンドンのIMPも地上回線で接続されている。
1975年、ARPANETは稼働状態にあると宣言された。本来、高度な研究への出資が仕事であるARPAはこの時点で手を引き、アメリカ国防情報システム局が運営を引き継いだ。
1980年、ARPANET初の負荷適応型のリンクステート型ルーティングアルゴリズムであるBBN ARPANETルーティングアルゴリズムがBBN社から提案され、実験が開始された。このアルゴリズムは実験開始直後に激しいルートフラッピングを起こし、負荷適応型ルーティングアルゴリズムの実運用が困難であることが世界で初めて知られるようになった。
1981年、日本で初めてのARPANETとの接続は東北大学がALOHAnetに参加し、これを経由して接続されたのが最初であった。これは米国本土までの距離に比較して、地理的にも近いハワイまでの専用線の料金が、より安価に済んだことも理由である。
1983年、ARPANETのアメリカ軍関係部分を分離して、機密には分類されない軍事関係の通信を担うとした。その後これを包含する形で (DDN) として発展。軍関連が分離したことで113ノードあったARPANETは68ノードに縮小している。MILNETは後にNIPRNetとなった。
規則とエチケット.
政府とのつながりのため、ある種のトラフィックは抑制または禁止されていた。MIT人工知能研究所で発行された1982年のコンピューティングについてのハンドブックでは、ネットワークでのエチケットについて次のように記している。
技術.
1970年にはIMP間の回線として 230.4 kbit/s までをサポートしたが、コストとIMPの処理能力を考えれば、そこまでの通信容量を使い切ることはなかった。
1971年には、堅牢化をしない（そのため非常に軽量な）Honeywell 316 を使ったIMPが登場した。これは端末サーバ Terminal Interface Processor (TIP) としても構成でき、ホストと最大63台のASCIIシリアル端末を接続できた。316は516より集積化が進んでおり、安価で保守が容易だった。TIPとしての316は40kBの磁気コアメモリを搭載していた。メモリ容量は1973年に拡大され、IMP用には32kB、TIP用には56kBを搭載した。1981年、BBNは自社製のC/30というコンピュータ上で動作するIMPソフトウェアを導入した。
1983年、資金提供を行っていた国防省側の方針で、NCPをTCP/IPに切り換えることになり、ARPANETは初期のインターネットのサブネットとなった。これが今日のインターネットにおけるTCP/IPの使用にとって決定的な条件のひとつを作ったと考えられている。
ARPANETの退役と後世への影響.
NSFNetの拡大にともなってARPANETは縮小していき、IMPやTIPも消えていったが、一部のIMPは1989年までサービスを継続した。
BBNとARPAが共同で出版した "ARPANET Completion Report" では、次のように結論付けている。
1990年2月28日にARPANETが正式に退役した後、ヴィントン・サーフは「ARPANETの挽歌」(Requiem of the ARPANET) と題して、次のように哀悼の意を表した。
1988年、UCLAの計算機科学教授レナード・クラインロックを議長とする委員会の国会への報告を受け、上院議員アル・ゴアは という法案を作成。この法案が1991年12月9日に可決され、 (NII) が生まれ、これをアル・ゴアが「情報スーパーハイウェイ」と呼んだ。2009年、IEEEマイルストーンにARPANET関連で2件が選ばれた。
ソフトウェアとプロトコル.
1969年に始まったARPANETでのホスト間通信プロトコルは、 であり、IMPへのメッセージ転送を定義したものである。そのメッセージ形式は様々なコンピュータアーキテクチャにおいても曖昧さが生じないよう設計された。1822メッセージは、メッセージ種別、数値によるホストアドレス、データフィールドで構成される。データメッセージを他のホストに送信するには、送信側でデータの中身と宛先ホストのアドレスからメッセージをフォーマットし、1822ハードウェアインタフェースを通してそれを送信する。IMPはメッセージにある宛先アドレスに従って、IMP間でメッセージを転送したり、宛先ホストに配達したりする。最終的に宛先ホストにメッセージを配達したIMPは、"Ready for Next Message" (RFNM) を送信元のIMPに向けて肯定応答として送信する。
現代のインターネットのデータグラムとは異なり、ARPANETは信頼性を持って1822メッセージを転送するよう設計されており、メッセージを喪失した場合はホストコンピュータにそれを通知するようになっていた。一方IPは信頼できないプロトコルであり、その上のTCPが信頼性を担っている。それにもかかわらず、1822プロトコルは1つのホストコンピュータ内に複数の異なるアプリケーションがあって、複数のコネクションを扱おうとしたときにうまく処理できないことが判明した。これに対処したのが Network Control Program (NCP) で、各種ホストコンピュータの各種プロセス間で、信頼できフロー制御された双方向通信リンクを確立する標準手段を提供した。NCPインタフェースはアプリケーションソフトウェアがARPANET経由で接続することを可能にしており、上位層の通信プロトコルを実装したものといえる。OSI参照モデルのようなプロトコルの階層化の初期の例である。
1983年、TCP/IPがNCPおよび1822プロトコルに取って代わった。
ネットワークの応用.
NCPが標準のネットワークサービスを提供したことで、単一のホストコンピュータ上で複数アプリケーションが動作可能になった。これにより、その上でアプリケーション層のプロトコルが下層とはある程度独立に動作できるようになり、各種応用が生まれることにつながった。1983年にARPANETがインターネットに移行した際、主なアプリケーションプロトコルもTCP/IP上に移植された。