这是计算机网络里非常基础但很容易被问深的题目。
回答要有:分层 + 核心区别 + 使用场景 + 本质理解。
一、TCP 和 UDP 属于哪一层?
👉 都属于 传输层(Transport Layer)
在 OSI 七层模型中:
- 物理层
- 数据链路层
- 网络层(IP)
- 传输层(TCP / UDP)
- 会话层
- 表示层
- 应用层
在 TCP/IP 四层模型中:
- 应用层
- 传输层(TCP / UDP)
- 网络层(IP)
- 网络接口层
📌 面试一定要先说:
TCP 和 UDP 都工作在传输层,基于 IP 协议提供端到端通信。
二、TCP 与 UDP 的核心区别
1️⃣ 是否面向连接
- TCP:面向连接(三次握手)
- UDP:无连接
👉 TCP 先建立连接再通信,UDP 直接发数据。
2️⃣ 是否可靠
- TCP:可靠传输
- UDP:不保证可靠
TCP 通过:
- 序列号
- ACK 确认
- 重传机制
- 流量控制
- 拥塞控制
保证数据不丢、不乱序。
UDP:
- 不保证顺序