Skip to content

第四章 传输层:TCP、UDP 与可靠传输


1. 传输层为什么存在:从"主机到主机"到"进程到进程"

网络层的 IP 已经能把分组送到目标主机,但一台主机上同时跑着浏览器、微信、网易云,数据到了主机门口,该进哪扇门?这就是传输层要补的最后一公里:把通信从"主机到主机"细化为"进程到进程"

实现手段是端口号:16 位整数(0~65535),标记主机上的一个通信端点。发送方把多个应用的数据汇入网络叫复用,接收方按端口号把数据分发给各应用叫分用。一个通信端点由"IP 地址 + 端口号"唯一确定,这个组合就是套接字(Socket)——IP 找到那栋楼,端口找到那扇门。

常用端口必须背下来,选择题直接考:

端口协议端口协议
20/21FTP 数据/控制53DNS
22SSH80HTTP
23Telnet110POP3
25SMTP443HTTPS

0~1023 是知名端口,留给标准服务;客户端一般使用系统临时分配的高位端口。

传输层只提供两种风格迥异的服务:UDP——几乎什么都不管的"裸奔版",TCP——把可靠性做满的"全险版"。理解二者是本章全部内容。

2. UDP:只加端口号,其余一概不管

UDP(用户数据报协议)在 IP 之上只做最少的两件事:加上端口号实现进程分发,加一个可选的校验和。它的首部只有 8 个字节、4 个字段:源端口、目的端口、长度、校验和。

UDP 的"不作为"清单:不建立连接、不确认、不重传、不排序、不控制发送速度。数据报扔出去就不管了,所以叫"无连接、不可靠"。

但"不作为"恰恰是它的价值:

  1. 没有建连延迟:想发就发,省掉握手来回。
  2. 首部小、开销低:8 字节对 TCP 的至少 20 字节。
  3. 不重传意味着延迟可控:直播丢一帧画面无所谓,等一秒重传反而卡顿。
  4. 保留报文边界:发三次就是三个独立数据报,不像 TCP 把数据搅成字节流。

典型场景:DNS 查询(一问一答,建连不划算)、音视频通话与直播(宁丢勿等)、DHCP(连 IP 都还没有,谈不上建立连接)。

3. TCP 三次握手:为什么恰好是三次

4. 四次挥手与 TIME_WAIT

5. TCP 报文段首部:认识几个关键字段

6. 可靠传输的四大机制

7. 流量控制 vs 拥塞控制:两个刹车,两个理由

8. TCP vs UDP 全维度对照

字节流与"粘包"

"实时业务一定用 UDP"?——辨析绝对表述

9. 补充视角与例题演练

9.1 一条 TCP 连接由什么唯一确定

9.2 例题演练

本章要点回顾

做题提醒