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

NAME
     cc_cubic -- CUBIC Congestion Control Algorithm

DESCRIPTION
     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 updating the con-
     gestion window, the algorithm will choose the larger of the calculated  CU-
     BIC and estimated NewReno windows.

     CUBIC  also backs off less on congestion by changing the multiplicative de-
     crease 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.

SEE ALSO
     cc_chd(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  Net-
     works, http://tools.ietf.org/id/draft-rhee-tcpm-cubic-02.txt.

     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.

ACKNOWLEDGEMENTS
     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.

HISTORY
     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 Archi-
     tectures, Melbourne, Australia.  More details are available at:

     http://caia.swin.edu.au/urp/newtcp/

AUTHORS
     The cc_cubic congestion control module and this manual page were written by
     Lawrence	  Stewart     <lstewart@FreeBSD.org>	 and	 David	   Hayes
     <david.hayes@ieee.org>.

FreeBSD 8.3		       September 15, 2011		     CC_CUBIC(4)

home | help