说到计算机网络,肯定绕不开要对网络分层模型 进行了解。
但说实话,很多人一看到七层、四层一大堆专业名词就开始头大:什么物理层、数据链路层,和我发个消息有啥关系?
别急,今天神唱 就用一招,让你彻底搞懂网络分层模型,一次记牢,终身不忘!
1. 为什么要网络分层
先讲点道理:网络分层就像搭积木,把复杂问题拆小,层层分工、各司其职。
如果你想发条微信给朋友:
- 你写内容 → 手机打包发送 → 网络转发 → 对方接收展示
- 中间要经历信号、电缆、IP地址、TCP协议、加密、编码……
这么多细节,要是不分层,工程师都疯了。
所以,分层 = 拆解复杂通信流程,让协议标准化、模块化、可替换。
对于程序员的我很好理解,网络分层的本质,就像 Java 项目的架构设计:高内聚、低耦合,各层定义清晰,既便于开发维护,也方便替换协议或组件。如果你所有逻辑都写在一个类里,那就成了史诗级大坨屎山 , 谁都维护不了。
2. OSI 七层模型
经典的 OSI 模型 有 7 层,层层叠叠,像汉堡一样:
神唱之前一直记不住他们的顺序,最后我索性直接记一段话就行,应表会传网数物 。真实好用忘不掉。
简化理解:
层级 | 功能通俗解释 | 举个例子 |
应用层 | 你要干什么? | 浏览网页、收发邮件 |
表示层 | 数据长啥样? | 编码格式、加密解密 |
会话层 | 和谁聊?怎么聊? | 建立/维护/断开连接 |
传输层 | 可靠不丢包吗? | TCP、UDP |
网络层 | 走哪条路? | IP寻址、路由选择 |
数据链路层 | 哪个车道?怎么送? | MAC 地址、以太网帧 |
物理层 | 电信号/光信号 | 电缆、光纤、无线电波 |
3. TCP/IP 模型:实用派代表
说实话,虽然 OSI 模型概念清晰,但我们实际工程中用得更多的是 TCP/IP 模型,也叫四层模型:
映射关系一览表:
TCP/IP 四层 | 对应 OSI 层级 | 举例协议 |
应用层 | 应用 + 表示 + 会话 | HTTP、FTP、DNS |
传输层 | 传输层 | TCP、UDP |
网络层 | 网络层 | IP、ICMP |
网络接口层 | 数据链路 + 物理层 | Ethernet、Wi-Fi |
4. “打包和拆包”的逆向思维
记住一个核心概念:发送方:从上往下打包 → 接收方:从下往上拆包
假设你在浏览器发一个 HTTP 请求:
- 应用层:写好内容,用 HTTP 封装
- 传输层:打包成 TCP 段
- 网络层:加 IP 地址,变成 IP 包
- 数据链路层:加 MAC 地址,变成以太网帧
- 物理层:变成电信号发出去!
然后在接收端:
- 物理层:电信号接收
- 数据链路层:拆出 MAC 地址
- 网络层:拆出 IP 包
- 传输层:拼装 TCP 数据
- 应用层:还原成网页