被问 OSI 只会背“应表会传网数物”?
今天用一个快递故事+一张图+一行代码带你逐层拆机,看完再也不怕“请从下往上说说每层作用”👇
1️⃣ 先放口诀(背住!)
“应表会传网数物”
“All People Seem To Need Data Processing”
从上到下 7→1,面试倒着也能说!💡
2️⃣ 快递栗子🚚 → OSI 对照表
| OSI 层 | 快递剧情 | 设备/协议 | 关键字段 |
|---|---|---|---|
| 7 应用层 | 你写“hello”小纸条 | HTTP、FTP、SMTP、DNS | URL、状态码 |
| 6 表示层 | 压缩+加密,防偷看 | TLS、JPEG、UTF-8 | Content-Encoding |
| 5 会话层 | 先握手建立“会话” | NetBIOS、SQL 会话 | Session ID |
| 4 传输层 | 贴端口“房间号” | TCP/UDP | 源/目端口、Seq/Ack |
| 3 网络层 | 贴收件人 IP 地址 | 路由器、IP、ICMP | 源/目 IP、TTL |
| 2 数据链路层 | 贴 MAC 手机尾号 | 交换机、以太网 | 源/目 MAC、FCS |
| 1 物理层 | 卡车/飞机/光缆 | 集线器、网线、光纤 | 电压、光强度、频率 |
3️⃣ 逐层秀操作(含抓包截图位)
7 应用层 —— curl 一句话
curl -I https://juejin.cn
👆 这就是纯应用层流量,HTTP/HTTPS 在此。
6 表示层 —— 加密一目了然
openssl s_client -connect juejin.cn:443
返回 TLS 1.3 握手,压缩算法、证书都在这层。
5 会话层 —— 远程桌面🖥️
mstsc → 先建立会话,断网重连还能继续,靠 Session ID 找回状态。
4 传输层 —— 端口=房间号🏠
nc -zv 8.8.8.8 53
UDP 53 查询 DNS,TCP 80/443 网页数据,Seq/Ack 保证顺序。
3 网络层 —— 路由器“导航”🧭
traceroute juejin.cn
每跳一次 TTL-1,就是网络层在干活。
2 数据链路层 —— 交换机“查户口”🪪
arp -a
IP→MAC 映射,MAC 表决定帧往哪口扔。
1 物理层 —— 灯亮≠通🌟
测线仪一亮,只能证明 1 2 3 6 通;光功率计看 dB,< -25 dBm 才算及格。
4️⃣ 封装 & 解封装动画(文字版)
发送端 ↓ 封装
数据 → Segment → Packet → Frame → Bit(电压/光)
接收端 ↑ 解封装
Bit → Frame → Packet → Segment → 数据
每层剥掉自己那一圈“快递单”,最后露出原始纸条。
5️⃣ 面试高频 3 连击 & 秒答模板
- “每层分别干啥?”
“应表会传网数物,压缩/端口/IP/MAC/光电” 顺口溜背完再解释。 - “为什么 7 层比 4 层细?”
“TCP/IP 把表示+会话并到应用,但教学/排障用 7 层更清楚。” - “抓包怎么看对应层?”
“Frame→链路,IP→网络,TCP/UDP→传输,HTTP→应用” 直接指 Wireshark 面板。
6️⃣ Wireshark 实战:手把手找每层👇
打开软件,随便抓个网页:
Frame 14: 54 bytes on wire (432 bits) ← 1 物理+2 链路
Ethernet II, Src: aa:bb:cc:dd:ee:ff ← 2 数据链路
Internet Protocol Version 4, Src: 192.168.1.2 ← 3 网络
Transmission Control Protocol, Src Port: 443 ← 4 传输
Hypertext Transfer Protocol ← 7 应用
表示+会话 被合并,所以面板里没单独行,但 TLS 握手里能看到 Session ID。
7️⃣ 一张思维导图(文字大纲)
OSI 7 层
├─ 7 应用层 : HTTP/FTP/DNS
├─ 6 表示层 : TLS/JPEG/UTF-8
├─ 5 会话层 : NetBIOS/SQL session
├─ 4 传输层 : TCP/UDP 端口
├─ 3 网络层 : IP/ICMP 路由器
├─ 2 数据链路: Ethernet 交换机
└─ 1 物理层 : 电缆/光纤/集线器
🎯 总结口诀(背它!)
“应表会传网数物”
“从上到下套娃,从下到上拆家”
每层都贴自己的标签,**排障先问“哪一层掉链子”**🔍