Skip to content

OSI 七层模型与 TCP/IP 四层模型详解 ​

一、为什么需要分层模型 ​

网络通信涉及硬件、信号、寻址、路由、可靠性等方方面面,极其复杂。分层(Layering)的核心思想是把复杂问题拆解为一组职责单一、相互独立的子问题:

  • 解耦:每层只关注自己的功能,通过接口向上层提供服务;
  • 标准化:各层协议独立发展,不同厂商的设备只要遵循同一协议即可互通;
  • 灵活:某一层的技术升级(如以太网换光纤)不影响其他层;
  • 易排错:故障可以按层定位(是链路问题?路由问题?还是应用问题?)。

两大参考模型:OSI 七层模型(ISO 于 1984 年提出的理论标准)与 TCP/IP 四层模型(事实上的工业标准)。

二、OSI 七层模型 ​

OSI:Open Systems Interconnection,开放系统互连参考模型。自下而上依次为:物理层 → 数据链路层 → 网络层 → 传输层 → 会话层 → 表示层 → 应用层。

1. 物理层 ​

  • 职责:在物理介质上透明地传输原始比特流
  • 关注点:电压/光信号、接口形状与引脚、线缆类型、传输速率、编码与调制
  • 传输单位:比特
  • 典型设备:中继器、集线器
  • 典型规范:RJ45、RS-232、光纤接口标准

2. 数据链路层 ​

  • 职责:在相邻两个节点之间无差错地传送以帧为单位的数据
  • 主要功能:成帧、物理寻址(MAC 地址)、差错检测(CRC)、流量控制、介质访问控制(CSMA/CD)
  • 传输单位:帧
  • 典型设备:网桥、交换机
  • 典型协议:以太网、PPP、VLAN(802.1Q)

3. 网络层 ​

  • 职责:实现主机到主机的通信,解决跨网络的路径选择问题
  • 主要功能:逻辑寻址(IP 地址)、路由选择、分组转发、拥塞控制
  • 传输单位:分组/包
  • 典型设备:路由器、三层交换机
  • 典型协议:IPv4/IPv6、ICMP(ping 的基础)、IGMP、路由协议(RIP/OSPF/BGP)

4. 传输层 ​

  • 职责:为进程到进程(端到端)提供可靠或不可靠的传输服务
  • 主要功能:分段与重组、端口号标识应用、流量控制、���错控制、拥塞控制
  • 传输单位:报文段
  • 典型协议:TCP(可靠、面向连接)、UDP(不可靠、无连接)

5. 会话层 ​

  • 职责:建立、管理、同步和终止进程间的会话
  • 主要功能:对话控制(全双工/半双工)、同步(插入检查点,支持断点续传)
  • 典型实例:RPC、NetBIOS

6. 表示层 ​

  • 职责:处理两个通信系统之间信息交换的表示方式(语法与语义)
  • 主要功能:数据格式转换、编码与字符集转换、加解密、压缩解压
  • 典型实例:JPEG、ASCII、UTF-8、MPEG

7. 应用层 ​

  • 职责:为用户的应用进程直接提供网络服务接口,是离用户最近的一层
  • 典型协议:HTTP/HTTPS、FTP、SMTP、POP3/IMAP、DNS、Telnet/SSH、DHCP、SNMP

记忆口诀:物数网传会表应

三、TCP/IP 四层模型 ​

TCP/IP 模型源于实际互联网协议族的工程实践,结构更简洁、更贴近现实。

1. 网络接口层 ​

  • 对应 OSI:物理层 + 数据链路层
  • 职责:物理传输、MAC 寻址、帧的封装与拆封
  • 典型协议/技术:以太网、Wi-Fi(802.11)、PPP

2. 网络层 ​

  • 对应 OSI:网络层
  • 职责:IP 寻址与路由转发,实现主机到主机的"尽力而为"交付
  • 特点:无连接、不可靠
  • 典型协议:IP、ICMP、ARP、IGMP

3. 传输层 ​

  • 对应 OSI:传输层
  • 职责:端到端通信,用端口号区分不同的应用进程
对比项TCPUDP
连接面向连接(三次握手)无连接
可靠性可靠(确认、重传、排序)不可靠、尽力交付
数据形式字节流数据报
传输效率较低(头部与交互开销大)高(开销小、延迟低)
通信模式仅一对一一对一、一对多、多对多
典型场景HTTP、FTP、邮件、SSHDNS、视频直播、语音、DHCP

