OSI 七层模型和 TCP/IP 四层模型有什么区别?一次请求经过哪些层?
下面是一段教学用的模拟面试。
🧑💻 面试官:OSI 和 TCP/IP 的分层有什么区别?
🙋♂️ 我:OSI 七层,TCP/IP 四层。七层是应用、表示、会话、传输、网络、数据链路、物理。
🧑💻 面试官:名字背出来了。IP 已经知道目的地址,为什么还需要链路层地址?
🙋♂️ 我:IP 负责跨网络,链路层负责当前这一跳。
🧑💻 面试官:经过路由器时,原来的以太网帧会原封不动走到目的主机吗?
分层要讲清「服务范围」。端到端的交付,和当前一跳的交付,不是同一件事。
面试速答(60 秒版)
OSI 七层是理解通信职责的参考模型;TCP/IP 四层则更贴近互联网协议体系的组织方式。两者不是两套需要同时逐层运行的机器。
常见对应是:OSI 的应用、表示、会话合到 TCP/IP 应用层;传输层对应传输层;网络层对应网际层;数据链路和物理层合到链路层。
发送时,上层数据交给下层,下层加入自己的控制信息,再通过链路发送;接收时按相应协议逐层处理,最终交给应用。应用层关心业务协议,传输层关心进程间通信,IP 关心跨网络交付,链路层关心当前网络的一跳。
实际排查要沿职责定位,也要说明模型口径。教材有时使用五层模型,不能因为层数不同就认为协议一定不同。

知识点详解:一次通信为什么要有多层地址和多个头部?
七层与四层,描述的是职责划分
OSI 将功能分得更细,表示层可以用来理解数据表示与转换,会话层用来理解会话管理。互联网应用里,这些职责往往由应用协议、库等具体承担,并不是系统一定存在七个独立模块。
TCP/IP 四层口径里,应用层包含这些上层职责;最下面的链路层包含接入具体网络所需的功能。五层教学模型又把链路相关部分拆成数据链路和物理两层。
所以面试时先讲采用哪种口径,再讲职责对应。不要把四层、五层、七层混成一个固定列表。
咱们用一份简化的 HTTP 数据来推演封装
假设一段教学用的明文 HTTP 数据通过 TCP、IPv4 和以太网发送。真实 HTTPS 还有 TLS 等处理,HTTP/3 使用 QUIC,这里特意缩小场景,不把所有 HTTP 都画成 TCP。
应用生成 HTTP 数据,传输层按 TCP 协议组织数据段,包含端口、序号等信息。网际层把它作为负载放入 IP 包,包含源、目的 IP 等信息。链路层再按以太网组织帧,包含这一跳的地址及其他信息,最后变成信号发送。
接收方按照相应协议识别和处理这些信息,把有效负载交给上一层。不是每层都把整个报文当作自己最终要理解的业务内容。
一次应用 write 也不一定恰好对应一个 TCP 段。分段、合并和实现优化会改变实际边界,因此封装图是职责示意,不是每次发送的固定包数量。

为什么既要 IP,又要 MAC 和端口?
可以把它们放到不同范围理解:
- IP 帮助跨网络确定目标主机的交付路径。
- 端口帮助在主机中区分相应传输端点,让数据到达对应应用通信入口。
- 链路层地址用于当前这一段链路的交付,不负责替代完整互联网路由。
咱们假设主机 A 需要经过路由器才能到主机 B。A 发出的以太网帧,当前目的 MAC 通常是这一跳的网关,不是跨网络 B 的 MAC。
路由器接收并处理当前帧,再为下一跳重新封装。没有 NAT 等额外改写时,端点 IP 通常保持,但 TTL 等字段会变化;链路帧及其地址则跟随下一段链路改变。
因此,“IP 包一直走向最终目的地”不代表“原来的以太网帧完整走完所有路由”。

分层怎样帮助排查问题?
假设 TCP 连接已经建立,但接口返回业务错误。这与网线断开不是同一类证据。反过来,链路可用也不能保证远端端口有服务,更不能保证 HTTP 权限正确。
排查时可以逐步确认本地链路、路由与 IP 可达、传输连接、应用协议及业务响应,但具体工具的失败不能被过度解释。例如 ping 不通可能是 ICMP 被过滤,不必然证明 HTTP 不可访问。
分层是帮助组织判断,不是把一个工具硬贴到某层后,就可以只凭它下最终结论。
本文以 RFC 1122 和 ITU-T X.200 为模型依据。
面试官继续追问
HTTPS 的 TLS 一定属于 OSI 表示层吗?
可以借表示与安全相关职责帮助理解,但现实协议与参考模型不总能机械一一对应。要讲它实际位于哪两个协议之间、做了什么,不必强行塞进唯一编号。
交换机一定二层,路由器一定三层吗?
这是典型主要职责,设备也可以具备多层功能。产品名称不能代替对实际转发依据和能力的检查。
面试速记卡
- 模型:OSI 是七层参考划分,TCP/IP 是常见四层协议体系口径。
- 对应:上三层合应用,下两层合链路,中间传输与网络对应。
- 封装:下层加入本层控制信息,接收时相应处理再向上交付。
- 范围:端口分通信入口,IP 管跨网络,链路地址管当前一跳。
- 跨路由:链路帧逐跳重建,不能把端到端 IP 交付等同同一个帧。
公司面试真题
真题根据求职者公开面经整理,题意经过概括,非逐字原话或公司官方题库;本文为 Sunday 的独立解析。
阿里巴巴 · 后端 · 原帖未明确批次
网络分层中交换机和路由器各负责什么?(题意整理)
阿里云后端面经 ↗
原帖发布于 2022-03-29小米 · 前端 · 原帖未明确批次
网络怎样分层,HTTP 位于哪一层?(题意整理)
小米前端二面 ↗
原帖编辑于 2024-05-29字节跳动 · 后端(番茄小说) · 实习
HTTP 和 DNS 位于网络的哪一层?(题意整理)
【字节跳动】番茄小说部门 后端实习 ↗
面试记录为 2021 年 1 月;原帖发布于 2022-04-29