Во размената на податоци, **мрежен застој** се појавува кога низ еден јазол во мрежата поминуваат премногу податоци и доаѓа до намалување на квалитето на услугата. Најчести проблеми што се појавуваат се губење на пакети, забрана за нови врски и забавување при нови барања.

Мрежни протоколи коишто користат агресивно пренасочување за да компенизираат за губењето на пакети најчесто предизвикуваат мрежен застој и откако ќе се расчисти првичниот мрежен застој.

Модерните мрежи користат контрола на застој и техники за **избегнување на мрежни застои** за да избегнат целосен застој во мрежата. Некои од овие техники се: намалување на лизгачките прозорци кај TCP, фер побарања кај рутерите и други. Други начини за избегнување на застои во мрежата е со воведување на приоритетни шеми, овој начин на одредени пакети им доделува поголем приоритет за искористување на ресурсите на мрежата од други. Овој метод не помага во целост да се реши проблемите со застоите во мрежата, но придонесува во многу сервиси да се намали шансата за настанување на мрежен застој. Пример за ова е 802.1p.

RFC 2914 се занимава со контрола на застој во повеќе детали.

Капацитет на мрежа
------------------

Фундаменталниот проблем овде е што ресурстите на сите мрежи е ограничен, вклучувајќи ѓи и пропусната моќ и обработувачкото време кај насочувачите.

Меѓутоа:

* Денешните безжилни LAN мрежи со брзини (15-100Mbit/s) лесно можат да бидат зафатени од еден персонален сметач.
* Дури и брзи мрежи (пример 1Gbit), можат да бидат доведени до застој од неколку опслужувачи и неколку клиенти сметачи.
* Бидејќи P2P се скалира многу добро, пренесувањето на податоци со P2P без проблем може да доведе до застој во мрежата, особено кога се претпочитаат поблиските перови отколку далчните перови.
* Напади за блокирање на сервиси од страна на ботови можат да ги загушат и најголемите потпори на интернет линкови (40 Gbit/s) и генерираат застои во повеќе мрежи.

Колабирање на мрежа
-------------------

**Колабирање на мрежа** е состојба што може да се случи кај сметачки мрежи кои користат пренасочување на пакети, кога нема корисна комуникација или пак комуникацијата е многу мала поради **застој**. Колабирајње на мрежа најчесто се случува на најфрекфентните места во мрежата, каде вкупниот број на податоци што доаѓа до јазолот е многу поголем од бројот на податоци што излегува од него.

Јазлите каде што се поврзуваат локални мрежи (LAN) со мрежи за пошироки области (WAN) се места каде најчесто настанува мрежен застој. Мрежите преминуваат во ваква состојба кога низ одредени јазли минуваат голем број на податоци, а можностите му се помали и малку корисни информации поминуваат бидејќи најголемиот број на информации е отфрлен од страна на насочувачите и генереално квалитетот на сервисот е мал.

#### Историја

Колабирање на мрежа како проблем е откриен уште во 1984 година (RFC 896, излезен на 6 Јануари). Најпрвин овој проблем бил забележен на почетните верзии на интернетот во 1986 кога потпората на NSFnet phase-I за три степени, од 32kbit/s на 40bit/s и продолжило да се случува сè додека не почнале да ја применуваат контролата на застој на Van Jacob пемѓу 1987 и 1988.

Причини
-------

Кога на насочувачи посредници им биле праќани повеќе пакети отколку што можат да препратат, тие вишокот пакети ги отфрлале, очекувајќи тие да бидат препратени. Меѓутоа раните верзии на TCP протколот не било развиено препраќањето на пакети. Кога ќе имало губење на пакети, краните точки праќале екстра пакети, дуплирајќи ги пакетите пратено, што е најлошото да се прави при застој. Ова довело до колабирање на цели мрежи и скоро сите пакети се губеле, а пропусната моќ на мрежите била многу мала.

Контрола на застој
------------------

**Контрола на застој** е посветено на контролата на сообраќајот кај телекомуникациска мрежа, за да се избегне колабирање на мрежата. Ова се постигнува на неколку начини, со обиди за избегнување на преоптоварување на одредени процеси или поврзувачките можности на јазли и мрежи и преземање на чекори за редуцирање на ресурсите, пример редуцирање на пакетите кои се праќат. Контролата на застој не треба да се меша со контролата на тек, која го спречува праќачот да го загуши примачот.

#### Теорија на контрола на застој

Модерната теорија на конрола на застојот била поставена од страна на Frank Kelly, кој ја искористил теоријата на микроекономија и теоријата за конвексна оптимизација за да опише како самите корисници контролирајќи ги сопствените рати на праќање и примање на податоци можат да постигнат "оптимална" алокација низ мрежата.

Примери за "оптимална" алокација на ресурси кај мрежите е максимум-минимум фер алокација и предлогот на Kelly за пропорционална фер алокација на ресурси, како и многу други начини се возможни.

Математичкиот израз за оптимална алокација на ресирси е следниот. Нека {\displaystyle x\_{i}} е стапката на проток {\displaystyle i}, {\displaystyle C\_{l}} е капацитетот на линкот {\displaystyle l}, и нека {\displaystyle r\_{li}} е 1 ако текот {\displaystyle i} користи линк {\displaystyle l}, инаку нека е 0. Нека {\displaystyle x}, {\displaystyle c} and {\displaystyle R} се вектори и матрица. Нека {\displaystyle U(x)} е растечка, строго конвексна функција наречена *полезност*, што бележи колкава е корисносноста за корисникот ако праќа со стапка {\displaystyle x}. Тогаш оптималната алокација ја задоволува следната равенка

{\displaystyle \max \limits \_{x}\sum \_{i}U(x\_{i})}
при што {\displaystyle Rx\leq c}
#### Класификација на алгоритми за контрола на застој

Има многу начини за класификација на алгоритмите за контрола на застој:

* По типот и количината на повратни информации што се добиваат од мрежата: Губиток; задоцнување; едно-битни или повеќе-битни експлицитни сигнали
* По зголемувачката распределба на моменталниот Интернет: Само на праќачот му треба модификација; на праќачот и примачот им треба модификација; на праќачот, примачот и насочувачите им треба модификација
* По аспектот на перформансите што има за цел да ги подобри: висок (прпусен опсег-задоцнување) на продукти; слаби линкови; правилна распределба
* По критериумите за правилна распределба што ги користи: максимално-минимално; пропорционални; "минимален потенцијал за задоцнување"

Наводи
------

* RFC 2914 - Congestion Control Principles, Sally Floyd, September, 2000
* RFC 896 - "Congestion Control in IP/TCP", John Nagle, 6 January 1984
* "Deploying IP and MPLS QoS for Multiservice Networks: Theory and Practice" by John Evans, Clarence Filsfils (Morgan Kaufmann, 2007, ISBN 0-12-370549-5)

Книги
-----

* "Deploying IP and MPLS QoS for Multiservice Networks: Theory and Practice" by John Evans, Clarence Filsfils (Morgan Kaufmann, 2007, ISBN 0-12-370549-5)