Aoki Job Seeker

计算机网络体系结构


计算机网络体系结构



一、计算机网络分层结构

两个系统中实体间的通信是一个很复杂的过程,为了降低协议设计和调试过程的复杂性,也为了便于对网络进行研究、实现和维护,促进标准化工作,通常对及时算计网络的体系结构以分层的形式进行建模。

我们将计算机网络的各层及其协议的集合称为网络的体系结构。

网络设计者以分层的方式组织协议以及实现这些协议的网络硬件和软件,每个协议就属于这些层次之一。某层向它的上一层提供服务,即所谓每一层的服务模型。例如,第n层提供的服务可能包括报文从网络的一边到另一边的可靠传送。这可能是通过使用第n-1层的边缘到边缘的不可靠报文传送,加上第n层的检测和重传丢失报文的功能来实现的。

计算机网络的体系结构通常都具有可分层的特性,它将复杂的大系统分为若干个较容易实现的层次。分层的基本原则如下:

  1. 每次都实现一种相对独立的功能,降低大系统的复杂度
  2. 各层之间界面自然清晰,易于理解,相互交流尽可能少
  3. 各层功能的精确定义独立于具体的实现方法,可以采用合适的技术来实现
  4. 整个分层结构应该促进标准化工作

在计算机网路的分层结构中,第n层中的活动元素通常被称为n层实体。具体来说,实体指任何可发送或接受信息的硬件或软件进程,通常是一个特定的软件模块。不同机器上的同一层称为对等层,同一层的实体称为对等实体。

在计算机网络体系结构的各个层次中,每个报文都分为两部分:一是数据部分,即SDU;二是控制信息部分,即PCI,它们共同组成PDU。

服务数据单元(SDU):为完成用户所要求的功能而应传送的是数据。第n层的服务数据单元记为n-SDU。

协议控制信息(PCI):控制协议操作的信息。第n层的协议控制信息记为n-PCI。

协议数据单元(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. 协议

    协议,就是规则的集合。在网络中要做到有条不紊地交换数据,就必须遵循一些事先约定好的规则,这些规则明规定了所交换的数据的格式及有关的同步问题。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议。它是控制两个(或多个)对等实体进行通信的规则的集合,是水平的。不对等的实体之间没有协议。

  2. 接口

    接口是同一结点内相邻两层之间交换信息的连接点,是一个系统内部的规定。每层只能为紧邻的层次之间定义接口,不能跨层定义接口。在典型的接口上,同一结点相邻两层的实体通过服务访问点(SAP)进行交互。服务是通过SAP提供给上层使用的,第n层的SAP就是第n+1层可以访问第n层服务的地方。

  3. 服务

    服务是指下层为紧邻的上层提供的功能调用,它是垂直的。

    上层使用下层所提供的服务时必须与下层交换一些命令,这些命令在OSI中称为服务原语。OSI将原语划分为4类: 1)请求:由服务用户发往服务提供者,请求完成某项工作

    2)指示:由服务提供者发往服务用户,提示用户做某件事

    3)相应:由服务用户发往服务提供者,作为对指示的响应

    4)证实:由服务提供者发往服务用户,作为对请求的证实

    并非在一层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才称为服务。

    计算机网络提供的服务可按以下三种方式分类:

    (1)面向连接服务于无连接服务

    在面向连接服务中,通信前双方必须先建立连接,分配相应的资源,以保证通信能正常进行,传输结束后释放连接和所占用的资源。因此这种服务可分为建立连接、数据传输和释放连接三个阶段。TCP就是一种面向连接服务的协议。

    在无连接服务中,通信前双方不需要先建立连接,需要发送数据时可直接发送,把每个带有目的地址的包传送到线路上,由系统选定路线进行传输。这是一种不可靠的服务,这种服务常被描述为“尽最大可能交付”,它不能保证通信的可靠性。例如IP、UDP就是一种无连接服务的协议。

    (2)可靠服务与不可靠服务

    可靠服务是网络具有检错、纠错、应答机制,能保证数据正确、可靠地传送到目的地。

    不可靠服务是指网络只是尽量正确、可靠地传送,而不能保证数据正确、可靠地传送到目的地,是一种尽力而为的服务。

    (3)有应答服务和无应答服务

    有应答服务是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统同内部自动实现,而不由用户实现。所发送的应答既可以是可乐定应答,也可以是否定应答,通常在接收到数据有错误时发送否定应答。文件传输服务就是一种有应答服务。

    无应答服务是指接收方收到数据后不自动给出应答。若需要应答,则由高层实现。例如,对于WWW服务,客户端收到服务器发送的页面文件不给出应答。

