Пређи на садржај

Мрежно загушење

С Википедије, слободне енциклопедије

Мрежно загушење код умрежавања података је смањен квалитет услуга који се јавља када мрежни чвор носи више података него што може да обради. Типични ефекти су кашњење услед чекања, губитак пакета или блокирање нових конекција. Последица последња два ефекта је да постепен пораст оптерећења доводи до незнатног повећања или чак смањења протока у мрежи.[1]

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

Мреже користе технике контроле загушења и избегавање загушења да би избегле конгестивни колапс. Ту спадају: експоненцијални backoff у протоколима као што је 802.11 CSMA/CA и Ethernet, смањење прозора у TCP, и одзив у уређајима као што су рутери. Други метод је да се имплементирају шеме приоритета, које преносе неке пакете са већим приоритетом од осталих. Шеме приоритета ублажавају ефекат загушења за сервисе, као што су 802.1p.

Трећи метод избегавања је експлицитна додела мрежних ресурса специфичним токовима. Један пример тога је употреба Contention-Free Transmission Opportunities (CFTXOPs) у ITU-T G.hn стандарду, који омогућава велику брзину (до 1 Gbit/s) локалног умрежавања преко различитих жица (електро мрежа, телефонске линије и коаксијални каблови).

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

[уреди | уреди извор]

Мрежни ресурси су ограничени, укључујући време обраде рутера и самог протока.

На пример:

  • Капацитет бежичног LAN-a је ограничен и лако се достиже од стране једног рачунара.
  • Чак и на брзим рачунарским мрежама (нпр. Gigabit Ethernet), кичма мреже (енг. backbone) се лако може загушити од стране неколико сервера и клијената рачунара.
  • P2P мрежа лако попуњава комуникациону линију или неко друго мрежно уско грло.
  • Denial-of-service botnets напади су способни за загушење чак и највећих интернет капацитета, генерисањем великог мрежног загушења.
  • У телефонским мрежама (посебно мобилних телефона), велики број истовремених позива може довести до оптерећења дигиталних телефонских линија.

Конгестивни колапс

[уреди | уреди извор]

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

Када је мрежа у овом стању кашњење пакета и квалитет сервиса је изузетно лош.

Конгестивни колапс је идентификован као могући проблем 1984. године, на пример у RFC 896. Први пут је примећен на интернету у октобру 1986, када је кичма мреже (енг. backbone) NSFnet фазе-I пала три реда величине од свог капацитета од 32 kbit/s до 40 bit/s, што се наставило све док се није имплементирала Ван Јакобсонова контрола загушења између 1987. и 1988. године.

Када је послато више пакета него што рутер може да обради својим капацитетом, рутери одбацују многе пакете, очекујући да ће на крају мрежа поновити пренос података. Међутим, имплементација раних TCP протокола је имала слабу ретрансмисију података.

Контрола загушења

[уреди | уреди извор]

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

Теорију о контроли загушења је развио Френк Кели, који је применио микроекономију и теорију конвексне оптимизације да опише како појединци који контролишу своје брзине могу комуницирати да би постигли оптималну алокацију брзине.

Нека је брзина протока , капацитет мреже , и има вредност 1 ако проток користи линк иначе има вредност 0. Нека су , и одговарајући вектори и матрице. Ако је растућа, строго конкавна функција, названа корисност, која рачуна колику корист корисник добија преношењем брзином . Онда оптимална алокација брзине задовољава

тако да

Класификација алгоритама контроле загушења

[уреди | уреди извор]

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

  • Према врсти и количини повратних информација добијених од мреже: губитак; одлагања; једнобитни или вишебитни експлицитни сигнали
  • Према инкременталној достави: Само пошиљаоцу треба измена; пошиљалац и прималац требају измену; само рутер треба измену; пошиљалац, прималац и рутери требају измену.
  • По перформансама: Високо пропусно одлагање; предност у кратким токовима.
  • По правичности критеријума: макс-мин, пропорционални, "минимално потенцијално кашњење"

Спречавање оптерећења мреже

[уреди | уреди извор]

Неколико механизма је измишљено како би се спречило оптерећење мреже или мрежни колапс:

