学习OSI七层模型的架构思想
OSI模型简介
OSI七层模型(ISO/IEC 7498-1)
- 开放式系统互联模型 (Open System Interconnection Model)
- 世界范围内的网络标准概念模型
- OSI的努力让互联网协议逐渐走向标准化
分七层:
应用层(Application Layer)
提供高级API
- 定义了网络主机提供的方法和接口(业务协议、高级协议等)
- 往往直接对应用户行为
- 例如:HTTP、FTP、SMTP等
展示层(Presentation Layer)
也被称作语法层(Syntax Layer)
- 将Application Layer 中的数据转化为传输格式,保留语义(如:序列化、加密解密、字符串编码解码等)
- 确保数据发送取出后可以被接受者理解
会话层(Session Layer)
- 提供管理会话的方法(Open/Close/ReOpen/检查状态等)
- 提供对底层链接断断续续的隐藏;甚至对多种底层流的隐藏(提供数据同步点)
传输层(Transport Layer)
提供主机到主机(host-to-host)的数据通信能力
- 建立连接保证数据封包发送、接收到的顺序一致
- 提供可靠性(发送者知道数据有没有被完整送达)
- 提供流控制(发送者和接收者同步速率)
- 提供多路复用(【多工】,Multiplexing,多种信号复用一个信道)
网络层(Network Layer)
提供数据在逻辑单元(例如IP地址)之间的传递能力
- 路由:决定数据的下一站在哪里
- 寻址:为数据封包增加头信息(地址等)
数据链路层(Data Link Layer)
提供数据在设备和设备间的传输能力
- 流控制:发送者接收者之间同步数据收发速度和数据量
- 错误控制:检测数据有没有出错,并重发出错的数据
物理层(Physical Layer)
定义底层一个个位(bit)的数据如何变成物理信号
- 将数据链路层发生的数据传递行为转化成为物理设备识别的信号
- 封装了大量底层物理设备的能力
应用思考
story - 当Tom向Jerry发微信时
- Tom提交的输入被微信存储成某种内部协议格式 --- 应用层
- 数据被转换成为传输用的格式 (如加密、压缩等) --- 表示层
- 微信客户端建立到服务器的连接 (也可能之前就建立好了) --- 会话层
- 微信客户端向服务器传输数据 --- 传输层
- 一个个数据封包从主机传输到服务器 --- 网络层
- 数据帧在一个个设备之间传输 --- 数据链路层
- 数据最终以光电信号形式在物理设备间传输 --- 物理层
OSI分层架构
分层架构(数据视角)
- 把应用分层N层,每层都会承担自己的职责,这样的好处都是可以健康的发展,只需要关注每层之间的协议是怎么样的
- 替换其中一层不影响其他层的工作,不需要重构整个应用
- 设计要点
- 是否有必要、可独立工作、可被替换
- 层的颗粒度
- 数据的可追溯性
总结
- OSI是概念模型,同时也是标准
- 分层是最常见的架构手段
本文是学习计算机网络的一些分层架构思想做的笔记,持续更新,希望大家多多关注。
推荐这些技术文章:
目录今日内容详细软件开发架构概念软件开发架构的分类C/S架构B/S架构两种架构的优缺点C/S架构:B/S架构:tip网络编程概念互联网互联网协议OSI七层协议简介专业设施名词OSI七层协议物理链接层数据链路层工作的方式网络层IP协议公网 IP 和私网 IP传输层PORT协议(端口协议)域名解析应用层TCP与UDP协议TCP协议通道的建立——三次握手传输确认通道的关闭——四次挥手UDP协议区别小总...
文章标题:学习OSI七层模型的架构思想
文章链接:https://www.dianjilingqu.com/4241.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
文章链接:https://www.dianjilingqu.com/4241.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END