【计算机网络】计算机网络的体系结构

计算机网络体系结构的形成

相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。

分工可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

计算机网络的体系结构

计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合。

体系结构是计算机网络及其部件所应完成的功能的精确定义。

这些功能是用何种硬件或软件完成的,则是一个遵循体系结构的实现(implementation) 的问题。

体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。

OSI/RM体系结构

图解

关于开放系统互连参考模型OSI/RM

只要遵循 OSI 标准,一个系统就可以和位于世界上任何地方的、也遵循同一标准的其他任何系统进行通信。

在市场化方面 OSI 却失败了。

  • OSI 的专家们在完成 OSI 标准时没有商业驱动力;
  • OSI 的协议实现起来过分复杂,且运行效率很低;
  • OSI 标准的制定周期太长,因而使得按 OSI 标准生产的设备无法及时进入市场;
  • OSI 的层次划分也不太合理,有些功能在多个层次中重复出现。

TCP/IP体系结构

图示

法律上的(de jure)国际标准 OSI/RM 并没有得到市场的认可。

非国际标准 TCP/IP 现在获得了最广泛的应用。

TCP/IP 常被称为事实上的(de facto) 国际标准。

两种体系结构标准

图示

划分层次的概念

举例
计算机 1 向计算机 2 通过网络发送文件。可以将要做的工作进行如下的划分。

  • 第一类工作与传送文件直接有关。
    1. 确信对方已做好接收和存储文件的准备。
    2. 双方协调好一致的文件格式。
  • 两个计算机将文件传送模块作为最高的一层 。剩下的工作由下面的模块负责。

图示

再设计一个通信服务模块

图示

再设计一个网络接入模块

图示

分层的好处

  • 各层之间是独立的。
  • 灵活性好。
  • 结构上可分割开。
  • 易于实现和维护。
  • 能促进标准化工作。

网络设备在层次模型中所处的位置

  • 物理层——中继器,在电缆之间逐个复制二进制数 BIE
  • 链路层——桥连器,在LAN之间存储和转发帧
  • 网络层——路由器,在不同的网络之间进行很转发分组。在Internet中我们把路由器称作网关。
  • 在三层以上工作——协议转化器,实现不同协议的转化。

对等——分层模型中一个很重要的概念

  • 只有对等层才能相互通信,一方在某层上的协议是什么,对方在同一层次上也必须是什么协议。
  • 理解了对等的含义,则很容易把网络互连起来

网络的连接

  • 两个网络在物理层相同,使用中继器就可以连起来;
  • 如果两个网络物理层不同,链路层相同,使用桥接器可以连起来;
  • 如果两个网络物理层、链路层都不同,而网络层相同,使用路由器可以互连;
  • 如果两个网络协议完全不同,使用协议转换器(网关)可以互连。

层数多少要适当

若层数太少,就会使每一层的协议太复杂。

层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。

五层协议的体系结构

OSI的七层协议体系结构即复杂又不实用,但其概念清楚,理论较完整。

TCP/IP 协议得到了广泛的应用,但它原先并没有一个明确的体系结构。

从实质上讲,TCP/IP只有三层,即应用层、运输层、网际层。最下面的网络接口层并没有具体内容。

因此采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构 。

五层协议体系结构

图示

应用层(application layer)

应用层是体系结构中的最高层。

应用层确定进程之间通信的性质以满足用户的需要(这反映在用户所产生的服务请求)。

应用层直接为用户的应用进程提供服务。

在因特网中的应用层协议很多,如HTTP、SMTP、FTP等。

运输层(transport layer)

运输层的任务就是负责主机中两个进程之间的通信。

因特网的运输层可使用两种不同协议。即面向连接的传输控制协议TCP(Transmission Control Protocol),和无连接的用户数据报协议UDP(User Datagram Protocol)。

运输层的数据传送单位是报文段(segment)(当使用TCP时)或用户数据报(当使用UDT时)。

在分组交换网内的各个交换结点机都没有运输层。运输层只存在于分组交换网外面的主机之中。

网络层(network layer)

网络层负责为分组交换网上的不同主机提供通信。

在发送数据时,网络层将运输层产生的报文段或用户数据报封装成分组或包进行传送。

在TCP/IP体系中,分组也叫作IP数据报,或简称为数据报。

在发送数据时,数据链路层的任务是将网络层交下来的数据报组装成帧,在两个相邻结点间的链路上传送以帧(frame)为单位的数据。

每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制,以及流量控制信息等)。

数据链路层常简称为链路层。

物理层(physical layer)

物理层的作用就是透明地传送比特流。

在物理层上所传数据的单位是比特。

传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆等,并不在物理层之内,而是在物理层的下面。

计算机1向计算机2发送数据

过程图解


图解


图示


各层所要完成的功能主要有:

  • 差错控制
  • 流量控制
  • 分段和重装
  • 复用和分用
  • 连接建立和释放

实体、协议和服务

实体(entity) 表示任何可发送或接收信息的硬件或软件进程。

协议是控制两个对等实体进行通信的规则的集合。

在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。

要实现本层协议,还需要使用下层所提供的服务。

相邻两层之间的关系 :

图示

协议的概念

计算机网络中的数据交换必须遵守事先约定好的规则。

这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。

为进行网络中的数据交换而建立的规则、标准或约定即网络协议(network protocol),简称为协议。

网络协议的组成要素

  • 语法 数据与控制信息的结构或格式 。
  • 语义 需要发出何种控制信息,完成何种动作以及做出何种响应。
  • 同步 事件实现顺序的详细说明。

协议与服务的关系

本层的服务用户只能看见服务而无法看见下面的协议。

下面的协议对上面的服务用户是透明的。

协议是“水平的”,即协议是控制对等实体之间通信的规则。

服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。

同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP (Service Access Point)。

协议很复杂

协议必须将各种不利的条件事先都估计到,而不能假定一切情况都是很理想和很顺利的。

必须非常仔细地检查所设计协议能否应付所有的不利情况。

  • 应当注意:事实上难免有极个别的不利情况在设计协议时并没有预计到。在出现这种情况时,协议就会失败。因此实际上协议往往只能应付绝大多数的不利情况。

著名的协议举例

占据两个山顶的蓝军与驻扎在这山谷的白军作战。力量对比是:一个山顶上的蓝军打不过白军,但两个山顶的蓝军协同作战就可战胜白军。一个山顶上的蓝军拟于次日正午向白军发起攻击。于是发送电文给另一山顶上的友军。但通信线路很不好,电文出错的可能性很大。因此要求收到电文的友军必须发送确认电文。但确认电文也可能出错。试问能否设计出一种协议,使得蓝军能实现协同作战因而一定(即100 %)取得胜利?

示例

这样无限循环下去,两边的蓝军都始终无法确定自己最后发出的电文对方是否已经收到。

没有一种协议能够保证蓝军 100% 获胜。

TCP/IP的体系结构

TCP/IP 四层协议的表示方法举例

图片

IP over Everything

IP 可应用到各式各样的网络上

示例

客户进程和服务器进程使用 TCP/IP 协议进行通信

图示

功能较强的计算机可同时运行多个服务器进程

图示

相关内容推荐