跳到主要内容

II - 协议的层次结构

把网络视为由协议层次和实现层次构成的层次结构, 似乎既方便又有用。除了有助于软件和硬件的独立开发之外, 分层协议还允许在实验性系统或专用系统中增加和替换某些层次。

我们把初始的网络通信系统视为三个系统的层次结构, 它们的通用性递增而特权级别递减。它们是:

  1. IMP 网络 - 由 IMP 和物理通信线路构成的网络是基本资源, 更高层的系统把它转换成更通用的通信设施。IMP 网络充当各主机内部一个享有高特权的模块的消息传输设施的 "批发商"。

  2. 网络控制程序 - 每台主机都包含一个称为网络控制程序 (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: 网络的模块化视图

  1. 用户控制与通信模块 - 前面两个通信系统已经足以让那些已经存在的无特权进程之间进行通信。然而, 网络的初期主要用途之一被认为涉及通过与外部主机的 logger 交互来创建一个外部用户进程。用户控制与通信模块 (UCC) 实现了足以让一个进程与外部主机的 logger 通信、并与被创建的进程进行初始控制通信的协议。这样的进程应享有与本地 (就外部主机而言) 用户进程相同的特权 (受管理控制约束)。UCC 模块以一种类似于普通进程的方式通过 NCP 进行通信。除了能够关闭与一个已死进程之间的连接之外, UCC 模块没有特殊的网络特权。UCC 协议只是可以实现的若干第三层协议之一。例如, 一组通过 NCP 系统相连的批处理系统可能实现某种负载分担协议, 但不会实现 UCC。