diff options
Diffstat (limited to 'static/freebsd/man4/cc_chd.4 3.html')
| -rw-r--r-- | static/freebsd/man4/cc_chd.4 3.html | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/static/freebsd/man4/cc_chd.4 3.html b/static/freebsd/man4/cc_chd.4 3.html new file mode 100644 index 00000000..e9f6a4b4 --- /dev/null +++ b/static/freebsd/man4/cc_chd.4 3.html @@ -0,0 +1,101 @@ +<table class="head"> + <tr> + <td class="head-ltitle">CC_CHD(4)</td> + <td class="head-vol">Device Drivers Manual</td> + <td class="head-rtitle">CC_CHD(4)</td> + </tr> +</table> +<div class="manual-text"> +<section class="Sh"> +<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> +<p class="Pp"><code class="Nm">cc_chd</code> — <span class="Nd">CHD + Congestion Control Algorithm</span></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> +<p class="Pp">CHD enhances the HD algorithm implemented in + <a class="Xr">cc_hd(4)</a>. It provides tolerance to non-congestion related + packet loss and improvements to coexistence with traditional loss-based TCP + flows, especially when the bottleneck link is lightly multiplexed.</p> +<p class="Pp">Like HD, the algorithm aims to keep network queuing delays below a + particular threshold (queue_threshold) and decides to reduce the congestion + window (cwnd) probabilistically based on its estimate of the network queuing + delay.</p> +<p class="Pp">It differs from HD in three key aspects:</p> +<ul class="Bl-bullet"> + <li>The probability of cwnd reduction due to congestion is calculated once per + round trip time instead of each time an acknowledgement is received as + done by <a class="Xr">cc_hd(4)</a>.</li> + <li>Packet losses that occur while the queuing delay is less than + queue_threshold do not cause cwnd to be reduced.</li> + <li>CHD uses a shadow window to help regain lost transmission opportunities + when competing with loss-based TCP flows.</li> +</ul> +</section> +<section class="Sh"> +<h1 class="Sh" id="MIB_Variables"><a class="permalink" href="#MIB_Variables">MIB + Variables</a></h1> +<p class="Pp">The algorithm exposes the following tunable variables in the + <var class="Va">net.inet.tcp.cc.chd</var> branch of the + <a class="Xr">sysctl(3)</a> MIB:</p> +<dl class="Bl-tag"> + <dt id="queue_threshold"><var class="Va">queue_threshold</var></dt> + <dd>Queueing congestion threshold (qth) in ticks. Default is 20.</dd> + <dt id="pmax"><var class="Va">pmax</var></dt> + <dd>Per RTT maximum backoff probability as a percentage. Default is 50.</dd> + <dt id="qmin"><var class="Va">qmin</var></dt> + <dd>Minimum queuing delay threshold (qmin) in ticks. Default is 5.</dd> + <dt id="loss_fair"><var class="Va">loss_fair</var></dt> + <dd>If 1, cwnd is adjusted using the shadow window when a congestion related + loss is detected. Default is 1.</dd> + <dt id="use_max"><var class="Va">use_max</var></dt> + <dd>If 1, the maximum RTT seen within the measurement period is used as the + basic delay measurement for the algorithm, otherwise a sampled RTT + measurement is used. Default is 1.</dd> +</dl> +</section> +<section class="Sh"> +<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE + ALSO</a></h1> +<p class="Pp"><a class="Xr">cc_cdg(4)</a>, <a class="Xr">cc_cubic(4)</a>, + <a class="Xr">cc_dctcp(4)</a>, <a class="Xr">cc_hd(4)</a>, + <a class="Xr">cc_htcp(4)</a>, <a class="Xr">cc_newreno(4)</a>, + <a class="Xr">cc_vegas(4)</a>, <a class="Xr">h_ertt(4)</a>, + <a class="Xr">mod_cc(4)</a>, <a class="Xr">tcp(4)</a>, + <a class="Xr">khelp(9)</a>, <a class="Xr">mod_cc(9)</a></p> +<p class="Pp"><cite class="Rs"><span class="RsA">D. A. Hayes</span> and + <span class="RsA">G. Armitage</span>, <span class="RsT">Improved coexistence + and loss tolerance for delay based TCP congestion control</span>, + <i class="RsJ">in 35th Annual IEEE Conference on Local Computer + Networks</i>, <span class="RsP">24-31</span>, <span class="RsD">October + 2010</span>.</cite></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="ACKNOWLEDGEMENTS"><a class="permalink" href="#ACKNOWLEDGEMENTS">ACKNOWLEDGEMENTS</a></h1> +<p class="Pp">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.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1> +<p class="Pp">The <code class="Nm">cc_chd</code> congestion control module first + appeared in <span class="Ux">FreeBSD 9.0</span>.</p> +<p class="Pp">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:</p> +<p class="Pp">http://caia.swin.edu.au/urp/newtcp/</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1> +<p class="Pp">The <code class="Nm">cc_chd</code> congestion control module and + this manual page were written by <span class="An">David Hayes</span> + <<a class="Mt" href="mailto:david.hayes@ieee.org">david.hayes@ieee.org</a>>.</p> +</section> +</div> +<table class="foot"> + <tr> + <td class="foot-date">May 13, 2021</td> + <td class="foot-os">FreeBSD 15.0</td> + </tr> +</table> |
