3. TERM はどのように動くのか

 TERM を試す前に、この章全てと、パッケージとともに提供される INSTALLATION ファイルを最初に読むことを強くおすすめします。さらに、TERM と (term)test につ いてのマニュアルページにも目を通して下さい。きっと簡単に、素早く作業をするこ とができるでしょう。

3.1. 用語の定義など

 あなたが何らかのターミナルサーバを通してシステムにダイアルすることを仮定し ます。私はここでローカルとリモートという言葉をそれぞれ自宅と、ネットワークに つながったシステムの意味で使います(何か別の意味で使わない限りは :-)。

 TERM は、ネットワーク接続されていないけれどもシリアルラインを通してネット ワーク接続されたマシンにつながっているローカルマシンに、ネットワークサービス を提供します。ネットワークサービスを要求する、ftp や telnet のようなプログラ ムをどのように起動するか見てみましょう。これらのプログラムは、ネットワーク サービスを要求するシステムコールを発行します。オペレーティングシステムは、こ れらのサービスをネットワークインターフェースを通じて行います(例えば、イーサ ネットを通じてパケットを送ったり受けたりする)。SLIP や PPP は、モデムラインを ネットワークインターフェースにすることによってこれを行い、これはイーサネット によるものと原理的に変わりません。つまり、これらのプロトコルが、他のマシン同 様にモデムによってつながったマシンをネットワークの一部分にするということです。 このことは、ネットワークのノードとなることによるすべての管理の負担がかかると いうことです(さらに言うなら、モデムも管理の対象とせねばなりません)。

 SLIP や PPP のようなネットワークコネクションがないとき、一般的にはどうした らいいでしょう?ネットワークに繋がったマシンにダイアルして、メールやニュース を読みましょうか。もしファイルが必要になったら、まず kermit やその他のコミュ ニケーションプログラムを使って、最初にリモートマシンに送ったりまたローカルマ シンにダウンロードすることになります。これはちょっと面倒です。それは特に、モ デムリンクを使う作業が同時にたった一つしかできないことによっています。TERM の アイデアは基本的にはこのプロセスを自動化し、多重化することです。TERM はローカ ルとリモートの両方で起動され、モデムラインを通じて二つのプロセスが互いに通信 します。ネットワークサービスが必要になったら、ローカルの TERM デーモンに要求 を出すと、それはネットワークにつながったリモートのマシン上の TERM デーモンに転 送されます。結果はモデムラインを通じて返ってきます。

 具体的にするために、あなたが ftp でファイルを取得したいとしましょう。まず、 あなたは TERM と会話できる ftp のバージョンが必要になります。あなたはこの termftp を普通の ftp のように、'termftp nethost.gov' のように起動します。し かしこの特別なバージョンはそのネットワークリクエストをカーネルの代わりにロー カルの TERM デーモンに出します。ローカルの TERM デーモンはモデムラインを通じ てリモートの TERM にこのリクエストを転送し、リモートの TERM は nethost.gov へ の ftp コネクションを張ります。そしてデータをモデムリンクを通じて送り返すので す。TERM は同時に異なる多数の作業を進行させるのに十分な性能を持っています。そ のためあなたは同じモデムリンクを使っていくつもの異なるネットワークセッション を張ることができるのです。例えば、termftp で転送を行っている最中に termtelnet を使って離れた別のホストにログインしている、といった具合です。

 これが抽象的に過ぎたとしても(よくわからなくても)気にしないでください。この セクションを抜けるための重要な部分は、モデムの両端で二つの TERM が走っている ということなのです。