OSI(Open System interconnection)

OSI 七层模型与 TCP/IP

一、OSI 是什么?

OSI(Open System Interconnection)= 开放式系统互联,由 ISO 制定。

简单说:它是一套"网络通信的标准分层规范",把复杂的网络通信拆成 7 层,每层各司其职。

二、OSI 七层模型

从上到下:

层级 名称 干什么 关键协议/概念 数据单位
7 应用层 直接为用户应用提供服务 HTTP、DNS、FTP、SMTP 报文
6 表示层 数据格式转换、加密、压缩 SSL/TLS、JPEG、ASCII 报文
5 会话层 建立/管理/终止会话 RPC、SQL 报文
4 传输层 端到端的可靠传输 TCP、UDP 段/数据报
3 网络层 路由寻址,选择最佳路径 IP、ICMP、ARP 分组/包
2 数据链路层 相邻节点间的可靠传输 MAC地址、以太网
1 物理层 传输原始比特流(电信号/光信号) 网线、光纤、Wi-Fi 比特

面试口诀 :应表会传网数物( 用 → 示 → 话 → 输 → 络 → 据链路 → 理)

三、数据传输过程

A 发送数据给 B,发送时自上而下封装,接收时自下而上解封

复制代码
发送端 A(封装)                              接收端 B(解封)
─────────────                              ─────────────
应用层    [Data]                             应用层    [Data]
表示层    [表头 | Data]                       ↑ 剥离表头
会话层    [会头 | 表头 | Data]                 ↑ 剥离会头
传输层    [TCP/UDP | 会头 | 表头 | Data]       ↑ 剥离TCP/UDP头
网络层    [IP | TCP/UDP | ...]               ↑ 剥离IP头
数据链路层 [MAC | IP | TCP/UDP | ...]          ↑ 剥离MAC头
物理层    → 01010110... 比特流 →              物理层

每经过一层,就加一个该层的"信封"(头部),对方收到后一层层拆信封。

四、TCP/IP 四层模型

实际使用中,OSI 七层太复杂,业界用的是 TCP/IP 四层模型

TCP/IP 层 对应 OSI 层 核心协议
应用层 应用 + 表示 + 会话 HTTP、DNS、FTP
传输层 传输层 TCP、UDP
网络层 网络层 IP、ICMP
网络接口层 数据链路 + 物理 以太网、Wi-Fi

五、高频面试题

Q1:OSI 七层和 TCP/IP 四层的区别?

对比项 OSI 七层 TCP/IP 四层
性质 理论标准模型 实际使用模型
层数 7 层 4 层
制定者 ISO IETF
实用性 学术参考 工程落地

Q2:为什么要分层?

  • 解耦:每层独立,改动不影响其他层
  • 标准化:不同厂商的设备可以互通
  • 易于理解和维护:复杂问题拆分为小问题

Q3:数据从浏览器到服务器经历了哪些层?

应用层(HTTP请求)→ 传输层(TCP分段)→ 网络层(IP寻址)→ 数据链路层(MAC帧)→ 物理层(电信号)→ 经过路由器/交换机 → 反方向逐层解封到服务器应用层。

相关推荐
XiYang-DING4 小时前
【Java EE】TCP—连接管理
网络·tcp/ip·java-ee
周末也要写八哥4 小时前
TCP三次握手与四次挥手的过程
java·网络·tcp/ip
汤愈韬4 小时前
hcip-security_防火墙高可靠技术4—双机热备结合NAT
网络·网络协议·网络安全·security
辣椒思密达4 小时前
大规模数据采集如何稳定使用海外住宅IP?3种实战方法
网络·网络协议·tcp/ip
xhbh6664 小时前
Linux转发完全教程:ip_forward开启、iptables端口映射、双网卡NAT实战
服务器·网络·智能路由器·端口转发·端口映射·映射
Shota Kishi4 小时前
ERPC 平台全面支持 16 种语言 — 以母语使用 Solana RPC 官方网站与 Dashboard
网络·网络协议·rpc
luojiezong4 小时前
场景驱动下的高校全光网络演进:以太彩光技术路线的适配性解析
网络
千匠网络4 小时前
千匠网络制造行业渠道分销B2B解决方案:AI驱动,重构产业分销模式
网络·云原生·架构·制造业·b2b·电商解决方案
xiaoshuaishuai84 小时前
C# Anthropic连接超时原因及方案
开发语言·网络·tcp/ip·c#
山栀shanzhi4 小时前
长连接、短连接、心跳、断线重连
开发语言·网络·c++