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_chd(4),   cc_cubic(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	9.0		      September	15, 2011		      CC_HD(4)

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

home | help