Припередаче данных в сетях связи, особенно в условиях импульсных помех, наблюдаемых в телефонных сетях, а также при наличии в них проскальзываний (при несоответствии частот тактовых генераторов на передаче и приеме), возникают ошибки передачи. Наиболее распространенные из них - ложные преобразования "0" в "1" и наоборот, пропадание или появление дополнительного битового интервала, или стирание символов. Возникающие ошибки м.б. как одиночными, так и множественными, имеющими характер пачки ошибок.
Для их обнаружения и коррекции используются различные методы, некоторые из них мы уже упоминали. Ниже они перечислены и расшифрованы настолько, чтобы можно было по- нять их функциональное назначение, а именно:
· ARQ (Automatic Request for repeat) - автоматический запрос на повтор передачи - техника передачи, при которой приемник запрашивает передатчик повторно послать блок данных, если при приеме блок/сообщение принят/принято с ошибкой (используется модемами и технологией Х.25);
· PC (Parity Check) - контроль четности - добавление не более одного бита так, чтобы общее число '1' бит было четным или нечетным при передаче с проверкой этого факта при приеме; эта процедура позволяет только обнаружить наличие ошибок и то лишь в случае, если число ошибок не является четно кратным;
· BIP (Bit Interleaved Parity) - контроль четности чередующихся бит - техника контроля четности, используемая применительно к схемам мультиплексирования потоков; эта процедура, как и PC, позволяет лишь обнаружить ошибки;
· CRC-n (Cyclic Redundancy Check) - n-битная проверка с помощью циклического избыточного кода - схема проверки на наличие ошибок, использующая циклический неприводимый полином порядка n и формирующая код Сn с n избыточными битами (где n - произвольно заданное целое число (порядок полинома, например, 4, 6,12), добавляемыми в виде n-битного блока к проверяемой при приеме последовательности для проверки кадра/фрейма (FCS). FCS вычисляется при передаче. В ряде случаев эта схема проверки обозначается сокращением FCS, а не CRC, что допустимо в силу того, что это единый процесс. Он работает значительно более четко, чем контроль четности, т.к. не зависит от феномена четной кратности ошибок и позволяет обнаруживать не только одиночные, но и множественные (кратные) ошибки. Нужно помнить, однако, что CRC или FCS не исправляют, а только обнаруживают ошибки;
· ЕСС (Error Correction Code) - код корректирующий ошибки - применяется обычно в схемах упреждающей коррекции ошибок (FEC - Forward Error Correction) не только для обнаружения, но и для коррекции ошибок, что позволяет улучшать (иногда значительно) показатель BER - относительный уровень битовых ошибок в СПД. Несмотря на очевидные преимущества перед другими методами контроля ошибок, схемы с FEC усложняют оборудование и существенно (на 7-10-25%) увеличивают избыточность исходной двоичной последовательности. Существует довольно много таких кодов, разделяемых на два основных класса: блоковые и сверточные. Так, например, в системах SDH-WDM используются полиномиальные блоковые коды Рида-Соломона (RS), позволяющие сохранить структуру информационного блока в процессе кодирования и исправлять как одиночные, так и множественные ошибки в нем.
Различные методы локальной и глобальной связи применяют различные приемы/процедуры проверки и исправления ошибок, которые сводятся к следующим управляющим воздействиям:
· повторять передачу сообщения определенное копичество раз, пока оно не будет принято без ошибки (так поступают, например, при модемной связи и в технологии Х.25);
· сбросить ошибочное сообщение в корзину и продолжить передачу (так поступают, например, в технологии FR, ATM);
· игнорировать ошибочные выборки в сообщении, используя или нет интерполяцию для восстановления потерянной или ошибочно принятой выборки (так поступают в цифровой телефонной связи, ИКМ и ISDN);
· сформировать сообщение об ошибке и остановить передачу, если уровень ошибок превысит допустимые пределы (так поступают в технологии PDH, SDH, WDM);
· попытаться скорректировать ошибку, не останавливая передачи, если технология предусматривает использование FEC (так поступают в технологиях SDH (уровня не ниже STM-64) и DWDM).
Функция сжатия данных
Сжатие данных - способ уменьшения числа передаваемых бит для снижения объема передаваемых данных и увеличения эффективности (скорости) передачи.
Существует ряд способов сжатия, наиболее широко применяемые из них следующие:
· Упаковка десятичных цифр. Неупакованные десятичные числа используют кодировку ASCII или EBCDIC (т.е. поле длиной 1 байт) для каждой разрядной цифры. Это избыточно, т.к. для двоичного представления каждой такой цифры достаточно поле в 4 бита (1 ниббл). Удаляя зонную часть (4 старших разряда), можно поместить в 1 байт 2 десятичные цифры, знак, если он присутствует, помещается в ниббл самых младших разрядов. В результате достигается существенное сокращение длины представления десятичного числа. Например, число -137 в коде EBCDIC имеет 16-ричный код F1F3D7 и занимает 24 битовые позиции, тогда как в упакованном виде оно имеет вид 137D, или 16 позиций. Аналогично в ASCII число -137 это 20010307 (32 позиции), а в упакованном виде - тот же вид: 137D (16 позиций).
· Относитепьное кодирование. Этот метод применяется тогда, когда структура данных мало меняется при переходе от одного элемента данных к соседнему эпементу. В этом случае после базового значения может передаваться дополнительно только изменяемая часть.
· Подавление символов. Этот метод напоминает упомянутый выше. Если передаваемые данные содержат повторяющиеся символы (например, символ пробела), то их можно заменить каким-то общим указателем меньшей длины, уменьшая, тем самым, общую длину сообщения.
· Кодирование по Хаффману. Метод основан на том факте, что передаваемые символы имеют разные частоты повторения в сообщении, т.е. применяется статистический подход, при котором часто используемые символы кодируются более эффективно (сжато), занимай меньшую длину, чем редко появляющиеся символы. Так построены попупярные алгоритмы сжатия данных: pkzip, arj.