2.2.1 OSI/RM 简介
上一节讲到,网络体系结构(分层模型+协议)是一种网络类别。
各公司都研发了自己的网络体系结构,不同体系结构的网络互连很困难。
因此,国际标准化组织 ISO 制定了标准化、开放式的计算机网络层次结构模型 OSI/RM,所有遵循了该模型的计算机网络就可以互连。
OSI/RM:
Open System Interconnection Reference Model,“开放系统互连参考模型”。
OSI/RM 包括了三级抽象:
- 体系结构:定义了七层模型,是OSIRM的基础框架。
- 服务定义:描述了各层向上提供的服务,以及层与层之间的抽象接口,层间交互的服务原语。
- 协议规范:定义了发送方发送控制信息,接收方解读控制信息的各种细节。
OSI/RM 不是一个标准,只是一个概念性框架,无法被实现,用途是在制定标准时便于参考、使用。
在三级抽象中,只有协议是可以实现的,
2.2.2 OSI / RM 的结构
OSI/RM系统有7层组成:
- 物理层:定义了物理传输链路的机械的、电气的、功能的和规程的特性。其作用是使数据比特流能在物理介质上以电信号方式进行实通信。
- 数据链路层:以帧为单位进行虚通信。把“不可靠的物理链路”改造成“对网络层来说是无差错的数据链路”,同时还要进行收发双方的流量控制。
- 网络层:以分组为单位进行虚通信。网络层主要负责分组的路由选择,并对流入网络的分组数量进行控制以防止网络阻塞,另外,当分组要跨越多个通信子网时,网络层还负责解决网际互连的问题。
- 传输层:是第一个端-端(即主机)的层次。它提供了端-端的透明数据传输服务,使更高层无需关心通信子网的运作,另外它还负责端-端的差错控制和流量控制。
- 会话层:进程-进程的层级。负责在不同主机的两个进程间,建立和拆除会话,管理他们的通信。
- 表示层:用统一的数据结构、编码表示,去翻译异构互连主机的数据,使得异构主机也能互相理解。因为符合OSIRM的不同主机,即使对同一数据,也可能采用了不同的数据结构描述和编码表示,而表示层就可以在发送方将其转换为统一的数据结构、编码表示,再在通信子网中传输,接收方再其转换为目标主机能够接受的形式。
- 应用层:具体的应用软件。
开放系统互连参考模型的网络,由两部分通过物理介质连接构成: + 作为信源和信宿的端开放系统:即资源子网中的主机,通常包含了7层功能。 + 若干中继开放系统:通信子网中的接口信息处理机(IMP),通常只包含了3层,甚至只有2层。
OSI/RM 层次结构模型网络的数据传输过程
发送进程发给接收进程的数据,会经过发送方各层从上到下抵达物理介质,通过物理介质传输到接收方后,再经过从下到上的传递,最终到达接收进程。
发送方:
每当数据要传给下层时,本层就会对数据加上控制信息,称为报头。
逐层向下传递,数据最终在物理层成为“数据比特流”,之后在物理介质上转换为电信号,通过物理介质发送给接收方。
接收方:
收到电信号后,在物理层转换为数据比特流,然后逐层向上传递。
每一层在收到下一层发来的数据后,首先会剥去本层的报头,得到数据,再向上传送,数据最终会送到接受进程。
接收方的任意一层都不会收到下层的报头(下层报头早已剥离),而高层的控制信息无法识别(对本层来说仅仅是数据而已),因此它只能阅读和去除本层的报头。这样一来,就好像数据在发送方和接受方的虚通信中直接传输一样。
2.2.3 面向连接服务与无连接服务
1.通信服务类型
1)面向连接服务
Connection Oriented Service
- 必须事先建立一条通信线路(虚电路)才能传输数据。通信过程必须有3个阶段:建立、使用、释放。
- 各分组不需要携带目的节点地址。
- 通信链路相当于一个管道,发送方放入数据,接收方取出数据,收发数据的顺序不变,可靠性好。
- 通信开销大,协议复杂,通信效率低
面向连接服务,在节点数据交换方式上包括:
- 电路交换(物理信道)
- 虚电路分组交换(逻辑信道)
2)无连接服务
Connectionless Service
- 通信过程不需要建立、使用、释放3个步骤
- 每个分组携带目的节点地址
- 各分组在通信子网中独立传送。具有相同源和目的地址的分组,可能走不同的网络路径,到达目的节点的先后顺序与发送顺序无关。
- 目的节点收到的分组可能出现乱序、重复、丢失等情况,可靠性差。
- 通信开销小,协议简单、效率高。
无连接服务,在节点数据交换方式上包括:
- 报文交换
- 数据报分组交换
2.确认和重传机制
面向连接服务、无连接服务,在可靠性上已有区别(面向连接>无连接服务)。
但还不够,为了进一步确保可靠性,还可以使用“确认和重传机制”。
确认:
数据分组接收节点(中继节点,或目的节点)收到分组后,应向发送节点(上家节点,可能是源节点,也可能是中继节点)回送确认信息。
重传:
发送分组的节点,在规定时间内,没有收到接收节点回送的确认信息,则认为分组发送失败,会重发该数据分组。
注意:
这里仅谈到分组,实际上确认重传机制也适用于报文交换。
服务类型、服务质量可以自由组合
面向连接服务、无连接服务属于服务类型,确认重传机制属于服务质量。
两者可以自由搭配组合。
比如 + 面向连接服务,可以使用确认重传机制,也可以不使用。 + 无连接服务,也可以使用确认重传机制,或者不使用。