Общие принципы построения сетей. Физический уровень передачи данных. Технологии локальных сетей. Стек протоколов TCP/IP, страница 22

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

Лекция 7. Обнаружение и коррекция ошибок. Сжатие данных.

7.1. Способы обнаружения и коррекции ошибок.

При передаче данных неизбежно возникают проблемы искажения и потери информации, что может быть обусловлено как искажениями сигнала в канале, так и ошибками в коммуникационном оборудовании. В общем случае можно рассматривать два вида ошибок: потеря кадра и повреждение кадра. В первом из случаев кадр не доходит до адресата, а во втором полученных кадр содержит несколько ошибочных битов (значение которых изменилось при передаче).

Методы обнаружения и коррекции ошибок включают в себя следующие  составляющие:

1.  Выявление и исправление ошибок.

2.  Положительное подтверждение приема.

3.  Повторная передача после истечения времени ожидания

4.  Отрицательное подтверждение приема и повторная передача.

Выявление ошибок основано на передаче в составе кадра данных избыточной служебной информации, по которой можно судить с некоторой степенью вероятности о достоверности передаваемых данных. Эту служебную информацию принято называть контрольной суммой.

Контрольная сумма вычисляется как некоторая функция от основной информации. Принимающая сторона повторно вычисляет контрольную сумму и сравнив результат с контрольной суммой в полученном кадре данных делает вывод о корректности принятых данных.

Существует несколько распространенных алгоритмов вычисления контрольной суммы:

1.  Контроль по паритету. Представляет собой наименее мощный, но и наиболее простой способ контроля данных. Метод заключается в суммировании по модулю 2 всех бит контролируемой информации. Результат представленный одним битом пересылается вместе с контролируемой информацией. Данный алгоритм позволяет выявить ошибки связанные с искажением в пересылаемых данных одного бита информации. Однако множественная ошибка (при искажении четного числа бит) может быть принята за корректные данные. Контроль по паритету применяется к небольшим порциям данных, как правило к одному байту, что приводит к коэффициенту избыточности равному 1/8.

2.  Вертикальный и горизонтальный контроль по паритету. Представляет собой модификацию контроля по паритету. Исходные данные рассматриваются в виде матрицы, строки которой представляют слова (или в частном случае байты) данных. Контрольный разряд отдельно подсчитывается для каждой строки и каждого столбца матрицы. Данный метод позволяет обнаружить большую часть двойных ошибок, однако обладает еще большей, чем контроль по паритету, избыточностью.

3.  Циклический избыточный контроль. Метод основан на рассмотрении исходных данных в виде одного многоразрядного двоичного числа. В качестве контрольной информации рассматривается остаток от деления этого числа на заранее известный делитель. Принимающая сторона вновь вычисляет остаток от деления числа, состоящего из контролируемых данных и добавленной к ним в младших разрядах контрольной суммы, на тот же самый делитель. В случае если остаток от деления равен нулю делается вывод об отсутствии ошибок в полученном кадре.

Исправление ошибок реализуется либо при помощи повторной передачи искаженной информации, либо как и в случае выявления ошибок дополнения передаваемых данных служебной информацией. В последнем случае применяется так называемое помехоустойчивое кодирование, позволяющее восстановить искаженную информацию за  счет добавления избыточных кодовых комбинаций, которые, при отсутствии ошибок не встречаются в принимаемых данных. Количество ошибок которые возможно исправить, в таком случае, напрямую зависит от количества кодовых комбинаций. Естественно, что помехоустойчивое кодирование, помимо исправления, предоставляет возможность выявления ошибок, в том числе и тех, которые не поддаются исправлению.