← 返回
408

TCP 与 UDP

首发 2026/05/28 阅读 0 评论 0 更新 2026/05/28

TCP 与 UDP

1. 一句话总结

TCP 面向连接、可靠、字节流;UDP 无连接、尽力而为、报文式。

2. 通俗解释

TCP 像打电话,先建立连接再交流;UDP 像寄明信片,发出去不保证一定到,但开销小、延迟低。

3. 核心概念

  • TCP:面向连接、可靠传输、字节流、全双工。
  • UDP:无连接、尽力而为、保留报文边界。
  • TCP 可靠机制:序列号、ACK、重传、窗口、拥塞控制。
  • TCP 粘包:字节流没有消息边界。
  • UDP 丢包:协议层不保证到达、顺序和去重。

4. 底层原理

  • TCP 建立连接后维护状态,保证数据有序可靠到达。
  • UDP 不建立连接,头部小,发送前延迟低。
  • TCP 是字节流,发送次数和接收次数不一一对应。
  • UDP 是报文,应用一次发送通常作为一个数据报交付。
  • 可靠性不是免费,TCP 的确认和重传会带来开销。

5. 面试标准回答

TCP 和 UDP 都属于传输层协议,但目标不同。TCP 面向连接,传输前需要建立连接,并通过序列号、确认应答、重传、滑动窗口和拥塞控制保证可靠、有序传输。TCP 是字节流,没有天然消息边界,所以应用层要用长度字段、分隔符或固定长度解决粘包拆包。UDP 无连接,不保证可靠性、顺序和去重,但头部小、开销低、延迟低,并保留报文边界。可靠文件传输、HTTP 通常用 TCP;实时音视频、DNS、游戏等更关注延迟的场景常用 UDP。

6. 高频追问

追问 1:TCP 与 UDP面试第一句话怎么答?

先给结论:TCP:面向连接、可靠传输、字节流、全双工。 再补充它解决的问题和使用场景,避免一上来背长定义。

追问 2:它为什么需要底层机制支撑?

TCP 建立连接后维护状态,保证数据有序可靠到达。 面试官追问时要把“现象”落到“机制”和“代价”。

追问 3:常见误区是什么?

不要把平均情况说成绝对结论,也不要忽略边界条件、退化情况和工程成本。

追问 4:如果继续追问怎么展开?

可以沿着“定义 → 原理 → 对比 → 场景 → 缺点 → 优化”展开,重点说清:UDP 不建立连接,头部小,发送前延迟低。

追问 5:实际开发中怎么体现?

HTTP/1.1 和 HTTP/2 通常基于 TCP。 这类联系能把基础知识从“背概念”变成“解释工程选择”。

追问 6:回答时怎么收尾?

最后用一句话总结适用条件和代价,说明什么时候该用、什么时候不该用。

7. 易混淆点

易混点 正确理解 面试提醒
TCP 可靠有序字节流 有连接和维护成本
UDP 无连接数据报 不保证可靠但延迟低
粘包 TCP 字节流导致 不是 TCP 出错
丢包 UDP 常见 可由应用层补偿

8. 实际开发联系

  • HTTP/1.1 和 HTTP/2 通常基于 TCP。
  • HTTP/3 基于 QUIC/UDP。
  • 自定义 TCP 协议必须设计消息边界。

9. 背诵速记

TCP 面向连接、可靠、有序、字节流;UDP 无连接、报文式、开销小、延迟低。TCP 粘包因无消息边界,应用层要分包。UDP 不保证可靠,但应用层可补确认重传。

专题路径

相关文章