OSI 模型

在分解各层之前,需要澄清一下:OSI 模型 实际上是一个概念框架,而不是一个实际的网络协议栈
这是在20 世纪 80 年代创建的概念框架。实际的互联网运行在 TCP/IP 模型上,并且将其中的几个层聚集在一起。依然研究 7 层 OSI 模型的理由,是因为它为我们提供了极其精确的词汇表,使得前端开发人员、后端开发人员和网络工程师指出完全相同的抽象概念,而不会互相误解

在这里插入图片描述

OSI 模型是一种概念框架:把网络通信拆成七个彼此独立的层次,每一层负责数据传输中的某一特定环节

核心观点

下文会结合示意图逐层拆解;先有个大致轮廓即可。最上层是应用层——用户日常接触最多的那一层,例如通过 HTTP 访问网页
客户端要向服务器发送消息时,数据在客户端自上而下穿过各层,直到变成物理信号,再传向服务器;服务器侧则自下而上逐层解包,直到应用能读懂内容

需要强调:实践中许多协议会横跨多个层次。OSI是概念模型,未必与真实实现一一对应,但它仍是理解各层职责与故障模式的有用框架

七层顺序的口诀:

  • 「应表会传网数物」

对应:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

应用层(第 7 层)

这是 OSI 最顶层、离用户最近的一层,职责是为应用程序提供网络服务,而不是直接管理整张网络。

应用层不是浏览器、邮件客户端或 API 本身,而是规定这些程序在网络上通信时所用的协议与规则

主要职责包括:

  1. 定义应用之间如何对话,使不同作者写的程序也能正确互通——例如请求/响应长什么样。HTTP 规定 GET、POST、PUT 等方法,200、404、500 等状态码,以及报头与报文结构。
  2. 提供面向用户的网络服务,例如获取网页、收发邮件、传输文件。
  3. 处理应用级语义(而非传输细节),例如请求哪个资源、执行什么操作、如何理解响应。

常见协议:

协议 端口(默认 / 常用) 用途
HTTP / HTTPS 80;443 网页与 API
FTP / SFTP 21 ;22 文件传输
SMTP 25;587;465(SMTPS) 发邮件
IMAP / POP3 143、993(TLS);110、995(TLS) 收邮件
DNS 53(UDP/TCP) 域名解析为 IP;虽常与系统/基础设施深度集成,概念上仍属应用层

为何需要多种协议?因为不同通信场景需求不同。加载网页是典型的短、同步请求/响应,HTTP 很合适;传输超大文件则常需断点续传、列目录、管理元数据——FTP、SFTP 等专用文件协议为此设计。

表示层(第 6 层)

紧挨应用层之下,负责数据如何表示,而非数据含义或去向。目标是:即使双方内部格式不同,一方发出的信息也能被另一方正确理解

表示层不关心应用逻辑,也不负责跨网传输;它在应用与网络之间充当翻译与保护角色

主要职责:

  • 数据格式与转换:双方就结构与编码达成一致,例如字符集(ASCII 与 UTF-8)、数字与日期表示
  • 加密与解密:保护传输中的数据,仅允许预期接收方读取。TLS 等常在此讨论;虽常与 HTTP 一并提及,且现实中未必严格落在单层,但 OSI 将其核心职责(加密、编码、保护)归于此层
  • 压缩与解压:传输前缩小体积,提升效率与性能

常见技术与格式:

类别 示例
传输加密 TLS / SSL
结构化数据 JSON、XML、Protobuf
媒体编码 JPEG、PNG、MP3
字符编码 UTF-8、ASCII

为何需要这一层?应用层可以就「说什么」达成一致,若「如何编码、如何保护」不一致,仍会通信失败。现代协议栈中,部分职责由传输层或应用自身承担;把「表示」从应用逻辑中分离,便于安全、一致地交换数据,而无需关心底层编码细节。

包裹类比:

  • 应用层:决定寄什么。
  • 表示层:妥善包装——封装、编码或加密。

会话层(第 5 层)

位于表示层之下,协调应用之间的通信,负责建立、维护、终止会话——即持续的信息交换。

  • 应用层决定说什么
  • 表示层决定如何格式化
  • 会话层决定何时、以何顺序交换

主要职责:

  • 会话的建立、维护与终止:像打电话一样开始、持续、干净地结束一次对话。
  • 同步:把长交换切成可管理单元并设检查点;出错时可从已知点恢复,而非从头再来。

相关概念与技术:

  • 远程过程调用(RPC):程序向远端请求服务,体现维持对话上下文等会话层关切。
  • TLS 会话管理:TLS 主要在表示层,但也涉及会话——例如多轮消息间保持加密密钥有效

若无会话管理,即便格式正确、已加密,数据仍可能丢失、重复或乱序。会话层让通信连贯可靠,而非杂乱无章的孤立报文。

包裹类比:

  • 应用层:决定寄什么
  • 表示层:包装、编码或加密
  • 会话层:安排并跟踪寄送流程,直到完成

传输层(第 4 层)

位于会话层之下,负责在应用之间可靠传递数据,与具体经过哪条网络路径无关。

若会话层安排并跟踪「对话」,传输层则保证每个「包裹」安全、完整、有序到达。

主要职责:

  • 分段与重组:大消息拆成小单元发送,在目的地拼回。
  • 可靠交付与差错处理:发现丢失或损坏并重传。
  • 流量控制:避免发送方压垮接收方(一次别寄太多)。
  • 连接管理:建立、维护、关闭应用之间的逻辑连接。

常见协议:

协议 特点
TCP - 传输控制协议 可靠、有序;保证完整且按序到达
UDP - 用户数据报协议 快速、尽力而为、无保证;适合流媒体、游戏等实时场景

