CUBIC TCP

本页使用了标题或全文手工转换
维基百科,自由的百科全书

CUBIC是一个为具有高带宽和高延迟的长胖网络(LFN)优化的TCP拥塞控制实现。[1]

它相比BIC TCP英语BIC TCP更加平缓和具有数学上的意义,其中的窗口大小是一个自上次拥塞事件以来的时间的三次函数拐点被设置为拥塞事件发生时的窗口大小。因为它是一个三次函数,所以它有两个阶段进行窗口增加。第一部分是一个凹函数,将窗口大小快速提升至最后拥塞事件发生时的大小。第二个部分为一个凸函数,CUBIC探针以较缓和的速度寻求更大的带宽。CUBIC会在凹凸增长区域花费大量时间,以允许网络在CUBIC开始寻求更多带宽前达到稳定。

CUBIC与标准的TCP流的另一个主要区别是,它不依赖于ACK的接收来增加窗口大小,CUBIC的窗口大小只依赖于最后的拥塞事件。在标准的TCP中,极短的RTT将更快的收到ACK,它们的拥塞窗口将比其他较长RTT的流更快增长。CUBIC使数据流之间更加公平,因为窗口的增长与RTT(往返时延)无关。

CUBIC TCP在Linux内核2.6.19及更高版本中被实现并默认使用。

参见

参考资料

  1. ^ [1]页面存档备份,存于互联网档案馆) S. Ha, I. Rhee, & L. Xu, "CUBIC: A New TCP-Friendly High-Speed TCP Variant", PDF copy of journal article

外部链接