4. 应用层 ​

  • 对应 OSI:会话层 + 表示层 + 应用层
  • 职责:为应用软件提供各类网络服务;会话管理与数据表示(加密、压缩、编码)由具体应用协议自行处理(如 HTTPS 中的 TLS)
  • 典型协议:HTTP/HTTPS、FTP、SMTP、DNS、SSH、DHCP、SNMP

四、两种模型的对应关系与对比 ​

层次对应关系 ​

OSI 七层             TCP/IP 四层
应用层    ┐
表示层    ├─────────►  应用层
会话层    ┘
传输层    ──────────►  传输层(TCP/UDP)
网络层    ──────────►  网络层(IP/ICMP)
数据链路层 ┐
物理层    ┘─────────►  网络接口层

对比总结 ​

维度OSI 七层模型TCP/IP 四层模型
性质ISO 制定的理论参考标准工程实践中形成的事实标准
分层7 层4 层
网络层服务支持面向连接与无连接两种服务只提供无连接服务(IP)
传输层服务以面向连接为主TCP 与 UDP 并存,兼顾可靠与效率
通用性通用性强,适合教学与分析只覆盖 TCP/IP 协议族,但更实用
现状理论教学与排错的分析框架互联网的实际运行标准

实际学习与面试中常取折中的五层模型:物理层、数据链路层、网络层、传输层、应用层(即将 OSI 下两层合并、上三层合并)。

五、数据封装与解封装 ​

发送方自上而下逐层封装(加头部),接收方自下而上逐层解封装(去头部):

发送方(封装)
应用层:  [ 数据 ]                                → 报文
传输层:  [ TCP头 | 数据 ]                         → 段
网络层:  [ IP头  | TCP头 | 数据 ]                  → 包
链路层:  [ 帧头 | IP头 | TCP头 | 数据 | 帧尾 ]      → 帧
物理层:  0101101010…                             → 比特

各层协议数据单元(PDU)名称:

层次PDU
应用层报文
传输层段
网络层包
数据链路层帧
物理层比特

六、常见协议速查表 ​

协议所属层次作用底层传输
HTTP/HTTPS应用层网页传输TCP
FTP应用层文件传输TCP
SMTP/POP3/IMAP应用层邮件收发TCP
DNS应用层域名解析以 UDP 为主(区域传送用 TCP)
DHCP应用层动态分配 IPUDP
SSH/Telnet应用层远程登录TCP
SNMP应用层网络设备管理UDP
TCP/UDP传输层端到端传输—
IP/ICMP/ARP/IGMP网络层寻址与路由—
以太网/PPP/VLAN数据链路层帧传输—

七、面试高频问答 ​

  1. OSI 与 TCP/IP 的区别? 层数不同(7 vs 4);OSI 是理论标准,TCP/IP 是事实标准;OSI 网络层支持两种服务、传输层以面向连接为主,TCP/IP 网络层仅无连接、传输层两种服务并存。
  2. 三次握手/四次挥手发生在哪一层? 传输层,属于 TCP 建立与释放连接的过程。
  3. ping 用的是什么协议? ICMP(网络层),基于 IP 工作但不承载用户数据。
  4. ARP 的作用? 将同一网段内的 IP 地址解析为 MAC 地址。
  5. 交换机和路由器的区别? 交换机是二层设备(基于 MAC 转发帧),路由器是三层设备(基于 IP 路由包,并能隔离广播域)。
  6. 集线器、交换机、路由器分别工作在哪一层? 集线器—物理层;交换机—数据链路层;路由器—网络层。
  7. 为什么 TCP/IP 模型没有会话层和表示层? 实际应用中,会话管理、加解密、压缩等功能由应用层协议自行解决(如 TLS),独立的会话/表示层在工程上并非必要。

八、记忆技巧 ​

  • 七层口诀:物数网传会表应
  • PDU 自下而上:比特 → 帧 → 包 → 段 → 报文
  • TCP/IP 四层口诀:链网传应(网络接口层、网络层、传输层、应用层)
  • 每层回答的核心问题:
    • 物理层:信号怎么传?
    • 链路层:相邻节点之间怎么传?(MAC)
    • 网络层:跨网络怎么找到目标主机?(IP)
    • 传输层:数据交给主机上的哪个进程?(端口)
    • 应用层:应用如何理解和使用这些数据?(协议语义)