Кодирование информации в локальных сетях

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

Наиболее распространенные коды передачи информации

Рис. 2.10. Наиболее распространенные коды передачи информации

На рисунке 2.10 представлены различные коды, применяемые в локальных сетях. Давайте рассмотрим их особенности.

Код NRZ (Non Return to Zero - без возврата к нулю) — это простейший код, по сути, обычный цифровой сигнал. Его преимущества: простота реализации и минимальная необходимая пропускная способность линии связи. Однако есть и недостатки: возможная потеря синхронизации при приеме длинных блоков данных из-за расхождения во времени между приемником и передатчиком.

Скорость передачи и требуемая пропускная способность при коде NRZ

Рис. 2.11. Скорость передачи и требуемая пропускная способность при коде NRZ

Если рассмотреть код NRZ более детально, стоит отметить, что при длительной передаче данных возможна потеря синхронизации. Приемник может начать прием данных только с первого стартового бита пакета и далее полагается на свой внутренний тактовый генератор. Если часы приемника и передатчика не синхронизированы, это может привести к потере данных.

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

Передача в коде NRZ с синхросигналом

Рис. 2.12. Передача в коде NRZ с синхросигналом

Поэтому код NRZ используется только для передачи короткими пакетами (обычно до 1 Кбита). Для синхронизации начала приема пакета используется стартовый служебный бит, чей уровень отличается от пассивного состояния линии связи (например, пассивное состояние линии при отсутствии передачи - 0, стартовый бит - 1). Наиболее известное применение кода NRZ - стандарт RS232-C, последовательный порт персонального компьютера. Передача информации в нем ведется байтами (8 бит), сопровождаемыми стартовым и стоповым битами.

Код RZ (Return to Zero - с возвратом к нулю) - этот трехуровневый код получил такое название потому, что после значащего уровня сигнала в первой половине передаваемого бита информации следует возврат к некоему «нулевому» уровню (например, к нулевому потенциалу). Переход к нему происходит в середине каждого бита. Логическому нулю, таким образом, соответствует положительный импульс, логической единице - отрицательный (или наоборот) в первой половине битового интервала.

Особенностью кода RZ является то, что в центре бита всегда есть переход (положительный или отрицательный), следовательно, из этого кода приемник может выделить синхроимпульс (строб). В данном случае возможна временная привязка не только к началу пакета, как в случае кода NRZ, но и к каждому отдельному биту, поэтому потери синхронизации не произойдет при любой длине пакета. Такие коды, несущие в себе строб, получили название самосинхронизирующихся.

Недостаток кода RZ состоит в том, что для него требуется вдвое большая полоса пропускания канала при той же скорости передачи по сравнению с NRZ (так как здесь на один бит приходится два изменения уровня напряжения). Например, для скорости передачи информации 10 Мбит/с требуется пропускная способность линии связи 10 МГц, а не 5 МГц, как при коде NRZ.

Использование кода RZ в оптоволоконных сетях

Рис. 2.13. Использование кода RZ в оптоволоконных сетях

Код RZ применяется не только в сетях на основе электрического кабеля, но и в оптоволоконных сетях. Поскольку в них не существует положительных и отрицательных уровней сигнала, используется три уровня: отсутствие света, «средний» свет, «сильный» свет. Это очень удобно: даже когда нет передачи информации, свет все равно присутствует, что позволяет легко определить целостность оптоволоконной линии связи без дополнительных мер (рис. 2.13).

Код Манчестер-П, или манчестерский код, получил наибольшее распространение в локальных сетях. Он также относится к самосинхронизирующимся кодам, но в отличие от кода RZ имеет не три, а всего только два уровня, что способствует его лучшей помехозащищенности. Логическому нулю соответствует положительный переход в центре бита (то есть первая половина битового интервала - низкий уровень, вторая половина — высокий), а логической единице соответствует отрицательный переход в центре бита (или наоборот).

Обязательное наличие перехода в центре бита позволяет приемнику кода Манчестер-П легко выделить из пришедшего сигнала синхросигнал, что дает возможность передавать информацию сколь угодно большими пакетами без потерь из-за рассинхронизации. Допустимое расхождение часов приемника и передатчика может достигать величины 25%. Как и в случае кода RZ, пропускная способность линии требуется в два раза выше, чем при использовании простейшего кода NRZ. Например, для скорости передачи 10 Мбит/с требуется полоса пропускания 10 МГц. Код Манчестер-П используется как в электрических кабелях, так и в оптоволоконных кабелях (в последнем случае один уровень соответствует отсутствию света, а другой - наличию света).

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

