
インターフェースメッセージ プロセッサ( IMP ) は、1960 年代後半から 1989 年まで、参加ネットワークをARPANETに相互接続するために使用されたパケット交換 ノードでした。これは、今日ではルーターとして知られているゲートウェイの第一世代でした。[1] [2] [3] IMP は、専用インターフェースとソフトウェアを備えた耐久性の高いHoneywell DDP-516ミニコンピュータでした。 [4] 後年、IMP は非耐久性のHoneywell 316から作られ、通信トラフィックの 3 分の 2 を約半分のコストで処理できるようになりました。 [ 5 ] IMPでは、 BBN レポート 1822で定義された特別なビットシリアル インターフェースを介してホストコンピュータに接続する 必要があります[6]。IMP 上で実行される IMP ソフトウェアと ARPA ネットワーク通信プロトコルは、

コンピュータネットワーク用のインターフェースコンピュータの概念は、1966年にドナルド・デイヴィスによってイギリスのNPLネットワーク向けに初めて提案され、1968年から1969年にかけて実装されました。 [8] [9] [10] [11]
1967年初頭、国防総省高等研究計画局(ARPA)の主任研究者会議において、国中のマシンを相互接続する方法について議論され、同じアイデアが独自に開発されました。ARPANETの実装を主導したラリー・ロバーツは、当初ホストコンピュータのネットワークを提案しました。ウェス・クラークは、「各ホストコンピュータと伝送線路ネットワークの間に小型コンピュータを挿入する」[12] 、つまりIMPを独立したコンピュータにすることを提案しました。
IMPは、マサチューセッツ州に拠点を置くボルト・ベラネック・アンド・ニューマン社(BBN)によって1969年に建設されました。BBNは4基のIMPの建設契約を締結し、最初の1基はレイバーデー(1969年11月15日)までにUCLAに納入される予定でした。残りの3基はその後1ヶ月間隔で納入され、合計12ヶ月でネットワーク全体が完成することになっていました。マサチューセッツ州選出の上院議員エドワード・ケネディは、BBNがこの100万ドル規模の契約に署名したことを知り、「インターフェイス・メッセージ・プロセッサ」の建設契約を締結したことを祝福する電報を送りました。[12]
IMPに取り組んでいたチームは自分たちを「IMP Guys」と呼んでいた。[12]
BBNは1969年2月、改造されたHoneywell DDP-516上でプログラミング作業を開始しました。完成したコードは6000語に及び、Honeywell 516アセンブリ言語で記述されていました。IMPソフトウェアは主にPDP-1上で開発され、そこでIMPコードが記述・編集され、Honeywell上で実行されました。
NPLネットワークを構築した英国チームやRANDのポール・バラン氏との技術交流はかなりあったが、BBNチームはルーティング、フロー制御、ソフトウェア設計、ネットワーク制御など、ネットワーク内部の運用の重要な側面を独自に開発した。[14] [15] [16] [17] [18] [19] [20]
BBNはIMPを、単に「保存と転送」のみを行う「メッセンジャー」として設計した。[12] BBNはホストとIMP間の仕様のみを設計し、ホストサイトは個々のホスト間インターフェースを構築することとした。IMPは、受信確認をせずにエラーのあるパケットを破棄するエラー制御メカニズムを備えていた。送信元IMPは、受信確認を受信しなかった場合、重複したパケットを再送信する。ARPAの提案依頼書(RFP)の要件に基づき、IMPはエラー訂正に24ビットのチェックサムを使用した。BBNは、ソフトウェアによる計算よりも高速なため、IMPのハードウェアでチェックサムを計算させることを選択した。IMPは当初、サイトごとに1台のホストコンピュータに接続するように構想されていたが、ホストサイトの研究者や学生の強い要望により、最終的に各IMPは複数のホストコンピュータに接続できるように設計された。
最初のIMPは1969年8月30日にUCLAのレナード・クラインロックのグループに届けられた。それはSDSシグマ7ホストコンピュータを使用した。スタンフォード研究所(SRI)のダグラス・エンゲルバートのグループは1969年10月1日に2番目のIMPを受け取った。それはSDS 940ホストに接続された。3番目のIMPは1969年11月1日にカリフォルニア大学サンタバーバラ校にインストールされた。4番目のIMPは1969年12月にユタ大学にインストールされた。2つのシステム(UCLAとSRI)間の最初の通信テストは1969年10月29日に行われ、 SRIマシンへのログインが試みられたが、最初の2文字しか送信できなかった。SRIマシンは「g」文字を受信するとクラッシュした。[21]数分後、バグは修正され、ログイン試行は正常に完了した。
BBNは通信回線の性能を試験するプログラムを開発した。ハートが提出した報告書によると、1969年後半にUCSB-SRI回線で27時間にわたって行われた予備試験では、「約20,000パケットにつき1パケットのエラー」が確認された。その後の試験では「この数値は100%変動していることが判明した。これは明らかに、数時間単位という異常に長い期間にわたってエラーが検出されなかったためである」とされている。[22]
IMP の派生型として、TIP (Terminal IMP) と呼ばれるものが存在し、これはコンピュータだけでなく端末 (テレタイプなど) もネットワークに接続していました。これは、Honeywell 316 (516 の後継バージョン) をベースとしていました。その後、Honeywell ベースの IMP の一部は、マルチプロセスの BBN Pluribus IMPに置き換えられましたが、最終的に BBN はHoneywell マシンのマイクロプログラムされたクローンを開発しました。
IMPは、1989年にDARPAがARPANETを廃止するまで、ARPANETの中核を担っていました。ほとんどのIMPは解体、廃棄、あるいはMILNETに移管されました。中には博物館の収蔵品となったものもあり、クラインロックはIMP No.1をUCLAで一般公開しました。[12] ARPANETにおける最後のIMPはメリーランド大学にあったものでした。

