Символьно-ориентированные протоколы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Символьно-ориентированные протоколы



Символьно-ориентированные протоколы используются в основном для передачи блоков отображаемых символов, например текстовых файлов. Так как при синх­ронной передаче нет стоповых и стартовых битов, для синхронизации символов необходим другой метод. Синхронизация достигается за счет того, что передатчик добавляет два или более управляющих символа, называемых символами SYN, пе­ред каждым блоком символов. В коде ASCII символ SYN имеет двоичное значение 0010110, это несимметричное относительно начала символа значение позволяет легко разграничивать отдельные символы SYN при их последовательном приеме. Символы SYN выполняют две функции: во-первых, они обеспечивают приемнику побитную синхронизацию, во-вторых, как только битовая синхронизация достига­ется, они позволяют приемнику начать распознавание границ символов SYN. Пос­ле того как приемник начал отделять один символ от другого, можно задавать границы начала кадра с помощью другого специального символа. Обычно в сим­вольных протоколах для этих целей используется символ STX (Start of TeXt, ASCII

0000010). Другой символ отмечает окончание кадра — ЕТХ (End of TeXt, ASCII

0000011).

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

протокол BSC компании IBM. Он работал в двух режимах — непрозрачном, в котором некоторые специальные символы внутри кадра запрещались, и прозрачном, котором разрешалась передачи внутри кадра любых символов, в том числе и ЕТХ Прозрачность достигалась за счет того, что перед управляющими символами S1 и ЕТХ всегда вставлялся символ DLE (Data Link Escape). Такая процедура назьп ется стаффингом символов (stuff — всякая всячина, заполнитель). А если в пс данных кадра встречалась последовательность DLE ЕТХ, то передатчик удваив символ DLE, то есть порождал последовательность DLE DLE ЕТХ. Приема встретив подряд два символа DLE DLE, всегда удалял первый, но оставшийся DI уже не рассматривал как начало управляющей последовательности, то есть оста шиеся символы DLE ЕТХ считал просто пользовательскими данными.

Бит-ориентированные протоколы

Потребность в паре символов в начале и конце каждого кадра вместе с дополв тельными символами DLE означает, что символьно-ориентированная передача эффективна для передачи двоичных данных, так как приходится в поле данш кадра добавлять достаточно много избыточных данных. Кроме того, формат уп] ляющих символов для разных кодировок различен, например, в коде ASCII с вол SYN равен 0010110, а в коде EBCDIC - 00110010. Так что этот метод допус только с определенным типом кодировки, даже если кадр содержит чисто дво» ные данные. Чтобы преодолеть эти проблемы, сегодня почти всегда использую более универсальный метод, называемый бит-ориентированной передачей. Этот метод сейчас применяется при передаче как двоичных, так и символьных данных.

На рис. 2.22 показаны 3 различные схемы бит-ориентированной передачи. Они отличаются способом обозначения начала и конца каждого кадра.

Первая схема, показанная на рис. 2.22, а, похожа на схему с символами STX и ЕТХ в символьно-ориентированных протоколах. Начало и конец каждого кадра от­мечается одной и той же 8-битовой последовательностью — 01111110, называемой флагом. Термин «бит-ориентированный» используется потому, что принимаемый поток бит сканируется приемником на побитовой основе для обнаружения старто­вого флага, а затем во время приема для обнаружения стопового флага. Поэтому длина кадра в этом случае не обязательно должна быть кратна 8 бит.

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

 

 


 

Рис. 2.22. Способы выделения начало и конца кадра при синхронной передаче

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

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

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

