什么是流控(Flow Control)?
流控关注的是如何动态的调整源端的发送速率,以使网络资源得到充分的利用,同时又不发生拥塞。因此,流控是一种在相互竞争的源端之间合理的分配有限的网络资源的机制。
什么是最优化流控(Optimal Flow Control)?
最优化流控试图从优化理论的角度研究并解释流控问题。它将流控机制看作是一种求解凸规划问题的分布式算法。
流控的要点是什么?
- 效率:流控算法应当使得网络资源得到充分的利用;
- 公平:使用网络资源的各个用户之间应当满足某种公平性的原则,尽可能减小资源分配的不平衡;
- 扩展能力:算法应当对不同规模的网络都有较好的适应能力,不会因为网络规模的增加而无法应用。这要求算法必须是分布式的。
- 动态性能:流控算法将在一个复杂的时变环境下应用,所以算法不能是静态的,它必须有良好的动态性能。一般情况下,动态性能包括两方面:稳定性和响应速度。
什么是TCP?
TCP是Internet的流控机制。TCP协议的基本思想是源端通过线性增加发送速率来探测网络的剩余容量,与此同时,当检测到拥塞的时候乘性的减少其发送速率。
以TCP Tahoe为例,它的基本过程如下:首先,每个连接小心的从单个包的窗口大小开始发送,每收到一个确认包,窗口大小即增加1。这样实际上每个RTT(Round Trip Time)时间窗