网络的分层模式
总结
- OSI 七层模型是理论标准,TCP/IP 四层模型是实际实现,面试两个都要会
- 七层从下到上:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
- TCP/IP 四层:网络接口层、网络层、传输层、应用层(把 OSI 上三层合并了)
- 每层只和相邻层打交道,各层职责清晰,改一层不影响其他层
1. 两种模型对比

| OSI 七层模型 | TCP/IP 四层模型 | 代表协议 |
|---|---|---|
| 应用层 | 应用层 | HTTP、HTTPS、FTP、DNS、SMTP |
| 表示层 | 应用层 | SSL/TLS、JPEG、ASCII |
| 会话层 | 应用层 | RPC、NetBIOS |
| 传输层 | 传输层 | TCP、UDP |
| 网络层 | 网络层 | IP、ICMP、ARP |
| 数据链路层 | 网络接口层 | Ethernet、Wi-Fi、MAC |
| 物理层 | 网络接口层 | 网线、光纤、无线电波 |
OSI 是 ISO 制定的理论参考模型,分层更细;TCP/IP 是互联网实际使用的协议栈,把 OSI 的上三层(应用、表示、会话)合并成一层,更简洁实用。
2. 各层职责
2.1 物理层
负责传输原始的比特流(0 和 1),定义电压、光信号、无线电波等物理介质的规范。
网线、光纤、网卡接口都属于这一层,它只管"把信号发出去",不关心数据是什么意思。
2.2 数据链路层
在同一局域网内,负责节点到节点的数据传输,以**帧(Frame)**为单位。
核心是 MAC 地址寻址,交换机工作在这一层。ARP 协议(IP 地址 → MAC 地址的映射)也在这一层发挥作用。
2.3 网络层
负责跨网络的数据路由,以**数据包(Packet)**为单位。
核心是 IP 地址,路由器工作在这一层。IP 协议负责寻址和路由,ICMP(ping 命令用的就是它)也在这一层。
2.4 传输层
负责端到端的可靠传输,以**段(Segment)**为单位,通过端口号区分不同的应用进程。
两个核心协议:
- TCP:面向连接,可靠传输,有流量控制和拥塞控制,适合对数据完整性要求高的场景(HTTP、文件传输)
- UDP:无连接,不保证可靠,但延迟低,适合实时性要求高的场景(视频直播、DNS 查询、游戏)
2.5 会话层(OSI 独有)
管理两个节点之间会话的建立、维护和终止。TCP/IP 模型里这个功能由应用层自己处理,没有单独分层。
2.6 表示层(OSI 独有)
负责数据的格式转换、加密解密、压缩解压。SSL/TLS 加密、字符编码转换(ASCII、UTF-8)都属于这一层。TCP/IP 模型里同样并入应用层。
2.7 应用层
直接面向用户,提供各种网络服务,以**报文(Message)**为单位。
常见协议:
- HTTP/HTTPS:Web 通信
- FTP:文件传输
- DNS:域名解析
- SMTP/POP3:邮件收发
- SSH:远程登录
3. 数据封装与解封装
数据从发送方到接收方,每经过一层都会加上该层的头部信息(封装),接收方再逐层剥掉(解封装):
发送方 接收方
应用层 [数据] → 应用层 [数据]
传输层 [TCP头][数据] → 传输层 [TCP头][数据]
网络层 [IP头][TCP头][数据] → 网络层 [IP头][TCP头][数据]
链路层 [帧头][IP头][TCP头][数据][帧尾]
物理层 -------- 比特流 -------->
每一层只处理自己的头部,不关心上层的内容,这就是分层的核心价值:各层解耦,互不干扰。
4. 为什么要分层?
- 职责清晰:每层只做一件事,出问题容易定位(ping 不通 → 网络层问题,TCP 连不上 → 传输层问题)
- 易于扩展:换一种物理介质(从网线换光纤)不影响上层协议
- 标准化:不同厂商的设备只要遵循同一层的协议就能互通