Skip to content

OSI 网络模型详解

OSI 模型是计算机网络的核心框架,通过分层结构明确了每个环节的功能与分工。理解其工作原理可以帮助我们更好地分析和优化网络性能。

OSI 模型

OSI(Open System Interconnection)模型将计算机网络分为七个层次,每个层次负责不同的功能。根据协议层的逻辑顺序从上到下依次是:

应用层 Application Layer

类别描述
功能为应用程序提供服务。
产生和处理应用层数据。
核心内容应用程序的所有操作都会通过应用层协议生成应用层数据。
协议示例:
HTTP、FTP、SMTP、DNS。
应用场景常见应用:QQ、微信、邮件服务等。

表示层 Presentation Layer

类别描述
功能处理数据的格式化、加密和解密。
实现数据的语法和语义转换。
核心内容数据格式化:确保发送端与接收端的应用层数据格式一致。
加密与解密:确保数据安全传输。
应用场景数据压缩、SSL/TLS 加密。

会话层 Session Layer

类别描述
功能建立、维护和管理会话连接。
管理通信的开始、进行和结束。
核心内容负责会话的同步。
控制会话中数据的交换顺序。
应用场景文件传输、远程登录。

传输层 Transport Layer

类别描述
功能对数据流进行分片或分段,将大数据分割成适合传输的小段。
负责端到端的数据传输可靠性。
封装过程将数据打包成 数据段
数据段大小:每段约 45-1500 字节(依赖具体的网络 MTU)。
包含:
- 源端口号 (src-port): 1024-65535,用于标识发送端应用。
- 目标端口号 (dst-port): 1-1023,用于标识接收端服务。
- 协议类型:TCP 或 UDP。
作用TCP 提供可靠传输,包含数据确认和重传机制。
UDP 提供快速传输,低延迟但无保证。
相关协议TCP (传输控制协议): 用于需要高可靠性的场景,如 HTTP、FTP。
UDP (用户数据报协议): 用于实时性要求高的场景,如视频流、DNS。

网络层 Network Layer

类别描述
功能在数据段的外围封装 IP 头部
提供逻辑寻址和路由功能,通过 IP 地址进行数据转发。
封装过程将数据段打包成 数据包
包含:
- 源端口号 (src-port): 1024-65535。
- 目标端口号 (dst-port): 1-1023。
- 源 IP 地址 (src-ip): 表示数据包的发送端。
- 目标 IP 地址 (dst-ip): 表示数据包的接收端。
- 协议 (protocol): 指定使用的传输协议 (TCP/UDP)。
作用基于 IP 地址转发数据。
确定数据包的路径。
代表设备路由器,用于连接不同的子网并转发数据。
子网掩码示例子网掩码:255.255.255.252
- 掩码位: 30 位。
- 子网地址数: 每个子网可分配 2 个可用 IP 地址。
- 典型用途: 点对点链路。
类别描述
功能在数据包的外围封装 MAC 帧头
提供物理链路之间的数据传输和错误检测功能。
封装过程将数据包封装为 数据帧
包含:
- 源端口号 (src-port): 1024-65535。
- 目标端口号 (dst-port): 1-1023。
- 源 IP 地址 (src-ip)、目标 IP 地址 (dst-ip)。
- 协议 (protocol): 表明传输协议 (TCP/UDP)。
- 源 MAC 地址 (src-mac): 数据包发送设备的 MAC 地址。
- 目标 MAC 地址 (dst-mac): 数据包接收设备的 MAC 地址。
- 帧类型 (type): 指定数据的类型,如 IPv4、IPv6。
作用通过 MAC 地址在局域网内转发数据。
提供错误检测(如 CRC 校验)。
代表设备交换机,用于局域网内的帧转发。

物理层 Physical Layer

类别描述
功能将数据转化为比特流 (bitstream)。
通过物理介质(如双绞线、光纤、电缆等)进行传输。
核心内容比特流是物理层的主要单位。
定义了设备间如何通过物理信号(电压、电流、光脉冲)传输数据。
常见设备集线器、网线、光纤模块等。

数据流封装与解封装

  1. 封装过程 (从应用层到物理层):

    封装过程描述
    应用层生成应用数据。
    表示层格式化、加密数据等。
    会话层管理会话。
    传输层分段,添加端口号,形成 数据段
    网络层添加 IP 头部,形成 数据包
    数据链路层添加 MAC 帧头,形成 数据帧
    物理层转化为比特流,通过物理介质传输。
  2. 解封装过程 (从物理层到应用层):

    解封装过程描述
    物理层接收比特流。
    数据链路层解封 MAC 帧。
    网络层解封 IP 包。
    传输层解析端口号,重组数据段。
    会话层处理会话。
    表示层解密并格式化数据。
    应用层呈现数据给用户。

通过以上各层的分工与协作,OSI 模型完成了从数据产生到传输和接收的全过程。

总结

OSI 七层网络模型

层次英文名称功能代表协议或设备数据单元
应用层Application Layer为应用程序提供服务,生成和处理应用数据HTTP、FTP、SMTP、DNS数据
表示层Presentation Layer数据格式化、加密解密、语法语义转换SSL/TLS、数据压缩数据
会话层Session Layer建立、管理和终止会话连接文件传输、远程登录数据
传输层Transport Layer提供端到端传输、分段、数据可靠性保证TCP、UDP数据段 (Segment)
网络层Network Layer路由和逻辑寻址,基于 IP 地址进行数据转发IP、ICMP、路由器数据包 (Packet)
数据链路层Data Link Layer封装数据帧,局域网中基于 MAC 地址转发,错误检测交换机、以太网协议数据帧 (Frame)
物理层Physical Layer将数据转为比特流,通过物理介质传输网线、光纤、集线器比特流 (Bits)

数据流方向

  • 封装: 应用层 → 物理层
  • 解封装: 物理层 → 应用层

通过分层实现模块化,OSI 模型明确了网络通信的每一步骤,便于分析和优化网络性能。