跳到主要内容

任务二 OSI参考模型概述

知识点​

1.什么是网络分层结构?​

在解决一个比较复杂、困难的问题时,往往把该问题分解成一个一个的小问题、小步骤,并且每个小问题都是比较容易解决与实现的。当所有小问题都解决时,最初的大问题也就解决了。

以信件邮寄过程为例,可以抽象为层次结构:

层次功能规则
用户层甲写信、乙读信用对方能读懂的语言书写;信封按规定格式填写
集中层邮筒、邮箱定时检查是否有新信件,如有及时取出
投寄分拣层邮局分拣将邮政编号相同的信件集中并封入包装
运输层邮件运输将信件包装按地址正确送达目的地

分层结构的优势:

  1. 每层的功能单一,有利于提高效率
  2. 某层实现方法的变化不影响其他层次的功能

2.OSI参考模型是如何产生的?​

早期网络体系结构的问题:

  • 早期网络体系结构由不同计算机供应商开发,比较有名的有IBM的SNA、DEC的DNA、HP的DSN、Honeywell的DSA等
  • 均采用分层技术,但各有自身特点
  • 定义的层数、每层所采用的协议、实现的功能常常不一样
  • 造成不同厂商的计算机网络设备之间互不兼容,不能直接互联通信
  • 这种网络体系常被称为**"封闭"系统

OSI模型的诞生:

  • 1977年,ISO成立专业委员会S16,研究开放的、公开的、标准化的网络结构模型
  • 1983年形成正式文件,即著名的 ISO 7498 国际标准
  • 称为开放系统互联参考模型(OSI/RM,Open System Interconnection / Reference Model)
  • 中国相应的国家标准为 GB/T 9387

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

3.OSI参考模型的七层结构是什么?​

OSI参考模型将整个通信过程划分为7个层次,从高到低依次为:

层号层名英文名所属层次
第7层应用层Application Layer高3层(面向应用)
第6层表示层Presentation Layer高3层(面向应用)
第5层会话层Session Layer高3层(面向应用)
第4层传输层Transport Layer中间层
第3层网络层Network Layer低3层(依赖网络实体)
第2层数据链路层Data Link Layer低3层(依赖网络实体)
第1层物理层Physical Layer低3层(依赖网络实体)

层次划分原则:

  1. 根据功能需要进行分层,每层应当实现定义明确的功能
  2. 每一层功能的选择应当有助于制定国际标准化协议
  3. 应尽量减小跨越相邻层次的接口的信息量
  4. 层次功能的定义和接口的划分应使得各层彼此独立,在接口保持不变的条件下,某一层的实现技术的改变不会影响其他层
  5. 层次的数量应适当。层次过少会使过多功能集中在同一层,使协议变得复杂;但过多又会使整个网络体系结构过于庞大,通信处理速度下降

4.什么是网络协议?​

网络协议是计算机网络中进行数据交换而建立的规则、标准或约定的集合,由三部分组成:

组成部分说明
语法定义数据与控制信息的结构或格式
语义确定控制信息的选择与使用,以及完成何种动作与做出何种响应
时序规定各步操作的实现顺序(也称定时、同步)

5.什么是实体与对等实体?​

  • 实体(Entity):每一层中,用于实现该层功能的活动单元。既可以是软件实体(如进程、电子邮件系统、应用程序等),也可以是硬件实体(如终端、智能输入/输出芯片等)
  • 对等实体(Peer Entity):不同机器上位于同一层次、完成相同功能的实体。如主机A和主机B传输层中的传输实体为对等实体

6.什么是对等层和对等协议?​

  • 对等层(Peer):不同主机之间的相同层次。如主机A的应用层和主机B的应用层互为对等层
  • 对等层协议(Peer Protocol):对等实体之间交换数据或通信时必须遵守的规则

重要概念:

  • 同一网络中不同主机的对等层,要安装运行相同的网络协议,主机间才能进行有效通信
  • 可概括为**"协议是水平的"**
  • 对等层之间的通信是虚拟通信,它们之间的通信是使用下一层提供的服务来实现的

