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

Обновлено: 04.07.2024

Отличительные признаки локальной вычислительной сети [1] :

-высокая скорость передачи информации (не менее 10 Мбит/с);

-низкий уровень ошибок передачи (высококачественные каналы связи) - допустимая вероятность ошибок передачи данных - 10 -8 .

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

-регламентированное количество компьютеров, подключаемых к сети.

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

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

По локальной сети может передаваться разнообразная цифровая информация: данные, изображения, голосовой трафик, электронные письма и т.д. Чаще всего локальные сети используются для разделения (совместного использования) таких ресурсов, как дисковое пространство, принтеров и выхода в глобальную сеть, но это всего лишь малая доля тех возможностей, которые предоставляют средства локальных сетей. Например, они позволяют осуществлять обмен информацией между компьютерами разных типов [2] . Полноценными абонентами (узлами) сети могут быть не только компьютеры, но и другие устройства, поддерживающие сетевые технологии - принтеры, плоттеры, сканеры, дисковые массивы. Локальные сети дают также возможность организовать многопроцессорную вычислительную среду на всех компьютерах сети, что ускоряет решение сложных, ресурсоемких задач. С их помощью можно управлять работой технологической системы или исследовательской установки в режиме реального времени с нескольких компьютеров одновременно.

Вместе с тем компьютерные сети имеют и существенные недостатки:

-сеть требует дополнительных, иногда значительных материальных затрат на покупку оборудования, сетевого программного обеспечения, на создание сетевой инфраструктуры и обучение персонала;

-сеть требует приема на работу специалиста (администратора сети), который будет заниматься обеспечением работоспособности сети, ее модернизацией, управлением доступом к сетевым ресурсам, устранением неисправностей, защитой информации, резервным копированием и архивированием данных;

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

-сеть является средой для распространения компьютерных вирусов, поэтому вопросам защиты от них придется уделять больше внимания, чем в случае автономного использования компьютеров;

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

Основные определения и термины

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

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

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

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

[1] Кондратенко С., Новиков Ю. Основы локальных сетей [Электронный ресурс]

[2] Бабешко, В.Н. Распределенные информационно-вычислительные системы в туманных вычислительных сетях.

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

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

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


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

Код NRZ

Код NRZ (Non Return to Zero – без возврата к нулю) – это простейший код, представляющий собой обычный цифровой сигнал . Логическому нулю соответствует высокий уровень напряжения в кабеле, логической единице – низкий уровень напряжения (или наоборот, что не принципиально). Уровни могут быть разной полярности (положительной и отрицательной) или же одной полярности (положительной или отрицательной). В течение битового интервала ( bit time , BT), то есть времени передачи одного бита никаких изменений уровня сигнала в кабеле не происходит.

К несомненным достоинствам кода NRZ относятся его довольно простая реализация (исходный сигнал не надо ни специально кодировать на передающем конце, ни декодировать на приемном конце), а также минимальная среди других кодов пропускная способность линии связи, требуемая при данной скорости передачи. Ведь наиболее частое изменение сигнала в сети будет при непрерывном чередовании единиц и нулей, то есть при последовательности 1010101010.. ., поэтому при скорости передачи, равной 10 Мбит/с (длительность одного бита равна 100 нс) частота изменения сигнала и соответственно требуемая пропускная способность линии составит 1 / 200нс = 5 МГц (рис. 3.9).


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

Самый большой недостаток кода NRZ – это возможность потери синхронизации приемником во время приема слишком длинных блоков (пакетов) информации. Приемник может привязывать момент начала приема только к первому (стартовому) биту пакета, а в течение приема пакета он вынужден пользоваться только внутренним тактовым генератором (внутренними часами). Например, если передается последовательность нулей или последовательность единиц, то приемник может определить, где проходят границы битовых интервалов, только по внутренним часам. И если часы приемника расходятся с часами передатчика, то временной сдвиг к концу приема пакета может превысить длительность одного или даже нескольких бит. В результате произойдет потеря переданных данных. Так, при длине пакета в 10000 бит допустимое расхождение часов составит не более 0,01% даже при идеальной передаче формы сигнала по кабелю.

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

