Обеспечение достоверности передачи информации
Причины возникновения ошибок при передаче информации в сетях
Проблема обеспечения безошибочности (достоверности) передачи информации в сетях имеет очень большое значение. Если при передаче обычной телеграммы возникает в тексте ошибка или при разговоре по телефону слышен треск, то в большинстве случаев ошибки и искажения легко обнаруживаются по смыслу. Но при передаче данных одна ошибка (искажение одного бита) на тысячу переданных сигналов может серьезно отразиться на качестве информации.
Существует множество методов обеспечения достоверности передачи информации (методов защиты от ошибок), отличающихся по используемым для их реализации средствам, по затратам времени на их применение на передающем и приемном пунктах, по затратам дополнительного времени на передачу фиксированного объема данных (оно обусловлено изменением объема трафика пользователя при реализации данного метода), по степени обеспечения достоверности передачи информации. Практическое воплощение методов состоит из двух частей - программной и аппаратной. Соотношение между ними может быть самым различным, вплоть до почти полного отсутствия одной из частей. Чем больше удельный вес аппаратных средств по сравнению с программными, тем при прочих равных условиях сложнее оборудование, реализующее метод, и меньше затрат времени на его реализацию, и наоборот.
Выделяют две основные причины возникновения ошибок при передаче информации в сетях:
- сбои в какой-то части оборудования сети или возникновение неблагоприятных объективных событий в сети (например, коллизий при использовании метода случайного доступа в сеть). Как правило, система передачи данных готова к такого рода проявлениям и устраняет их с помощью планово предусмотренных средств;
- помехи, вызванные внешними источниками и атмосферными явлениями. Помехи - это электрические возмущения, возникающие в самой аппаратуре или попадающие в нее извне. Наиболее распространенными являются флуктуационные (случайные) помехи. Они представляют собой последовательность импульсов, имеющих случайную амплитуду и следующих друг за другом через различные промежутки времени. Примерами таких помех могут быть атмосферные и индустриальные помехи, которые обычно проявляются в виде одиночных импульсов малой длительности и большой амплитуды. Возможны и сосредоточенные помехи в виде синусоидальных колебаний. К ним относятся сигналы от посторонних радиостанций, излучения генераторов высокой частоты. Встречаются и смешанные помехи. В приемнике помехи могут настолько ослабить информационный сигнал, что он либо вообще не будет обнаружен, либо искажен так, что “единица” может перейти в “нуль” и наоборот.
Трудности борьбы с помехами заключаются в беспорядочности, нерегулярности и в структурном сходстве помех с информационными сигналами. Поэтому защита информации от ошибок и вредного влияния помех имеет большое практическое значение и является одной из серьезных проблем современной теории и техники связи.
Методы защиты от ошибок
Среди многочисленных методов защиты от ошибок выделяются три группы методов: групповые методы, помехоустойчивое кодирование и методы защиты от ошибок в системах передачи с обратной связью.
Из групповых методов получили широкое применение мажоритарный метод, реализующий принцип Вердена, и метод передачи информационными блоками с количественной характеристикой блока.
Суть мажоритарного метода, давно используемого в телеграфии, состоит в следующем. Каждое сообщение ограниченной длины передается несколько раз, чаще всего три раза. Принимаемые сообщения запоминаются, а потом производится их поразрядное сравнение. Суждение о правильности передачи выносится по совпадению большинства из принятой информации методом “два из трех”. Например, кодовая комбинация 01101 при трехразовой передаче была частично искажена помехами, поэтому приемник принял такие комбинации: 10101 , 01110 , 01001 . В результате проверки каждой позиции отдельно правильной считается комбинация 01101.
Другой групповой метод, также не требующий перекодирования информации, предполагает передачу данных блоками с количественной характеристикой блока. Такими характеристиками могут быть: число единиц или нулей в блоке, контрольная сумма передаваемых символов в блоке, остаток от деления контрольной суммы на постоянную величину и др. На приемном пункте эта характеристика вновь подсчитывается и сравнивается с переданной по каналу связи. Если характеристики совпадают, считается, что блок не содержит ошибок. В противном случае на передающую сторону передается сигнал с требованием повторной передачи блока. В современных ТКС такой метод получил самое широкое распространение.
Помехоустойчивое (избыточное) кодирование, предполагающее разработку и использование корректирующих (помехоустойчивых) кодов, применяется не только в ТКС, но и в ЭВМ для защиты от ошибок при передаче информации между устройствами машины. Оно позволяет получить более высокие качественные показатели работы систем связи. Его основное назначение - в обеспечении малой вероятности искажений передаваемой информации, несмотря на присутствие помех или сбоев в работе сети.
Существует довольно большое количество помехоустойчивых различных кодов, отличающихся друг от друга по ряду показателей и, прежде всего по своим корректирующим возможностям.
К числу наиболее важных показателей корректирующих кодов относятся:
- значность кода, или длина кодовой комбинации, включающей информационные символы (m) и проверочные, или контрольные символы (К). Обычно значность кода n есть сумма m+К;
- избыточность кода Кизб, выражаемая отношением числа контрольных символов в кодовой комбинации к значности кода;
- корректирующая способность кода Ккс, представляющая собой отношение числа кодовых комбинаций L, в которых ошибки были обнаружены и исправлены, к общему числу переданных кодовых комбинаций М в фиксированном объеме информации.
Выбор корректирующего кода для его использования в данной ТКС зависит от требований по достоверности передачи информации. Для правильного выбора кода необходимы статистические данные о закономерностях появления ошибок, их характере, численности и распределении во времени. Например, корректирующий код, обнаруживающий и исправляющий одиночные ошибки, эффективен лишь при условии, что ошибки статистически независимы, а вероятность их появления не превышает некоторой величины. Он оказывается непригодным, если ошибки появляются группами. При выборе кода надо стремиться, чтобы он имел меньшую избыточность. Чем больше коэффициент Кизб, тем менее эффективно используется пропускная способность канала связи и больше затрачивается времени на передачу информации, но зато выше помехоустойчивость системы.
В качестве примера рассмотрим порядок кодирования информации (формирования кодовой комбинации для ее передачи адресату) и декодирования (выявления и исправления ошибок в принятой кодовой комбинации и выделения из нее информационных символов, т.е. информации пользователя) при использовании одного из популярных корректирующих кодов-кода Хэмминга, обнаруживающего и исправляющего одиночные ошибки.
В этом коде контрольные символы занимают позиции, соответствующие значениям 20, 21, 22, 23 и т.д., т.е. позиции с номерами 1, 2, 4, 8 и т.д. (нумерация позиций кодовой - слева направо). Количество контрольных символов в кодовой комбинации должно быть таким, чтобы в процессе декодирования сформированное корректирующее число (в двоичной системе счисления) могло указать позицию кодовой комбинации с максимальным номером. Например, для пяти информационных разрядов потребуется четыре контрольных. В полученной кодовой комбинации позиция с наибольшим номером будет 9-й, что записывается как 1001, т.е. требует четырех разрядов.
Значения контрольных символов при кодировании определяются путем контроля на четность количества единиц в информационных разрядах кодовой комбинации. Значение контрольного символа равно 0, если количество единиц будет четным, и равно 1 при нечетном количестве единиц.
При определении значения 1-го контрольного символа, размещаемого на 1-й позиции кодовой комбинации, проверяются на четность те информационные позиции, двоичные изображения номеров которых содержат единицу в младшем разряде, т.е. проверяются позиции с нечетными номерами. При определении значения 2-го контрольного символа, размещаемого на 2-й позиции кодовой комбинации, проверяются на четность те информационные позиции, двоичные изображения номеров которых содержат единицу во 2-м разряде, т.е. позиции с номерами 3, 6, 7, 10, 11 и т.д. Значение 3-го контрольного символа, размещаемого на 4-й позиции кодовой комбинации, определяется путем контроля на четность тех информационных позиций, двоичные изображения номеров которых содержат единицу в 3-м разряде, т.е. позиции с номерами 5, 6, 7, 12 и т.д. Аналогично устанавливаются значения и других контрольных символов.
В процессе декодирования формируется корректирующее число (КЧ), разрядность двоичного изображения которого устанавливается по указанному выше правилу. Значения разрядов этого числа определяются по правилам, аналогичным тем, которые использовались для определения значений контрольных символов в процессе кодирования. Разница лишь в том, что при определении значений разрядов КЧ проверяются на четность не только информационные позиции, но и контрольные. Например, для определения значения младшего разряда КЧ, проверяются на четность те позиции кодовой комбинации, двоичные изображения номеров которых содержат единицу в младшем разряде, т.е. позиции с нечетными номерами 1, 3, 5, 7 и т.д.
Значение корректирующего числа определяет номер позиции кодовой комбинации, в которой произошла ошибка. Для ее исправления необходимо значение кода в этой позиции изменить на противоположное (0 на 1 или 1 на 0). Если КЧ равно нулю, то это указывает на отсутствие ошибок в принятой кодовой комбинации. Процесс декодирования завершается выделением из кодовой комбинации информационных символов.
Заметим, что в ТКС корректирующие коды в основном применяются для обнаружения ошибок, исправление которых осуществляется путем повторной передачи искаженной информации. С этой целью в сетях используются системы передачи с обратной связью (наличие между абонентами дуплексной связи облегчает применение таких систем).
Системы передачи с обратной связью делятся на системы с решающей обратной связью и системы с информационной обратной связью.
Особенностью систем с решающей обратной связью (иначе: систем с перезапросом) является то, что решение о необходимости повторной передачи информации (сообщения, пакета) принимает приемник. Здесь обязательно применяется помехоустойчивое кодирование, с помощью которого на приемной станции осуществляется проверка принимаемой информации. При обнаружении ошибки на передающую сторону по каналу обратной связи посылается сигнал перезапроса, по которому информация передается повторно. Канал обратной связи используется также для посылки сигнала подтверждения правильности приема, автоматически определяющего начало следующей передачи.
В системах с информационной обратной связью передача информации осуществляется без помехоустойчивого кодирования. Приемник, приняв информацию по прямому каналу и зафиксировав ее в своей памяти, передает ее в полном объеме по каналу обратной связи передатчику, где переданная и возвращенная информация сравниваются. При совпадении передатчик посылает приемнику сигнал подтверждения, в противном случае происходит повторная передача всей информации. Таким образом, здесь решение о необходимости повторной передачи принимает передатчик.
Обе рассмотренные системы обеспечивают практически одинаковую достоверность, однако, в системах с решающей обратной связью пропускная способность каналов используется эффективнее, поэтому они получили большее распространение.