Управљање протоком

Управљање протоком је техника која осигурава да извор не загуши подацима одредиште. Одредишна станица обрађује приспеле податке неком коначном брзином. Често је ова брзина обраде мања од брзине којом пристижу подаци. Зато станица има прихватну меморију, тзв. бафер одређеног капацитета у коју смешта пристигле, а још необрађене податке. ако подаци стижу брже него што одредишна станица успева да их обради, бафер се пуни, а када се напуни – станица једноставно одбацује следеће приспеле податке. Да се ово не би догодило, одредишна станица мора на неки начин да обавести изворишну станицу да успори емисију или чак да привремено прекине емитовање. За управљање протоком користе се две методе.

У стани и чекај методи (Stop and Wait Flow Control) извор шаље један оквир и чека да од пријемника прими потврду, тзв. ack (acknowledgment), да је оквир исправно стигао у одредиште.

илустрација методе стани и чекај

илустрација методе стани и чекај

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

У стани и чекај методи довољно је да капацитет бафера омогућава прихватање само једног оквира.

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

У методи клизећег прозора (Sliding window Flow Control) извор може да пошаље неколико оквира пре него што од одредишта прими потврду да је пренос оквира успешно обављен. Максималан број оквира који могу бити емитовани пре него што буде потврђен њихов пријем одређен је величином тзв. прозора. И извориште и одредиште поседују прозор исте величине. Да би се сачувала информација о томе који су оквири емитовани, а који су примљени, сваки оквир у прозору означава се редним бројем. Прозор на отпреми представља списак редних бројева које извор може да емитује без потврђивања, а прозор на пријему је списак редних бројева које је одредиште спремно да прими. Одредиште потврђује пријем оквира тако што шаље потврду која садржи редни број следећег оквира. Ова потврда потврђује пријем претходне групе оквира и обавештава извор да је одредиште спремно за пријем следеће групе оквира. Величина прозора је променљива: на почетку преноса прозор је максимално „отворен“. Како се који оквир пошаље, прозор у изворишту се „затвара“, тј. смањује се. Прозор у одредишту такође се „затвара“, како који оквир стиже у одредиште. Када пошаље потврду, прозор у одредишту се „отвара“ за број потврђених оквира, а после приспећа потврде прозор у изворишту такође се „отвара“ за број потврђених оквира.

У овом случају на линији може истовремено да се налази више оквира, али сада бафери у станицама морају да имају довољно капацитета да могу да прихвате све те оквире. Уобичајени су прозори величине 7. Прозори величине 127 користе се у сателитским верзама.

Размотримо како би то радило за две станице А и В које су повезане full-duplex везом. Станица В додељује простор у баферу за n оквира уместо само за 1. Тако В може прихватити n оквира, а станици А је дозвољено да шаље n оквира без чекања било какве потврде. Да би се чувао траг који оквири су потрвђени сваки је означен редним бројем. В потврђује оквир слањем потврде која укључује редни број следећег оквира који се очекује. Ова потврда такође имплицитно најављује да је В спреман да прими следећих n оквира почевши од задатог броја. Ова шема се може користити за потврђивање већег броја оквира. Нпр. В може примити оквире 2, 3 и 4 али задржати потврду док оквир о4 стигне. Враћањем потврде са редним бројем 5, В потврђује оквире 2, 3 и 4 истовремено. А одржава листу редних бројева које може да шаље, а В одржава листу редних бројева које је спреман да прими. Свака од ових листа може се посматрати као прозор оквира и зато се оваква операција означава као контрола тока са клизећим прозором.

Пошто редни бројеви који се користе заузимају поља у оквиру, она су ограничене величине. Нпр. за 3-битно поље, опсег редних бројева је 0-7. У складу са тим, оквири су нумерисани по модулу 8, тј. након редног броја 7, следи број 0. Нпр. пошиљалац може да шаље 7 оквира, почевши од оквира о6. Сваки пут када је оквир послат прозор се скупи (послат 6, број 6 се брише са листе, тј. из прозора), сваки пут када је примљена потврда прозор се шири (на крају листе додаје се следећи редни број).

Величина прозора не мора бити макс. могућа величина за дату дужину редних бројева.

klizeciprozor

ack3 – потврђује о2 и дозвољава о3-о1

akc4 – потврђује о3 и дозвољава о4-о2

Колики ће прозор заиста бити зависи од тога шта је А послао до тренутка пријема потврде

До сада смо посматрали само пренос у једном смеру. Ако две станице размењују податке, свака треба да одржава по два прозора: један за емитовање и други за пријем. У овом случају често се користи техника позната под називом piggybacking (уметање потврде): ако станица треба да пошаље податке и треба да пошаље потврду о подацима које је примила, она не шаље посебно оквир података и посебно оквир потврде, већ потврду уноси у оквир података. Тако се остварује уштеда јер се уместо два оквира шаље један оквир у коме се сада заједно налазе подаци и потврда. Укратко: ако станица има да шаље и податке и потврду она их шаље заједно у једном оквиру. Ако станица има да шаље само потврду а не и податке она шаље одвојени оквир потврде. Ако станица има податке да шаље али не и нову потврду она мора поновити последњу потврду коју је слала. Када станица прими дупликат потврде једноставно га игнорише. Piggybacking техника користи се и у полудуплексним и у дуплексним везама.

Advertisements

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се / Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се / Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се / Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се / Промени )

Повезивање са %s