7.什么是服务与接口?​

  • 服务:在OSI分层结构模型中,每一层实体为相邻的上一层实体提供的通信功能。可概括为**"服务是垂直的"**
  • N层实体利用N-1层实体所提供的服务,向N+1层实体提供功能更强大的服务
  • N层实体使用N-1层实体所提供的服务时,不需要知道N-1层实体所提供的服务是如何实现的以及N-1层实体间的协议,而只需要知道下一层可以为自己提供哪些服务,以及通过什么样的接口提供的

服务访问点(SAP):

  • N层的服务访问点SAP(Service Access Point)是N层实体提供服务给N+1层的地方
  • SAP可以理解为下层实体之间的逻辑传输通道
  • 每一层的SAP都有一个唯一标明它的地址
  • 一个N层可能存在多个SAP

8.什么是数据单元?有哪三种?​

在对等实体间按协议进行通信,上、下层实体间按服务进行通信,这些通信都依靠3种数据单元的传输来实现:

数据单元缩写含义
服务数据单元SDU为实现N层服务所要传送的逻辑数据单元
协议数据单元PDU对等实体之间为实现该层协议所交换的信息单元
接口数据单元IDU在同一系统上下两层实体的交换信息中,经过SAP的信息单元

关系说明:

  • 为了发送本层的SDU,N层实体根据本层的协议,将一个SDU划分为多个PDU
  • 在接收端,N层实体要将多个PDU恢复成一个本层的SDU
  • N层IDU由两部分组成:N层服务数据单元和接口控制信息(ICI)

9.面向连接服务和无连接服务的区别是什么?​

对比项面向连接服务无连接服务
英文Connection Oriented ServiceConnectionless Service
连接建立数据交换前必须先建立连接不需要先建立连接
数据传输通过状态信息跟踪PDU和SDU交换各信息块独立发送,接收端无需返回确认
错误处理数据交换结束后释放连接如果信息块丢失就不再重发
可靠性可靠不可靠(通常被称为数据报服务)

10.什么是服务原语?有哪四类?​

服务是通过一组服务原语(Primitive)来描述的,这些原语供用户和其他实体访问服务,通知服务提供者采取某些行动或报告某个对等实体的活动。

服务原语方向说明
请求(Request)服务用户 → 服务提供者请求它完成某项工作
指示(Indication)服务提供者 → 服务用户指示发生了某些事件
响应(Response)服务用户 → 服务提供者对前面已经发出的指示的响应
证实(Confirmation)服务提供者 → 服务用户对前面已经发出的请求的证实

11.OSI模型中的数据封装过程是怎样的?​

封装过程(发送端,从上到下):

  1. 用户数据通过应用层接口进入应用层,加上应用层报头(AH),形成应用层PDU
  2. 表示层把应用层递交的数据看成整体,加上表示层报头(PH)
  3. 会话层加上会话层报头(SH)
  4. 传输层加上传输层报头(TH)
  5. 网络层加上网络层报头(NH)
  6. 数据链路层加上数据链路层报头(DH)和报尾(DT),形成最终的一帧数据
  7. 物理层将帧转换为比特流通过物理介质传输

解封装过程(接收端,从下到上):

  1. 物理层接收比特流,递交到数据链路层
  2. 数据链路层去掉帧头部DH和尾部DT(同时进行数据校验),如果没出错则递交到网络层
  3. 网络层、传输层、会话层、表示层、应用层依次去掉各自的报头
  4. 最终原始数据被递交到目标主机的具体应用程序中

封装后的数据结构(从内到外):

[DATA] → 应用层:AH + DATA → 表示层:PH + AH + DATA → 会话层:SH + PH + AH + DATA → 传输层:TH + SH + PH + AH + DATA → 网络层:NH + TH + SH + PH + AH + DATA → 数据链路层:DH + NH + TH + SH + PH + AH + DATA + DT