Частотный спектр сигнала при манчестерском кодировании включает в себя только две частоты: при скорости передачи 10 Мбит/с это 10 МГц (соответствует передаваемой цепочке из одних нулей или из одних единиц) и 5 МГц (соответствует последовательности из чередующихся нулей и единиц: 1010101010 ...), поэтому с помощью простейших полосовых фильтров можно легко отфильтровать все другие частоты (помехи, наводки, шумы).

Так же как и в случае кода RZ, при манчестерском кодировании очень просто определить, идет передача или нет, то есть детектировать занятость сети или, как еще говорят, обнаруживать несущую частоту. Для этого достаточно контролировать, происходит ли изменение сигнала в течение битового интервала. Обнаружение несущей частоты необходимо, например, для определения момента начала и конца принимаемого пакета, а также для предотвращения начала передачи в случае занятости сети (когда передает какой-то другой абонент).

Стандартный манчестерский код имеет несколько вариантов, один из которых показан на рис. 2.10. Данный код, в отличие от классического, не зависит от перемены мест двух проводов кабеля. Особенно это удобно в случае, когда для связи используется витая пара, провода которой легко перепутать. Именно этот код используется в одной из самых известных сетей Token-Ring фирмы IBM.

Принцип данного кода прост: в начале каждого битового интервала сигнал меняет уровень на противоположный предыдущему, а в середине единичных (и только единичных) битовых интервалов уровень изменяется еще раз. Таким образом, в начале битового интервала всегда есть переход, который используется для самосинхронизации. Как и в случае классического кода Манчестер-П, в частотном спектре при этом присутствует две частоты. При скорости 10 Мбит/с это частоты 10 МГц (при последовательности одних единиц: 11111111...) и 5 МГц (при последовательности одних нулей: 00000000...).

Здесь же стоит упомянуть о том, что часто совершенно неправомерно считается, что скорость передачи в бодах равняется скорости передачи в битах в секунду. Это верно только в случае кода NRZ. Скорость в бодах характеризует не количество передаваемых бит в секунду, а количество изменений уровня сигнала в секунду. При использовании кодов RZ или Манчестер-П требуемая скорость в бодах оказывается вдвое выше, чем при коде NRZ, поэтому логичнее измерять скорость передачи по сети не в бодах, а в битах в секунду (бит/с, Кбит/с, Мбит/с).

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

Чаще всего для этого в поток передаваемых битов добавляют биты синхронизации, например, один бит синхронизации на 4, 5 или 6 информационных битов или два бита синхронизации на 8 информационных битов. Правда, в действительности все обстоит несколько сложнее: кодирование не сводится к простой вставке в передаваемые данные дополнительных битов. Группы информационных битов преобразуются в передаваемые по сети группы с количеством битов на один или два больше. Приемник, естественно, осуществляет обратное преобразование, восстанавливает исходные информационные биты. Довольно просто осуществляется в этом случае и обнаружение несущей частоты (то есть детектирование передачи).

В сети FDDI, работающей на скорости 100 Мбит/с, используется кодирование 4В/5В. В этом коде 4 информационных бита кодируются в 5 передаваемых битов. Главное преимущество этого метода заключается в том, что синхронизация приемника происходит один раз для каждых 4 битов, вместо синхронизации при каждом бите в коде Манчестер-П. Из-за этого полоса пропускания увеличивается не вдвое, как в коде NRZ, а только на 1,25 раза, достигая 62,5 МГц. Существуют и другие кодировки, такие как 5В/6В для стандартной сети 100VG-AnyLAN и 8В/10В для сети Gigabit Ethernet.

Для сегмента 100BASE-T4 в сети Fast Ethernet выбран иной подход — кодирование 8В/6Т. Этот код предполагает параллельную передачу трех трехуровневых сигналов по трём витым парам. Это позволяет достигать скорости 100 Мбит/с даже на менее дорогих кабелях категории 3, которые имеют полосу пропускания всего в 16 МГц (см. табл. 2.1). Однако такое решение требует больше кабеля и увеличивает количество приемников и передатчиков. Кроме того, очень важно, чтобы все провода были одной длины, чтобы задержки сигналов в разных проводах были схожими.

Подробнее эти коды будут рассмотрены в разделах книги, посвященных конкретным типам существующих сетей.

Все упомянутые коды предусматривают непосредственную передачу в сеть цифровых двух- или трехуровневых прямоугольных импульсов. Однако иногда в сетях используется и другой путь - модуляция информационными импульсами высокочастотного аналогового сигнала. Такое аналоговое кодирование позволяет при переходе на широкополосную передачу существенно увеличить пропускную способность канала связи. К тому же, как уже отмечалось, при прохождении по каналу связи аналогового сигнала (синусоидального) не искажается форма сигнала, а только уменьшается его амплитуда, а в случае цифрового сигнала еще и искажается форма сигнала (см. рис. 2.5).

Аналоговое кодирование цифровой информации

Рис. 2.14. Аналоговое кодирование цифровой информации

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