TCP vs UDP 最核心区别(可靠性 vs 速度)

一、TCP(Transmission Control Protocol)

1. 核心:面向连接 + 可靠传输 + 有序传输。

  • **先建立连接:**三次握手(双方确认"我能收/你能收")。
  • 可靠性机制:
    • 确认 ACK:对方收到才算数
    • 重传:丢了就重发
    • 按序:乱序会重排
    • 流量控制/拥塞控制:防止把网络打爆
  • **代价:**协议开销更大、延迟更高、实现更复杂。

2. 适合场景:

  • 网页(HTTP/1.1、HTTP/2 常跑在 TCP 上)
  • 文件传输(FTP/SFTP)
  • 邮件、SSH 等需要"不能错"的业务

例子: 你下载一个安装包,少一个字节都不行 → TCP保证最终文件一致。

二、UDP(User Datagram Protocol)

1. 核心:无连接 + 尽力而为(不保证可靠、不保证有序)。

  • **不建连接:**发就完了
  • **不保证:**可能丢包、重复、乱序
  • **优点:**开销小、延迟低、速度快(更准确说是"更低时延/更少控制")

2. 适合场景:

  • 实时音视频、语音通话(宁愿偶尔花屏/掉音,也不要卡顿)
  • 游戏(更看重延迟)
  • DNS(请求很小,丢了再问一次就行)
  • 以及现代的 QUIC/HTTP/3:底层用 UDP,但在应用层自己实现"可靠性 + 加密 + 多路复用"。

例子: 打游戏时,丢一帧位置更新影响不大,但如果为了重传等半秒,你会感觉"瞬移/卡顿" → UDP更合适。

相关推荐
人道领域2 小时前
JavaWeb从入门到进阶(HTTP协议的请求与响应)
网络·网络协议·http
wenjianhai3 小时前
WebSocket调试工具---Apifox
网络·websocket·网络协议
guangshui5163 小时前
2034.Advanced IP scanner软件扫描 ubuntu的ip地址
网络协议·tcp/ip·ubuntu
REDcker4 小时前
WebSocket 协议详解 (RFC 6455)
网络·websocket·网络协议
极安代理4 小时前
HTTP代理IP如何提升爬虫采集效率?
爬虫·tcp/ip·http
23124_804 小时前
HTTPS中间人攻击
网络·网络协议·https
flashier4 小时前
ESP32学习笔记_WiFi(2)——TCP/UDP
笔记·学习·tcp/ip·wifi·esp32
阿拉伯柠檬5 小时前
网络层协议IP(二)
linux·网络·网络协议·tcp/ip·面试
草根站起来5 小时前
https加密证书
网络协议·http·https