В связи с этим код NRZ используется только для передачи короткими пакетами (обычно до 1 Кбита).


Рис. 3.11. Определение окончания последовательности при коде NRZ

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

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

точно знал, в какой момент времени считывать новую порцию информации с линии связи.

При передаче дискретной информации время всегда разбивается на такты одинаковой

длительности, и приемник старается считать новый сигнал в середине каждого такта, то

есть синхронизировать свои действия с передатчиком.

Проблема синхронизации в сетях решается сложнее, чем при обмене данными

между близко расположенными устройствами, например между блоками внутри

компьютера или же между компьютером и принтером.

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


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

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

В сетях для решения проблемы синхронизации применяются так называемые

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

какой момент времени начать распознавание очередного бита (или нескольких битов, если

код ориентирован более чем на два состояния сигнала). Любой резкий перепад сигнала —

фронт — может служить указанием на необходимость синхронизации приемника с

При использовании синусоид в качестве несущего сигнала результирующий код

обладает свойством самосинхронизации, так как изменение амплитуды несущей частоты

дает возможность приемнику определить момент очередного такта.

Распознавание и коррекцию искаженных данных сложно осуществить средствами

физического уровня, поэтому чаще всего эту работу берут на себя протоколы, лежащие

выше: канальный, сетевой, транспортный или прикладной.

В то же время распознавание ошибок на физическом уровне экономит время, так как приемник не ждет полного помещения кадра в буфер, а отбраковывает его сразу при распознавании ошибочных битов внутри кадра.

Требования, предъявляемые к методам кодирования, являются взаимно

противоречивыми, поэтому каждый из рассматриваемых далее популярных методов

кодирования обладает своими достоинствами и недостатками в сравнении с другими.

Потенциальный код NRZ

Потенциальное кодирование называют также кодированием без возвращения к нулю (Non Return to Zero, NRZ).

Последнее название отражает то обстоятельство, что в отличие от других методов

кодирования при передаче последовательности единиц сигнал не возвращается к нулю в


Итак, достоинства метода NRZ.

• Метод обладает хорошей распознаваемостью ошибок (благодаря наличию двух

резко отличающихся потенциалов).

• Основная гармоника fo имеет достаточно низкую частоту (равную N/2 Гц, как

было показано в предыдущем разделе), что приводит к узкому спектру.

Теперь недостатки метода NRZ.

• Метод не обладает свойством самосинхронизации. Даже при наличии

высокоточного тактового генератора приемник может ошибиться с выбором момента

съема данных, так как частоты двух генераторов никогда не бывают полностью

идентичными. Поэтому при высоких скоростях обмена данными и длинных

последовательностях единиц или нулей небольшое рассогласование тактовых частот

может привести к ошибке в целый такт и, соответственно, считыванию некорректного

• Вторым серьезным недостатком метода NRZ является наличие низкочастотной

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

последовательностей единиц или нулей. Из-за этого многие линии связи, не

обеспечивающие прямого гальванического соединения между приемником и источником,

этот вид кодирования не поддерживают. Поэтому в сетях код NRZ в основном

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

самосинхронизации и постоянной составляющей.

Биполярное кодирование AMI

Одной из модификаций метода NRZ является метод биполярного кодирования с

альтернативной инверсией (Alternate Mark Inversion, AMI). В этом методе применяются

три уровня потенциала — отрицательный, нулевой и положительный.

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

каждой новой единицы противоположен потенциалу предыдущей.

При передаче длинных последовательностей единиц код AMI частично решает

проблемы наличия постоянной составляющей и отсутствия самосинхронизации,

присущие коду NRZ. В этих случаях сигнал на линии представляет собой

последовательность разнополярных импульсов с тем же спектром, что и у кода NRZ,

передающего чередующиеся нули и единицы, то есть без постоянной составляющей и с

основной гармоникой N/2 Гц (где N — битовая скорость передачи данных).


Длинные же последовательности нулей для кода AMI столь же опасны, как и для кода NRZ — сигнал вырождается в постоянный потенциал нулевой амплитуды.