包裹类比: 会话层安排并跟踪整批寄送;传输层决定如何送每一箱:

  • 大货拆成小箱(分段)
  • 检查每箱是否完好(差错检测)
  • 丢失或损坏则重寄(可靠性)
  • 控制同时到达的数量(流量控制)

网络层(第 3 层)

负责把数据从源经多个网络送到目的地,即使源与目的不直接相连。提供逻辑寻址、选路、分组转发,使数据高效到达正确主机

主要职责:

  • 路由:在互联网络中选择最佳路径。
  • 逻辑寻址:分配 IP 等地址,使网内设备可唯一标识。
  • 分组转发:把分组从一段网络送到下一段,直至目的地。
  • 分片与重组:若下一跳无法承载完整分组则拆分,在目的地重组。(现代网络中分片较少、常主动避免,但概念上仍属网络层职责)

该层最常见协议是 IP - 网际协议

包裹类比: 传输层保证包裹完整;网络层决定包裹须经哪些城市或枢纽,从起点高效路由到终点

数据链路层(第 2 层)

负责在单一网段或链路上可靠交付:成帧、差错检测、本地寻址,确保经物理介质发出的数据能正确到达目标设备

主要职责:

  • 成帧:把数据打包成适合物理介质的帧
  • 差错检测与有限纠正:发现传输错误,必要时触发本地重传
  • 介质访问控制:协调对物理介质的使用,避免冲突
  • 物理(MAC)寻址:为设备分配唯一标识,使帧在局域网内送达正确节点

常见技术:

  • 以太网 — 有线局域网主流
  • Wi-Fi(802.11) — 无线局域网
  • 交换机、网桥 — 在局域网段内转发帧

包裹类比: 网络层决定包裹去哪个城市;数据链路层负责在该城内送到正确街道或楼宇,本地分拣、避免冲突、纠正本地小差错

物理层(第 1 层)

负责在物理介质上传输原始比特:定义电、光或无线电如何表示 0 和 1,以及如何发送与接收。本层不理解帧、分组或地址,只处理比特与信号

主要职责:

  • 比特传输:在介质上发送与接收 0、1
  • 信号表示:比特如何编码为电压、光脉冲或无线电波
  • 时序与同步:收发双方对比特起止时刻达成一致
  • 物理特性:线缆类型、接头、引脚、频率、速率等

常见技术与标准:

  • 物理介质:铜缆(以太网)、光纤、无线射频
  • 硬件:网卡、收发器、天线
  • 标准:以太网物理标准、Wi-Fi 射频规范

所有网络通信最终都要落到真实世界中的信号;更高层依赖物理层稳定、可预期地传比特,而不必关心具体载体

包裹类比: 更高层决定寄什么、如何包装、去哪、如何管理投递;物理层是卡车、飞机、道路与燃料——没有物理移动,投递无从谈起


类比与实例

七层包裹类比一览

层次 类比
应用层(7) 决定寄什么、为什么寄:文档、照片,或「获取这个网页」之类的意图
表示层(6) 让收件人能安全理解:选格式、必要时压缩、上锁仅收件人可开
会话层(5) 安排并管理整次寄送互动:建立、跟踪、保持为一次完整对话,设检查点以便中断后恢复
传输层(4) 决定如何投递并保证正确:拆分、重发丢失件、在速度与可靠性间权衡
网络层(3) 快递决定路线:经多个城市或枢纽,用逻辑地址把每件货导向最终目的地
数据链路层(2) 在每个本地枢纽内正确分拣:上对的本地车、避免冲突、检测并纠正本地小错
物理层(1) 包裹真正在动:车开、飞机飞,公路、铁路或空中——此层只有运动与信号

在这里插入图片描述

每一层建立在下一层之上;更高层不必知道如何送达,只需知道能够送达

具体例子:用 HTTP 加载网页

在浏览器输入 https://example.com 时,大致过程如下:

层次 发生的事
应用层(7) 浏览器构造 HTTP GET,请求 /;HTTP 规定请求形态、报头及如何理解响应
表示层(6) HTTP 数据编码(常为 UTF-8),TLS 加密以防途中被窃听或篡改
会话层(5) 建立并维持安全会话,使多次请求/响应无需每次都重新协商
传输层(4) TCP 建连、分段、保证有序到达,丢失则重传
网络层(3) IP 分组经互联网从本机路由到托管 example.com 的服务器,可能经多段中间网络
数据链路层(2) 每一跳本地网络(Wi-Fi、以太网)用 MAC 地址把帧送到下一设备,并做本地差错检测
物理层(1) 比特以电信号、光脉冲或无线电在线缆与无线链路上传输

在这里插入图片描述

服务器响应时过程自下而上逆转,各层逐层解包,直至浏览器渲染页面

分层使互联网可扩展、有韧性:每层解决一类问题,协议与技术可相对独立演进,而不必拖垮上下层

协议跨层

许多真实协议并不能整齐地塞进单层。例如 TLS 既做加密(表示层)又管理会话状态,而HTTP 也常依赖传输层的持久连接等行为。这不是 OSI 的缺陷,而是说明它是概念框架,不是严格的实现蓝图。

OSI 的真正价值在于划分职责、定位故障。即便协议模糊了层次边界,寻址、路由、可靠性、格式、语义等关切依然存在。OSI 为工程师提供共同词汇与结构化思路,判断问题更可能出在哪一层——因此在完美分层理想淡化之后,它仍然有用。

结论

OSI 模型把网络通信拆成七个清晰层次,每层负责把数据从一个应用送到另一个应用过程中的某一环节。通过分离「数据含义、如何表示、如何交付、如何物理传输」等关切,复杂系统更易设计、推理与排错。真实协议常会模糊这些边界,但该模型仍是理解网络如何运作的高效思维框架。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