计算机网络体系结构与参考模型
计算机网络分层结构
计算机网络的体系结构通常都具有可分层的特性,它将复杂的大系统分成若干较容易实现的层次。分层的基本原则如下:
- 每层都实现一种相对独立的功能,降低大系统的复杂度。
- 各层之间界面自然清晰,易于理解,相互交流尽可能少。
- 各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。
- 保持下层对上层的独立性,上层单向使用下层提供的服务
- 整个分层结构应能促进标准化工作。
在计算机网络的分层结构中,第 n 层中的活动元素通常称为第 n 层实体。具体来说,实体指任何可发送或接收信息的硬件或软件进程,通常是一个特定的软件模块。不同机器上的同一层称为对等层,同一层的实体称为对等实体。第n层实体实现的服务为第 n +1 层所利用。在这种情况下,第 n 层称为服务提供者,第 n+1 层则服务于用户。
每一层还有自己传送的数据单位,其名称、大小、含义也各有不同。
在计算机网络体系结构的各个层次中,每个报文都分为两部分:一是数据部分,即SDU;二是控制信息部分,即PCI,它们共同组成PDU。
- 服务数据单元(SDU)
服务数据单元(SDU):为完成用户所要求的功能而应传送的数据。第n层的服务数据单元记为n-SDU。
- 协议控制信息(PCD)
协议控制信息(PCD):控制协议操作的信息。第n层的协议控制信息记为n-PCI.
- 协议数据单元(PDU)
协议数据单元(PDU):对等层次之间传送的数据单位称为该层的PDU。第n层的协议数据单元记为n-PDU。在实际的网络中,每层的协议数据单元都有一个通俗的名称,如物理层的PDU称为比特,数据链路层的PDU称为帧,网络层的PDU称为分组,传输层的PDU称为报文段。
在各层间传输数据时,把从第n +1层收到的PDU作为第n层的SDU,加上第n层的PCI就变成了第n层的PDU,交给第n-1层后作为SDU发送,接收方接收时做相反的处理,因此可知三者的关系为n-SDU+ n-PCI =n-PDU=(n- 1)-SDU,其变换过程如图1.5所示。
计算机网络协议、接口、服务的概念
- 协议
协议,就是规则的集合。在网络中要做到有条不紊地交换数据,就必须遵循-一些事先约定好的规则。这些规则明确规定了所交换的数据的格式及有关的同步问题。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(Network Protocol),它是控制两个(或多个)对等实体进行通信的规则的集合,是水平的。不对等实体之间是没有协议的,比如用TCP/IP协议栈通信的两个结点,结点A的传输层和结点B的传输层之间存在协议,但结点A的传输层和结点B的网络层之间不存在协议。网络协议也简称为协议。
协议由语法、语义和同步
三部分组成。
- 语法规定了传输数据的格式;
- 语义规定了所要完成的功能,即需要发出何种控制信息、完成何种动作及做出何种应答;
- 同步规定了执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。
一个完整的协议通常应具有线路管理(建立、释放连接)、差错控制、数据转换等功能。
- 接口
接口是同一结点内相邻两层间交换信息的连接点,是一个系统内部的规定。每层只能为紧邻的层次之间定义接口,不能跨层定义接口。在典型的接口上,同一结点相邻两层的实体通过服务访问点(Service Access Point,SAP)进行交互。服务是通过SAP提供给上层使用的,第n层的SAP就是第 n+1 层可以访问第n层服务的地方。每个SAP都有一个能够标识它的地址。SAP是一个抽象的概念,它实际上是一个逻辑接口(类似于邮政信箱),但和通常所说的两个设备之间的硬件接口是很不一样的。
- 服务
服务是指下层为紧邻的上层提供的功能调用,它是垂直的。对等实体在协议的控制下,使得本层能为上一层提供服务,但要实现本层协议还需要使用下一层所提供的服务。
上层使用下层所提供的服务时必须与下层交换一些命令,这些命令在OSI参考模型中称为服务原语。
OSI参考模型将原语划分为4类:
1)请求(Request)。由服务用户发往服务提供者,请求完成某项工作。
2)指示(Indication)。由服务提供者发往服务用户,指示用户做某件事情。
3)响应(Response)。由服务用户发往服务提供者,作为对指示的响应。
4)证实(Confirmation)。由服务提供者发往服务用户,作为对请求的证实。
这4类原语用于不同的功能,如建立连接、传输数据和断开连接等。有应答服务包括全部4类原语,而无应答服务则只有请求和指示两类原语。
一定要注意,协议和服务在概念上是不一样的。首先,只有本层协议的实现才能保证向上一-层提供服务。本层的服务用户只能看见服务而无法看见下面的协议,即下面的协议对上层的服务用户是透明的。其次,协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。另外,并非在一层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才称为服务。
协议、接口、服务三者之间的关系如图所示。
注:
服务访问点(SAP)是在一-个层次系统的上下层之间进行通信的接口,N 层的 SAP 是 N+1 层可以访问 N 层服务的地方。―般而言,物理层的服务访问点是“网卡接口”,数据链路层的服务访问点是“MAC地址(网卡地址)”,网络层的服务访问点是“ TP地址(网络地址)”,传输层的服务访问点是“端口号”,应用层提供的服务访问点是“用户界面”。
计算机网络提供的服务分类
计算机网络提供的服务可按以下三种方式分类。
-
面向连接服务与无连接服务
-
可靠服务和不可靠服务
可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。不可靠服务是指网络只是尽量正确、可靠地传送,而不能保证数据正确、可靠地传送到目的地,是一种尽力而为的服务。
- 有应答服务和无应答服务
有应答服务是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不由用户实现。所发送的应答既可以是肯定应答,也可以是否定应答,通常在接收到的数据有错误时发送否定应答。例如,文件传输服务就是一种有应答服务。
无应答服务是指接收方收到数据后不自动给出应答。若需要应答,则由高层实现。例如,对于wwW服务,客户端收到服务器发送的页面文件后不给出应答。
ISO/OSI 参考模型
低三层统称为通信子网,高三层统称为资源子网
- 物理层(Physical Layer)
物理层的传输单位是比特
,任务是透明的传输比特流,功能是在物理媒体上为数据端设备透明地传输原始比特流。
- 数据链路层(Data Link Layer)
数据链路层的传输单位是帧
,任务是将网络层传来的P数据报组装成帧。数据链路层的功能可以概括为成帧、差错控制、流量控制和传输管理等。
广播式网络在数据链路层还要处理新的问题,即如何控制对共享信道的访问。数据链路层的-个特殊的子层—介质访问子层,就是专门处理这个问题的。
典型的数据链路层协议有SDLC、HDLC、PPP、STP和帧中继等。
- 网络层(Network Layer)
网络层的传输单位是数据报
,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现流量控制、拥塞控制
、差错控制和网际互联等功能。
网络层的协议有IP、IPX、ICMP、IGMP、ARP、RARP和OSPF等。
- 传榆层(Transport Layer)
传输层也称运输层,传输单位是报文段(TCP)
或用户数据报(UDP)
,传输层负贵主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。
数据链路层提供的是点到点的通信,传输层提供的是端到端的通信,两者不同。通俗地说,点到点可以理解为主机到主机之间的通信,一个点是指一个硬件地址或P地址,网络中参与通信的主机是通过硬件地址或P地址标识的;端到端的通信是指运行在不同主机内的两个进程之间的通信,一个进程由一个端口来标识,所以称为端到端通信。
使用传输层的服务,高层用户可以直接进行端到端的数据传输,从而忽略通信子网的存在。通过传输层的屏蔽,高层用户看不到子网的交替和变化。由于一台主机可同时运行多个进程,因此传输层具有复用和分用的功能。复用是指多个应用层进程可同时使用下面传输层的服务,分用是指传输层把收到的信息分别交付给上面应用层中相应的进程。
传输层的协议有TCP、UDP。
- 会话层(Session Layer)
会话层允许不同主机上的各个进程之间进行会话。会话层利用传输层提供的端到端的服务,向表示层提供它的增值服务。这种服务主要为表示层实体或用户进程建立连接并在连接上有序地传输数据,这就是会话,也称建立同步(SYN)。
会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话。会话层可以使用校验点使通信会话在通信失效时从校验点继续恢复通信,实现数据同步。
- 表示层(Presentation Layer)
表示层主要处理在两个通信系统中交换信息的表示方式。不同机器采用的编码和表示方法不同,使用的数据结构也不同。为了使不同表示方法的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。数据压缩、加密和解密也是表示层可提供的数据表示变换功能。
- 应用层(Application Layer)
应用层是OSI参考模型的最高层,是用户与网络的界面。应用层为特定类型的网络应用提供访问OSI参考模型环境的手段。因为用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多。典型的协议有用于文件传送的FTP、用于电子邮件的SMTP、用于万维网的HTTP等。