CUBIC TCP
外观
此条目翻译自其他语言维基百科,需要相关领域的编者协助校对翻译。 |
CUBIC是一个为具有高带宽和高延迟的长胖网络(LFN)优化的TCP拥塞控制实现。[1]
它相比BIC TCP更加平缓和具有数学上的意义,其中的窗口大小是一个自上次拥塞事件以来的时间的三次函数,拐点被设置为拥塞事件发生时的窗口大小。因为它是一个三次函数,所以它有两个阶段进行窗口增加。第一部分是一个凹函数,将窗口大小快速提升至最后拥塞事件发生时的大小。第二个部分为一个凸函数,CUBIC探针以较缓和的速度寻求更大的带宽。CUBIC会在凹凸增长区域花费大量时间,以允许网络在CUBIC开始寻求更多带宽前达到稳定。
CUBIC与标准的TCP流的另一个主要区别是,它不依赖于ACK的接收来增加窗口大小,CUBIC的窗口大小只依赖于最后的拥塞事件。在标准的TCP中,极短的RTT将更快的收到ACK,它们的拥塞窗口将比其他较长RTT的流更快增长。CUBIC使数据流之间更加公平,因为窗口的增长与RTT(往返时延)无关。
CUBIC TCP在Linux内核2.6.19及更高版本中被实现并默认使用。