Skip to content
极高基础

一句话答案

TCP 面向连接可靠有序(三次握手/重传/流控),UDP 无连接不可靠但快速轻量,适合实时音视频/DNS。

核心要点
维度TCPUDP
连接面向连接(三次握手建立,四次挥手释放)无连接(直接发送)
可靠性可靠(ACK 确认、重传、有序交付)不可靠(尽力而为,不保证到达/顺序)
传输方式字节流(无消息边界)数据报(有消息边界,保留边界)
流量控制有(滑动窗口)
拥塞控制有(慢启动、拥塞避免等)
头部大小20~60 字节(较大)8 字节(固定,极小)
速度慢(建立连接 + 各种控制机制)快(无连接、无控制)
适用场景HTTP/HTTPS、FTP、数据库连接DNS、视频直播、在线游戏、QUIC

记忆要点:

  • TCP = 打电话(先拨号建立连接,说完话挂断)→ 可靠但慢
  • UDP = 发短信/广播(直接发,不管对方收没收到)→ 快但不可靠

UDP 适用场景的选择原因:

  • 视频直播/语音通话:允许少量丢包(画面模糊比卡顿好),实时性 > 可靠性
  • DNS:查询响应小且快,超时了重发一次即可,无需 TCP 的连接开销
  • 游戏:网络游戏位置同步,最新数据覆盖旧数据,中间帧丢了没关系
追问与易错

追问方向:

  • UDP 也能做到可靠传输吗?怎么做?
  • 什么场景用 UDP?
  • QUIC 协议了解吗?

易错点:

  • ❌ UDP 不可靠所以没用——游戏/视频/DNS 广泛使用
  • ❌ TCP 一定比 UDP 慢——延迟敏感场景 UDP 更好

💡 记忆锚点

TCP像打电话:先拨号(三次握手),通话中确认对方听到(ACK),挂断也要确认(四次挥手),可靠但麻烦。UDP像扔纸飞机:写好就扔(无连接),飞丢了拉倒(不可靠),但快。视频直播宁可画面糊也不能卡,所以用"纸飞机"。