外观
OSI 七层与 TCP/IP 四层
约 1091 字
OSI 七层与 TCP/IP 四层
网络知识太散:DNS、ARP、TCP、HTTP、TLS…… 不分层学, 永远是一团浆糊。OSI 七层和 TCP/IP 四层是两张「地图」, 把每个协议摆到自己的层上。这篇给你地图 + 用法。
一、两张地图
OSI 七层(教学模型)
7 应用层 HTTP、DNS、SMTP、FTP ← 用户能感觉到的协议
6 表示层 TLS/SSL、JSON、编码 ← 数据的格式与加密
5 会话层 会话管理(TCP 连接复用) ← 谁和谁在「对话」
4 传输层 TCP、UDP ← 端口到端口(进程对进程)
3 网络层 IP、ICMP、路由 ← 主机到主机(跨网络)
2 数据链路层 以太网、Wi-Fi、ARP、MAC ← 相邻设备(同一网段)
1 物理层 网线、光纤、电信号 ← 比特流TCP/IP 四层(现实标准)
4 应用层 HTTP、DNS、TLS…(OSI 的 5-7 合并)
3 传输层 TCP、UDP(= OSI 4)
2 网络层 IP、ICMP、路由(= OSI 3)
1 网络接口层 以太网、Wi-Fi(= OSI 1-2 合并)关系:OSI 是「教科书模型」(分得细,适合讲原理), TCP/IP 是「工程现实」(互联网实际跑的)。面试问 OSI, 干活用 TCP/IP。
二、一次请求穿层而过
浏览器发 https://example.com,数据从上往下穿:
应用层:HTTP 请求「GET /」
表示层:TLS 加密成密文
传输层:加 TCP 头(源端口 54321 → 目标端口 443)
网络层:加 IP 头(你的 IP → 服务器 IP)
链路层:加帧头(你的 MAC → 网关 MAC)
物理层:变成电信号/无线电发出去到服务器反向剥皮:
物理层收信号 → 链路层验帧 → 网络层看 IP 是不是找我 →
传输层看端口交给对应进程 → TLS 解密 → HTTP 处理每层只干自己的事,给上面的层「透明」 —— HTTP 不用管自己是走光纤还是 5G。这就是分层的意义: 复杂度被关进每层的黑盒。
三、每层的「身份证」
| 层 | 地址/标识 | 例子 |
|---|---|---|
| 应用层 | URL/域名 | example.com/user/1 |
| 传输层 | 端口 | :443 |
| 网络层 | IP 地址 | 93.184.216.34 |
| 链路层 | MAC 地址 | 3C:22:FB:1A:2B:3C |
一次请求同时有四个身份:域名给人看,IP 给网络层路由, MAC 给最后一跳,端口给进程。少一个都到不了。
四、排障对照表(分层的实用价值)
出问题按层查,从下往上或从上往下,别乱:
| 症状 | 先查哪层 | 命令/思路 |
|---|---|---|
| 网线插了吗/信号有吗 | 物理层 | 看指示灯、ipconfig |
| WiFi 连不上 | 链路层 | 看 DHCP 有没有拿到 IP |
| ping 不通外网 | 网络层 | ping 8.8.8.8、tracert |
| ping 通域名不通 | 网络层/DNS | nslookup 域名 |
| ping 通但端口不通 | 传输层 | telnet ip 443、防火墙 |
| 端口通但协议错 | 应用层 | curl -v 看细节 |
经典案例:「 ping 通但打不开网页」= 网络层通, 应用层有问题(DNS 错、HTTP 被拦、服务挂了)—— 分层思维一秒定位方向。
五、两个分层的「不完美」
1. OSI 是理想,现实会「串层」
TLS 该在表示层(第 6),但工程上 TLS 长在 TCP 上 (应用层和传输层之间)—— 所以 TCP/IP 模型把 5-7 合并, 反而更贴现实。别纠结「TLS 到底哪层」, 理解它「加密应用数据、跑在 TCP 上」就行。
2. 分层不是万能
NAT、防火墙、代理这些「中间盒子」会改头改尾, 分层模型描述不了它们。还有 QUIC(跑在 UDP 上实现 TCP 的可靠性)—— 直接「违背」分层。模型是理解工具,不是枷锁。
六、和本站知识的对照
把之前的知识挂到地图上:
应用层:[HTTP 缓存] [HTTP 状态码] [HTTP 版本] [HTTPS/TLS] [DNS]
传输层:[TCP 握手] [Cookie/Session/JWT](HTTP 之上但基于 TCP)
网络层:[IP/子网] [CDN](Anycast 路由)
全链路:[一次网络请求的旅程](把七层走一遍)单点懂了,挂到地图上;地图有了,单点忘不了。
小结
分层两句话:OSI 七层是教科书,TCP/IP 四层是现实; 每层给上层「透明」,自己管自己那摊。排障按层查, 从物理到应用或反向,五分钟定位大方向。 地图不用背,用的时候画一遍 —— 画三次就记住了。