見出し画像

Host Software:7 April 1969

RFC第1回
タイトル: ホスト ソフトウェア
著者: スティーブ クロッカー
インスタレーション: UCLA
日付: 1969 年 4 月 7 日

GPTに原文投げ込んで、わかりやすく要約してもらいました。
https://www.rfc-editor.org/rfc/rfc1.txt

【page1】

ARPAネットワークでは、コンピューターとIMPという機械が一緒に動くためのソフトウェアがあります。1968年の夏、いくつかのチームが集まって、このソフトウェアの話をしました。彼らは情報をメッセージという形で送り、これにはどこに送るかの情報が入っています。メッセージは、コンピューターからコンピューターへと送られます。

【page2】

IMPは、コンピューターがメッセージを送る時の「ルール」を決める特別な機械です。コンピューター同士が32の道(リンクと呼ばれる)を使ってメッセージを送り合います。しかし、一度にたくさんのメッセージを送ると「混雑」してしまうので、IMPがメッセージの量を管理します。一つのリンクで次のメッセージを送る前に、相手のIMPから「次のメッセージを送っていいよ」という合図が必要です。これで、一つのリンクにたくさんのメッセージが集まりすぎないようにします。

リンクはいつも使えて、全部で32個あります。これは、IMPがいつでも新しいメッセージを受け取れる準備ができているということです。IMPは、どのリンクが使われているかを常にチェックしているわけではないけれど、リンクの使われ方の履歴(過去の使われ方)については調べられます。

また、IMPはコンピューターから来たメッセージを小さいパーツ(パケットと呼ばれる)に分け、それぞれのパケットにエラーがないかチェックします。これらのパケットは次々と他のIMPへ送られ、最終的に宛先のIMPで元のメッセージに組み立てられます。

【page3】

  1. リンクには32個しかないけど、8ビットの場所がある。これはなぜかというと、リンクの数を管理するためです。
    注)
    リンクには32個しかないのに、8ビットの場所がある理由は、リンクの数を管理するためです。これを簡単に説明すると、8ビットの場所があるのは、たくさんの異なる番号(最大で256個)を作れるからです。でも、実際にはリンクが32個しかないので、これらの番号の中から32個だけを使います。これは、たくさんの選択肢(256個)の中から必要なもの(32個)だけを選ぶようなものです。たとえば、100個のおもちゃが入っているおもちゃ箱があるとして、あなたはその中から32個だけを選ぶことができるとします。ここでの8ビットの場所はおもちゃ箱のようなもので、たくさんの選択肢があるけど、実際に使うのは32個だけです。これによって、リンクの管理が簡単になり、ネットワークがうまく動くようになります。

  2. コンピュータ(ホスト)はIMPにメッセージを送ることができます。これはどうやってやるかというと、特定のルールや方法を使って送ります。

  3. コンピュータは、IMPが「次のメッセージを送っていいよ」という合図(RFNM)をコントロールすることはできません。

  4. IMPはコードを変換することがあります。これはどうやって管理されるかというと、特別なプログラムやルールで行います。

ネットワークを使うための要件:

  • 簡単な使い方: 新しいネットワークは、最初はあまり使われないけど、だんだん使う人が増えるようにしたい。だから、みんなが簡単に使えるようにすることが大切。

  • ディープユース: ネットワークは少し遅れがあって、リモート(離れた場所の)コンピュータからの応答には0.5秒かかります。これは、特にグラフィックスステーションのような高度な機能を使う時に問題になります。だから、リモートコンピュータと直接つながっているような感じで使えるようにする方法を考えなければなりません。

  • エラーチェック: ネットワークでのエラーチェックはとても大事です。これは、コンピュータとIMPの間だけでなく、ホスト間のソフトウェアインターフェイスでも必要です。エラーチェックをすることで、問題を減らして、無駄な労力を節約できます。

【page4】

ネットワークでの接続の確立について簡単に説明すると、まず、コンピューター同士がお互いに話すための「リンク」という道が32個あります。一番基本的な接続は、あたかも古いタイプの電話(TTY)を使っているかのような方法です。この時、リンク0が特別に使われます。
注)
リンク0とは、もしコンピューターAがコンピューターBと通信を始めたいとき、リンク0はその通信を始めるために使われることが多いです。他のリンク(1から31まで)は、普通のデータ送信や他の種類の通信のために使われます。リンク0を使うことで、ネットワーク上のコンピューターがスムーズに「話し始める」ことができるんです。

