网络模型:从 OSI 到 TCP/IP 的分层体系
网络模型是计算机网络通信的 “设计蓝图”,通过将复杂的通信过程拆分为分层的功能模块,降低了协议设计的复杂度,实现了不同设备和系统的互联互通。目前主流的网络模型包括OSI 七层模型、TCP/IP 四层模型和五层协议模型,它们虽结构不同,但核心思想一致:分层负责、接口标准化。
OSI/RM 七层模型(理论基石)
OSI(Open Systems Interconnection,开放系统互连)模型由 ISO(国际标准化组织)于 1984 年提出,是网络分层理论的经典框架。它将网络通信分为 7 层,从下到上依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。尽管 OSI 模型因过于复杂未被广泛应用,但其分层思想为后续模型奠定了基础。
各层功能与核心特征
| 层级 | 名称 | 核心功能 | 典型协议 / 设备 | 数据单位 |
|---|---|---|---|---|
| 7 | 应用层 | 为用户应用程序提供网络服务(如文件传输、邮件收发) | HTTP、FTP、SMTP、Telnet | 数据 |
| 6 | 表示层 | 处理数据格式转换(如加密 / 解密、压缩 / 解压、编码转换) | JPEG、ASCII、SSL/TLS(部分) | 数据 |
| 5 | 会话层 | 建立、管理和终止进程间的会话连接(如断点续传的会话控制) | RPC、NetBIOS | 数据 |
| 4 | 传输层 | 为端到端进程提供可靠或高效的数据传输(如分段、流量控制、重传) | TCP、UDP | 段(TCP)/ 用户数据报(UDP) |
| 3 | 网络层 | 负责跨网络的数据包路由和转发(如 IP 寻址、路径选择) | IP、ICMP、ARP、路由协议 | 分组 / 数据包 |
| 2 | 数据链路层 | 处理同一链路内的帧传输(如 MAC 寻址、差错校验、冲突处理) | Ethernet、PPP、MAC 协议 | 帧 |
| 1 | 物理层 | 传输原始比特流,定义物理介质的电气特性(如电压、接口、传输速率) | 双绞线、光纤、集线器(Hub) | 比特(bit) |
OSI 模型的设计原则
- 功能分离:每一层专注于单一功能(如物理层仅负责比特传输,网络层仅负责路由)。
- 接口标准化:层与层之间通过明确的接口交互,上层无需关心下层的实现细节。
- 分层适度:层数足够多以避免功能混杂,同时避免过多导致复杂度上升。
TCP/IP 四层模型(实际应用主流)
TCP/IP 模型源于美国军方的 ARPANET 项目,因互联网的普及而成为实际主导的网络模型。它将 OSI 模型简化为 4 层,注重实用性和协议的兼容性。
各层功能与核心协议
- 网络接口层(Network Interface Layer)
- 对应 OSI 的物理层和数据链路层,负责比特流的物理传输和链路帧处理。
- 包含硬件接口(如网卡)、设备驱动和链路层协议(如 Ethernet、Wi-Fi)。
- 无统一协议标准,依赖具体的物理介质和链路技术。
- 网络层(Internet Layer)
- 核心功能:跨网络路由和 IP 寻址,实现数据包从源主机到目标主机的转发。
- 核心协议:
- IP(网际协议):定义 IP 地址格式和数据包结构,是 TCP/IP 的 “骨架”。
- ARP(地址解析协议):将 IP 地址映射为 MAC 地址。
- ICMP(互联网控制消息协议):用于网络诊断(如 ping 命令)。
- 典型设备:路由器(根据 IP 地址选择路由)。
- 传输层(Transport Layer)
- 核心功能:为应用程序提供端到端的数据传输服务,屏蔽网络层的路由细节。
- 核心协议:
- TCP(传输控制协议):面向连接、可靠传输(通过序号、确认、重传机制),适用于文件传输、网页加载等。
- UDP(用户数据报协议):无连接、不可靠但高效,适用于视频通话、实时游戏等。
- 数据单位:TCP 称为 “段(Segment)”,UDP 称为 “用户数据报(Datagram)”。
- 应用层(Application Layer)
- 集成了 OSI 的会话层、表示层和应用层功能,直接为用户应用提供服务。
- 常见协议:HTTP(网页传输)、FTP(文件传输)、SMTP(邮件发送)、DNS(域名解析)等。
五层协议模型(教学简化模型)
五层协议模型是为了便于教学而提出的折中方案,将 TCP/IP 的网络接口层拆分为物理层和数据链路层,既保留了 OSI 的分层清晰性,又贴近 TCP/IP 的实际应用。
各层功能概述
- 物理层:传输比特流,定义物理介质特性(如电压、接口类型)。
- 数据链路层:封装 IP 数据包为帧,通过 MAC 地址实现同一链路内的设备通信(如交换机转发)。
- 网络层:通过 IP 地址和路由协议实现跨网络数据包转发(如路由器)。
- 传输层:通过 TCP/UDP 为应用程序提供端到端传输服务。
- 应用层:为用户应用提供具体网络服务(如 HTTP、FTP)。
三种模型的对比与关联
| OSI 七层模型 | 五层协议模型 | TCP/IP 四层模型 | 核心功能共性 |
|---|---|---|---|
| 应用层 | 应用层 | 应用层 | 为用户应用提供网络服务 |
| 表示层 | 应用层(包含) | 应用层(包含) | 数据格式处理(加密、编码等) |
| 会话层 | 应用层(包含) | 应用层(包含) | 会话管理与连接控制 |
| 传输层 | 传输层 | 传输层 | 端到端数据传输(可靠 / 高效) |
| 网络层 | 网络层 | 网络层 | 跨网络路由与 IP 寻址 |
| 数据链路层 | 数据链路层 | 网络接口层(包含) | 链路内帧传输与 MAC 寻址 |
| 物理层 | 物理层 | 网络接口层(包含) | 原始比特流传输与物理介质交互 |
数据通信的分层封装与解封装流程
无论哪种模型,数据通信都遵循 “分层封装、逆向解封装” 的原则:
- 发送端封装:
- 应用层数据依次经过传输层、网络层、数据链路层、物理层,每层都会添加该层的首部(部分层添加尾部)。
- 示例:HTTP 数据 → 加 TCP 首部(段) → 加 IP 首部(数据包) → 加 MAC 首部和尾部(帧) → 转换为比特流传输。
- 接收端解封装:
- 物理层将比特流转换为帧 → 数据链路层剥离 MAC 首部,得到数据包 → 网络层剥离 IP 首部,得到段 → 传输层剥离 TCP/UDP 首部,得到应用层数据 → 提交给应用程序。
- 核心意义:每层仅处理本层的首部信息,实现 “各司其职”,降低了协议设计的复杂度。

v1.3.10