Кодирование передаваемой по сети информации имеет самое непосредственное отношение к соотношению максимально допустимой скорости передачи и пропускной способности используемой среды передачи. Например , при разных кодах предельная скорость передачи по одному и тому же кабелю может отличаться в два раза. От выбранного кода напрямую зависят также сложность сетевой аппаратуры и надежность передачи информации.
Применительно к физическому кодированию используются следующие термины и виды качественных признаков сигнала, применяемого для электрической передачи по каналу связи [5]:
-потенциальное кодирование (potential coding) - информативным является уровень сигнала в определенные моменты времени;
-транзитивное кодирование (transition coding) - информативным является переход из одного состояния в другое;
-униполярное (unipolar) - сигнал одной полярности используется для представления одного значения, нулевой сигнал - для другого;
-полярное (polar) - сигнал одной полярности используется для представления одного значения, сигнал другой полярности - для другого. При оптоволоконной передаче вместо разной полярности используются два хорошо различимых значения амплитуды импульса;
-биполярное (bipolar), или двухполярное - использует положительное, отрицательное и нулевое значения для представления трех состояний;
-двухфазное (biphase) - в каждом битовом интервале обязательно присутствует переход из одного состояния в другое, что используется для выделения синхросигнала.
Некоторые коды, используемые для модуляции сигналов в локальных сетях, показаны на рис. 3.1. Рассмотрим их преимущества и недостатки [6].
Рисунок 3.1 - Наиболее распространенные коды передачи информации
Код NRZ (Non Return to Zero -без возврата к нулю) - это простейший полярный код, представляющий собой практически обычный цифровой сигнал.
К несомненным достоинствам кода NRZ относятся его очень простая реализация (исходный сигнал не надо ни кодировать на передающем конце, ни декодировать на приемном конце), а также минимальная среди других кодов пропускная способность линии связи, требуемая при данной скорости передачи.
Самый большой недостаток кода NRZ – это возможность потери синхронизации приемником при приеме слишком длинных блоков (пакетов) информации. Приемник может привязывать момент начала приема только к первому (стартовому) биту пакета, а в течение приема пакета он вынужден пользоваться только собственным внутренним тактовым генератором. Если часы приемника расходятся с часами передатчика в ту или другую сторону, то временной сдвиг к концу приема пакета может превысить длительность одного бита или даже нескольких бит. В результате произойдет потеря переданных данных. Так, при длине пакета в 10000 битов допустимое расхождение часов составит не более 0,01% даже при идеальной передаче формы сигнала по кабелю. Поэтому код NRZ используется только для передачи короткими пакетами (обычно до 1 Кбита).
Чтобы избежать потери синхронизации, можно было бы ввести вторую линию связи для синхросигнала.
Наиболее известное применение кода NRZ - стандарт RS 232-C, последовательный порт персонального компьютера. Передача информации в нем ведется байтами (8 битов), сопровождаемыми стартовым и стоповым битами.
Код RZ (Return to Zero - возвратом к нулю) - этот двухфазный биполярный код получил такое название потому, что после значащего уровня сигнала в первой половине передаваемого бита информации следует возврат к некоему «нулевому» уровню (например, к нулевому потенциалу).
Переход к нему происходит в середине каждого бита. Логическому нулю, таким образом, соответствует положительный импульс, логической единице - отрицательный (или наоборот) в первой половине битового интервала.
Особенностью кода RZ является то, что в центре бита всегда есть переход (положительный или отрицательный), следовательно, из этого кода приемник может выделить синхроимпульс (строб). В данном случае возможна временная привязка не только к началу пакета, как в случае кода NRZ, но и к каждому отдельному биту. Поэтому потери синхронизации не произойдёт при любой длине пакета. Такие коды, несущие в себе строб, получили название самосинхронизирующихся.
Недостаток кода RZ состоит в том, что для него требуется вдвое большая полоса пропускания канала той же скорости передачи по сравнению с NRZ (так как здесь на один бит приходится два изменения уровня напряжения).
Код RZ применяется не только в сетях на основе электрического кабеля, но и в оптоволоконных сетях. Поскольку в них не существует положительных и отрицательных уровней сигнала, используется три уровня: отсутствие света, «средний» свет, «сильный» свет. Это очень удобно: даже когда нет передачи информации, свет все равно присутствует, что позволяет легко определить целостность оптоволоконной линии связи без дополнительных мер.
Код Манчестер-II, или манчестерский код, получил наибольшее распространение в локальных сетях. Он также относится к самосинхронизирующимся двухфазным полярным или униполярным кодам, но в отличие от кода RZ имеет не три, а всего только два уровня, что способствует его лучшей помехозащищенности. Логическому нулю соответствует положительный переход в центре бита (то есть первая половина битового интервала - низкий уровень, вторая половина - высокий), а логической единице соответствует отрицательный переход в центре бита (или наоборот).