В целом, для различных комбинаций битов на линии использование кода AMI

приводит к более узкому спектру сигнала, чем для кода NRZ, а значит, и к более высокой

пропускной способности линии. Например, при передаче чередующихся единиц и нулей

основная гармоника fo имеет частоту N/A Гц.

Код AMI предоставляет также некоторые возможности по распознаванию

ошибочных сигналов. Так, нарушение строгой очередности в полярности сигналов

говорит о ложном импульсе или исчезновении с линии корректного импульса.

В коде AMI используются не два, а три уровня сигнала на линии. Дополнительный

уровень требует увеличение мощности передатчика примерно на 3 дБ для обеспечения

той же достоверности приема битов на линии, что является общим недостатком кодов с

несколькими состояниями сигнала по сравнению с кодами, в которых различают только

Потенциальный код NRZI

Существует код, похожий на AMI, но только с двумя уровнями сигнала. При

передаче нуля он передает потенциал, который был установлен на предыдущем такте (то

есть не меняет его), а при передаче единицы потенциал инвертируется на

противоположный. Этот код называется потенциальным кодом с инверсией при

единице (Non Return to Zero with ones Inverted, NRZI).

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

Код NRZI хорош тем, что в среднем требует меньше изменений сигнала при

передаче произвольной двоичной информации, чем манчестерский код, за счет чего

спектр его сигналов уже.

Однако код NRZI обладает плохой самосинхронизацией, так как при передаче длинных последовательностей нулей сигнал вообще не меняется и, значит, у приемника исчезает

возможность синхронизации с передатчиком на значительное время, что может приводить

к ошибкам распознавания данных.

Для улучшения потенциальных кодов, подобных AMI и NRZI, используются два

Первый метод основан на добавлении в исходный код избыточных битов,

содержащих логические единицы. Очевидно, что в этом случае длинные

последовательности нулей прерываются, и код становится самосинхронизирующимся для

любых передаваемых данных.

Исчезает также постоянная составляющая, а значит, еще более сужается спектр

Однако этот метод снижает полезную пропускную способность линии, так как

избыточные единицы пользовательской информации не несут.

Другой метод основан на предварительном «перемешивании» исходной

информации таким образом, чтобы вероятность появления единиц и нулей на линии

становилась близкой к нулю. Устройства, или блоки, выполняющие такую операцию,

называются скрэмблерами.

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

Биполярный импульсный код

Помимо потенциальных кодов в сетях используются и импульсные коды, в которых

данные представлены полным импульсом или же его частью — фронтом. Наиболее

простым кодом такого рода является биполярный импульсный код, в котором единица

представляется импульсом одной полярности, а ноль — другой.


Каждый импульс длится половину такта. Подобный код обладает отличными

самосинхронизирующими свойствами, но постоянная составляющая может

присутствовать, например, при передаче длинной последовательности единиц или нулей.

Кроме того, спектр у него шире, чем у потенциальных кодов. Так, при передаче всех

нулей или единиц частота основной гармоники кода равна МГц, что в два раза выше

основной гармоники кода NRZ и в четыре раза выше основной гармоники кода AMI при

передаче чередующихся единиц и нулей. Из-за слишком широкого спектра биполярный

импульсный код используется редко.

1. Какие цели нужно стремиться достичь при выборе способа кодирования?

2. Что является наиболее важной характеристикой способа кодирования?

3. Что можно отнести к достоинствам и недостаткам кода NRZ?

Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

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

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

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

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

Код NRZ (Non Return to Zero – без возврата к нулю) – это простейший код, представляющий собой обычный цифровой сигнал. Логическому нулю соответствует высокий уровень напряжения в кабеле, логической единице – низкий уровень напряжения (или наоборот, что не принципиально). Уровни могут быть разной полярности (положительной и отрицательной) или же одной полярности (положительной или отрицательной). В течение битового интервала (bit time, BT), то есть времени передачи одного бита никаких изменений уровня сигнала в кабеле не происходит.

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

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