BBNレポート1822は、ホストコンピュータをIMPに接続する方法を規定しています。この接続とプロトコルは、一般的にレポート番号1822と呼ばれます。この仕様はボブ・カーンによって作成されました。[12] : 116, 149
データを送信するには、ホストはネットワーク上の別のホストの数値アドレス(インターネット上のIPアドレスに類似)とデータフィールドを含むメッセージを作成し、1822インターフェースを介してIMPに送信します。IMPは、最終的にインターネットルーターに採用されたプロトコルを使用して、メッセージを宛先ホストにルーティングします。メッセージは合計8159ビットの長さを格納でき、そのうち最初の96ビットはヘッダー(「リーダー」)用に予約されています。[23]
インターネット上で送信されるパケットは信頼性が低いと想定されていますが、1822のメッセージは宛先に確実に送信されることが保証されていました。メッセージが配信できなかった場合、IMPは送信元ホストに配信失敗を示すメッセージを送信しました。しかし実際には、(まれに)ホストがメッセージの紛失報告を見逃したり、IMPが実際にはメッセージを受信しているにもかかわらず紛失報告をしてしまう状況がありました。
この仕様には、ドナルド・デイヴィスのチームが1968年にNPLネットワーク向けに提案したタイプの交互ビットプロトコル[24]が組み込まれました。[25]
1822 プロトコルの後継バージョン (1822L など) は、RFC 802 およびその後継で説明されています。
その後、1966年6月、デイヴィスは2番目の社内論文「デジタル通信ネットワークの提案」を執筆した。この論文で、ユーザーが送信したいメッセージの小さな部分を表す「パケット」という造語を考案し、ユーザー機器とパケットネットワークの間に設置される「インターフェースコンピュータ」という概念も導入した。
1966年6月付けの論文…ユーザー機器とパケットネットワークの間に位置する「インターフェースコンピュータ」の概念を導入した。
最初のパケット交換ネットワークは、英国の国立物理学研究所で実装されました。その後すぐに、1969年にARPANETが続きました。
Leonard Kleinrock: Donald Davies …はARPAよりも先に単一ノードのパケットスイッチを作った。
通信回線でコンピュータを相互接続するという技術的な問題とは別に、コンピュータネットワークの概念は理論的な観点から様々な場所で検討されてきました。特に注目すべきは、1960年代初頭にランド研究所のポール・バランらが行った研究「分散通信について」です。また、1960年代半ばにイギリスの国立物理学研究所のドナルド・デイヴィスらが行った研究も注目に値します。…ARPANETの開発に影響を与えた初期の重要なネットワーク開発のもう一つは、イギリスのミドルセックスにある国立物理学研究所で、DW・デイヴィスのリーダーシップの下行われました。
ルーティング、フロー制御、ソフトウェア設計、ネットワーク制御といったネットワーク内部動作の重要な側面は、Frank Heart、Robert Kahn、Severo Omstein、William Crowther、David WaldenからなるBBNチームによって開発されました。
NPLデータネットワークの取り組みはARPANETの設計に根本的な影響を与えなかったように思われます。NPLデータネットワーク設計の主要側面、例えば標準ネットワークインターフェース、ルーティングアルゴリズム、スイッチングノードのソフトウェア構造などは、ARPANET設計者によってほとんど無視されていました。しかしながら、NPLデータネットワークがARPANETの設計と発展に、より根源的でない多くの点で影響を与えたことは疑いの余地がありません。
このシステムは1969年初頭に初めて稼働した。