1. 概述

OSI 模型全称 Open Systems Interconnection Model,是一个标准化的网络通信框架,用于描述网络系统中各层级的功能和协作方式。它共分为 7 层,每层都有其特定的职责。

本文将深入讲解 OSI 模型的每一层,帮助你理解每一层的作用以及它们是如何协同工作的。

2. OSI 模型简介

在计算机网络发展的早期,不同厂商的设备之间很难互通。例如,公司 A 的网络设备只能与同公司其他设备通信,而无法与其他厂商的设备兼容。

为了解决这一问题,实现全球范围内设备的互操作性,国际标准化组织 ISO(International Organization for Standardization)于 1984 年正式发布了 OSI 模型。

OSI 模型由以下 7 层组成:

  1. 应用层(Application Layer)
  2. 表示层(Presentation Layer)
  3. 会话层(Session Layer)
  4. 传输层(Transport Layer)
  5. 网络层(Network Layer)
  6. 数据链路层(Data Link Layer)
  7. 物理层(Physical Layer)

这些层级之间协作,完成从发送端到接收端的数据传输。

下图展示了 OSI 模型的结构:

OSI 模型图

接下来我们将逐一介绍每一层的功能。

3. 物理层(Physical Layer)

物理层是 OSI 模型中最底层的一层,负责在网络设备之间传输原始比特流(bit stream)。

它将数据以比特(0 和 1)的形式传输,并控制以下关键点:

✅ 传输速率(bit rate)
✅ 位同步(bit-level synchronization)
✅ 传输模式(单工、半双工、全双工)
✅ 物理拓扑结构(如星型、总线型、环形等)

当设备发送数据时,物理层接收数据、转换为比特流,并发送给数据链路层。

常见的物理层协议或设备包括:

  • RS-232
  • UTP 网线
  • DSL 网络

下图展示了物理层的数据传输过程:

物理层图

数据链路层负责在两个直接连接的节点之间进行数据传输。

当物理层传来的比特流到达数据链路层后,该层将其封装为帧(Frame),并确保帧的完整性(无差错)后,再发送到目标节点。

数据链路层主要完成以下任务:

✅ 帧同步(Frame synchronization)
✅ 差错检测(Error detection)
✅ 流量控制(Flow control)
✅ 访问控制(Access control)

此层分为两个子层:

  • LLC(逻辑链路控制):负责错误检测和帧同步
  • MAC(介质访问控制):负责控制设备如何访问传输介质

常见协议:

  • Ethernet(以太网)

下图展示了数据链路层如何将比特流封装为帧:

数据链路层图

5. 网络层(Network Layer)

网络层负责在不同网络之间传输数据,主要功能包括:

✅ 路由选择(Routing)
✅ 逻辑寻址(如 IP 地址)
✅ 数据分组转发

当数据到达网络层后,该层会在数据中添加源地址和目标地址信息(通常为 IP 地址),并决定最佳路径进行传输。

常见协议:

  • IPv4 / IPv6
  • ARP(地址解析协议)
  • ICMP(互联网控制消息协议)

下图展示了网络层如何添加地址信息:

网络层图

6. 传输层(Transport Layer)

传输层负责端到端的数据传输,并确保数据完整、有序地到达接收端。

主要功能包括:

✅ 数据分段(Segmentation)
✅ 流量控制(Flow control)
✅ 差错恢复(Error recovery)
✅ 确认机制(Acknowledgment)

传输层接收来自网络层的数据包,并将其拆分为更小的段(Segment),然后发送到接收端的传输层。

常用协议:

  • TCP(传输控制协议):面向连接,可靠传输
  • UDP(用户数据报协议):无连接,快速但不保证送达

下图展示了传输层的段处理过程:

传输层图

7. 会话层(Session Layer)

会话层负责建立、管理和终止通信会话。它也负责同步通信,确保会话在中断后可以从中断点恢复。

关键功能包括:

✅ 会话建立与终止
✅ 会话同步(Synchronization)
✅ 半双工 / 全双工控制
✅ 身份验证与安全控制

例如,当传输中断时,会话层可以使用同步点(Synchronization Point),让传输从上次成功的位置继续。

常见协议:

  • NetBIOS
  • PPTP(点对点隧道协议)

下图展示了会话层的同步机制:

会话层图

8. 表示层(Presentation Layer)

表示层负责数据格式的转换、加密解密和压缩解压,确保发送端和接收端对数据的理解一致。

主要功能包括:

✅ 数据格式转换(如 ASCII → EBCDIC)
✅ 数据加密 / 解密(如 SSL/TLS)
✅ 数据压缩 / 解压

该层确保不同系统间的数据交换在语义上保持一致。

常见协议:

  • SSL(安全套接字层)
  • TLS(传输层安全协议)

下图展示了表示层的加密与压缩过程:

表示层图

9. 应用层(Application Layer)

应用层是 OSI 模型的最上层,直接面向用户和应用程序,为用户提供访问网络资源的接口。

它并不等同于具体的应用程序(如浏览器、邮件客户端),而是为这些应用提供网络通信的支持。

主要功能包括:

✅ 文件访问与管理
✅ 电子邮件传输
✅ 远程登录
✅ 域名解析(DNS)

常见协议:

  • HTTP / HTTPS
  • FTP
  • DNS
  • SNMP

下图展示了应用层如何与用户和网络交互:

应用层图

10. 总结

本文详细介绍了 OSI 模型的 7 个层级,从底层的物理传输到上层的应用交互,每一层都承担着不同的职责,协同完成数据的传输和处理。

物理层:传输比特流
数据链路层:帧传输与差错控制
网络层:路由与 IP 寻址
传输层:端到端通信
会话层:会话控制与同步
表示层:数据格式与安全
应用层:提供用户接口

理解 OSI 模型有助于我们更好地分析网络问题、排查故障,是网络工程师和开发人员必备的基础知识之一。


原始标题:OSI Model

« 上一篇: 计算二叉树的高度
» 下一篇: 回溯算法详解