|
计算机网络系统是由各种各样的计算机和终端设备通过通信线路连接起来的复杂系统。在这个系统中,由于计算机类型、通信线路类型、连接方式、同步方式、通信方式等的不同,给网络各结点的通信带来诸多不便。要使不同的设备真正以协同方式进行通信是十分复杂的。要解决这个问题,势必涉及通信体系结构设计和各厂家共同遵守约定标准等问题,也就是计算机网络体系结构和协议问题。
|
|
|
|
1974年,美国IBM公司首先公布了世界上第一个计算机网络体系结构(SNA, System Network Architecture),凡是遵循SNA的网络设备都可以很方便地进行互连。1977年3月,国际标准化组织ISO的技术委员会TC97成立了一个新的技术分委会SC16专门研究“开放系统互连”,并于1983年提出了开放系统互连参考模型,即著名的ISO 7498国际标准(我国相应的国家标准是GB 9387),记为OSI/RM。
|
|
|
在OSI中采用了三级抽象:参考模型(即体系结构)、服务定义和协议规范(即协议规格说明),自上而下逐步求精。OSI/RM并不是一般的工业标准,而是一个为制定标准用的概念性框架。经过各国专家的反复研究,在OSI/RM中,采用了如下表所示的七个层次的体系结构。
|
|
|
|
|
OSI/RM模型本身不是网络体系结构的全部内容,它并未确切地描述用于各层的协议和服务,它仅仅说明了每一层应该做什么。不过,OSI已经为各层制定了标准,但它们并不是参考模型的一部分,而是作为单独的国际标准公布的。
|
|
|
|
物理层涉及到通信在信道上传输的原始比特流。这里的设计主要是处理机械的、电气的和过程的接口,以及物理层下的物理传输介质等问题。
|
|
|
|
数据链路层的主要任务是加强物理层传输原始比特的功能,使之对网络层呈现为一条无错线路。数据链路层要解决的另一个问题是流量控制。通常流量控制和出错处理同时完成。如果线路能用于双向传输数据,数据链路软件还必须解决发送双方数据帧竞争线路的使用权问题。广播式网络在数据链路层还要处理共享信道访问的问题。数据链路层的一个特殊子层——介质访问子层,就是专门处理这个问题的。
|
|
|
|
网络层关系到子网的运行控制,其中一个关键问题是确定分组从源端到目的端如何选择路由。如果在子网中同时出现过多的分组,它们将相互阻塞通路,形成瓶颈。此类拥塞控制也属于网络层的范围。网络层还常常设有记账功能。它还必须解决异种网络的互连问题。在广播网络中,选择路由问题很简单,因此网络层很弱,甚至不存在。
|
|
|
|
传输层的基本功能是从会话层接收数据,并且在必要时把它分成较小的单元,传递给网络层,并确保达到对方的各段信息正确无误,传输层使会话层不受硬件技术变化的影响。传输层也要决定向会话层,最终向网络用户提供了什么样的服务。采用哪种服务是在建立连接时确定的。传输层是真正的从源到目标“端到端”的层。源端机上的某程序,利用报文头和控制报文与目标机上的类似程序进行对话。
|
|
|
除了将几个报文流多路复用到一条通道上,传输层还必须解决跨网络连接的建立和拆除。另外,还需要进行流量控制,主机之间的流量控制和路由器之间的流量控制不同。
|
|
|
|
会话层允许不同计算机上的用户建立会话关系。会话层服务之一是管理对话。会话层允许信息同时双向传输,或任一时刻只能单向传输。另一种会话服务是同步。会话层在数据流中插入检查点。每次网络崩溃后,仅需要重传最后一个检查点以后的数据。
|
|
|
|
表示层以下的各层只关心可靠地传输比特流,而表示层关心的是所传输信息的语法和语义。表示层服务的一个典型例子是对数据编码。为了让采用不同表示方法的计算机之间能进行通信,交换中使用的数据结构可以用抽象的方式来定义,并且使用标准的编码方式。表示层管理这些抽象数据结构,并且在计算机内部表示法和网络的标准表示法之间进行转换。
|
|
|
|
应用层包含大量人们普遍需要的协议。例如,定义一个抽象的网络虚拟终端,而对每一种终端类型,都写一段软件来把网络虚拟终端映射到实际的终端。另一个应用层功能是文件传输。此外还有电子邮件、远程作业输入、名录查询和其他各种通用和专用的功能。
|
|
|
OSI/RM模型的概念比较抽象,它并没有规定具体的实现方法和措施,更未对网络的性能提出具体的要求,它只是一个为制定标准用的概念性框架。OSI/RM七层协议模型上、下大,中间小,这是因为最高层要和各种类型的应用进程接口,而最低层要和各种类型的网络接口,因此上、下两头标准特别多,而中间几层标准就稍简单些。有些层的任务过于繁重,如数据链路层和网络层,有些层的任务又太轻,如会话层和表示层。
|
|
|
常见的计算机网络体系结构,除了OSI结构外,还有TCP/IP结构,其模型如下图所示。
|
|
|
|
|
这里,就不详细介绍TCP/2P协议中各层的作用了,有兴趣的读者可以去查阅相关书籍。
|
|
|
|
TCP/IP (Transmission Control Protocol/Internet Protocol)是国际互联网络事实上的工业标准,ARPANET最初设计的TCP称为网络控制程序NCP,在上面传送的数据单位是报文(Message),实际上就是现在的TPDU。随着ARPANET逐渐变成了Internet,子网的可靠性也就下降了,于是NCP就演变成了今天的TCP。与TCP配合使用的网络层协议是IP。TCP/IP是一组通信协议的代名词,是由一系列协议组成的协议簇。它本身指两个协议集:TCP为传输控制协议,IP为互连网络协议。TCP/IP协议是常见的一种协议,它主要包括下列协议:
|
|
|
|
Telnet协议是用来登录到远程计算机上,并进行信息访问,通过它可以访问所有的数据库、联机游戏、对话服务以及电子公告牌,如同与被访问的计算机在同一房间中工作一样,但只能进行字符类操作和会话。
|
|
|
|
这是文件传输的基本协议,有了FTP协议就可将文件上传,也可从网上得到许多应用程序和信息(下载),有许多软件站点就是通过FTP协议来为用户提供下载任务的,俗称FTP服务器。最初的FTP程序是工作在Unix系统下的,而目前的许多FTP程序是工作在Windows系统下的。FTP程序除了完成文件的传送之外,还允许用户建立与远程计算机的连接,登录到远程计算机上,并可在远程计算机上的目录间移动。
|
|
|
|
SMTP是TCP/IP协议族的一个成员,这种协议认为计算机是永久连接在Internet上的,而且认为网络上的计算机在任何时候都是可以被访问的。它适用于永久连接在Internet的计算机,但无法使用通过SLIP/PPP协议连接的用户接收电子邮件。解决这个问题的办法是在邮件计算机上同时运行SMTP和POP协议的程序,SMTP负责邮件的发送和在邮件计算机上的分拣和存储,POP协议负责将邮件通过SLIP/PPP协议连接传送到用户的计算机上。
|
|
|