Обнаружение и исправление ошибок

 

 

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

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

Существует несколько канальных протоколов, основанных на общих принципах. В этом разделе подробно рассмотрен протокол HDLC (высокоуровневоеуправление каналом передачи данных), поскольку он утвержден стандартом ISO и представляет собой основу для других протоколов, используемых в промышленных приложениях.

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

Канальный уровень обычно делится на два подуровня:

1-управление доступом к среде;

2 -управление логическим зве­ном данных.

Подуровень управление доступом к среде отвечает за организацию доступа нескольких передатчиков к одному физическому тракту передачи. Подуровень управление логическим зве­ном данных обеспечивает установку и поддержку соединения для передачи кадров данных от одного устройства к другому. Протоколы 1-го подуровня определяются типом применяемого интерфейсного обору­дования для доступа к среде передачи.

Физический уровень, выполняющий основную работу по передаче данных между узлами, не дает гарантий, что данные будут доставлены в исходном виде. Шум в ли­нии может частично исказить сообщение. Для обеспечения защиты данных необхо­димо использовать некоторую стратегию коррекции ошибок. Эта процедура требует активного участия и передатчика, и приемника.

Для выявления ошибок при передаче данных были разработаны методы контро­ля. Основной подход — добавить к исходному сообщению дополнительную инфор­мацию, позволяющую приемнику установить наличие ошибок при передаче.

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

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

 

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

что соответствует двоичной последовательности 1000100000010001.

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

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

Эффективность контрольной суммы для определения ошибок уменьшается, если блоки данных имеют большую длину. При этом возможно выявление всех групп ошибочных бит длиной меньше, чем контрольная сумма, и более 99 % ошибок с боль­шей длиной.

Стратегия коррекции ошибок должна предусматривать добавление к исходному сообщению и совместную с ним передачу достаточного количества информации, что­бы приемник мог восстановить поврежденное сообщение на основе принятых дан­ных. Приемник использует всю принятую информацию для восстановления исход­ных данных. Необходимые избыточные данные заметно увеличивают длину исходного сообщения, обычно на 10-20 %, так что, как правило, более экономично использовать простую схему обнаружения ошибок и запрашивать повторную пере­дачу поврежденных блоков данных. Процедуры коррекции ошибок имеют особое значение, если связь осуществляется только в одном направлении (например, теле­метрические данные с космического объекта) или если полная дуплексная связь с повторной передачей блоков данных невозможна.








Дата добавления: 2016-02-09; просмотров: 707;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.