传输层

网络层做到了”把包送到目的主机”,但送到主机不等于交给正确的应用,也不管包有没有丢失、顺序是否正确。传输层负责端到端的进程间通信——这是第一次引入”连接”概念的地方。

本章的核心是 UDP 与 TCP 的取舍。UDP 只做多路复用,不保证可靠性,开销极小;TCP 通过确认重传、序号、滑动窗口,把可靠交付做到位。选哪个不取决于哪个”更好”,而取决于应用能否接受丢失和乱序——DNS 查询用 UDP,文件传输用 TCP,正是这个逻辑的体现。

然后是 TCP 的两个核心机制。连接管理:三次握手为什么不能是两次,四次挥手为什么比握手多一次——这两个问题看似死记,其实每一步都对应一个必须防范的失效场景。流量控制与拥塞控制:前者防止接收方被淹没,靠接收窗口调节;后者防止网络被塞满,靠拥塞窗口与慢启动、拥塞避免一起调节。两者的区别是本章最容易被混淆、也最值得反复确认的地方。

读完本章你应能解释:为什么 TCP 是”字节流”而不是”消息流”?慢启动和拥塞避免分别防的是什么?

章节

发现内容有问题?

告诉我们哪里需要改进。