CUBIC_TCP

CUBIC是一個爲具有高帶寬和高延遲的長胖網絡 （ LFN ） 優化的TCP擁塞控制實現 。 它相比更加平緩和具有數學上的意義 ， 其中的窗口大小是一個自上次擁塞事件以來的時間的三次函數 ， 拐點被設置爲擁塞事件發生時的窗口大小 。 因爲它是一個三次函數 ， 所以它有兩個階段進行窗口增加 。 第一部分是一個凹函數 ， 將窗口大小快速提升至最後擁塞事件發生時的大小 。 第二個部分爲一個凸函數 ， CUBIC探針以較緩和的速度尋求更大的帶寬 。 CUBIC會在凹凸增長區域花費大量時間 ， 以允許網絡在CUBIC開始尋求更多帶寬前達到穩定 。 CUBIC與標準的TCP流的另一個主要區別是 ， 它不依賴於ACK的接收來增加窗口大小 ， CUBIC的窗口大小隻依賴於最後的擁塞事件 。 在標準的TCP中 ， 極短的RTT將更快的收到ACK ， 它們的擁塞窗口將比其他較長RTT的流更快增長 。 CUBIC使數據流之間更加公平 ， 因爲窗口的增長與RTT （ 往返時延 ） 無關 。 CUBIC TCP在Linux內核 2.6.19 及更高版本中被實現並默認使用 。