summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/cc_chd.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/cc_chd.4 3.html')
-rw-r--r--static/freebsd/man4/cc_chd.4 3.html101
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> &#x2014; <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>
+ &lt;<a class="Mt" href="mailto:david.hayes@ieee.org">david.hayes@ieee.org</a>&gt;.</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>