CC_CUBIC(4)
π CC_CUBIC(4) π
okay bestie, pull up a chair because we're about to talk about the CUBIC Congestion Control Algorithm β that's the cc_cubic man page, section 4 of the Kernel Interfaces Manual, and she is iconic. π
β¨ NAME β¨
cc_cubic β the CUBIC Congestion Control Algorithm, no cap π
πΈ DESCRIPTION πΈ
okay so. The CUBIC congestion control algorithm was literally designed to serve up increased throughput in fast and long-distance networks. It's giving main character energy for fat pipes. π¦
But here's the thing β she's not rude about it. She attempts to maintain fairness when she's competing with legacy NewReno TCP in lower speed scenarios, y'know, the ones where NewReno is able to operate adequately. Sharing the lane, as she should. β¨
So the congestion window gets increased as a function of the time elapsed since the last congestion event. Tick tock, bestie. β° 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. Math girlie behaviour fr fr. π
CUBIC also calculates an estimate of the congestion window that NewReno would have achieved at a given time after a congestion event β like, "what would my ex have done" but for TCP. π And when updating the congestion window, the algorithm will choose the larger of the calculated CUBIC and estimated NewReno windows. Biggest wins, periodt.
Also she backs off less on congestion β the multiplicative decrease factor goes from 1/2 (used by standard NewReno TCP) to 4/5. Not me being generous with the window π
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. Respect the sources, always. π«Ά
π§ MIB Variables π§
There are currently no tunable MIB variables. That's it. That's the section. Nothing to tweak, bestie, she's self-sufficient. π
π SEE ALSO π
Sangtae Ha, Injong Rhee, and Lisong Xu, CUBIC for Fast Long-Distance Networks, 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. Funding besties, we love to see it π
β 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 Architectures, 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>. Legends, honestly. π«Ά
and that's the whole vibe check, bestie β CUBIC stays cubic, backs off at 4/5, and keeps it fair with NewReno. slay π
β¨
kiss kiss, this page came to you from the Debian edition, dated September 15, 2011 π β yes she's an elder but she ATE and left no crumbs πΈπ
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2009 Lawrence Stewart <lstewart@FreeBSD.org>
- Copyright (c) 2010-2011 The FreeBSD Foundation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms