Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
CC_CUBIC(4)	       FreeBSD Kernel Interfaces Manual		   CC_CUBIC(4)

     cc_cubic -- CUBIC Congestion Control Algorithm

     The CUBIC congestion control algorithm was	designed to provide increased
     throughput	in fast	and long-distance networks.  It	attempts to maintain
     fairness when competing with legacy NewReno TCP in	lower speed scenarios
     where NewReno is able to operate adequately.

     The congestion window is increased	as a function of the time elapsed
     since the last congestion event.  During regular operation, the window
     increase function follows a cubic function, with the inflection point set
     to	be the congestion window value reached at the last congestion event.
     CUBIC also	calculates an estimate of the congestion window	that NewReno
     would have	achieved at a given time after a congestion event.  When up-
     dating the	congestion window, the algorithm will choose the larger	of the
     calculated	CUBIC and estimated NewReno windows.

     CUBIC also	backs off less on congestion by	changing the multiplicative
     decrease factor from 1/2 (used by standard	NewReno	TCP) to	4/5.

     The implementation	was done in a clean-room fashion, and is based on the
     Internet Draft and	paper referenced in the	SEE ALSO section below.

MIB Variables
     There are currently no tunable MIB	variables.

     cc_cdg(4),	cc_chd(4), cc_dctcp(4),	cc_hd(4), cc_htcp(4), cc_newreno(4),
     cc_vegas(4), mod_cc(4), tcp(4), mod_cc(9)

     Sangtae Ha, Injong	Rhee, and Lisong Xu, CUBIC for Fast Long-Distance

     Sangtae Ha, Injong	Rhee, and Lisong Xu, "CUBIC: a new TCP-friendly	high-
     speed TCP variant", SIGOPS	Oper. Syst. Rev., 5, 42, 64-74,	July 2008.

     Development and testing of	this software were made	possible in part by
     grants from the FreeBSD Foundation	and Cisco University Research Program
     Fund at Community Foundation Silicon Valley.

     The cc_cubic congestion control module first appeared in FreeBSD 9.0.

     The module	was first released in 2009 by Lawrence Stewart whilst studying
     at	Swinburne University of	Technology's Centre for	Advanced Internet Ar-
     chitectures, Melbourne, Australia.	 More details are available at:

     The cc_cubic congestion control module and	this manual page were written
     by	Lawrence Stewart <>	and David Hayes

FreeBSD	13.0			 May 13, 2021			  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help