Оценка методов и средств обеспечения безошибочности передачи данных

Страница: 5/8

ПЭВМ суммирует численные значения всех передаваемых символов.

Шестнадцать младших разрядов суммы помещаются в

шестнадцатиразрядный счетчик контрольной суммы, который вместе с

информацией пользователей передается принимающей ПЭВМ. Принимающая

ПЭВМ выполняет такие же вычисления и сравнивает полученную

контрольную сумму с переданной. Если эти суммы совпадают,

подразумевается, что блок передан без ошибок. При этом имеется

незначительная вероятность того, что в результате такой проверки

ошибочный блок может быть не обнаружен, но опыт показывает, что это

случается не чаще одного раза но тысячу сеансов передач. Сколько же

при этом может быть передано безошибочных блоков, прежде чем

встретится один ошибочный? Если передача производится по

высококачественной линии, то - несколько тысяч. В обычной

конфигурации необнаруженный ошибочный блок может возникнуть не

более одного раза в течение нескольких месяцев работы.

Последним словом в области контроля ошибок в сфере ПЭВМ

является циклическая проверка с избыточным кодом (CRC - cyclic

redunduncy check). Она широко используется в протоколах HDLC, SDLC,

но в индустрии ПЭВМ появилась сравнительно недавно.

Поле контроля ошибок включается в кадр передающим узлом. Его

значение получается как некоторая функция от содержимого всех

других полей. В принимающем узле производятся идентичные вычисления

еще одного поля контроля ошибок. Эти поля затем сравниваются; если

они совпадают, велика вероятность того, что пакет был передан без

ошибок. Этот процесс, как уже было упомянуто, называется

циклическим контролем по избыточности (CRC), а поле называется

контрольной последовательностью кадра (КПК). В случае несовпадения,

возможно, имела место ошибка передачи, и принимающая станция

посылает сигнал, означающий, что необходимо повторить передачу

кадра.

При вычислении КПК используется производящий полином

16+12+5+1.

Вычисление и использование кода CRC производится в

соответствии со следующими правилами:

-) К содержимому кадра добавляется набор нулей, количество

которых равно длине поля КПК.

-) Образованное таким образом число делится на производящий

полином, который содержит на один разряд больше, чем КПК, и который

в качестве старшего и младшего разрядов имеет единицы.

-) Остаток от деления помещается в поле КПК и передается в

приемник.

-) Приемник выполняет деление содержимого кадра и поля КПК на

полином.

-) Если результат равен некоторому определенному числу,

считается, что передача выполнена без ошибок.

Метод CRC позволяет обнаруживать всевозможные кортежи ошибок

длиной не более шестнадцати разрядов, вызываемых одиночной ошибкой,

а также 99,9984% всевозможных более длинных кортежей ошибок.

Рассмотрим на конкретном примере (рисунки 1.1, 1.2, и 1.3)

способы обработки ошибок передачи (протокол HDLC). На рисунке 1.1

показано использование поля порядкового номера приема для

"Отрицательного подтверждения" (NAK) кадра. На рисунке 1.2 показано

использование "Неприема" (REJ), а рисунок 1.3 иллюстрирует

использование "Выборочного неприема" (SREJ). Здесь рассматривается

момент n продолжающегося сеанса, когда станция А передает кадр с

номером 6.

Ниже приведены моменты времени и события для процесса,

показанного на рисунке 1.1 (не поддерживаемого протоколом LAPB):

n, n+1, 2, 3 - Станция А посылает информационные кадры 6, 7, 0

и 1 (так как 7 является наибольшим допустимым порядковым номером,

после 7 следует 0). Во время этого периода станция В обнаруживает

ошибку в кадре 7. В n+3 станция А посылает бит опроса, который

производит такое же действие, как и контрольная точка, то есть

разрешает ответ от станции В.

n+4, 5, 6, 7 - Станция А повторно передает кадра 7, 0 и 1 и

устанавливает бит Р в качестве контрольной точки.

n+8 - Станция В подтверждает кадры 7, 0, и 1 командой "Готов к

приему" (RR) и порядковым номером 2, а также устанавливает бит F.

Исключительное использование поля порядкового номера приема

N(Пр) для отрицательного подтверждения кадра не рекомендуется для

полнодуплексной передачи. Так как кадры передаются по каналу в

обоих направлениях, порядковые номера посылки и приема часто

перекрываются. Например, предположим, что кадр 4 станции А

(N(Пос)=4) передается примерно в то же время, что и кадр станции В,

который содержит N(Пр)=4. Станция А может ошибочно заключить, что

ее кадр 4 является недействительным, в то время как станция В

просто указывает, что следующим она ожидает кадр 4.

Более эффективный подход к исправлению ошибок состоит в том,

Реферат опубликован: 28/08/2006