MarketBIC TCP
Company Profile

BIC TCP

BIC TCP is one of the congestion control algorithms that can be used for Transmission Control Protocol (TCP). BIC is optimized for high-speed networks with high latency: so-called long fat networks. For these networks, BIC has significant advantage over previous congestion control schemes in correcting for severely underutilized bandwidth.

Algorithm
Define the following variables: Smax: the maximum increment Smin: the minimum increment wmax: the maximum window size β: multiplicative window decrease factor cwnd: congestion window size bic_inc: window increment per RTT (round trip time) At every RTT interval update cwnd with the following: If no packets are dropped, the congestion window (cwnd) increases in three distinct ways: binary search increase, additive increase, and slow start. In each step, one is used as an increment. One step of increasing cwnd: if (cwnd max) // binary search OR additive bic_inc = (wmax - cwnd) / 2; else // slow start OR additive bic_inc = cwnd - wmax; if (bic_inc > Smax) // additive bic_inc = Smax; else if (bic_inc min) // binary search OR slow start bic_inc = Smin; cwnd = cwnd + (bic_inc / cwnd); If one or more packets are dropped, the cwnd is reduced using multiplicative decrease. This requires β, which is used in decreasing cwnd by (100×β)%. In the case of two flows, one with a large cwnd and the other a small cwnd, fast convergence is used to decrease the greater cwnd flow's wmax at a greater rate than the smaller cwnd's flow to allow faster convergence of the greater cwnd's flow when increasing its cwnd. One step of decreasing cwnd: if (cwnd max) // fast convergence wmax = cwnd * (2-β) / 2; else wmax = cwnd; cwnd = cwnd * (1-β); ==See also==
tickerdossier.comtickerdossier.substack.com