OSI七层模型学习笔记

3,440 阅读2分钟

本文正在参与 “网络协议必知必会”征文活动

简介

  • OSI(Open System Interconnection)七层模型,是国际标准化组织(ISO)制定的一个用于计算机通信系统间互联的标准体系(ISO/IEC 7498-1)
  • 是世界范围内的网络标准概念模型,OSI的努力让互联网协议逐渐走向标准化

OSI七层模型

图片.png

在五层协议中 应用层、展示层、会话层合并为应用层

应用层(Application Layer)

提供高级API

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

展示层(Presentation Layer)

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

会话层(Session Layer)

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

传输层(Transport Layer)

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

  • 建立连接保证数据封包发送、接受到的顺序一致
  • 提供可靠性(发送者知道数据有没有被完整送达)
  • 提供流控制(发送者和接受者同步速率)
  • 提供多路复用(Multiplexing)

网络层(Network Layer)

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

  • 路由:决定数据的下一站去哪里
  • 寻址:为数据封包增加头信息

数据链路层(Data Link Layer)

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

  • 流控制:发送者接受者之间同步数据收发速度和数据量
  • 错误控制:检测数据有没有出错,并重发

物理层(Physical Layer)

定义底层的数据如何变成物理信号

  • 将数据链路层的数据传递行为转化成为物理设备识别的信号
  • 封装了大量底层物理设备的能力

实际场景应用

A和B发微信

  • A提交的输入被微信存储成某种内部协议格式——应用层
  • 数据被转换成为传输用的格式(加密、压缩等)——表示层
  • 微信客户端建立与服务器的连接——会话层
  • 微信客户端向服务器传输数据——传输层
  • 一个个数据封包从主机传输到服务器——网络层
  • 数据帧在设备间传输——数据链路层
  • 数据最终以光电信号的形式在设备间传输——物理层

数据视角

图片.png