BIC TCP - BIC TCP - Wikipedia
![]() | tento článek příliš spoléhá na Reference na primární zdroje.Duben 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
BIC TCP (Binární zvýšení kontroly přetížení) jeden z algoritmy řízení přetížení pro které lze použít protokol kontroly přenosu (TCP). BIC je optimalizován pro vysokorychlostní sítě s vysokou latencí: tzv.dlouhé tlusté sítě "Pro tyto sítě má BIC významnou výhodu oproti předchozím schématům řízení přetížení při opravě silně nevyužité šířky pásma.[1]
BIC implementuje jedinečný algoritmus okna přetížení (cwnd). Tento algoritmus se pokouší najít maximální hodnotu hledáním ve třech částech: binární vyhledávání zvýšit, aditivní zvýšení a pomalý start. Když dojde k selhání sítě, použije BIC multiplikativní pokles při opravě cwnd.[2]
BIC TCP je implementován a standardně používán v Linux jádra 2.6.8 a vyšší. Výchozí implementace byla znovu změněna na CUBIC TCP ve verzi 2.6.19.
Algoritmus
Definujte následující proměnné:
Smax: maximální přírůstek Smin: minimální přírůstek wmax: maximální velikost okna β: multiplikativní faktor snížení okna cwnd: velikost okna přetížení bic_inc: přírůstek okna na RTT (doba zpáteční cesty)
Při každém intervalu RTT aktualizujte cwnd s následujícím:
Pokud nejsou zahozeny žádné pakety, okno přetížení (cwnd) se zvyšuje třemi odlišnými způsoby: zvýšení binárního vyhledávání, zvýšení aditiv a pomalý start. V každém kroku je jeden použit jako přírůstek.
Jeden krok ke zvýšení podílu:
if (cwndmax) // binární vyhledávání NEBO aditivní bic_inc = (wmax - cwnd) / 2; else // pomalý start NEBO aditivum bic_inc = cwnd - wmax; if (bic_inc> Smax) // aditivní bic_inc = Smax; else if (bic_inc min) // binární vyhledávání NEBO pomalý start bic_inc = Smin; cwnd = cwnd + (bic_inc / cwnd);
Pokud je jeden nebo více paketů zahozeno, cwnd se sníží pomocí multiplikativní pokles. To vyžaduje β, který se používá ke snížení podílu o (100 × β)%. V případě dvou toků, jednoho s velkým a druhým malým, rychlá konvergence se používá ke snížení w většího tokumax větší rychlostí než tok menší cwnd, aby se umožnila rychlejší konvergence toku větší cwnd při zvýšení jeho cwnd.
Jeden krok ke snížení podílu:
if (cwndmax) // rychlá konvergence wmax = cwnd * (2-p) / 2; jinak wmax = cwnd; cwnd = cwnd * (1-β);
Viz také
Reference
externí odkazy
- [1] Domovská stránka.
![]() | Tento počítačové sítě článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |