Skip to content

传输层 TCP 与 UDP

传输层在 IP(负责主机到主机)之上,提供进程到进程的逻辑通信——靠端口区分应用。它有两大协议:TCP(面向连接、可靠、有序,代价是握手开销与队头阻塞)和 UDP(无连接、轻量、快,代价是不保证送达)。本叶从端口与复用分用讲起,拆解 UDP 的极简、TCP 的三次握手/四次挥手、可靠传输(序列号/确认/重传)、流量控制与拥塞控制,最后到 TCP vs UDP 选型与 TCP 队头阻塞——也就是 QUIC 诞生的动机。

概述

  • 传输层职责:进程到进程通信,靠端口(16 位)区分应用;复用(多应用共享网络发送)与分用(按端口分发给进程);socket = IP + 端口
  • UDP:无连接、8 字节首部、不保证可靠/有序——换来低延迟低开销,适合 DNS、实时音视频、游戏、QUIC。
  • TCP:面向连接(三次握手建连、四次挥手断开)、可靠(序列号 + 确认 + 重传 + SACK)、有序(字节流)。
  • 两种「控制」:流量控制(滑动窗口 rwnd,护接收方不被压垮)vs 拥塞控制(cwnd + 慢启动/拥塞避免/AIMD,护网络不被压垮)。
  • 队头阻塞:TCP 保证有序交付,一个段丢失会阻塞后面已到达的段——这是 HTTP/2 仍受困、QUIC 改用 UDP 的根因(详见「HTTP 演进与性能」叶)。

本叶地图

文档地址

幻灯片地址

传输层 TCP 与 UDP

测试题

传输层 TCP 与 UDP 测试题