任务二 OSI参考模型概述
知识点
1.什么是网络分层结构?
在解决一个比较复杂、困难的问题时,往往把该问题分解成一个一个的小问题、小步骤,并且每个小问题都是比较容易解决与实现的。当所有小问题都解决时,最初的大问题也就解决了。
以信件邮寄过程为例,可以抽象为层次结构:
| 层次 | 功能 | 规则 |
|---|---|---|
| 用户层 | 甲写信、乙读信 | 用对方能读懂的语言书写;信封按规定格式填写 |
| 集中层 | 邮筒、邮箱 | 定时检查是否有新信件,如有及时取出 |
| 投寄分拣层 | 邮局分拣 | 将邮政编号相同的信件集中并封入包装 |
| 运输层 | 邮件运输 | 将信件包装按地址正确送达目的地 |
分层结构的优势:
- 每层的功能单一,有利于提高效率
- 某层实现方法的变化不影响其他层次的功能
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层(依赖网络实体) |
层次划分原则:
- 根据功能需要进行分层,每层应当实现定义明确的功能
- 每一层功能的选择应当有助于制定国际标准化协议
- 应尽量减小跨越相邻层次的接口的信息量
- 层次功能的定义和接口的划分应使得各层彼此独立,在接口保持不变的条件下,某一层的实现技术的改变不会影响其他层
- 层次的数量应适当。层次过少会使过多功能集中在同一层,使协议变得复杂;但过多又会使整个网络体系结构过于庞大,通信处理速度下降
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 Service | Connectionless Service |
| 连接建立 | 数据交换前必须先建立连接 | 不需要先建立连接 |
| 数据传输 | 通过状态信息跟踪PDU和SDU交换 | 各信息块独立发送,接收端无需返回确认 |
| 错误处理 | 数据交换结束后释放连接 | 如果信息块丢失就不再重发 |
| 可靠性 | 可靠 | 不可靠(通常被称为数据报服务) |
10.什么是服务原语?有哪四类?
服务是通过一组服务原语(Primitive)来描述的,这些原语供用户和其他实体访问服务,通知服务提供者采取某些行动或报告某个对等实体的活动。
| 服务原语 | 方向 | 说明 |
|---|---|---|
| 请求(Request) | 服务用户 → 服务提供者 | 请求它完成某项工作 |
| 指示(Indication) | 服务提供者 → 服务用户 | 指示发生了某些事件 |
| 响应(Response) | 服务用户 → 服务提供者 | 对前面已经发出的指示的响应 |
| 证实(Confirmation) | 服务提供者 → 服务用户 | 对前面已经发出的请求的证实 |
11.OSI模型中的数据封装过程是怎样的?
封装过程(发送端,从上到下):
- 用户数据通过应用层接口进入应用层,加上应用层报头(AH),形成应用层PDU
- 表示层把应用层递交的数据看成整体,加上表示层报头(PH)
- 会话层加上会话层报头(SH)
- 传输层加上传输层报头(TH)
- 网络层加上网络层报头(NH)
- 数据链路层加上数据链路层报头(DH)和报尾(DT),形成最终的一帧数据
- 物理层将帧转换为比特流通过物理介质传输
解封装过程(接收端,从下到上):
- 物理层接收比特流,递交到数据链路层
- 数据链路层去掉帧头部DH和尾部DT(同时进行数据校验),如果没出错则递交到网络层
- 网络层、传输层、会话层、表示层、应用层依次去掉各自的报头
- 最终原始数据被递交到目标主机的具体应用程序中
封装后的数据结构(从内到外):
[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