1.2 计算机网络的定义
在计算机网络发展过程的不同阶段中,人们对计算机网络提出了不同的定义,它反映了当时网络技术发展的水平,以及人们对网络的认识程度。这些定义可以分为三类:广义的观点、资源共享的观点和用户透明性的观点。从目前计算机网络的特点来看,资源共享观点能比较准确地描述计算机网络的基本特征。相比之下,广义的观点定义的是计算机通信网络,而用户透明性的观点定义的是分布式计算机系统。
讨论计算机网络的定义,就是要回答以下两个问题:
(1)计算机网络的基本特征是什么?
(2)计算机网络与分布式计算机系统的区别是什么?
1.2.1 计算机网络定义的基本内容
资源共享观点将计算机网络定义为“以能够相互共享资源的方式互连起来的自治计算机系统的集合”。
资源共享观点的定义符合计算机网络的基本特征,这主要表现在以下三个方面。
(1)计算机网络建立的主要目的是实现计算机资源的共享。计算机资源主要指计算机硬件、软件与数据。网络用户不但可以使用本地计算机资源,而且可以通过网络访问联网的远程计算机资源,还可以调用网络中的几台计算机共同完成某项任务。
(2)互连的计算机是分布在不同地理位置的多台独立的“自治计算机”。互连的计算机之间可以没有明确的主从关系,每台计算机既可以联网工作,也可以脱网独立工作。联网计算机可以为本地用户提供服务,也可以为远程网络用户提供服务。
(3)联网计算机之间的通信必须遵循共同的网络协议。计算机网络是由多个互连的结点组成的,结点之间要做到有条不紊地交换数据,每个结点都必须遵守一些事先约定好的通信规则。这就和人们之间的对话一样,要么大家都说中文,要么大家都说英文。如果一个说中文,一个说英文,那么就需要找一个翻译。如果一个人只能说日文,另一个人又不懂日文,而又没有翻译,那么这两个人就无法进行交流。
我们判断计算机是否互连成计算机网络,主要是看它们是不是独立的“自治计算机”。如果两台计算机之间有明确的主从关系,其中一台计算机能控制另一台计算机,则其中一台计算机就不是“自治计算机”。根据资源共享观点的定义,由一个主结点与多个从结点组成的计算机系统不是计算机网络,因此,带有多个远程终端或远程打印机的计算机系统并不是一个计算机网络。
1.2.2 计算机网络与分布式计算机系统的区别
分布式计算机系统(Distributed Computer System)通常简称为分布式系统,它与计算机网络是两个常被混淆的概念。用户透明性观点定义计算机网络中“存在着一个能为用户自动管理资源的网络操作系统,由它调用完成用户任务所需要的资源,而整个网络像一个大的计算机系统一样对用户透明。”严格地说,用户透明性观点的定义描述的是一种分布式计算机系统。
分布式系统一般具有以下这些特征。
(1)系统拥有多种通用的物理和逻辑资源,可以动态地给它们分配任务。
(2)系统中分散的物理和逻辑资源通过计算机网络实现信息交换。
(3)系统中存在一个以全局方式管理系统资源的分布式操作系统。
(4)系统中的计算机之间既合作又自治。
(5)系统内部结构对用户是完全透明的。
从以上讨论中可以看出,计算机网络与分布式系统的共同点主要表现在:一般的分布式系统建立在计算机网络之上,因此分布式系统与计算机网络在物理结构上基本相同。两者的区别主要表现在:分布式操作系统与网络操作系统的设计思想不同,因此它们的结构、工作方式与功能也不同。
网络操作系统要求网络用户使用网络资源时,首先必须了解网络资源的分布情况。网络用户要了解网络中各种计算机的功能与配置、应用软件的分布、网络文件目录结构等。如果用户要读取网络中的某个共享文件,必须知道这个文件存放在哪台服务器中,以及它存放在服务器的哪个目录中。例如,如果老师将学生的考试成绩文件“wu\test”存放在文件服务器fileserver的目录account中,学生查询文件就必须知道文件在网络中的路径“fileserver\account:wu\test”。
分布式操作系统以全局方式管理系统资源,它能自动为用户任务调度网络资源。对于分布式系统来说,多个互连的计算机系统对用户是“透明”的。当用户输入命令去运行一个程序时,分布式操作系统能根据用户的要求,在系统中选择最合适的处理器,将用户需要的文件自动传送到该处理器,并在完成操作后将结果传输给用户。也就是说,分布式系统的用户并不会意识到有多个处理器存在,整个系统就像是一个虚拟的单一处理器。任务在处理器之间的分配与文件的调用、传输、存储都自动进行。
因此,分布式系统与计算机网络的主要区别不在物理结构上,而是在高层软件上。分布式系统是一个建立在计算机网络上的软件系统,这种软件可以保证系统的一致性与透明性。用户不必关心网络环境中资源的分布情况及联网计算机的差异,用户的作业管理与文件管理过程对用户是透明的。计算机网络为分布式系统的研究提供了技术基础,而分布式系统是计算机网络发展的高级阶段。
1.2.3 现代计算机网络结构的特点
1.早期的计算机网络结构
早期的计算机网络主要是广域网,通过通信线路将分布在不同地理位置的大型机或中、小型机相互连接起来。计算机网络要完成数据处理与数据通信两大基本功能。早期的计算机网络可以分成两个部分:负责数据处理的主机与终端;负责数据通信处理的通信控制处理机(CCP,Communication Control Processor)与通信线路。从计算机网络组成的角度来看,早期的计算机网络从逻辑功能上分为两个部分:资源子网和通信子网。图1-1给出了早期计算机网络的结构。
图1-1 早期计算机网络的结构
(1)资源子网
资源子网由主机、终端、终端控制器、联网外设、各种软件与信息资源组成。资源子网负责全网的数据处理业务,向网络用户提供各种网络资源与网络服务。
主计算机系统简称为主机(Host),它可以是大型机、中型机或小型机。主机是资源子网的主要组成单元,它通过高速通信线路与通信控制处理机相连。普通用户终端通过主机连入网络中。主机为用户访问网络中其他主机与资源提供服务,同时要为网中远程用户共享本地资源提供服务。随着微型计算机的广泛应用,连入计算机网络的微型计算机数量日益增多,它可以作为主机的一种类型,直接通过通信控制处理机连入网络中,也可以通过联网的大、中、小型计算机间接连入网络中。
终端(Terminal)是用户访问网络的界面。终端可以是简单的输入/输出终端,也可以是带有微处理机的智能终端。智能终端除了具有输入与输出功能外,本身还具有存储与处理信息的能力。终端可以通过主机连入网络中,也可以通过终端控制器、报文分组拆分与组装设备或通信控制处理机连入网络中。
(2)通信子网
通信子网由通信控制处理机、通信线路与其他通信设备组成,它负责完成网络数据传输、转发等通信处理任务。
CCP在网络拓扑结构中称为网络结点。一方面,它作为与资源子网的主机、终端的连接接口,将主机和终端连入网络中;另一方面,它作为通信子网中的分组存储转发结点,完成分组的接收、校验、存储、转发等功能,实现将源主机的报文准确发送到目的主机的作用。在早期的ARPA网络中,承担CCP功能的设备是接口报文处理机。
通信线路为CCP与CCP、CCP与主机之间提供通信信道。计算机网络可以采用多种通信线路,如电话线、双绞线、同轴电缆、光缆、无线通信、微波与卫星通信等。
2.现代的计算机网络结构
随着微型计算机和局域网的广泛应用,使用大型机与中型机的主机-终端系统的用户减少,因此现代的网络结构已经发生变化。随着微型计算机的广泛应用,大量的微型计算机通过局域网连入广域网,局域网与广域网、广域网与广域网通过路由器互连。在Internet中,用户计算机通过校园网、企业网或ISP连入地区主干网,地区主干网通过国家主干网连入国家间的高速主干网,这样就形成由路由器互连的大型、层次结构的互连网络。图1-2给出了现代计算机网络的结构示意图。
图1-2 现代计算机网络的结构示意图