Самый большой недостаток кода NRZ – это возможность потери синхронизации приемником во время приема слишком длинных блоков (пакетов) информации. Приемник может привязывать момент начала приема только к первому (стартовому) биту пакета, а в течение приема пакета он вынужден пользоваться только внутренним тактовым генератором (внутренними часами). Например, если передается последовательность нулей или последовательность единиц, то приемник может определить, где проходят границы битовых интервалов, только по внутренним часам. И если часы приемника расходятся с часами передатчика, то временной сдвиг к концу приема пакета может превысить длительность одного или даже нескольких бит. В результате произойдет потеря переданных данных. Так, при длине пакета в 10000 бит допустимое расхождение часов составит не более 0,01% даже при идеальной передаче формы сигнала по кабелю.

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

В связи с этим код NRZ используется только для передачи короткими пакетами (обычно до 1 Кбита).

Рис. 3.11. Определение окончания последовательности при коде NRZ

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

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

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

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

Еще одно важное достоинство кода RZ – простая временная привязка приема, как к началу последовательности, так и к ее концу. Приемник просто должен анализировать, есть изменение уровня сигнала в течение битового интервала или нет. Первый битовый интервал без изменения уровня сигнала соответствует окончанию принимаемой последовательности бит (рис. 3.12). Поэтому в коде RZ можно использовать передачу последовательностями переменной длины.

Рис. 3.12. Определение начала и конца приема при коде RZ

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

Рис. 3.13. Скорость передачи и пропускная способность при коде RZ

Другой важный недостаток – наличие трех уровней, что всегда усложняет аппаратуру как передатчика, так и приемника.

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

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

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

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

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

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

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

Рис. 3.16. Определение начала и конца приема при манчестерском коде

Манчестерский код используется как в электрических, так и в оптоволоконных кабелях (в последнем случае один уровень соответствует отсутствию света, а другой – его наличию).

Основное достоинство манчестерского кода – постоянная составляющая в сигнале (половину времени сигнал имеет высокий уровень, другую половину – низкий). Постоянная составляющая равна среднему значению между двумя уровнями сигнала.

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

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

Бифазный код часто рассматривают как разновидность манчестерского, так как их характеристики практически полностью совпадают.

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

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

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

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

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

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

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

Иногда уже закодированная информация подвергается дополнительному кодированию, что позволяет упростить синхронизацию на приемном конце. Наибольшее распространение для этого получили 2-уровневый код NRZI, применяемый в оптоволоконных сетях (FDDI и 100BASE-FX), а также 3-уровневый код MLT-3, используемый в сетях на витых парах (TPDDI и 100BASE-TХ). Оба эти кода (рис. 3.17) не являются самосинхронизирующимися.

Рис. 3.17. Коды NRZI и MLT-3

Код NRZI (без возврата к нулю с инверсией единиц – Non-Return to Zero, Invert to one) предполагает, что уровень сигнала меняется на противоположный в начале единичного битового интервала и не меняется при передаче нулевого битового интервала. При последовательности единиц на границах битовых интервалов имеются переходы, при последовательности нулей – переходов нет. В этом смысле код NRZI лучше синхронизируется, чем NRZ (там нет переходов ни при последовательности нулей, ни при последовательности единиц).

Код MLT-3 (Multi-Level Transition-3) предполагает, что при передаче нулевого битового интервала уровень сигнала не меняется, а при передаче единицы – меняется на следующий уровень по такой цепочке: +U, 0, –U, 0, +U, 0, –U и т.д. Таким образом, максимальная частота смены уровней получается вчетверо меньше скорости передачи в битах (при последовательности сплошных единиц). Требуемая полоса пропускания оказывается меньше, чем при коде NRZ.

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

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

