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 地址)

数据链路层负责相邻节点之间的可靠传输。它把网络层交下来的 IP 数据包封装成帧(Frame),通过 MAC 地址在局域网内找到下一个设备。

主要工作:

  • 封装成帧:加帧头(含源/目的 MAC)和帧尾
  • 差错检测:发现物理层传输中的错误
  • 物理寻址:MAC 地址

交换机工作在这一层,根据 MAC 地址表转发数据帧。

第一层·物理层(Physical Layer)

物理层是最低层,负责在物理介质上传输原始的比特流(0 和 1)。它不关心数据代表什么含义,只负责把电信号、光信号或无线电波从一个地方搬到另一个地方。

常见传输介质:

  • 双绞线网线
  • 光纤
  • 无线电波(Wi-Fi)

设备: 集线器(Hub)、中继器

四、数据封装与解封装

数据在发送方是从上到下逐层封装,在接收方是从下到上逐层解封装。

发送方:封装过程

  1. 应用层:用户数据(Data)
  2. 传输层:段(Segment)——添加 TCP/UDP 头部(源端口、目的端口)
  3. 网络层:包(Packet)——添加 IP 头部(源 IP、目的 IP)
  4. 数据链路层:帧(Frame)——添加帧头(源 MAC、目的 MAC)和帧尾(FCS 校验)
  5. 物理层:比特流(Bits)——转换成电信号或光信号传输

接收方:解封装过程

从物理层收到比特流后,逐层向上:

  1. 物理层 → 数据链路层:去掉帧头帧尾,取出 Packet
  2. 数据链路层 → 网络层:去掉 IP 头部,取出 Segment
  3. 网络层 → 传输层:去掉 TCP/UDP 头部,取出 Data
  4. 传输层 → 应用层:把数据交给对应的应用程序

五、OSI 七层 vs TCP/IP 四层

实际上工业界应用更多的是TCP/IP 四层模型,它和 OSI 七层模型的对应关系:

OSI 七层 TCP/IP 四层
应用层、表示层、会话层 应用层
传输层 传输层
网络层 网际层(Internet 层)
数据链路层、物理层 网络接口层

六、常见误区与小结

容易弄混的几点:

  1. 传输层不等于网络层:传输层管进程到进程(端口号),网络层管主机到主机(IP 地址)
  2. MAC 地址 vs IP 地址:MAC 地址通常烧录在网卡中,用于局域网内通信;IP 是逻辑地址,可跨网络使用
  3. 交换机 vs 路由器:交换机工作在数据链路层(看 MAC),路由器工作在网络层(看 IP)

总结:

应用层给软件用,传输层管端口,网络层找 IP,数据链路层认 MAC,物理层搬比特。


参考资料

  • 《计算机网络》(谢希仁,第八版)