121
Таким образом, на выходе скрэмблера появится последовательность 110001101111. В которой нет последовательности из шести нулей, присутствовавшей в исходном коде.
После получения результирующей последовательности приемник передает ее дескрэмблеру, который восстанавливает исходную последовательность на основании обратного соотношения.
Существуют другие различные алгоритмы скрэмблирования, они отличаются количеством слагаемых, дающих цифру результирующего кода, и сдвигом между слагаемыми.
Главная проблема кодирования на основе скремблеров - синхронизация передающего (кодирующего) и принимающего (декодирующего) устройств.
При пропуске или ошибочном вставлении хотя бы одного бита вся передаваемая информация необратимо теряется. Поэтому, в системах кодирования на основе скремблеров очень большое внимание уделяется методам синхронизации.
На практике для этих целей обычно применяется комбинация двух методов:
а) добавление в поток информации синхронизирующих битов, заранее известных приемной стороне, что позволяет ей при ненахождении такого бита активно начать поиск синхронизации с отправителем,
б) использование высокоточных генераторов временных импульсов, что позволяет в моменты потери синхронизации производить декодирование принимаемых битов информации "по памяти" без синхронизации.
Существуют и более простые методы борьбы с последовательностями единиц, также относимые к классу скрэмблирования.
Для улучшения кода Bipolar AMI используются два метода, основанные на искусственном искажении последовательности нулей запрещенными символами.
Рис. 5. 19 Коды B8ZS и HDB3
122
На этом рисунке показано использование метода B8ZS (Bipolar with 8- Zeros Substitution) и метода HDB3 (High-Density Bipolar 3-Zeros) для корректировки кода AMI. Исходный код состоит из двух длинных последовательностей нулей (8- в первом случае и 5 во втором).
Код B8ZS исправляет только последовательности, состоящие из 8 нулей. Для этого он после первых трех нулей вместо оставшихся пяти нулей вставляет пять цифр: V-1*-0-V-1*. V здесь обозначает сигнал единицы, запрещенной для данного такта полярности, то есть сигнал, не изменяющий полярность предыдущей единицы, 1* - сигнал единицы корректной полярности, а знак звездочки отмечает тот факт, что в исходном коде в этом такте была не единица, а ноль. В результате на 8 тактах приемник наблюдает 2 искажения - очень маловероятно, что это случилось из-за шума на линии или других сбоев передачи. Поэтому приемник считает такие нарушения кодировкой 8 последовательных нулей и после приема заменяет их на исходные 8 нулей.
Код B8ZS построен так, что его постоянная составляющая равна нулю при любых последовательностях двоичных цифр.
Код HDB3 исправляет любые 4 подряд идущих нуля в исходной последовательности. Правила формирования кода HDB3 более сложные, чем кода B8ZS. Каждые четыре нуля заменяются четырьмя сигналами, в которых имеется один сигнал V. Для подавления постоянной составляющей полярность сигнала V чередуется при последовательных заменах.
Кроме того, для замены используются два образца четырехтактовых кодов. Если перед заменой исходный код содержал нечетное число единиц, то используется последовательность 000V, а если число единиц было четным - последовательность 1*00V.
Таким образом, применение логическое кодирование совместно с потенциальным кодированием дает следующие преимущества:
Улучшенные потенциальные коды обладают достаточно узкой полосой пропускания для любых последовательностей единиц и нулей, которые встречаются в передаваемых данных. В результате коды, полученные из потенциального путем логического кодирования, обладают более узким спектром, чем манчестерский, даже при повышенной тактовой частоте.
123
6.МЕТОДЫ ПЕРЕДАЧИ ДАННЫХ НА КАНАЛЬНОМ УРОВНЕ
Впредыдущей лекции мы выяснили, что на физическом уровне происходит непосредственно передача битов по проводам. Однако реальная линия связи состоит не только из кабеля, но еще включает дополнительное оборудование: маршрутизаторы, коммутаторы и т.п. Это оборудование помогает управлять передачей информации в сети определенной топологии от компьютера к компьютеру. Задачей качественного, быстрого и надежного установления соединения компьютеров с помощью такого рода оборудования и занимается канальный уровень.
Рассматривая модель OSI, мы выяснили, что канальный уровень оперирует кадрами данных, поскольку работает с компьютерами, которые не обмениваются информацией по битно. Кадры образуются определенным набором бит данных. Они содержат в себе, как минимум, адрес получателя, и отправляются узлом-источником для передачи по кабелю методами физического уровня, затем оборудование сети, в зависимости от ее топологии, распознает - кому эти кадры предназначены, и отправляет их по кабелю к узлу-приемнику. Таким образом, канальный уровень - это по сути логика установки соединений в сети. С одной стороны он привязан к физическому уровню, то есть к типам используемых линий связи и методам передач физического уровня. Но с другой стороны он связан с сетевым уровнем, который уже управляет передачей информации между локальными сетями.
На канальном уровне для каждой топологии сети имеются свои правила работы - протоколы. Если на физическом уровне не решаются вопросы какой компьютер и когда может использовать кабель линии связи, то на канальном уровне важно обеспечить качественную доставку кадра от узла к узлу. Именно на канальном уровне происходит "борьба за кабель", за доставку информации к нужному узлу сети, он занимается проблемами взаимодействия станций друг с другом, обеспечением гарантии доставки кадра информации к станции в любой из используемой топологии сети.
Вэтой лекции мы поговорим в общем плане о форматах кадров, рассмотрим способы передачи данных на канальном уровне, методы управления обменом информации в сети с определенной топологией и т.д.
6.1. Структура типичного кадра компьютерной сети.
Информация в локальных сетях предается отдельными порциями, называемыми в различных источниках кадрами, пакетами или блоками. Использование кадров связано с тем, что в сети одновременно может происходить несколько сеансов связи, т.е. в течении одного и того интервала времени могут идти два или больше процессов передачи данных между абонентами. Кадры (пакеты) собственно и позволяют разделить во времени сеть между передающими абонентами и уравнять в правах доступа всех
124
абонентов и обеспечить для всех абонентов интегральную скорость передачи информации. Длина кадра зависит от типа сети и составляет от 10 байт – до 10 Кбайт. Важно делить информацию на кадры и для контроля правильности передачи информации. Кадры имеют преимущества пред побайтовой (8бит) или пословной (16 бит и 32 бита) передачей, т.к. при этом уменьшается количество служебной информации и увеличивается полезная загрузка сети.
Структура кадра определяется аппаратурными особенностями данной сети, выбранной топологией и типом среды передачи информации, а также существенно зависит от используемого протокола (порядка обмена информацией).
Типичный кадр содержит в себе следующие основные поля:
−стартовая комбинация или преамбула - обеспечивает настройку аппаратуры адаптера на прием и обработку кадров, может отсутствовать или сводится к одному стартовому биту;
−сетевой адрес (идентификатор) принимающего абонента - индивидуальный или групповой номер, присвоенный принимающему абоненту в сети, позволяющему приемнику распознать кадр, адресованный ему лично, группе, или всем абонентам сети;
−сетевой адрес (идентификатор) предающего абонента - индивидуальный или групповой номер, присвоенный передающему абоненту, информирует принимающего абонента, откуда пришел данный кадр, включение в кадр этого идентификатора необходимо, если приемнику могут попеременно приходить кадры от разных передатчиков;
−служебная информация - указывает на тип кадра, его номер, размер, формат, маршрут доставки и т.д.;
−данные - собственно предаваемая информация. Существуют управляющие кадры (сетевые команды – начало и конец связи, подтверждение приема кадра и т.д.), в которых это поле отсутствует и информационные – поле данных имеется;
−контрольная сумма кадра - числовой код, формируемый передатчиком по определенным правилам и содержащий в свернутом виде информацию обо всем кадре, используется для проверки правильности передачи кадра на приемном конце. Приемник повторяя вычисления сделанные передатчиком сравнивает результат с контрольной суммой и делает вывод о правильности или ошибочности передачи кадра.
−стоповая комбинация - информирует принимающего абонента об окончании кадра, обеспечивает выход аппаратуры из состояния приема. Поле может отсутствовать, если используется самосинхронизирующийся код, позволяющий детектировать факт передачи кадра.
125
Рис. 6.1. Структура пакета
1,2,3,4 - образуют начальное управляющее поле, 5 - поле данных, 6,7- конечное управляющее поле.
6.2 Передача кадров на канальном уровне
При передаче кадров данных на канальном уровне используются как дейтаграммные процедуры, работающие без становления соединения
(connectionless), так и процедуры с предварительным установлением логического соединения (connection-oriented).
При дейтаграммной передаче кадр посылается в сеть "без предупреждения", и никакой ответственности за его утерю протокол не несет. Предполагается, что сеть всегда готова принять кадр от конечного узла. Дейтаграммный метод работает быстро, так как никаких предварительных действий перед отправкой данных не выполняется. Однако при таком методе трудно организовать в рамках протокола отслеживание факта доставки кадра узлу назначения. Этот метод не гарантирует доставку пакета.
Передача с установлением соединения более надежна, но требует больше времени для передачи данных и вычислительных затрат от конечных узлов. В этом случае узлу-получателю отправляется служебный кадр специального формата с предложением установить соединение. Если узелполучатель согласен с этим, то он посылает в ответ другой служебный кадр, подтверждающий установление соединения и предлагающий для данного логического соединения некоторые параметры, например идентификатор соединения, максимальное значение поля данных кадров, которые будут использоваться в рамках данного соединения, и т. п. Узел-инициатор соединения может завершить процесс установления соединения отправкой третьего служебного кадра, в котором сообщит, что предложенные параметры ему подходят. На этом логическое соединение считается установленным, и в его рамках можно передавать информационные кадры с пользовательскими данными.