Третья схема (см. рис. 2.22, в) использует для обозначения начала и конца кадр флаги, которые включают запрещенные для данного кода сигналы (code violations, VJ Например, при манчестерском кодировании вместо обязательного изменения пс лярности сигнала в середине тактового интервала уровень сигнала остается неизме ным и низким (запрещенный сигнал J) или неизменным и высоким (запрещеню сигнал К). Начало кадра отмечается последовательностью JKOJKOOO, а конец — п следовательностьк^К.уКЮО. Этот способ очень экономичен, так как не требует Щ бит-стаффинга, ни поля длины, но его недостаток заключается в зависимости принятого метода физического кодирования. При использовании избыточных i роль сигналов J и К играют запрещенные символы, например, в коде 4В/5В э символами являются коды 11000 и 10001.

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

Протоколы с гибким форматом кадра

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

Однако существует ряд протоколов, в которых кадры имеют гибкую структуру Например, к таким протоколам относятся очень популярный прикладной протокол управления сетями SNMP, а также протокол канального уровня РРР, испод зуемый для соединений типа «точка-точка». Кадры таких протоколов состоят из неопределенного количества полей, каждое из которых может иметь переменную длину. Начало такого кадра отмечается некоторым стандартным образом, напри­мер с помощью флага, а затем протокол последовательно просматривает поля кад­ра и определяет их количество и размеры. Каждое поле обычно описывается двумя дополнительными полями фиксированного размера. Например, если в кадре встре­чается поле, содержащее некоторую символьную строку, то в кадр вставляются три поля:

Дополнительные поля «Тип» и «Длина» имеют фиксированный размер в один байт, поэтому протокол легко находит границы поля «Значение». Так как количе­ство таких полей также неизвестно, для определения общей длины кадра использу­ется либо общее поле «Длина», которое помещается в начале кадра и относится ко всем полям данных, либо закрывающий флаг.

2.3.3. Передача с установлением соединения и без установления соединения

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

При дейтаграммной передаче кадр посылается в сеть «без предупреждения», и никакой ответственности за его утерю протокол не несет (рис. 2.23, а). Предполага­ется, что сеть всегда готова принять кадр от конечного узла. Дейтаграммный метод работает быстро, так как никаких предварительных действий перед отправкой дан­ных не выполняется. Однако при таком методе трудно организовать в рамках про­токола отслеживание факта доставки кадра узлу назначения. Этот метод не гарантирует доставку пакета.

Передача с установлением соединения более надежна, но требует больше време­ни для передачи данных и вычислительных затрат от конечных узлов.

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


Рис. 2.23. Протоколы без установления соединения (о) и с установлением соединения

Заметим, что, в отличие от протоколов дейтаграммного типа, которые подле;

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

Логическое соединение обеспечивает передачу данных как в одном нап;

нии — от инициатора соединения, так и в обоих направлениях.

Процедура установления соединения может использоваться для достижев различных целей.

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

• Для согласования изменяемых параметров протокола: MTU, различных аутов и т. п.

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

• В некоторых технологиях процедуру установления логического соединения и пользуют при динамической настройке коммутаторов сети для маршрутизации всех последующих кадров, которые будут проходить через сеть в рамках данного логического соединения. Так работают сети технологий Х.25, frame relay АТМ. Как видно из приведенного списка, при установлении соединения могут при следоваться разные цели, в некоторых случаях — несколько одновременно. В этой главе мы рассмотрим использование логического соединения для обнаружения икоррекции ошибок, а остальные случаи будут рассматриваться в последующих главах по мере необходимости.

2.3.4. Обнаружение и коррекция ошибок

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

Большая часть протоколов канального уровня выполняет только первую зада­чу — обнаружение ошибок, считая, что корректировать ошибки, то есть повторно передавать данные, содержавшие искаженную информацию, должны протоколы верхних уровней. Так работают такие популярные протоколы локальных сетей, как Ethernet, Token Ring, FDDI и другие. Однако существуют протоколы канального уровня, например LLC2 или LAP-B, которые самостоятельно решают задачу вос­становления искаженных или потерянных кадров.

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

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

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

Методы обнаружения ошибок

Все методы обнаружения ошибок основаны на передаче в составе кадра данных служебной избыточной информации, по которой можно судить с некоторой степе­нью вероятности о достоверности принятых данных. Эту служебную информацию принято называть контрольной суммой (или последовательностью контроля кадра — Frame Check Sequence, FCS). Контрольная сумма вычисляется как функция от основной информации, причем необязательно только путем суммирования. При­нимающая сторона повторно вычисляет контрольную сумму кадра по известному злгоритму и в случае ее совпадения с контрольной суммой, вычисленной передаю­щей стороной, делает вывод о том, что данные были переданы через сеть корректно.

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

Контроль по паритету представляет собой наиболее простой метод контроля дан­ных. В то же время это наименее мощный алгоритм контроля, так как с его помощью можно обнаружить только одиночные ошибки в проверяемых данных. Метод заклю- чается в суммировании по модулю 2 всех бит контролируемой информации. Напри мер, для данных 100101011 результатом контрольного суммирования будет значение 1. Результат суммирования также представляет собой один бит данных, который пере- сылается вместе с контролируемой информацией. При искажении при пересылке любого одного бита исходных данных (или контрольного разряда) результат суммирования будет отличаться от принятого контрольного разряда, что говорит об ошибке. Однако двойная ошибка, например 110101010, будет неверно принята за коррект­ные данные. Поэтому контроль по паритету применяется к небольшим порт данных, как правило, к каждому байту, что дает коэффициент избыточности этого метода 1/8. Метод редко применяется в вычислительных сетях из-за его б(шой избыточности и невысоких диагностических способностей.

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

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

Циклический избыточный контроль (Cyclic Redundancy Check, CRC) является] настоящее время наиболее популярным методом контроля в вычислительных сетях (и не только в сетях, например, этот метод широко применяется при записи данных на диски и дискеты). Метод основан на рассмотрении исходных данных в виде одного многоразрядного двоичного числа. Например, кадр стандарта Ethenet состоящий из 1024 байт, будет рассматриваться как одно число, состоящее 8192 бит. В качестве контрольной информации рассматривается остаток от дед ния этого числа на известный делитель R. Обычно в качестве делителя выбирает семнадцати или тридцати трехразрядное число, чтобы остаток от деления ими длину 16 разрядов (2 байт) или 32 разряда (4 байт). При получении кадра даннь* снова вычисляется остаток от деления на тот же делитель R, но при этом к даннь) кадра добавляется и содержащаяся в нем контрольная сумма. Если остаток от д ления на R равен нулю, то делается вывод об отсутствии ошибок в получение кадре, в противном случае кадр считается искаженным.

