Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
102
Добавлен:
05.03.2016
Размер:
2.22 Mб
Скачать

7.5.2. Концепція квитування

В рамках з’єднання правильність передачі кожного сегмента повинна підтверджуватись квитанцією одержувача. Квитування – це один із традиційних методів забезпечення надійного зв’язку. Ідея квитування заключається в наступному.

Для того, щоб можна було організувати повторну передачу перекручених даних, відправник нумерує одиниці даних, які відправляє, (далі для простоти названі кадрами). Для кожного кадру відправник очікує від приймача, так звану, позитивну квитанцію – службове повідомлення, яке сповіщає про те, що вихідний кадр був отриманий і дані в ньому виявились коректними. Час цього очікування обмежено – при відправці кожного кадру передавач запускає таймер, й якщо по його закінченні позитивна не отримана, то кадр вважається втраченим. В деяких протоколах приймач у випадку отримання кадру з перекрученими даними повинен відправити негативну квитанцію – явна вказівка того, що даний кадр потрібно передати повторно.

Існує два підходи до організації процесу обміну позитивними і негативними квитанціями: з простоями і з організацією "вікна".

Метод з простоями вимагає, щоб джерело, пославши кадр, очікувало отримання квитанції від приймача й тільки після цього відправляє наступний кадр (або повторює перекручений). Із рис. 7.10 видно, що в такому випадку продуктивність обміну даними істотно знижується – хоча передавач і міг би відправити наступний кадр відразу ж після відправки попереднього, він зобов’язаний чекати приходу квитанції. Зниження продуктивності для цього методу корекції особливо помітно на низькошвидкісних каналах зв’язку, тобто в територіальних мережах.

Рис. 7.10. Метод підтвердження коректності передачі кадрів з простоєм відправника

У другому методі для підвищення коефіцієнта використання лінії відправнику дозволяється передавати деяку кількість кадрів в неперервному режимі, тобто в максимально можливому для відправника темпі, без отримання на ці кадри відповідних квитанцій. Кількість кадрів, які дозволяється передавати таким чином, називається розміром вікна. Рис. 7.11 ілюструє даний метод для розміру вікна в кадрів. Зазвичай кадри при обміні нумеруються циклічно, від 1 до. При відправці кадра з номером 1 відправнику дозволяється передати щекадрів до отримання квитанції на кадр 1. Якщо ж за цей час квитанція на кадр 1 так і не прийшла, то процес передачі призупиняється, й по закінченню деякого тайм-аута кадр 1 вважається втраченим (або квитанція на нього втрачена) і він передається знову.

Рис. 7.11. Метод “вікна” – неперервна відправка пакетів

Якщо же потік квитанцій поступає більш-менш регулярно, в межах допуску в кадрів, то швидкість обміну досягає максимально можливої величини для даного каналу й прийнятого протоколу.

Цей алгоритм називають алгоритмом ковзного вікна. Дійсно, при кожному отриманні квитанції вікно переміщується (ковзає), захоплюючи нові дані, які дозволяється передавати без підтвердження.

7.5.3. Механізм ковзного вікна

Як і в більшості протоколів, здійснюючих керування потоком даних (наприклад HDLC і Х.25), протокол ТСР використовує механізм ковзного вікна. Протокол HDLC і Х.25 використовують цей механізм у класичному вигляді – на кожен блок даних повинно бути отримано підтвердження. Протокол ТСР відходить від класичної схеми. Основний недолік класичної схеми полягає в тому, що тільки 1 сегмент може бути переданий за 1 сеанс. У даному випадку під сеансом розуміється посилка сегмента та одержання підтвердження на його унікальний прийом. Ефективність може бути значно підвищена, якщо дозволити передачу множини сегментів за 1 сеанс із групуванням всіх підтверджень для них в одне ПТВ.

Розглянемо схему роботи цього методу на прикладі двох станцій А і Б, яким необхідно обмінятися даними. Станція Б виділяє буферний простір для прийому сегментів. Тому станція Б може прийняти n сегментів, а станція А може відіслати ті же n сегментів без необхідного очікування підтвердження ПТВ про їхній прийом. Для відстеження ПТВ про прийняті сегменті, кожен з них позначається номером у послідовності. Станція Б підтверджує отримання сегмента шляхом посилки ПТВ, що містить номер у послідовності наступного очікуваного сегмента. Це ПТВ також непрямим чином сповіщає станцію А про те, що станція Б готова отримати наступний номер сегмента, починаючи зі вказаного номера +1. Таким чином, станція А веде список номерів у послідовності сегментів, які їй дозволено передавати, а станція Б – список номерів сегментів, які вона готова прийняти. Ці списки називають вікнами сегментів, а таку схему передачі повідомлень – керуванням потоку з використанням ковзного вікна [22] (див. рис. 1.12).

На рис. 7.13 проілюстровано роботу механізму ковзного вікна.

Рис. 7.12

Соседние файлы в папке Знайшов_на_компі_в_501-2014-06-05