【转】TCP/IP 系列之 TCP 流控与拥塞控制(一)
原文地址: http://mrpeak.cn/blog/tcp-flow-control00/ TCP/IP 系列之 TCP 流控与拥塞控制(一) TCP 流控(flow control)与拥塞控制(congestion control),是我个人认为每个 iOS 工程师都应该熟悉的,价值含量极高的知识点。明白了三次握手,但是不了解流控和拥塞控制背后的设计原理,是不能够在简历上写「精通 tcp/ip」的。 Flow control 和 congestion control 的学习价值高,而且学习过程也会很有趣。掌握整个过程的意义,远超过学习 TCP 协议本身。 不少工程师在工作三五年之后,会尝试提升代码抽象和设计的能力,有些会刻意去读一些架构或者设计方面的书、文章,早些年的时候,流行研究 GOF 的 Design Patterns。这是一个方向,但我个人觉得,更高效可行的方法是研究经典的计算机问题。经典问题里所包含的设计思路,模块划分方式,架构处理等等,都凝结了无数前辈的智慧,理清楚整个流程,再扒一扒设计的细节,抽象的能力会自然而然的随之提升,这是内功心法方面的积累,比记住几个设计模式如何使用,意义要大的多。 TCP 流控和拥塞控制就是这样一个经典的计算机问题。流控机制和拥塞控制机制,也是学习 TCP 协议栈的精华所在。这两个机制又各自包含一系列其他设计,比如 sliding