Этот метод обладает более высокой вычислительной сложностью, но его возможности гораздо выше, чем у методов контроля по паритету. Meтод CRC обнаруживает все одиночные ошибки, двойные ошибки и ошибки в нечеп числе бит. Метод обладает также невысокой степенью избыточности. Например для кадра Ethernet размером в 1024 байт контрольная информация длиной в 4 составляет только 0,4 %.

Методы восстановления искаженных и потерянных кадров

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

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

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

Существуют два подхода к организации процесса обмена квитанциями: с про­стоями и с организацией «окна».

Метод с простоями (Idle Source) требует, чтобы источник, пославший кадр, ожи­дал получения квитанции (положительной или отрицательной) от приемника и только после этого посылал следующий кадр (или повторял искаженный). Если же квитан­ция не приходит в течение тайм-аута, то кадр (или квитанция) считается утерянным и его передача повторяется. На рис. 2.24, а видно, что в этом случае производитель­ность обмена данными существенно снижается, — хотя передатчик и мог бы послать следующий кадр сразу же после отправки предыдущего, он обязан ждать прихода квитанции. Снижение производительности этого метода коррекции особенно заметно на низкоскоростных каналах связи, то есть в территориальных сетях.


Рис. 2.24. Методы восстановления искаженных и потерянных кадров