Правилно понашање крајње тачке је понављање одбачене информације, али постепено успоравање брзине понављања. Под условом да се све крајње тачке понашају тако, загушење мреже престаје и мрежа наставља нормално понашање. Друге стратегије, као што су slow-start осигуравају да нове везе не преплаве рутер пре него што се започне детекција загушења.

Неки end-to-end протоколи се боље понашају током загушења мреже.TCP проткол је показао најбоље понашање. Прве TCP имплементације за рад са мрежним загушењем су развијене 1984, али тек Ван Јакобсоново решење отвореног кода у Berkeley Standard Distribution UNIX ("BSD") стандарду 1988. је обезбедило добро понашање.

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

Практично избегавање мрежног загушења

[уреди | уреди извор]

Протоколи, као што је широко распрострањени TCP протокол, проверавају грешке пакета, губитак пакета, или кашњење пакета да би прилагодили брзину преноса. Разни процеси за избегавање мрежног застоја, подржавају различите компромисе.[2]

TCP/IP избегавање мрежног загушења

[уреди | уреди извор]

TCP алгоритам за избегавање мрежног загушења је основа за контролу загушења на интернету.[3][4][5][6][7]

Активно управљање редом

[уреди | уреди извор]

Активно управљање редом (енг. Active queue management – AQM) је распоређивање или пад мрежних пакета унутар бафера који је у вези са мрежним адаптером (енг. Network card, NIC, network adapter).

Експлицитно обавештење загушења

[уреди | уреди извор]

Други приступ је коришћење IP експлицитног обавештења загушења (енг. Explicit Congestion Notification – ECN).[8] ECN се користи само ако оба хоста желе да га користе. Овим поступком бит протокола сигнализира експлицитно загушење.

Када рутер прими пакет означен као ECN-capable и очекује загушење, поставља ECN флаг, обавештавајући пошиљаоца загушења. Пошиљалац би требало да одговори смањивањем протока, на пример, смањивањем величине TCP прозора (брзине слања) или на неки други начин.

Cisco AQM : Динамичко ограничавање бафера

[уреди | уреди извор]

Cisco има способност да класификује протоке као агресивне (лоше) или прилагодљиве (добре). То осигурава да ниједан проток неће попунити портове.

Последице избегавања конгестивног колапса

[уреди | уреди извор]

Радио везе

[уреди | уреди извор]

Протоколи који избегавају конгестивни колапс често се заснивају на идеји да загушење проузрокује губитак података. То је тачно у скоро свим случајевима; грешке приликом преноса су ретке. Међутим, то изазива да мреже као што су WiFi, 3G, или неке друге мреже имају слабији проток у неким случајевима, пошто су бежичне мреже подложне губитку података услед сметњи.

Краткотрајне везе

[уреди | уреди извор]

Коришћење протокола са спорим почетним преносом су лоше за мале преносе. Старији веб прегледачи су креирали много краткотрајних веза које су отварали и затварали за сваку датотеку. Да би се избегао овај проблем, модерни веб прегледачи или отворе више веза истовремено или користе исту везу за све датотеке неког одређеног сервера. Почетне перформансе могу бити слабије, и већина веза никад не изађу из slow-start rежима, значајно повећавајући кашњење.

Референце

[уреди | уреди извор]
  1. ^ Hussein 2012, стр. 282.
  2. ^ TCP Tunnels: Avoiding Congestion Collapse (2000)
  3. ^ Van Jacobson, Michael J. Karels. Congestion Avoidance and Control (1988). Proceedings of the Sigcomm '88 Symposium, vol.18(4): pp. 314—329. Stanford, CA. August, 1988. This paper originated many of the congestion avoidance algorithms used in TCP/IP.
  4. ^ RFC 2001 - TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms
  5. ^ RFC 2581 - TCP Congestion Control
  6. ^ RFC 3390 - TCP Increasing TCP's Initial Window
  7. ^ „TCP Congestion Avoidance Explained via a Sequence Diagram” (PDF). Архивирано из оригинала (PDF) 22. 11. 2010. г. Приступљено 17. 05. 2016. 
  8. ^ RFC 3168 - The Addition of Explicit Congestion Notification (ECN) to IP

Литература

[уреди | уреди извор]