计算机网络1
OSI 七层模型分层与各层作用
一、什么是 OSI 七层模型
OSI(Open Systems Interconnection,开放系统互连参考模型)是由国际标准化组织(ISO)提出的网络通信分层框架。它把复杂的网络通信过程拆分成七个层次,每层只负责自己那部分工作,层与层之间通过接口交互。
为什么要分层?
- 各层独立:某一层变化不影响其他层
- 易于实现和维护:每层可以单独开发测试
- 促进标准化:不同厂商的设备能互通
二、七层总览表
从上到下一共七层:
| 层次 | 名称 | 核心作用 | 典型协议 | 典型设备 |
|---|---|---|---|---|
| 第七层 | 应用层 | 面向应用程序,提供网络服务接口 | HTTP、HTTPS、FTP、DNS、SMTP | 主机(PC、手机) |
| 第六层 | 表示层 | 数据格式转换、加密解密、压缩 | JPEG、ASCII、SSL/TLS | 主机 |
| 第五层 | 会话层 | 建立、管理、断开通信会话 | RPC、SQL | 主机 |
| 第四层 | 传输层 | 端到端通信、端口寻址、流量控制 | TCP、UDP | 网关 |
| 第三层 | 网络层 | 主机寻址、路由选择 | IP、ICMP、ARP | 路由器 |
| 第二层 | 数据链路层 | 相邻节点传输、MAC 寻址、成帧 | Ethernet、PPP | 交换机 |
| 第一层 | 物理层 | 传输比特流(0/1),电气信号标准 | - | 集线器、网线、光纤 |
记忆口诀:应表会传网数物
三、逐层解析
第七层·应用层(Application Layer)
应用层是最靠近用户的一层,直接为应用程序提供网络服务。我们平时用浏览器打开网页、用 QQ 发消息、用 FTP 传文件,这些都是和应用层打交道。
常见协议
- HTTP/HTTPS:浏览网页
- FTP:文件传输
- DNS:域名解析(将 www.baidu.com 翻译为 IP 地址)
- SMTP/POP3/IMAP:收发邮件
第六层·表示层(Presentation Layer)
表示层负责数据的翻译和变换,确保一台主机应用层发出的数据能被另一台主机的应用层读懂。
主要工作:
- 数据格式转换(如 EBCDIC 和 ASCII 互相转换)
- 数据加密/解密(HTTPS 中的 SSL/TLS 就在这层工作)
- 数据压缩/解压
第五层·会话层(Session Layer)
会话层负责建立、管理和终止两个主机之间的会话。可以理解为“打电话时负责拨号、保持通话、挂断”的一方。
主要工作:
- 建立会话连接
- 维持会话同步
- 会话断开和恢复
第四层·传输层(Transport Layer)
传输层负责端到端通信,把数据从一台主机的某个进程送到另一台主机的对应进程。它通过端口号来区分不同的应用程序。
两大协议:
| 协议 | 特点 | 适用场景 |
|---|---|---|
| TCP | 面向连接、可靠传输、有流量控制和重传 | 网页浏览、文件下载、邮件 |
| UDP | 无连接、不保证可靠、速度快 | 视频通话、直播、游戏 |
关键区分:IP 地址找到主机,端口号找到主机上的那个程序。
第三层·网络层(Network Layer)
网络层负责主机到主机的通信,解决的是数据从哪台主机出发,走哪条路到达目标主机的问题。
核心功能:
- 逻辑寻址:使用 IP 地址标识网络中的主机
- 路由选择:路由器根据路由信息选择最佳路径
常见协议
- IP(Internet Protocol):网际协议
- ICMP:互联网控制报文协议(ping 命令就是用它)
- ARP:地址解析协议(把 IP 地址转成 MAC 地址)
第二层·数据链路层(Data Link Layer)
数据链路层负责相邻节点之间的可靠传输。它把网络层交下来的 IP 数据包封装成帧(Frame),通过 MAC 地址在局域网内找到下一个设备。
主要工作:
- 封装成帧:加帧头(含源/目的 MAC)和帧尾
- 差错检测:发现物理层传输中的错误
- 物理寻址:MAC 地址
交换机工作在这一层,根据 MAC 地址表转发数据帧。
第一层·物理层(Physical Layer)
物理层是最低层,负责在物理介质上传输原始的比特流(0 和 1)。它不关心数据代表什么含义,只负责把电信号、光信号或无线电波从一个地方搬到另一个地方。
常见传输介质:
- 双绞线网线
- 光纤
- 无线电波(Wi-Fi)
设备: 集线器(Hub)、中继器
四、数据封装与解封装
数据在发送方是从上到下逐层封装,在接收方是从下到上逐层解封装。
发送方:封装过程
- 应用层:用户数据(Data)
- 传输层:段(Segment)——添加 TCP/UDP 头部(源端口、目的端口)
- 网络层:包(Packet)——添加 IP 头部(源 IP、目的 IP)
- 数据链路层:帧(Frame)——添加帧头(源 MAC、目的 MAC)和帧尾(FCS 校验)
- 物理层:比特流(Bits)——转换成电信号或光信号传输
接收方:解封装过程
从物理层收到比特流后,逐层向上:
- 物理层 → 数据链路层:去掉帧头帧尾,取出 Packet
- 数据链路层 → 网络层:去掉 IP 头部,取出 Segment
- 网络层 → 传输层:去掉 TCP/UDP 头部,取出 Data
- 传输层 → 应用层:把数据交给对应的应用程序
五、OSI 七层 vs TCP/IP 四层
实际上工业界应用更多的是TCP/IP 四层模型,它和 OSI 七层模型的对应关系:
| OSI 七层 | TCP/IP 四层 |
|---|---|
| 应用层、表示层、会话层 | 应用层 |
| 传输层 | 传输层 |
| 网络层 | 网际层(Internet 层) |
| 数据链路层、物理层 | 网络接口层 |
六、常见误区与小结
容易弄混的几点:
- 传输层不等于网络层:传输层管进程到进程(端口号),网络层管主机到主机(IP 地址)
- MAC 地址 vs IP 地址:MAC 地址通常烧录在网卡中,用于局域网内通信;IP 是逻辑地址,可跨网络使用
- 交换机 vs 路由器:交换机工作在数据链路层(看 MAC),路由器工作在网络层(看 IP)
总结:
应用层给软件用,传输层管端口,网络层找 IP,数据链路层认 MAC,物理层搬比特。
参考资料
- 《计算机网络》(谢希仁,第八版)