Второй метод называется методом скользящего окна» (slidingvnndow). В этом методе для повышения коэффициента использования линии источнику разрешается передать некоторое количество кадров в непрерывном режиме, то естьвмаксимально возможном для источника темпе, без получения на эти кадры положительных ответных квитанций. (Далее, где это не искажает существо рассматриваемого вопроса, положительные квитанции для краткости будут называтьс просто «квитанциями».) Количество кадров, которые разрешается передават таким образом, называется размером окна. Рисунок 2.24, б иллюстрирует данны метод для окна размером в W кадров.

В начальный момент, когда еще не послано ни одного кадра, окно определяе диапазон кадров с номерами от 1 до W включительно. Источник начинает пер давать кадры и получать в ответ квитанции. Для простоты предположим, чч квитанции поступают в той же последовательности, что и кадры, которымот, соответствуют. В момент ti при получении первой квитанции К1 окно сдвигает на одну позицию, определяя новый диапазон от 2 до (W+1).

Процессы отправки кадров и получения квитанций идут достаточно независ мо друг от друга. Рассмотрим произвольный момент времени tn, когда источ! получил квитанцию на кадр с номером п. Окно сдвинулось вправо и определ диапазон разрешенных к передаче кадров от (п+1) до (W+n). Все множество:

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

(рис. 2.24, б).

• Кадры с номерами от 1 до п уже были отправлены и квитанции на них hoj ны, то есть они находятся за пределами окна слева.

Кадры, начиная с номера (п+1) и кончая номером (W+n), находятся в преде окна и потому могут быть отправлены не дожидаясь прихода какой-либо:

танции. Этот диапазон может быть разделен еще на два поддиапазона:

• кадры с номерами от (п+1) до т, которые уже отправлены, но квитанции:

них еще не получены;

• кадры с номерами от ш до (W+n), которые пока не отправлены, хотя;

на это нет.

Все кадры с номерами, большими илиравными (W+n+1), находятся за преде

окна справа и поэтому пока не могут быть отправлены.

Перемещение окна вдоль последовательности номеров кадров показано рис. 2.24, в. Здесь to — исходный момент, ti и tn — моменты прихода квитанций:

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

Итак, при отправке кадра с номером п источнику разрешается передать еще W кадров до получения квитанции на кадр п, так что в сеть последним уйдет кадр номером (W+n-1). Если же за это время квитанция на кадр п так и не пришла, процесс передачи приостанавливается, и по истечении некоторого тайм-аута кадр (или квитанция на него) считается утерянным, и он передается снова.

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

Метод скользящего окна более сложен в реализации, чем метод с простоя» так как передатчик должен хранить в буфере все кадры, на которые пока не получены положительные квитанции. Кроме того, требуется отслеживать несколько параметров алгоритма: размер окна W, номер кадра, на который получена квитан­ция, номер кадра, который еще можно передать до получения новой квитанции.

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

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

Метод скользящего окна реализован во многих протоколах: LLC2, LAP-B, X.25, TCP, Novell NCP Burst Mode.

Метод с простоями является частным случаем метода скользящего окна, когда размер окна равен единице.

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

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

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

2.3.5. Компрессия данных

Компрессия (сжатие) данных применяется для сокращения времени их передачи. Так как на компрессию данных передающая сторона тратит дополнительное время, к которому нужно еще прибавить аналогичные затраты времени на декомпрессию этих данных принимающей стороной, то выгоды от сокращения времени на пере­дачу сжатых данных обычно бывают заметны только для низкоскоростных кана­лов. Этот порог скорости для современной аппаратуры составляет около 64 Кбит/с. Многие программные и аппаратные средства сети способны выполнять динамичес­кую компрессию данных в отличие от статической, когда данные предварительно компрессируются (например, с помощью популярных архиваторов типа WinZip), а уже затем отсылаются в сеть.

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

Десятичная упаковка. Когда данные состоят только из чисел, значительную экономию можно получить путем уменьшения количества используемых на циф­ру бит с 7 до 4, используя простое двоичное кодирование десятичных цифр вместо кода ASCII. Просмотр таблицы ASCII показывает, что старшие три бита всех кодов десятичных цифр содержат комбинацию 011. Если все данные в кадре ин­формации состоят из десятичных цифр, то, поместив в заголовок кадра соответ­ствующий управляющий символ, можно существенно сократить длину кадра.

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

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

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

