TCP和UDP
👉总结
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 连接管理简图
三次握手:
- SYN
- SYN + ACK
- ACK
四次挥手:
- FIN
- ACK
- FIN
- ACK
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 JasmineRain's blog!
评论
