OSI 七层模型篇
OSI 七层模型是 1984 年国际标准化组织(ISO)提出的"理想分层"——把网络通信拆成 7 个层次,每层只管一件事。虽然互联网实际用的是 TCP/IP 四层,但 OSI 是理解分层的最佳教材。
你从北京寄一封挂号信到纽约——整个过程可以拆成 7 步:
① 你写信(内容)
② 你装信封,写地址(格式)
③ 你去邮局,填国际快递单(协议)
④ 邮局分拣,决定走空运还是海运(路由)
⑤ 飞机/船运输到美国(传输)
⑥ 美国邮局分拣,送到收件人楼下(链路)
⑦ 邮递员敲门,收件人签收(物理送达)
每一步都有专人负责,换其中一步不影响其他步。OSI 七层就是把这个思路应用到网络。
七层模型总览
| 层数 | 名称 | 干什么 | 类比 | 代表协议/设备 |
|---|---|---|---|---|
| 7 | 应用层 · Application | 用户直接用的服务 | 信的内容 | HTTP、FTP、SMTP、DNS |
| 6 | 表示层 · Presentation | 数据格式转换、加密 | 翻译官(中文→英文) | SSL/TLS、JPEG、ASCII |
| 5 | 会话层 · Session | 建立、管理、断开会话 | 电话接线员 | NetBIOS、RPC |
| 4 | 传输层 · Transport | 端到端可靠传输 | 挂号信 vs 平信 | TCP、UDP |
| 3 | 网络层 · Network | 选路、寻址 | 分拣中心 | IP、ICMP、路由器 |
| 2 | 数据链路层 · Data Link | 相邻节点可靠传输 | 邮递员 | Ethernet、WiFi、交换机 |
| 1 | 物理层 · Physical | 比特流传输 | 马路/飞机/船 | 网线、光纤、无线电 |
第一层 · 物理层(Physical)
最底层——只管"怎么把 0 和 1 变成电信号/光信号/无线电波发出去"。
- 干什么定义电压高低、线缆接口、传输速率、物理拓扑
- 类比马路、飞机、船——不管你运什么货,只管"路"本身
- 设备网线、光纤、集线器(Hub)、中继器
第二层 · 数据链路层(Data Link)
管"怎么在相邻两台设备之间可靠地传数据"——比如你的电脑和路由器之间。
- 干什么把比特流组成"帧"(Frame)、差错检测、MAC 地址寻址
- 类比邮递员——只负责"从这栋楼送到隔壁楼",不管全城怎么跑
- 设备交换机(Switch)、网桥
- 协议Ethernet(以太网)、WiFi(802.11)、PPP
第三层 · 网络层(Network)
管"怎么从源地址找到目标地址"——跨城市、跨国家、跨大洲。
- 干什么IP 地址寻址、路由选择、拥塞控制
- 类比分拣中心——看邮编,决定这封信走哪条路线
- 设备路由器(Router)——三层交换机的核心
- 协议IP(IPv4/IPv6)、ICMP(ping 用的)、IGMP
第四层 · 传输层(Transport)
管"端到端的可靠传输"——你的电脑到百度的服务器,中间可能经过几十个路由器,传输层确保数据完整到达。
- 干什么分段、编号、确认、重传、流量控制
- 类比挂号信 vs 平信——挂号信有回执,平信没有
- 协议TCP(可靠)、UDP(快速)
第五层 · 会话层(Session)
管"怎么建立、维持、断开一次对话"——比如视频会议开始时握手,结束时说拜拜。
- 干什么会话建立、会话管理、会话终止、断点续传
- 类比电话接线员——帮你接通、保持通话、挂断
- 协议NetBIOS、PPTP、RPC
第六层 · 表示层(Presentation)
管"数据格式怎么统一"——你的电脑用 UTF-8,对方的电脑用 GBK,表示层负责翻译。
- 干什么数据格式转换、加密解密、压缩解压
- 类比翻译官——中文信翻译成英文,收信人才能看懂
- 协议SSL/TLS(加密)、JPEG/MPEG(压缩)、ASCII/Unicode(编码)
第七层 · 应用层(Application)
最高层——用户直接感知的服务。
- 干什么提供网络服务接口——浏览网页、发邮件、传文件
- 类比信的内容——你真正想表达的东西
- 协议HTTP、HTTPS、FTP、SMTP、DNS、SSH
数据怎么"穿层"
你发一封邮件,数据是这样"穿"过七层的:
7. 应用层
你写"Hello" → 邮件客户端把它包装成 SMTP 协议格式。
6. 表示层
SMTP 数据被加密(TLS)、编码(Base64)。
5. 会话层
建立到邮件服务器的会话连接。
4. 传输层
数据切成 TCP 段,加序号,准备可靠传输。
3. 网络层
加上 IP 头(源 IP + 目标 IP),路由器开始选路。
2. 数据链路层
加上 MAC 头(源 MAC + 下一跳 MAC),交换机转发。
1. 物理层
变成电信号/光信号,通过网线/光纤发出去。
到了对方机器,再反过来一层层"剥皮"——从 1 到 7,最终看到"Hello"。
数据包像一颗洋葱——应用层数据在最里面,每往下一层就包一层"皮"(头部信息)。
到了对方机器,再从外到内一层层剥皮,最后看到最里面的数据。
这就是"封装"和"解封装"。
为什么要七层?三层行不行?
理论上可以——但分七层的好处是"每层可以独立升级":
- 物理层升级从铜缆换光纤,其他层不用改
- 链路层升级从 Ethernet 换 WiFi,其他层不用改
- 网络层升级从 IPv4 换 IPv6,其他层不用改
- 应用层升级从 HTTP/1.1 换 HTTP/2,其他层不用改
OSI 七层 = "网络世界的分工表"。每层只管一件事,互不干扰,坏了单独修。
虽然互联网实际用的是 TCP/IP 四层(下一篇讲),但 OSI 七层是理解网络分层的最佳教材——面试必考,排查问题必用。