К самым простым видам аналогового кодирования относятся следующие (рис. 3.18):

  • Амплитудная модуляция (АМ, AM – Amplitude Modulation), при которой логической единице соответствует наличие сигнала (или сигнал большей амплитуды), а логическому нулю – отсутствие сигнала (или сигнал меньшей амплитуды). Частота сигнала при этом остается постоянной. Недостаток амплитудной модуляции состоит в том, что АМ-сигнал сильно подвержен действию помех и шумов, а также предъявляет повышенные требования к затуханию сигнала в канале связи. Достоинства – простота аппаратурной реализации и узкий частотный спектр.

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

  • Частотная модуляция (ЧМ, FM – Frequency Modulation), при которой логической единице соответствует сигнал более высокой частоты, а логическому нулю – сигнал более низкой частоты (или наоборот). Амплитуда сигнала при частотной модуляции остается постоянной, что является большим преимуществом по сравнению с амплитудной модуляцией.
  • Фазовая модуляция (ФМ, PM – Phase Modulation), при которой смене логического нуля на логическую единицу и наоборот соответствует резкое изменение фазы синусоидального сигнала одной частоты и амплитуды. Важно, что амплитуда модулированного сигнала остается постоянной, как и в случае частотной модуляции.

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

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

Статьи к прочтению:

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


Похожие статьи:

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

Но зачем это вообще нужно знать? Чтобы попросту не попасть в ситуацию, когда ваши личные данные, пароли от аккаунтов или банковских карт окажутся в руках мошенников. Как говорится: «Доверяй, но проверяй»

Важные аспекты в хранении данных, будь то на внешних серверах или домашнем компьютере, – это прежде всего кодирования и шифрование. Но чем они отличаются друг от друга? Давайте разбираться!

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

Определения и различия

Кодирование – процесс преобразования доступной нам информации в информацию понятную компьютерную.

Шифрование – процесс изменения информации таким образом, чтобы её смогли получить только нужные пользователи.

Шифрование применялось и задолго до создания компьютеров и информатики как таковой. Но зачем? Цели её применения можно было понять из определения, но я опишу их ещё раз более подробно. Главные цели шифрования это:

конфиденциальность – данные скрыты от посторонних

целостность – предотвращение изменения информации

идентифицируемость – возможность определить отправителя данных и невозможность их отправки без отправителя

Оценить стойкость шифра можно с помощью криптографической стойкости.

Криптографическая стойкость – это свойство шифра противостоять криптоанализу, изучению и дешифровки шифра.

Криптостойкость шифра делится на две основные системы: абсолютно стойкие системы и достаточно стойкие системы.

Абсолютно стойкие системы – системы не подверженные криптоанализу. Основные критерии абсолютно стойких систем:

Генерация ключей независима

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

Достаточно стойкие системы – системы не могут обеспечить полную защиту данных, но гораздо удобнее абсолютно стойких. Надежность таких систем зависит от возможностей крипто аналитика:

Времени и вычислительных способностей

А также от вычислительной сложности шифра.

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

История шифрования

Шифрование берет своё начало ещё из древних времен. Примерно 1300 лет до нашей эры был создан один из первых методов шифрования – Атбаш. Принцип шифрования заключается в простой подставке символов по формуле:, где:

n – количество символов в алфавите

i – порядковый номер символа.

Шифр получил своё название в честь первой, последней, второй и предпоследней буквы Еврейского алфавита - «алеф», «тав», «бет», «шин» . Такой шифр имеет низку криптографическую стойкость, потому как алгоритм шифрования довольно прост

С тех самых пор шифрование активно развивалось вместе с развитием нашей цивилизации

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

К слову: Простые числа — это те числа, которые могут делиться без остатка либо на 1, либо на себя.

Длина таких чисел может быть абсолютно любая. К примеру, возьмем два простых числа 223 и 13. Их произведение 2899 – будет являться открытым ключом, который мы и будем передавать по открытому каналу связи. Далее нам необходимо вычислить функцию «Эйлера» для произведения этих чисел.

Функция Эйлера – количество натуральных чисел, меньших чем само число и, которые будут являть взаимно простыми числами с самим числом.

Возможно, звучит непонятно, но давайте это разберем на небольшом примере:

φ (26) [фи от двадцати шести] = какому-то числу чисел, которое всегда будет меньше 26, а сами числа должны иметь только один общий делитель единицу с 26.

