👉总结

TCP:有连接、有序、可靠 → 慢。
UDP:无连接、不可靠 → 快。

🚀 TCP(Transmission Control Protocol)

面向连接、可靠传输、字节流

⭐ TCP 的特点

特点 说明
面向连接 三次握手建立连接、四次挥手关闭
可靠传输 超时重传、确认应答、序列号、滑动窗口
有序传输 丢包/乱序会自动重排
流量控制 滑动窗口避免发送过快
拥塞控制 慢启动、拥塞避免、快速重传等
面向字节流 数据没有界限,需要应用层自己定义边界

📍 适用场景:
需要保证数据可靠、有序,如:
HTTP、HTTPS、FTP、SMTP、SSH…


🚀 UDP(User Datagram Protocol)

无连接、不可靠、面向报文

⭐ UDP 的特点

特点 说明
无连接 无需握手,直接发送
不保证可靠性 不重传、不确认、不保证顺序
面向报文 发一次就是一个独立报文,不拆不并
速度快、开销小 适合实时场景
可以广播和组播 TCP 不支持

📍 适用场景:
速度优先、实时性要求高,如:
直播、游戏、语音通话、视频会议、DNS 查询…


🔥 TCP vs UDP 对比表

特性 TCP UDP
是否连接 ✅面向连接 ❌ 无连接
可靠性 ✅可靠 ❌ 不可靠
顺序性 ✅保证顺序 ❌ 不保证
速度
是否重传 ✅会重传 ❌ 不
开销
是否流控/拥塞控制 ✅有 ❌ 没有
分组方式 字节流 报文
是否支持广播 ❌ 不支持 ✅支持

📡 TCP 连接管理简图

三次握手

  1. SYN
  2. SYN + ACK
  3. ACK

四次挥手

  1. FIN
  2. ACK
  3. FIN
  4. ACK