Обнаружение и исправление ошибок
Создание работоспособного физического тракта передачи — это первый шаг в построении надежной коммуникационной системы. Второй шаг — гарантировать доставку данных без искажений. Помимо этого при подключении более чем одного передатчика к одному и тому же физическому тракту должен быть упорядочен их доступ к общему каналу. Все эти задачи рассматриваются на канальном уровне модели ВОС.
Физический уровень не обеспечивает защиту данных от помех и восстановление поврежденных данных. Контроль правильности полученных данных осуществляется на уровнях выше физического и, в первую очередь, на канальном. Для этого применяются специальные протоколы и дополнительная информация в пакетах данных.
Существует несколько канальных протоколов, основанных на общих принципах. В этом разделе подробно рассмотрен протокол HDLC (высокоуровневоеуправление каналом передачи данных), поскольку он утвержден стандартом ISO и представляет собой основу для других протоколов, используемых в промышленных приложениях.
Из-за того что полоса пропускания конечна, каналы связи следует рассматривать как ограниченный ресурс, который должен использоваться максимально эффективно. Если в некоторый момент времени доступ к каналу требуется сразу нескольким устройствам, то возникает задача арбитража, как и при доступе к системной (общей) шине или к ресурсам ЦП. Во всех случаях применяются похожие принципы.
Канальный уровень обычно делится на два подуровня:
1-управление доступом к среде;
2 -управление логическим звеном данных.
Подуровень управление доступом к среде отвечает за организацию доступа нескольких передатчиков к одному физическому тракту передачи. Подуровень управление логическим звеном данных обеспечивает установку и поддержку соединения для передачи кадров данных от одного устройства к другому. Протоколы 1-го подуровня определяются типом применяемого интерфейсного оборудования для доступа к среде передачи.
Физический уровень, выполняющий основную работу по передаче данных между узлами, не дает гарантий, что данные будут доставлены в исходном виде. Шум в линии может частично исказить сообщение. Для обеспечения защиты данных необходимо использовать некоторую стратегию коррекции ошибок. Эта процедура требует активного участия и передатчика, и приемника.
Для выявления ошибок при передаче данных были разработаны методы контроля. Основной подход — добавить к исходному сообщению дополнительную информацию, позволяющую приемнику установить наличие ошибок при передаче.
Для цифровых данных ошибки имеют скорее групповой характер, чем затрагивают отдельные биты. Иными словами, более вероятно, что неправильное значение будут иметь несколько последовательных бит, чем только один случайно расположенный бит. Это определяется тем, что источники внешнего шума — скачки и выбросы напряжения и аналогичные возмущения — генерируют импульсы длительностью в несколько миллисекунд. При скоростях передачи данных порядка нескольких Кбит/с возмущение, длящееся несколько миллисекунд, может нарушить несколько десятков бит.
Информация, добавляемая к сообщению для контроля ошибок передачи, состоит из одного или нескольких байт, вычисленных из содержимого исходного сообщения по определенному алгоритму, и называется контрольной суммой или контролем с использованием циклического избыточного кода или контрольной последовательностью кадра. Название «циклический избыточный код» происходит от того, что вычисление можно выполнить с помощью операции регистрового сдвига над битами входного блока данных. Самый распространенный способ определения контрольной суммы — разбить подлежащие передаче данные на блоки известной длины (от нескольких байт до нескольких тысяч байт). Далее содержимое каждого блока, рассматриваемое как двоичное число, делится на двоичное число длиной один или два байта. Контрольной суммой является остаток от деления или его двоичное дополнение длиной до нескольких десятков бит. Двоичное число, используемое при делении, называется порождающим многочленом и обычно записывается в виде
Полиномиальная форма представляет собой не уравнение, а просто способ записи. Порождающий многочлен на один бит длиннее результирующей контрольной суммы, и он начинается и заканчивается единицей. В нем указываются только степени, отличные от нуля (степень полинома дает длину контрольной суммы в битах). Например, стандартный порождающий многочлен для циклического избыточного кода имеет вид
что соответствует двоичной последовательности 1000100000010001.
Приемник заново вычисляет контрольную сумму каждого из принятых блоков данных с помощью того же алгоритма. Если обе контрольные суммы совпадают, блок данных принимается, в противном случае приемник считает, что есть ошибки, и может, например, запросить повторную передачу блока.
Когда контрольная сумма добавляется к исходным данным, результирующая битовая последовательность передаваемого блока данных становится кратна порождающему многочлену. Если данные не повреждены, то операция деления на порождающий многочлен должна дать в остатке ноль. Другой результат указывает на повреждение данных блока и необходимость его повторной передачи.
Эффективность контрольной суммы для определения ошибок уменьшается, если блоки данных имеют большую длину. При этом возможно выявление всех групп ошибочных бит длиной меньше, чем контрольная сумма, и более 99 % ошибок с большей длиной.
Стратегия коррекции ошибок должна предусматривать добавление к исходному сообщению и совместную с ним передачу достаточного количества информации, чтобы приемник мог восстановить поврежденное сообщение на основе принятых данных. Приемник использует всю принятую информацию для восстановления исходных данных. Необходимые избыточные данные заметно увеличивают длину исходного сообщения, обычно на 10-20 %, так что, как правило, более экономично использовать простую схему обнаружения ошибок и запрашивать повторную передачу поврежденных блоков данных. Процедуры коррекции ошибок имеют особое значение, если связь осуществляется только в одном направлении (например, телеметрические данные с космического объекта) или если полная дуплексная связь с повторной передачей блоков данных невозможна.
Дата добавления: 2016-02-09; просмотров: 712;