При статистическом кодировании коды выбираются таким образом, чтобы при анализе последовательности бит можно было бы однозначно определить соответствие определенной порции бит тому или иному символу или же запрещенной комбинации бит. Если данная последовательность бит представляет собой запрещен комбинацию, то необходимо к ней добавить еще один бит и повторить. Например, если при неравномерном кодировании для наиболее часто встречающегося символа «Р» выбран код 1, состоящий из одного бита, то значение 0 однобв ного кода будет запрещенным. Иначе мы сможем закодировать только два символа Для другого часто встречающегося символа «О» можно использовать код 01, а:

00 оставить как запрещенный. Тогда для символа «А» можно выбрать код 001,, символа «П»—код 0001 и т. п.

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

распределены почти равномерно.

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

Многие модели коммуникационного оборудования, такие как модемы, мосты, коммутаторы и маршрутизаторы, поддерживают протоколы динамической комп­рессии, позволяющие сократить объем передаваемой информации в 4, а иногда и в 8 раз. В таких случаях говорят, что протокол обеспечивает коэффициент сжатия 1:4 или 1:8. Существуют стандартные протоколы компрессии, например V.42bis, a также большое количество нестандартных, фирменных протоколов. Реальный ко­эффициент компрессии зависит от типа передаваемых данных, так, графические и текстовые данные обычно сжимаются хорошо, а коды программ — хуже.

Выводы

* Основной задачей протоколов канального уровня является доставка кадра узлу назначения в сети определенной технологии и достаточно простой топологии.

* Асинхронные протоколы разрабатывались для обмена данными между низко­скоростными старт-стопными устройствами: телетайпами, алфавитно-цифро-выми терминалами и т. п. В этих протоколах для управления обменом данными используются не кадры, а отдельные символы из нижней части кодовых таблиц ASCII или EBCDIC. Пользовательские данные могут оформляться в кадры, но байты в таких кадрах всегда отделяются друг от друга стартовыми и стоповыми сигналами.

* Синхронные протоколы посылают кадры как для отправки пользовательских данных, так и для управления обменом.

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

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

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

* Для обнаружения искажений наиболее популярны методы, основанные на цик­лических избыточных кодах (CRC), которые выявляют многократные ошибки.

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

· Для повышения полезной скорости передачи данных в сетях применяется ди­намическая компрессия данных на основе различных алгоритмов. Коэффициент сжатия зависит от типа данных и применяемого алгоритма и может колебать­ся в пределах от 1:2 до 1:8.

Методы коммутации

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

 

Рис. 2.25. Общая структура сети с коммутацией абонентов

Абоненты соединяются с коммутаторами индивидуальными линиями связи, каждая из которых используется в любой момент времени только одним, закрепленным за этой линией абонентом. Между коммутаторами линии связи разделяют—­несколькими абонентами, то есть используются совместно.

Существуют три принципиально различные схемы коммутации абонентов в сетях: коммутация каналов (circuit switching), коммутация пакетов (packet switchw и коммутация сообгцений (message switching). Внешне все эти схемы соответствуют приведенной на рис. 2.25 структуре сети, однако возможности и свойства их pазличны. Сети с коммутацией каналов имеют более богатую историю, они ведут cвоё происхождение от первых телефонных сетей. Сети с коммутацией пакетов сравнительно молоды, они появились в конце 60-х годов как результат экспериментов первыми глобальными компьютерными сетями. Сети с коммутацией сообщенш послужили прототипом современных сетей с коммутацией пакетов и сегодня они

чистом виде практически не существуют.

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



Поделиться:


Последнее изменение этой страницы: 2016-06-29; просмотров: 539; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.205.186 (0.065 с.)