• OSI 七层模型:一种用于理论和教学的网络分层模型,把网络通信过程细分为 7 个功能层,用于解释通信“做了什么”。
  • TCP/IP 四层模型:一种用于实际互联网运行的网络分层模型,把通信过程抽象为 4 层,用于描述网络“实际上怎么跑”。

一、OSI 七层模型(理论模型)

OSI(Open Systems Interconnection)模型由 ISO 提出,偏重教学与理论,将网络通信过程划分得非常细致。

ISO 的全称是:

International Organization for Standardization国际标准化组织

✅ 负责制定国际通用标准(如 OSI 模型、ISO 9001、ISO 27001 等) ✅ 成立于 1947 年 ✅ 总部位于 瑞士日内瓦

七层结构(自上而下)

层级

名称

主要功能

常见示例

7

应用层

为用户提供网络服务

HTTP、FTP、SMTP、DNS

6

表示层

数据格式转换、加密解密、压缩

SSL/TLS、编码格式

5

会话层

建立、管理、终止会话

会话控制、断点恢复

4

传输层

端到端传输、可靠性、流控

TCP、UDP

3

网络层

逻辑寻址、路由选择

IP、ICMP

2

数据链路层

成帧、MAC 寻址、差错检测

Ethernet、ARP

1

物理层

比特流传输、接口与电气特性

网线、光纤

记忆口诀(常见)

应用 表示 会话 传输 网络 链路 物理


二、TCP/IP 四层模型(实践模型)

TCP/IP 模型来源于互联网实际实现,偏重工程与实用,是当前网络的事实标准。

四层结构

层级

名称

主要功能

协议示例

4

应用层

提供应用通信服务

HTTP、FTP、DNS、SMTP

3

传输层

端到端通信

TCP、UDP

2

网际层

IP 寻址与路由

IP、ICMP

1

网络接口层

物理 + 数据链路

Ethernet、ARP


三、OSI 与 TCP/IP 对应关系

OSI 七层

TCP/IP 四层

应用层

✅ 应用层

表示层

✅ 应用层

会话层

✅ 应用层

传输层

✅ 传输层

网络层

✅ 网际层

数据链路层

✅ 网络接口层

物理层

✅ 网络接口层

一句话总结

TCP/IP 把 OSI 的上三层合并为应用层,下两层合并为网络接口层。


四、核心区别对比

对比项

OSI 模型

TCP/IP 模型

层数

7 层

4 层

定位

理论模型

工程实现

提出者

ISO

DARPA

使用情况

教学、考试

实际网络

是否强制

是(互联网标准)


五、快速理解示例(访问网页)

访问 https://example.com 的过程:

  • 应用层:HTTP 发送请求
  • 传输层:TCP 建立连接(三次握手)
  • 网络层:IP 选择路由
  • 数据链路层:封装成以太网帧
  • 物理层:通过网线/光纤发送比特流

六、一句话速记

  • OSI:讲清“通信做了哪些事”
  • TCP/IP:关心“互联网实际上怎么跑”
  • 现实工作 = TCP/IP
  • 考试/理论 = OSI

七、数据传输封装与解封装

在OSI七层模型中,数据的传输过程分为封装(Encapsulation)与解封装(Decapsulation)两个方向。

封装发生在发送端,从应用层到物理层,逐层“打包”数据。

解封装发生在接收端,从物理层到应用层,逐层“拆包”还原数据。


封装过程(发送端,自上而下)

OSI层级

数据单元名称

封装内容(添加的信息)

作用

应用层(7)

数据(Data)

用户数据本身

提供用户接口(如HTTP、FTP)

表示层(6)

数据(Data)

数据格式、加密、压缩等

确保接收方能正确解析数据

会话层(5)

数据(Data)

会话控制信息(如会话ID)

建立、管理、终止会话

传输层(4)

数据段(Segment)

端口号、序列号、校验和等

实现端到端通信(TCP/UDP)

网络层(3)

数据包(Packet)

源/目的IP地址、TTL、协议类型等

路由选择与逻辑寻址

数据链路层(2)

数据帧(Frame)

源/目的MAC地址、帧校验序列(FCS)

局域网内物理寻址与差错检测

物理层(1)

比特流(Bits)

无额外封装,仅转换为电/光信号

在物理介质上传输比特流


解封装过程(接收端,自下而上)

每一层只读取自己“认识”的控制信息,剥离头部(或尾部)后,将数据交给上一层:

  1. 物理层:接收比特流,转换为帧 → 交给数据链路层
  2. 数据链路层:检查MAC地址与FCS,剥离帧头帧尾 → 提取出IP包 → 交给网络层
  3. 网络层:检查IP地址,剥离IP头 → 提取出TCP/UDP段 → 交给传输层
  4. 传输层:根据端口号识别应用进程,剥离传输头 → 提取出会话数据 → 交给会话层
  5. 会话层:处理会话控制信息,剥离会话头 → 交给表示层
  6. 表示层:解密、解压缩、格式转换 → 交给应用层
  7. 应用层:最终呈现给用户或应用程序


类比理解(信封比喻)

就像写信时,每过一层就套一个新信封:

  • 应用层:信纸(原始数据)
  • 传输层:信封上写“端口号码”
  • 网络层:再套一层,写“IP地址”
  • 数据链路层:再套一层,写“MAC地址”
  • 物理层:把整封信变成“电波”寄出去

接收方逐层拆开信封,直到看到最初的信纸。


总结一句话

封装是“层层加壳”,解封装是“层层剥壳”,每一层只关心自己那一层的“信封”信息。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