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

OSI 模型是一种概念框架:把网络通信拆成七个彼此独立的层次,每一层负责数据传输中的某一特定环节
核心观点
下文会结合示意图逐层拆解;先有个大致轮廓即可。最上层是应用层——用户日常接触最多的那一层,例如通过 HTTP 访问网页
客户端要向服务器发送消息时,数据在客户端自上而下穿过各层,直到变成物理信号,再传向服务器;服务器侧则自下而上逐层解包,直到应用能读懂内容
需要强调:实践中许多协议会横跨多个层次。OSI是概念模型,未必与真实实现一一对应,但它仍是理解各层职责与故障模式的有用框架
七层顺序的口诀:
- 「应表会传网数物」
对应:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
应用层(第 7 层)
这是 OSI 最顶层、离用户最近的一层,职责是为应用程序提供网络服务,而不是直接管理整张网络。
应用层不是浏览器、邮件客户端或 API 本身,而是规定这些程序在网络上通信时所用的协议与规则。
主要职责包括:
- 定义应用之间如何对话,使不同作者写的程序也能正确互通——例如请求/响应长什么样。HTTP 规定 GET、POST、PUT 等方法,200、404、500 等状态码,以及报头与报文结构。
- 提供面向用户的网络服务,例如获取网页、收发邮件、传输文件。
- 处理应用级语义(而非传输细节),例如请求哪个资源、执行什么操作、如何理解响应。
常见协议:
| 协议 | 端口(默认 / 常用) | 用途 |
|---|---|---|
| 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 模型把网络通信拆成七个清晰层次,每层负责把数据从一个应用送到另一个应用过程中的某一环节。通过分离「数据含义、如何表示、如何交付、如何物理传输」等关切,复杂系统更易设计、推理与排错。真实协议常会模糊这些边界,但该模型仍是理解网络如何运作的高效思维框架。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)