第二节:计算机网络结构设计地基本思想

1、计算机网络体系结构基本思想

(1)为什么需要计算机网络体系结构

众所周知,计算机网络是个非常复杂的系统。比如,连接在网络上的两台计算机需要进行通信时,由于计算机网络的 复杂性 和 异质性,需要考虑很多复杂的因素,比如:
  1). 这两台计算机之间必须有一条传送数据的通路;
  2). 告诉网络如何识别接收数据的计算机;
  3). 发起通信的计算机必须保证要传送的数据能在这条通路上正确发送和接收;
  4). 对出现的各种差错和意外事故,如数据传送错误、网络中某个节点交换机出现故障等问题,应该有可靠完善的措施保证对方计算机最终能正确收到数据。
  计算机网络体系结构标准的制定正是为了解决这些问题从而让两台计算机(网络设备)能够像两个知心朋友那样能够互相准确理解对方的意思并做出优雅的回应。也就是说,要想完成这种网络通信就必须保证相互通信的这两个计算机系统达成 高度默契。事实上,在网络通信领域,两台计算机(网络设备)之间的通信并不像人与人之间的交流那样自然天然,这种 计算机间高度默契的交流(通信) 背后需要十分复杂、完备的网络体系结构作为支撑。那么,用什么方法才能合理地组织网络的结构,以保证其具有结构清晰、设计与实现简化、便于更新和维护、较强的独立性和适应性,从而使网络设备之间具有这种 “高度默契” 呢?
  答案是分而治之,更进一步地说就是分层思想。分层思想的内涵就是: 每层在依赖自己下层所提供的服务的基础上,通过自身内部功能实现一种特定的服务。

(2)分层思想在日常生活中的应用

在我们的日常生活中有很多分层思想的应用,比如邮政系统、银行系统等。我们就以邮政系统的组织结构作为例子进行说明:
第二节:计算机网络结构设计地基本思想
从上图我们知可以看出,用户和用户之间的通信依赖于下层的服务,但是他们并不需要关心快递、运输等细节,也就是说,寄信者只需将写好的信交给快递员而收信者只需从快递员手中查收信件即可。类似地,快递员也只需要从寄信人手中拿到信件并交给分检员或将信件从分检员手中拿走并交给收信人即可,至于分检员为何要把这份信交给他进行投递(事实上,每个快递员会负责某个片区,分检员根据收信人地址将信件分发给不同的快递员),他不需要关心也没必要关心。显然,在这个邮政系统中,各个角色(用户、快递员…)在功能上相互独立却又能协调合作达成一种 “高度默契”,这在很大程度上得益于分层思想的理念和应用。下图更直观地体现了邮政系统的分层思想:
第二节:计算机网络结构设计地基本思想

2、计算机网络地分层原理

(1) 基本概念

第二节:计算机网络结构设计地基本思想

  • 实体: 任何可以发送和接收信息的软硬件进程;
  • 对等层: 两个不同系统的同一层次;
  • 对等实体: 分别位于不同系统对等层的两个实体;
  • 接口: 上层使用下层所提供的功能的方式;
  • 服务: 某一层及其以下各层的所完成的功能,通过接口提供给相邻的上层;
  • 协议: 通信双方在通信过程中必须遵循的规则。

(2)网络体系结构模型

第二节:计算机网络结构设计地基本思想
我们在网络中的任何一个系统都是按照上图中的层次结构模型来组织的,该模型具有以下特点:

  • 同一网络中,任意两个端系统必须具有相同的层次;

  • 每层使用其下层提供的服务,并向其上层提供服务;

  • 通信只在对等层间进行,当然这里所指的通信是间接的、逻辑的、虚拟的,非对等层之间不能互相“通信”;

  • 实际的物理通信只在最底层完成;

  • Pn代表第n层的协议,即第n层对等实体间通信时必须遵循的规则或约定。

(3)对等层通信的实质

在逻辑上,网络分层体系结构原理允许不同主机的对等实体进行通信,但禁止不同主机非对等实体间进行直接通信;在物理上,每一层必须依靠下层提供的服务来与另一台主机的对等层通信,这是 对等层通信的实质 。也就是说,模型中的上层(第n+1层)使用下层(第n层)所提供的服务,是下层(第n层)服务消费者;而模型中的下层(第n层)向上层(第n+1层)提供服务,是上层(第n+1层)的服务生产者(提供者)。
  进一步地,源进程传送消息到目标进程的过程是这样子的: 首先,消息送到源系统的最高层,紧接着消息从最高层开始自上而下逐层封装 ,最后该消息经物理线路传输到目标系统。而当目标系统收到信息后,其会将该信息 自下而上逐层处理并拆封,最后由最高层将消息提交给目标进程。这个处理过程与邮政通信过程类似,如下图所示:
  第二节:计算机网络结构设计地基本思想

(4)协议

正如上图所示,发信人和收信人对信件内容的共识就是二者之间的协议,正是由于这种协议的存在使得他们都能读懂信的内容并理解对方的意思,达成默契;类似地,寄件邮局与收件邮局也能对信件的传递达成共识,也就是说,有一套规则来保证邮局之间的“ 默契,二者间的这种默契要么能把信件完好无损地送给收信人,要么能够把信件完好无损地退给发信人;同样地,运输系统也能对信件如何运输达成共识,而正是由于这种共识,信件才能到达指定邮局也就是说,对等实体间的这种默契(共识)就是协议。
  同样地,在计算机网络体系结构中,不同层需要完成不同的功能或者提供不同的服务。比如,计算机网络体系结构应该提供对应的差错控制,从而使对等层的通信更加可靠;除此之外,还应该提供流量控制以控制发送端的发送速率以便接收端能来得及接收消息;分段和重装机制也很必要,就是说发送端在发送消息时应该将数据块分成更小的单位以便传输,而接收端能够准确地将这些数据块重新组合并还原数据的原貌; 通信会话复用同一条低层连接可以提高效率;建立连接和释放连接机制是不同主机通信的保障,等等。上面列举的这些功能(服务)实际上都是由计算机体系结构中具体的某一层来实现的,更具体地说,主要是通过每层相应的通信协议来实现这些功能的。也就是说,计算机间网络中所有的通信活动都是由协议控制的,也正是各种各样的协议保证了计算机间高度默契的通信。