TCP 和 UDP 有什么区别?

面试核心回答

TCP 是面向连接、可靠的传输层协议;UDP 是无连接、不可靠的传输层协议。核心差异体现在连接、可靠性、拥塞控制、报文开销、适用场景。

核心区别

  1. 连接特性
  • TCP:面向连接,通信前需要三次握手建立连接,通信结束四次挥手断开连接。
  • UDP:无连接,不需要建立连接,直接发包。
  1. 可靠性
  • TCP:可靠传输。通过序号、确认应答ACK、超时重传,保证数据不丢失、不乱序、不重复。
  • UDP:不可靠。没有确认机制,报文可能丢包、乱序,不做重传。
  1. 流量/拥塞控制
  • TCP:具备流量控制(滑动窗口)、拥塞控制(慢启动、拥塞避免等),防止网络过载、接收方溢出。
  • UDP:无流量、拥塞控制,发送速率由应用层决定。
  1. 头部开销
  • TCP:头部至少20字节,选项最多40字节,开销大。
  • UDP:固定头部仅8字节,开销很小。
  1. 交付形式
  • TCP:字节流,没有报文边界,是连续数据流。
  • UDP:数据报,保留报文边界,一次收发一个完整报文。

适用场景

  • TCP:文件传输、HTTP/HTTPS、数据库访问,要求数据准确完整。
  • UDP:直播、视频通话、DNS查询、游戏实时通信,允许少量丢包,优先低延迟。

一句话总结(面试收尾加分)

TCP 牺牲延迟换取可靠;UDP 牺牲可靠性换取更低延迟和更小开销。

相关推荐
|_⊙10 小时前
网络层协议 IP
服务器·网络·tcp/ip
沫璃染墨12 小时前
从零入门计算机网络系列(十五):TCP可靠传输机制详解——从序号与确认应答到乱序处理
服务器·网络·c++·tcp/ip·tcp
流浪00114 小时前
计算机网络篇20:网络层——IP 协议的定位与 IPv4 报头字段,从 20 字节首部到 TTL 防环
tcp/ip·计算机网络·ttl·网络层协议·ip报头
zhengfei61114 小时前
CVE-2026-98432:Linux 内核 TCP 释放后重用漏洞,CVSS 9.8 但补丁覆盖极不均衡
linux·运维·tcp/ip
xixingzhe21 天前
AI 对话打字机效果:SSE 和 HTTP 的区别与适用场景
网络·网络协议·http
叼烟扛炮1 天前
Linux 学习笔记(五十一):数据链路层与 ARP 协议——局域网寻址与黑客骗局
linux·网络·网络协议·php·tcpdump
沫璃染墨2 天前
从零入门计算机网络系列(十四):TCP报文与字节流本质——从数据封装到报文边界
linux·服务器·网络·网络协议·tcp/ip·tcp
byte轻骑兵2 天前
【LMP】规范精讲[13]: 参数的户口本、公钥的集装箱与出厂的兜底值
人工智能·网络协议·人机交互·lmp·蓝牙链路管理
流浪0012 天前
计算机网络篇17:传输层——TCP 超时重传、三次握手与四次挥手,TIME_WAIT 为什么要等 2MSL
网络协议·tcp/ip·计算机网络·三次握手·四次挥手·超时重传
AI 编程助手GPT2 天前
curl 返回成功就能收文件?用本地 HTTP 验证错误页与超时
网络·网络协议·http