OSI七层协议

223 阅读2分钟

OSI七层模型

开放式系统互联模型

应用层

定义了网络主机提供的接口和方法(业务协议、高级协议等)

往往直接对用户行为

例如:HTTP 、FTP、SMTP等

展示层(语法层)

将Application Layer中的数据转化为数据格式,保留语义

(如:序列化、加密解密、字符串编码解码等)

确保数据发送取出后可以被接收者理解

会话层

提供管理会话的方法(OPEN/CLOSE/REOPEN/检查状态等)

提供对底层连接断断续续的隐藏;甚至对多种底层流的隐藏(提供数据同步点)

传输层

提供主机到主机的数据通信能力

建立连接保证数据封包发送、接收到的顺序一致

提供可靠行(发送者知道数据有没有被完整送达)

提供流控制(发送者和接收者同步速率)

提供多路复用(多工,多种信号复用一个信道)

网络层

提供数据在逻辑单元(例如IP地址)之间的传递能力

路由:决定数据的下一站在哪里

寻址:为数据封包增加头信息(地址等)

数据链路层

提供数据在设备和设备之间的传输能力

流控制:发送者接收者之间同步数据收发速度和数据量

错误控制:检测数据有没有出错,并重发出错的数据

物理层

定义底层一个个位(bit)的数据如何变成物理信号

将数据链路层发生的数据传递行为转化为物理设备识别的信号

封装了大量底层物理设备的能力

举例:当A向B发送微信

A提交的输入信息被微信存储成某种内部协议格式:应用层

数据被转换成为传输专用格式(加密、压缩等):表示层

微信客户端建立到服务器的连接(也可能之间就建立好了):会话层

微信客户端向服务器传输数据:传输层

一个个数据封包从主机传输到服务器:网络层

数据帧在一个个设备之间传输(基站、网关、路由器):数据链路层

数据最终以光电信号的形式在物理设备间传输:物理层

立用层.png

分层架构

把应用分成N层

替换其中一层不影响其他层的工作,不需要重构整个应用

设计要点:

必要性/独立性/可替换

层的颗粒度

数据可追踪

OSI是概念模型,也是标准

分层是最常见的架构手段

(在笔记中巩固基础知识)