Flow control

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Управлі́ння пото́ком переда́чі да́них (англ. Flow Control) - в комп'ютерних мережах, механізм, який пригальмовує передавач даних при неготовності приймача.

Для управління потоком даних (Flow Control) можуть використовуватися два варіанти протоколу - апаратний і програмний. Іноді керування потоком плутають з квитуванням. Квитування (handshaking) має на увазі посилку повідомлення про отримання елемента, в той час як управління потоком передбачає посилку повідомлення про можливість або неможливість подальшого прийому даних. Найчастіше управління потоком засноване на механізмі квитування.

Апаратний протокол[ред.ред. код]

Апаратний протокол управління потоком RTS/CTS ((англ. Request to Send / Clear to Send) використовує сигнал CTS, який дозволяє зупинити передачу даних, якщо приймач не готовий до їх прийому. Передавач «випускає» черговий байт тільки при включеній лінії CTS. Байт, який вже почав передаватися, затримати сигналом CTS неможливо (це гарантує цілісність посилки). Апаратний протокол забезпечує найшвидшу реакцію передавача на стан приймача. Мікросхеми асинхронних приймачів мають не менше двох регістрів в приймальній частині - зсувний, для прийому чергової посилки, і буферний, з якого зчитується прийнятий байт. Це дозволяє реалізувати обмін за апаратним протоколом без втрати даних.

Апаратний протокол зручно використовувати при підключенні принтерів і плотерів, якщо вони його підтримують. При безпосередньому (без модемів) з'єднанні двох комп'ютерів апаратний протокол вимагає перехресного з'єднання ліній RTS - CTS[1].

Програмний протокол[ред.ред. код]

Програмний протокол управління потоком XON/XOFF припускає наявність двонаправленого каналу передачі даних. Працює протокол таким чином: якщо пристрій, що приймає дані, виявляє причини, з яких воно не може їх далі приймати, воно по зворотному послідовному каналу посилає байт-символ XOFF (13h). Протилежний пристрій, прийнявши цей символ, призупиняє передачу. Коли приймаючий пристрій знову стає готовим до прийому даних, він посилає символ XON (11h), прийнявши який протилежне пристрій відновлює передачу. Час реакції передавача на зміну стану приймача в порівнянні з апаратним протоколом збільшується, принаймні, на час передачі символу (XON або XOFF) плюс час реакції програми передавача на прийом символу. З цього випливає, що дані без втрат можуть прийматися тільки приймачем, що має додатковий буфер прийнятих даних і сигналізує про неготовність завчасно (маючи в буфері вільне місце).

Примітки[ред.ред. код]

Див. також[ред.ред. код]