跳到主要内容

OSI 分层模型

OSI 如何帮助理解一次网络通信?​

  • OSI: 开放系统互连模型把通信职责划分为七层,使复杂问题可以按边界讨论、排错和防护;
  • 分层思想: 上层描述应用意图,下层逐步处理传输、寻址、链路和信号,接收端按相反方向解释数据;
  • 模型边界: OSI 是概念框架,现实 TCP/IP 协议栈不必为七层各实现一个独立组件;
  • 工程价值: 统一术语帮助软硬件协作,也让故障定位从“网络坏了”缩小到具体职责;

七层各自回答什么问题?​

层次主要职责初学者可以提出的问题
7 应用层HTTP、SMTP 等应用协议双方在交换什么业务消息?
6 表示层编码、压缩、加解密等表示转换双方如何理解同一份数据?
5 会话层会话建立、维持、关闭与同步这轮交互何时开始和结束?
4 传输层端到端传输、分段与重组数据如何交给目标进程?
3 网络层IP 寻址与跨网络路由数据包下一步去哪里?
2 数据链路层同一链路上的帧传输如何交给下一跳接口?
1 物理层比特到电、光或无线信号0 和 1 怎样在介质上传播?
  • 应用层边界: 浏览器是使用 HTTP 的软件,不等于“浏览器整体就是应用层协议”;
  • 加密位置: 表示层包含加密这一概念职责,但现实 TLS 的实现位置不能机械套进七层;
  • 同网段通信: IP 主机即使在同一子网内通信,仍可使用 IP,不能由无需跨网段路由推出网络层不存在;

如何沿封装路径定位故障?​

业务消息 → 传输层数据 → IP 包 → 链路帧 → 比特信号
业务消息 ← 传输层数据 ← IP 包 ← 链路帧 ← 比特信号
  • 封装: 下层通常为上层数据增加自己的控制信息,不是每层都必然把数据切成更小片段;
  • 逐层排查: 先确认链路和地址可达,再看连接、协议和业务返回,减少跨层猜测;
  • 安全分析: 链路隔离、传输加密和应用鉴权保护不同边界,某一层安全不代表整条链路安全;