1 – подходит всегда, идем дальше;

2 – делится и на 2, и на 1, как и число 26, - не подходит;

3 – делится и на 3, и на 1, а вот число 26 не делится на 3, - подходит;

4 – имеет общие делители 2 и 1 с 26 - не подходит;

5 – только на 1 - подходит;

6 – на 2 и 1 - не подходит;

7 – только на 1 – подходит;

и так далее до 25.

Общее количество таких чисел будет равно 12. А найти это число можно по формуле: φ(n*k) = (n-1)(k-1) в нашем случае 26 можно представить как 2 * 13, тогда получим φ(26) = φ(2 * 13) = (2-1)*(13-1) = 1 * 12 = 12

Теперь, когда мы знаем, что такое функция Эйлера и умеем её вычислять найдем её для нашего открытого ключа – φ(2899) = φ(223 * 13) =(223 – 1)*(13-1) = 222 * 12 = 2664

После чего нам нужно найти открытую экспоненту. Не пугайтесь, тут будет гораздо проще чем с функцией «Эйлера».

Открытая экспонента – это любое простое число, которое не делится на функцию Эйлера. Для примера возьмем 13. 13 не делится нацело на число 2664. Вообще открытую экспоненту лучше выбирать по возрастанию простым перебором, а не просто брать случайную. Так для нашего примера разумнее было бы взять число 5, но давайте рассмотрим на примере 13

Следующий шаг – закрытая экспонента. Вычисляется она банальным перебором по этому равенству: d * e mod φ(n) = 1 , где

φ(n) - функция Эйлера

e – открытая экспонента

mod – остаток отделения

а число d, которое и является закрытой экспонентой, мы должны подобрать перебором, либо попытаться выразить через формулу d = ceil(φ(n) / e) , где ceil – округление в большую сторону.

В обоих случаях у нас получится число 205

T – шифруемый текст

e – открытая экспонента

n – открытый ключ

mod – остаток от деления

92 ^ 13 mod 2899 = 235 . Именно число 235 он нам и отправит.

С – зашифрованный текст

d – закрытая экспонента

n – открытый ключ

mod – остаток от деления

235 ^ 205 mod 2899 = 92.

Но ничто в мире не идеально, в том числе и этот метод.

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

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

Третий недостаток – подбор и перебор чисел для экспонент.

Четвертый – длина ключей. Чем больше длина, тем медленнее идет процесс декодирования, поэтому разработчики пытаются использовать наименьшие по длиннее ключи и экспоненты. Даже я акцентировал на это внимание, когда говорил, что лучше взять число 5, вместо 13 для открытой экспоненты. Именно из-за этого и происходит большая часть взломов и утечек данных

Но не стоит печалиться, ведь как я и говорил: криптография и шифрование развивается вместе с развитием цивилизации. Поэтому довольно скоро все мы будем шифровать свои данные с помощью Квантового шифрование.

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


Вернемся к нашему ключу 101001011. Мы случайным образом выбираем направление – обычное или диагональное. Для удобства присвоим обычному номер 1, а диагональному 2.

Давайте отправим ключ – 1(1), 0(2), 1(1), 0(1), 0(1), 1(2), 0(2), 1(1), 1(2). Теперь человеку, которому мы отправляем ключ, нужно точно так же, совершенно случайно, выбрать случайное направление.

Допустим он выбрал направления: 221111212. Поскольку есть всего 2 плоскости отправки: 1 и 2, они же называются: канонический и диагональный базис, то шанс того, что он выбрал правильные направления 50%.


А что, если кто-то перехватит отправку кода? Тогда ему придется точно также подбирать случайным образом базисы, что добавит ещё 25% погрешности при получении кода человеку, которому мы изначально и отправили его. Чтобы проверить это, после отсеивания мы, как отправитель, должны проверить сколько процентов кода оказалось не верным. В нашем 1 случае это (9 – 7)/9 * 100% = 22% , если это число будет больше 50%, то мы начнем повторную отправку ключей, до тех пор, пока погрешность не будет меньше 50%

Заключение

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

Читайте также: