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

FreeBSD Manual Pages

  
 
  

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

NAME
       cc_hd --	HD Congestion Control Algorithm

DESCRIPTION
       The  HD congestion control algorithm is an implementation of the	Hamil-
       ton Institute's delay-based congestion control which aims to keep  net-
       work queuing delays below a particular threshold	(queue_threshold).

       HD  probabilistically reduces the congestion window (cwnd) based	on its
       estimate	of the network queuing delay.	The  probability  of  reducing
       cwnd  is	 zero at hd_qmin or less, rising to a maximum at queue_thresh-
       old, and	then back to zero at the maximum queuing delay.

       Loss-based congestion control algorithms	such as	NewReno	probe for net-
       work capacity by	filling	queues until there is a	packet loss.  HD  com-
       petes  with  loss-based	congestion  control algorithms by allowing its
       probability of reducing cwnd to drop from a maximum at  queue_threshold
       to  be  zero at the maximum queuing delay.  This	has been shown to work
       well when the bottleneck	link is	highly multiplexed.

MIB Variables
       The  algorithm  exposes	the  following	tunable	  variables   in   the
       net.inet.tcp.cc.hd branch of the	sysctl(3) MIB:

       queue_threshold	Queueing congestion threshold (qth) in ticks.  Default
			is 20.

       pmax		Per  packet  maximum backoff probability as a percent-
			age.  Default is 5.

       qmin		Minimum	queuing	delay threshold	(qmin) in ticks.   De-
			fault is 5.

SEE ALSO
       cc_cdg(4),    cc_chd(4),	   cc_cubic(4),	   cc_dctcp(4),	   cc_htcp(4),
       cc_newreno(4), cc_vegas(4),  h_ertt(4),	mod_cc(4),  tcp(4),  khelp(9),
       mod_cc(9)

       L.  Budzisz,  R.	 Stanojevic, R.	Shorten, and F.	Baker, "A strategy for
       fair  coexistence  of   loss   and   delay-based	  congestion   control
       algorithms", IEEE Commun. Lett.,	7, 13, 555-557,	Jul 2009.

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

FUTURE WORK
       The  Hamilton Institute have recently made some improvements to the al-
       gorithm implemented by this module and have  called  it	Coexistent-TCP
       (C-TCP).	 The improvements should be evaluated and potentially incorpo-
       rated into this module.

HISTORY
       The cc_hd congestion control module first appeared in FreeBSD 9.0.

       The  module was first released in 2010 by David Hayes whilst working on
       the NewTCP research project 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_hd  congestion control module and this manual page were written
       by David	Hayes <david.hayes@ieee.org>.

FreeBSD	15.0			 May 13, 2021			      CC_HD(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=cc_hd&manpath=FreeBSD+15.0-RELEASE+and+Ports>

home | help