II - プロトコルの階層
ネットワークを、プロトコルと実装のレベルの階層から成るものとして見るのは便利かつ有用であるように思われる。ソフトウェアとハードウェアの独立した開発を助けることに加えて、階層化されたプロトコルの用意は、実験的または特殊目的のシステムにおいて特定のレベルの追加や置き換えを可能にする。
我々は初期のネットワーク通信システムを、一般性が増し特権レベルが下がる 3 つのシステムの階層として見る。それらは次のとおりである:
-
IMP ネットワーク - IMP と物理通信回線から成るネットワークが基本資源であり、上位のシステムがこれをより汎用の通信機能へと変換する。IMP ネットワークは、各ホスト内の高い特権を持つモジュールに対して、メッセージ伝送機能の "卸売業者" として振る舞う。
-
ネットワーク制御プログラム - 各ホストはネットワーク制御プログラム (NCP) と呼ばれるモジュールを含み、これがそのホストと IMP ネットワークとの間の通信を独占的に制御する。これは IMP ネットワークが提供する卸売通信機能の "小売業者" として振る舞う。NCP のネットワークは、IMP ネットワークを取り囲むより高次の通信システムと見ることができ、ホスト間の生のメッセージ伝送能力を、通常の特権を持たないプロセス間の通信機能へと分解する。
H O S T A H O S T C
______________________________ ______________________
| | | |
| ____ ____ ____ ____ | | ____ ____ ____ |
| |Proc| |Proc| |Proc| | | | | |Proc| |Proc| | | |
| | A | | B | | C | |UCC | | | | D | | E | |UCC | |
| |____| |____| |____| |____| | | |____| |____| |____| |
| | | | | | | | | | |
- - - - - - |- - - |- - - |- - -|- - -|- - |- - -|- - - |- - - - - -
| | | | | NCP NETWORK | | | |
| | | | | | | | | | |
| _|_____|______|______|_ | | _|_____|______|_ |
| | | | | | | |
| | N C P A | | | | N C P C | |
| |_______________________| | | |________________| |
| || | | || |
|_____________________||_______| |_______||_____________|
|| ||
- - - - - - - - - - - -|| - - - - - - - - - - ||- - - - - - - - - -
|| IMP NETWORK ||
___||___ ____||__
| | | |
| IMP |------------| IMP |
| A | | C |
|________| |________|
| |
| ________ |
| | | |
+------| IMP |-----+
| B |
|________|
図 1: ネットワークのモジュール的見方
- ユーザー制御通信モジュール - 前述の 2 つの通信システムは、既に存在する特権を持たないプロセス間の通信を可能にするのに十分である。しかしながら、ネットワークの主要な初期用途の一つは、外部ホストのロガーとの対話を通じた外部ユーザープロセスの作成にあると考えられている。ユーザー制御通信モジュール (UCC) は、プロセスが外部ホストのロガーと通信し、作成されたプロセスと初期の制御通信を行うのに十分なプロトコルを実装する。そのようなプロセスは、(管理上の制御に従うことを条件として) 外部ホストにとってのローカルなユーザープロセスと同じ特権を持つことになる。UCC モジュールは通常のプロセスと同様の方法で NCP を通じて通信する。死んだプロセスへの接続を閉じることができる点を除き、UCC モジュールに特別なネットワーク特権はない。UCC プロトコルは実装され得るいくつかの第三レベルプロトコルの一つにすぎない。例えば、NCP システムを通じて接続された一連のバッチ処理システムは、負荷分散プロトコルを実装するかもしれないが、UCC は実装しない。