模块三折腾完命令行,进入模块四——网络参考模型。
一开始我以为这一章就是背七层的名字:应用、表示、会话、传输、网络、数据链路、物理。背下来能默写,但完全不知道有什么用。
直到我把它跟前面学的东西对上了,才发现:分层不是知识点,是解释一切现象的那把尺子。
一、我第一次真正理解分层,是因为一个很笨的问题
我问自己:为什么交换机不能直接看 IP?反正帧里也带着 IP 包,拆开看看不就完了?
后来想通了:因为它不需要,而且不该。
交换机只要认出"这个帧该从哪个口出去"就够了,目的 MAC 就在帧头前 12 个字节里,读完就能决定。再往深拆,除了浪费时间和算力,没有任何收益。
这就是分层的本质:每一层只解决自己的问题,只关心自己那一段头部。
再往下推,三个好处就出来了:
① 解耦:上层不用管网线是铜的还是光纤,下层不用管上面跑的是网页还是微信。改一层,不影响其它层。
② 标准化:把"每层该干什么"写进标准,不同厂商的设备才能互通。所以才有了 IETF 的 RFC、IEEE 802.3、ISO 的 OSI。
③ 好排错:出问题能定位到某一层。ping 不通先看三层,能 ping 通但网页打不开就往四层、七层查。
一句话记:分层不是为了好看,是为了让"换零件不用换整机"。
二、三套模型,考试最爱在这里埋坑
| OSI 七层(理论) | 干什么 | TCP/IP 对等模型(五层) | TCP/IP 标准模型(四层) |
|---|---|---|---|
| 7 应用层 | 给程序提供网络接口 | 应用层 | 应用层 |
| 6 表示层 | 格式转换、编码压缩加密 | 应用层 | 应用层 |
| 5 会话层 | 建立、管理、终止会话 | 应用层 | 应用层 |
| 4 传输层 | 端到端传输、控制节奏 | 传输层 | 主机到主机层 |
| 3 网络层 | 逻辑地址(IP)、源到目的转发 | 网络层 | 英特网层 |
| 2 数据链路层 | 组帧、MAC 寻址、差错检测 | 数据链路层 | 网络接入层 |
| 1 物理层 | 比特流传输、电气机械规范 | 物理层 | 网络接入层 |
三个数字别记混:OSI 七层、标准模型四层、对等模型五层。
那个"为什么四层又拆回五层"的问题
我卡过这里。四层模型把链路层和物理层合并成"网络接入层",听起来挺省事,为什么实际又拆回去了?
因为以太网(链路)和双绞线/光纤(物理)是两套完全不同的规范,合在一起没法讲。一个是"帧怎么组、MAC 怎么找",一个是"电压多少、针脚怎么排",强行并成一层,讲的人难受、学的人也糊涂。
所以工程上普遍用五层:上面合并、下面拆开。
PPT 后面所有讲解都基于五层,因为它既贴合实际协议,又能和 OSI 一一对上。
表示层和会话层"消失"了吗
没有。它们的功能没消失,只是被合并进 TCP/IP 的应用层,由应用自己实现了。
比如 TLS 加密(表示层干的事),现在由 HTTPS 自己带;会话管理(会话层干的事),现在由 HTTP 的 Cookie/Session 自己做。
考试如果问"TCP/IP 模型里表示层去哪了",答"功能合并入应用层,由应用实现"最稳妥。
三、每一层给数据加什么:PDU 名称
同一份数据往下走一层、加一个头部,名字就换一次。这个"名字"叫 PDU(Protocol Data Unit,协议数据单元)。
| 层次 | PDU | 中文 | 加什么 |
|---|---|---|---|
| 应用层 | Data | 数据 | 应用自己的头部,如 HTTP 请求行 |
| 传输层 | Segment | 段 | TCP/UDP 头:源端口、目的端口、序号 |
| 网络层 | Packet | 包 | IP 头:源 IP、目的 IP、TTL、协议号 |
| 数据链路层 | Frame | 帧 | 以太网头:源 MAC、目的 MAC、类型;尾部加 FCS |
| 物理层 | Bitstream | 比特流 | 不加头,转成电/光信号 |
链路层是唯一"头尾都加"的一层,因为 FCS 校验放在帧尾。其它层都只在前面加头。
这个小细节能救命:题目问"哪一层既加头又加尾",答案只有链路层。要是你脑子里先入为主认为"每层都有头尾",这题必错。
四、我最喜欢的一个视角:中间设备只拆到自己需要的那一层
| 设备 | 工作到第几层 | 依据什么转发 |
|---|---|---|
| 以太网交换机 | 二层 | MAC 地址表(目的 MAC → 出端口) |
| 路由器 | 三层 | 路由表(目的 IP → 下一跳/出接口) |
| 主机/服务器 | 七层(全部) | 交给应用程序处理 |
这三行能解释一大半设备行为差异:
- 交换机快,因为它只看 12 个字节就决定了;
- 路由器慢一些,因为它要拆到 IP 头、查路由表、还可能改 TTL;
- 主机最慢,因为它要一路拆到应用层。
也解释了为什么"抓包"这件事在不同设备上看到的东西不一样——交换机只能给你看二层,路由器能看三层,主机能看到全部。
五、一点学习心得
这一章我最大的收获不是记住七层,而是学会了一个提问方式:"这一层管什么,不管什么?"
以前我看设备,看到的是"交换机""路由器""防火墙"这些名字。现在我看设备,看到的是"它拆到第几层,依据什么做决定"。
一旦用这个视角看,很多原本要背的结论就变成了推论:
- 交换机不隔离广播 → 因为它不拆到三层,不知道"网段"是什么;
- 路由器隔离广播 → 因为它拆到三层,到边界就停;
- VLAN 能在二层做隔离 → 因为它在帧头插了个标签,让交换机多了一个判断依据。
这些都不是背下来的,是推出来的。 推出来的东西不会忘。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/W20070611/article/details/170054050




