fbpx
Wikipedia

BIC TCP

BIC TCP (Binary Increase Congestion control) 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.[1]

BIC implements a unique congestion window (cwnd) algorithm. This algorithm tries to find the maximum cwnd by searching in three parts: binary search increase, additive increase, and slow start. When a network failure occurs, the BIC uses multiplicative decrease in correcting the cwnd.[2]

BIC TCP is implemented and used by default in Linux kernels 2.6.8 and above. The default implementation was again changed to CUBIC TCP in the 2.6.19 version.

Algorithm edit

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 < wmax) // 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 < Smin) // 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 < wmax) // fast convergence wmax = cwnd * (2-β) / 2; else wmax = cwnd; cwnd = cwnd * (1-β); 

See also edit

References edit

  1. ^ "BIC FAQ". www4.ncsu.edu. Retrieved December 25, 2018.
  2. ^ "Binary increase congestion control (BIC) for fast long-distance networks - IEEE Conference Publication". doi:10.1109/INFCOM.2004.1354672. S2CID 11750446. {{cite journal}}: Cite journal requires |journal= (help)

External links edit


this, article, relies, excessively, references, primary, sources, please, improve, this, article, adding, secondary, tertiary, sources, find, sources, news, newspapers, books, scholar, jstor, april, 2012, learn, when, remove, this, message, binary, increase, c. This article relies excessively on references to primary sources Please improve this article by adding secondary or tertiary sources Find sources BIC TCP news newspapers books scholar JSTOR April 2012 Learn how and when to remove this message BIC TCP Binary Increase Congestion control 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 1 BIC implements a unique congestion window cwnd algorithm This algorithm tries to find the maximum cwnd by searching in three parts binary search increase additive increase and slow start When a network failure occurs the BIC uses multiplicative decrease in correcting the cwnd 2 BIC TCP is implemented and used by default in Linux kernels 2 6 8 and above The default implementation was again changed to CUBIC TCP in the 2 6 19 version Contents 1 Algorithm 2 See also 3 References 4 External linksAlgorithm editDefine the following variables Smax the maximum increment Smin the minimum increment wmax the maximum window size b 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 lt wmax binary search OR additive bic inc wmax cwnd 2 else slow start OR additive bic inc cwnd wmax if bic inc gt Smax additive bic inc Smax else if bic inc lt Smin 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 b which is used in decreasing cwnd by 100 b 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 lt wmax fast convergence wmax cwnd 2 b 2 else wmax cwnd cwnd cwnd 1 b See also editTCP congestion avoidance algorithm Transmission Control Protocol Development SCTP CUBIC TCPReferences edit BIC FAQ www4 ncsu edu Retrieved December 25 2018 Binary increase congestion control BIC for fast long distance networks IEEE Conference Publication doi 10 1109 INFCOM 2004 1354672 S2CID 11750446 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help External links edit 1 Home Page nbsp This computer networking article is a stub You can help Wikipedia by expanding it vte Retrieved from https en wikipedia org w index php title BIC TCP amp oldid 1068367840, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.