三、ISO/OSI参考模型和TCP/IP模型

  1. OSI参考模型

    国际标准化组织(ISO)提出的网络体系结构模型,称为开放系统互联参考模型。通常简称为OSI模型。OSI有7层,自下而上依次是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

    低三层称为通信子网,它是为了联网而附加的通信设备,完成数据的传输功能;高三层统称为资源子网,它相当于计算机系统,完成数据的处理等功能。

    1)物理层

    物理层的传输单位是比特,任务是透明的传输比特流,功能是在物理媒体上为数据端设备透明地提供传输原始比特流。

    物理层主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理与逻辑连接方法,所以物理层协议也称为物理层接口标准,也称为规程。

    2)数据链路层

    数据链路层的传输单位是帧,任务是将网络层传来的IP数据报组装成帧。数据链路层的功能可以概括为成帧、差错控制、流量控制和传输管理。

    典型的数据链路层协议有SDLC、HDLC、PPP、STP和帧中继等。

    3)网络层

    网络层的传输单位是数据报,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传送到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互联等功能。

    网络层的协议有IP、IPX、ICMP、IGMP、ARP 、RARP、OSPF等

    4)传输层

    传输层也称为运输层,传输大单位是报文段(TCP)或用户数据报(UDP),传输层负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。

    数据链路层提供的是点对点的通信,传输层提供的是端到端的通信。

    传输层的协议有TCP、UDP

    5)会话层

    会话层允许不同的主机上的各个进程之间进行通信。会话层利用传输层提供的端到端的服务向表示层提供它的增值服务。这种服务主要为表示层实体或用户进程建立连接并在连接上有序地传输数据,这就是会话,也称为建立同步(SYN)。

    会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话。会话层可以使用校验点使通信会话在通信失效时从校验点继续恢复通信,实现数据同步。

    6)表示层

    表示层主要用于处理在两个通信系统中交换信息的表示形式。不同机器采用的编码和表示方法不同,使用的数据结构也不同。为了使不同表示方法的数据和信息之间能互相交流,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。数据压缩、加密和解密也是表示层可提供的数据表示交换功能。

    7)应用层

    应用层是OIS模型的最高层,是用户与网络的界面。应用层为特定类型的网络应用提供访问OSI环境的手段。因为用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多。

    典型的应用层协议有用于文件传输的FTP、用于电子邮件的SMTP、用于万维网的HTTP等。

  2. TCP/IP模型

    TCP/IP模型从低到高依次是网络接口层(对应OSI参考模型中的物理层和数据链路层)、网际层、传输层和应用层(对应OSI模型的会话层、表示层、应用层)。

    1)网络接口层

    网络接口层的功能类似于OSI的物理层和数据链路层。它表示与物理网络的接口,但实际上TCP/IP本身并未真正描述这一部分,只是指出主机必须使用某种协议和网络连接,以便在其上传递IP分组。

    2)网际层

    网际层(主机-主机)是TCP/IP体系结构的关键部分。它和OSI网络层在功能上是非常相似的。网际层将分组发往任何网络,并为之独立地选择合适的路由,但它不保证各个分组有序地到达,各个分组的有序交付由高层负责。

    3)传输层

    传输层(应用-应用或进程-进程)的功能同样与OSI中的传输层类似,使得发送端和目的端主机的对等实体进行会话。传输层主要使用以下两种协议: (1) 传输控制协议(Transmission Control Protocol,TCP)。它是面向连接的,数据传输的单位是报文段,能够提供可靠的交付。

    (2)用户数据报协议(User Datagram Protocol,UDP)。它是无连接的,数据传输的单位是用户数据报,不能保证提供可靠的交付,只能提供“尽最大努力交付”。

    4)应用层(用户-用户)包含所有的高层协议。IP协议是因特网中的核心协议;TCP/IP可以为各种各样的应用提供服务,同时TCP/IP也允许在由各种网络构成的互联网上运行。

  3. TCP/IP模型与OSI模型的比较

    1)二者都采用分层的体系结构,分层的功能也大体相似

    2)二者都基于独立的协议栈概念

    3)二者都可以解决异构网络的互联,实现世界上不同厂家生产的计算机之间的通信

    4)OSI模型最大的贡献是精确地定义了三个主要的概念:服务,协议和接口,与现代的面向对象程序设计思想非常吻合。而TCP/IP模型在这三个概念上却没有明确区分,不符合软件工程的思想

    5)OSI模型产生在协议之前,没有偏向于任何特定的协议,通用性良好。TCP/IP模型产生于协议之后,实际是对协议的描述

    6)TCP/IP在设计之初就考虑了多种异构网的互联问题,并将网际协议(IP)作为一个单独的重要层次。OSI模型最初只考虑到用一种标准的公用数据网络将不同的系统互联。OSI模型认识到网际协议IP的重要性后,只好在网络层中划分出一个子层来完成类似于TCP/IP模型中的IP功能

    7)OSI模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信。而TCP/IP模型认为可靠性是端到端的问题,因此它在网际层仅有一种无连接的通信模式,但传输层支持无连接和面向连接两种模式







The End



上一篇 数据通信基础

Comments

Content