当前位置:网站首页>OSI七层模型
OSI七层模型
2022-07-31 05:20:00 【前端备忘录】
OSI模型简介
OSI七层模型:
- 开放式系统互联模型(Open System Interconnection Model)
- 世界范围内的网络标准概念模型
- OSI的努力让互联网协议逐渐走向标准化
1、应用层(Application Layer)
- 提供高级API
- 定义了网络主机提供的方法和接口(业务协议、高级协议等)
- 往往直接对应用户行为
- 例如:HTTP、FTP、SMTP等
2、展示层(Presentation Layer)
- 也被称作语法层
- 将Application Layer中的数据转化为传输格式,保留语义(如:序列化、加密解密、字符串编码解码等)
3、会话层(Session Layer)
- 提供管理会话的方法(Open/Close/ReOpen/检查状态等)
- 提供对底层连接断断续续的隐藏;甚至对多种底层流的隐藏(提供数据同步点)
4、传输层(Transport Layer)
- 提供主机到主机(host-to-host)的数据通信能力
- 建立连接保证数据封包发送、接收到的顺序一致
- 提供可靠性(发送者知道数据有没有被完整送达)
- 提供流控制(发送者和接受者同步速率)
- 提供多路复用(多工,Multiplexing,多种信号复用一个信道)
5、网络层(Network Layer)
- 提供数据在逻辑单元(例如IP地址)之间的传递能力
- 路由:决定数据的下一站在哪里
- 寻址:为数据封包增加头信息(地址等)
6、数据链路层(Data Link Layer)
- 提供数据在设备和设备间的传输能力
- 流控制:发送者接受者之间同步数据收发速度和数据量
- 错误控制:检测数据有没有出错,并重发出错的数据
7、物理层(Physical Layer)
- 定义底层一个个位(bit)的数据如何变成物理信号
- 将数据链路层发生的数据传递行为转化成为物理设备识别的信号
- 封装了大量底层物理设备的能力
结合实际应用思考
示例:当Alice向Bob发微信
- Alice提交的输入被微信存储成某种内部协议格式——应用层
- 数据被转换成为传输用的格式(如加密、压缩等)——表示层
- 微信客户端建立到服务器的连接(也可能之前就建立好了)——会话层
- 微信客户端向服务器传输数据——传输层
- 一个个数据封包从主机传输到服务器——网络层
- 数据帧在一个个设备之间传输——数据链路层
- 数据最终以光电信号的形式在物理设备间传输——物理层
深入思考OSI分层架构
分层架构(数据视角):
- 把应用分成N层
- 替换其中一层不影响其他层的工作,不需要重构整个应用
- 设计要点:必要性/独立性/可替换、层的颗粒度、数据可追踪性
边栏推荐
猜你喜欢
file和stat命令的使用,文件类型:代表字符,以及英文
Oracle入门 10 - Linux 设备类型与文件目录结构
2021年开发人员的绊脚石:构建时间长
Image binarization processing of opencv
ES6-class类
Incredibuild 宣布支持 Yocto
WIN10,配置adb环境
【Rhapsody学习笔记】2:Count Down
Pytorch study notes 10 - detailed explanation of convolutional neural network and application of multi-classification task of mnist dataset
滑动窗口法
随机推荐
文件内容浏览cut、uniq、sort、tr命令的使用,
软件测试之登录测试详解
Qt TreeView 问题记录
ES6-字符串
实现离线文件推流成rtsp 2
Wlan实验(ENSP)
闭包,装饰器,类方法,静态方法,委托属性
离线安装activeMq
svn冲突产生原因
Debian 搭建 WireGuard 服务端
OneManager搭建
测试CSDN积分需求
Remote file xxx is mapped to the local path xxx and can't be found. You can continue debugging....
记一次QT 2D 画图 实现3D动态效果
5G的用途和工作原理
emby,jellyfin,kodi系列
DOM操作-事件的绑定与解绑
链表理论基础
ES6-02-let和const关键字
【源码笔记】痛苦来源于比较——什么是相等,hashCode() 和 equals(Object)