コンピューターは、特別な命令(プリミティブ)を使って他のコンピューターと接続を始めることができます。一つのコンピューターが接続を始めたい時、空いているリンクを選んで、相手のコンピューターにメッセージを送ります。もし両方のコンピューターが同じリンクを選んだら、どちらかが別のリンクを選ぶ必要があります。これを決めるのに「優先順位」というルールを使います。

この接続は、リモートのコンピューターがログインしているかのように扱われます。コンピューターはログイン情報や特定の文字を探します。

大容量のデータ(たとえば大きなファイル)を送る時は、別の方法を使います。これは、普通のテレタイプの接続とは違い、特別なバッファリング技術を使います。これにより、大きなファイルもスムーズに送ることができます。この時も、優先順位のルールが使われます。

【page5】

ネットワークでの接続と通信について、もっと簡単に説明すると、コンピューター同士が通信する時には、リンク0という特別な道を使います。優先順位が高いコンピューターは、リンク0を使って最初にメッセージを送ります。優先順位が低いコンピューターは、そのメッセージを待つ必要があります。

ファイルのようなリンクは、大きなデータを送るために使われます。これは、特別な方法でバッファリング(一時的にデータをためること)をして、データを早く送ることができます。

コンピューターのオペレーティングシステムは、ユーザーが使えるいくつかの基本的な機能(プリミティブ)を提供する必要があります。これには、コンピューター同士の接続を始める、終わらせる、文字やファイルを送受信することなどが含まれます。

エラーチェックは、メッセージが正しく送られているかを確認するために重要です。メッセージごとに特別な番号やチェックサム(エラーを見つけるための数字の組み合わせ)を使います。

最後に、ユーザーが遠隔地のコンピューターを使う時には、いくつかの機能を使いやすくすることが大事です。ただ、ネットワークを使うことは複雑で、特に高度なコンソール(コンピューターを操作するための装置)を使う時には、少しの遅延でも大きな問題になることがあります。

【page6】

コンピューターのコンソール(画面とキーボードがある操作部)を使っている時には、2つの部分がある。1つは、すぐに反応するローカルの部分と、もう1つは少し時間がかかるリモートの部分。

例えば、キーボードで「H E L L O <- <- P」と打つと、実際には「H E L P」と画面に表示される。これは、キーボードで打った文字がすぐに画面に表示されるローカルの部分。でも、これをリモートのコンピューター(遠くにあるコンピューター)に送ると、ちょっと時間がかかる。

もっと良い方法は、リモートのプログラムのために「フロントエンド」という部分を作ること。これは、打った文字をすぐに処理して、最終的な文字だけをリモートのコンピューターに送る。だから、「H E L P」という短いメッセージだけが送られることになる。

これを実現するためには、コンソールを制御するための特別な言語を作る必要がある。この言語は、コンピューターがキーボードからの入力にどう反応するかを決めるのに使われる。そして、このプログラムはリモートのコンピューターからローカルのコンピューターに送られて、ローカルで動くようになる。

【page7】

  1. コンピューターがメッセージを送る時に、特別なチェック(チェックサム)を使って、メッセージに間違いがないかを確認します。でも、もしIMP(中間処理装置)がメッセージのコードを変えたら、このチェックサムがうまくいかなくなるかもしれません。

  2. まだ、「DELフロントエンド」という特別なプログラムをどうやって要求するかの方法が決まっていません。DELフロントエンドは、コンピューターがどうやって入力された文字を処理するかを決めるプログラムです。

実験について:

SRIという所では、オンラインで情報を調べるシステムを作っています。これはネットワークの大事な部分で、特別なタイプライター(モデル35テレタイプ)で操作できます。このタイプライターはDELという言語でプログラムされています。他の場所でも、このDELプログラムを使って、SRIのシステムを使えるようにする予定です。

さらに、SRIは、グラフィック(絵や図)を使う完全なシステムのためのDELフロントエンドを作ります。カリフォルニア大学ロサンゼルス校とユタ大学も、このグラフィックを含むシステムを使う予定です。

この投稿は私が働いている現場のスタッフへ届けているメッセージです。もし共感をいただけたのであれば幸いです。