OSI七层模型

359 阅读2分钟

OSI模型简介

OSI七层模型 (ISO/IEC 7498-1)

  • 开放式系统互联模型(Open System Interconnection Model)
  • 世界范围内的网络标准概念模型
  • OSI的努力让互联网协议逐渐走向标准话

国际标准化组织(ISO)

应用层(Application Layer)

  • 提供高级API
  • 定义了网络主机提供的方法和接口(业务协议、高级协议等)
  • 往往直接对应用户行为
  • 例如:HTTP.、FTP、SMTP等

展示层(Presentation Layer)

  • 也被称为语法层(Syntax Layer)
  • 将Application Layer中的数据转化为传输格式,保留语义(如:序列化、加密解密、字符串编码解码等)
  • 确保数据发送取出后可以被接受者理解

会话层(Session Layer)

  • 提供管理会话的方法(Open/Close/ReOpen/检查状态等)
  • 提供对底层链接断断续续的隐藏;甚至对多种底层流的隐藏(提供数据同步点)

传输层(Transport Layer)

  • 提供主机到主机(host-to-host)的数据通信能力
  • 建立链接保证数据封包发送、接收到的顺序一致
  • 提供可靠性(发送者知道数据有没有被完整送达)
  • 提供流控制(发送者和接收者同步速率)
  • 提供多路复用(多种信号复用一个通道)

网络层(Network Layer)

  • 提供数据在逻辑单元(例如IP地址)之间的传递能力
  • 路由:决定数据的下一站在哪里
  • 寻址:为数据封包增加头信息(地址等)

数据链路层(Data Link Layer)

  • 提供数据在设备和设备间的传输能力
  • 流控制:发送者接受着之间同步数据收发速度和数据量
  • 错误控制:检测数据有没有出错,并重发出错的数据

物理层(Physical layer)

  • 定义底层一个个位(bit)的数据如何变成物理信号
  • 将数据链路层发生的数据传递行为转化成为物理设备识别的信号
  • 封装了大量底层物理设备的能力

结合实际场景

image.png image.png image.png

分层架构
  • 把应用分成N层
  • 替换其中一层不影响其他层的工作,不需要重构真个应用
设计要点
  • 必要性、独立性、可替换
  • 层的颗粒度
  • 数据可追踪性

小结

  • OSI是概念模型,同时也是标准
  • 分层是最常见的架构手段