Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л11 ТСА.doc
Скачиваний:
1
Добавлен:
18.11.2019
Размер:
455.17 Кб
Скачать

Ограничении, обусловленное помехами

На практике идеального обмена сообщениями не происходит. Сообщения и квитанции могут быть искажены или вообще потеряны.

На рисунке показана последовательность событий, происходящих при искажении помехой данных во время передачи блок 1 был искажен и искажение помехой было обнаружено когда ЭВМ В получило сообщение. В этом случае ЭМВ В передает запрос ошибки в виде отрицательной квитанции (ОК). Получение ОК ЭВМ А для нее означает, что она должна вновь передать блок 1 (Б1). Если блок 1 затем принят правильно, то в ЭВМ А поступает положительная квитанция (ПК), после получения которой ЭВМ может передавать блок 2 (Б2).

Н а рисунке показана ситуация, когда в результате искажения потеряна ПК. В этом случае блок 1 был передан от ЭВМ А к ЭВМ В и был принят ЭВМ В и соответственно кодирован. Помехи исказили квитанцию, и она не была принята ЭВМ А, которой неизвестно, что случилось. ЭВМ А должна ждать какого-то ответа в течение короткого промежутка времени после передачи последнего символа блока сообщения. Так как квитанция получена, то ЭВМ А может предположить, что произошло искажение (или квитанция или блок , или даже линия вышла из строя или ЭВМ). Простым способом выясняется, что случилось является выдача сигнала «запрос передачи», запрашивающего от ЭВМ В передать последний блок.

Н а рисунке показан запрос передачи после тайм-аута. При его получении ЭВМ В просматривает, что было отправлено последним, и выясняет что была послана ПК. Поэтому она повторно передает ПК, который принимается ЭВМ А. Теперь ЭВМ А знает, что Б1 был принят правильно, и передает блок 2. На первый взгляд эта процедура кажется хорошей, но оказывается, что при определенных обстоятельствах возможна потеря данных.

Например, рассмотрим ситуацию.

Б лок N-1 был передан и успешно принят и подтвержден ЭВМ В. От ЭВМ А передается следующий блок N, который при передаче искажается так, что его полностью нельзя распознать. Поэтому ЭВМ В не квитирует сообщение. После тайм-аута ЭВМ А выдает сигнал запроса повторной передачи. При приеме этого сигнала просматривается, что было послано последним, и повторно посылается ПК. Фактически это была квитанция на блок N -1. Если ЭВМ А получил эту квитанцию, считает, что эта квитанция на блок N, то передает блок N+1, и блок N будет потерян.

Одним из подходов к решению этой проблемы является нумерация квитанций. Блоки и квитанции можно нумеровать так, чтобы конкретная относится к конкретному блоку. Блоки и квитанции нумеруются в соответствии с протоколами HDLC и SDLC, и получатель ожидает приема входящих блоков в правильной последовательности. Когда обнаруживается пропуск в последовательности номеров, как в случае приема блока N+1, получатель инициирует действия по восстановлению ситуации. В начале ситуация казалась сложной, но было найдено простое решение – использование неодинаковых квитанций для следующих друг за другом блоков. Вместо одной ПК-0 используются символы АР-0; а для передачи ПК-1 – АР-1. Первый полученный блок квитируется ПК-1, а второй ПК-0. Вслед за этим посылается чередующиеся квитанции.

Н а следующем рисунке показано, что произойдет с чередующимися квитанциями при искажении блока данных.

На следующем рисунке показана ситуация, когда искажена квитанция:

В каждом их этих примеров ситуация восстановления без потери данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]