Сжатие данных по стандарту V.42bis


В настоящее время методы сжатия данных, включенные в протоколы MNP5 и MNP7, целенаправленно заменяются на метод, основанный на алгоритме словарного типа Лемпеля-Зива-Уэлча (LZW-алгоритме). LZW-алгоритм имеет два главных преимущества:

> обеспечивает достижение коэффициента сжатия 4:1 файлов с оптимальной структурой;

> LZW-метод утвержден ITU-T как составная часть стандарта V.42bis. .

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

Рассмотрим, например, последовательности А, АУ, БАР, БАС, БИС, ШАГ, ШАР и ШУМ. На рис. 8.4 показано, как эти последовательности будут выглядеть в виде деревьев в словаре стандарта V.42bis. Каждый путь от корневого узла к вершине дерева представляет собой последовательность, которая может быть закодирована с помощью одного кодового слова. Имеющиеся последовательности могут расширяться до тех пор, пока не будет достигнута их максимальная длина. Можно добавлять новые последовательности, причем единственным ограничением является объем используемого словаря.


Рис. 8.4. Пример структуры древовидного словаря последовательностей стандарта V.42bis

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

9) Протоколы передачи данных /Х-modem, Y-modem, Z-modem

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

Основными задачами протоколов передачи файлов являются:

> обеспечение безошибочной передачи данных;

> управление потоком передаваемых данных;

> передача вспомогательной информации;

> защита соединения.

Первые протоколы передачи файлов появились задолго до модемов, поддерживающих аппаратное исправление ошибок. По этой причине задача обеспечения безошибочной передачи по сегодняшний день остается одной из их основных. Для ее реализации применяются в основном те же методы, что и в современных протоколах исправления ошибок. Передаваемые данные разбиваются на блоки (кадры) определенной длины, и в каждый из них включается проверочная комбинация (CRC) для обнаружения ошибок. Эта комбинация формируется по определенному правилу на основе передаваемых информационных битов блока. На приемной стороне производится повторное вычисление проверочной комбинации по тому же правилу и сравнение ее с принятой. При совпадении проверочных комбинаций принимающая сторона посылает подтверждение правильного приема блока (АСК), а при несовпадении — запрос на повторную передачу данного блока (NACK). Таким образом реализуется механизм автоматического запроса повторения (ARQ), аналогичный механизму ARQ в протоколах исправления ошибок типа MNP классов 1—4 и V.42. При этом ARQ также может быть стартстопного типа (SAW), с возвратом на N шагов (GBN) или селективного повторения (SR).

При использовании ARQ типов GBN и SR непрерывная передача неподтвержденных блоков данных может привести к перегрузке буферов как приемника, так и передатчика. Что бы этого не происходило используется управление потоком передаваемых данных.

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

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

Среди протоколов, рассчитанных на отсутствие аппаратной защиты от ошибок можно выделить широко распространенные протоколы XModem, XModem-CRC, XModem-1 К, YModem, Kermit, ZModem и ряд других.

Если же применяются модемы с аппаратной коррекцией ошибок (поддерживающие протоколы типа MNP или V.42), то предпочтительнее использовать протоколы передачи файлов типа YModem-g и ZModem. В этом случае исключается потеря времени на повторный запрос данных, переданных с ошибками. Протокол Zmodem допускает оба варианта применения.

Известны специализированные протоколы, предназначенные для определенных служб и сетей, — такие как SEALink, Telnet, CompuServe Quick В. Практически все они являются модификациями протокола XModem.

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

Протокол XModem

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

Последовательность операций, выполняемых приемником и передатчиком при передаче файла с помощью протокола XModem, показана в табл. 9.1.

Передающий компьютер начинает передачу файла только после приема от принимающего компьютера знака NAK (Negative AcKnowledge),представляющего собой последовательность <0010101> в кодировке ACSII. Принимающий компьютер передает эту последовательность до тех пор, пока не начнется передача собственно файла. Если передано девять знаков NAK, а передача файла не началась, процесс должен быть возобновлен вручную.

Таблица 9.1. Передача файла с помощью протокола XModem

ПЕРЕДАТЧИК Направление передачи ПРИЕМНИК
    <NAK>
<SOH> 01 FE <данныехС8> ^ ,
  < <АСК>
<SOH> 02 FD <данныехС8> -* (помеха в канале связи)
    <NAK>
<SOH> 02 FD <данныехС8> -*  
  <-  
<SOH> 03 FC <данные> <CS> (знак АСК искажен) -*  
  *- <АСК>
<SOH> 03 FC <данныехС8>    
    <АСК>
<ЕОТ> -*  
    <любой знак кроме АСК>
<ЕОТ> , -t...........  
  4— <АСК>
Передача файла завершена


После приема знака NAK передающий компьютер посылает знак начала блока SOH (Start Of Header) (Olh), два номера блока (сам номер и его двоичное дополнение по "единицам"), блок данных из 128 байт и контрольную сумму блока CS (Check Sum). Блоки нумеруются по модулю 256. Контрольная сумма размером в 1 байт представляет собой остаток от деления на 255 суммы значений кодов ASCII знаков, входящих в блок данных.

Принимающий компьютер тоже вычисляет контрольную сумму и сравнивает ее с принятой. Если сравниваемые значения различны либо прошло 10 с, а прием блока не завершен, принимающий компьютер посылает передатчику знак NAK, означающий запрос на повторную передачу последнего блока. Если блок принят правильно, приемник передает подтверждение его приема знаком АСК (06h). В случае, если следующий блок не поступил в течение 10с, то передача знака АСК повторяется до тех пор, пока блок не будет принят правильно. После девяти неудачных попыток передачи блока связь прерывается.

В протоколе используется двукратная передача номера. Это исключает повторную передачу одного и того же блока из-за потери подтверждающего сообщения. Принимающий компьютер контролирует уникальность номеров принимаемых блоков. Если блок ошибочно передан повторно, то он сбрасывается. После успешной передачи всех данных передающий компьютер посылает знак завершения передачи EOT (End Of Transmission) (04h), сообщающий об окончании передачи файла.

Перерыв в передаче блока свыше 1 с считается перерывом связи.

Преимущества данного протокола перед другими заключаются в его доступности для разработчиков программных средств, простоте реализации на языках высокого уровня, малом объеме приемного буфера (256 байт) и возможности передачи не только символьных (в кодах ACSII), но и исполняемых файлов (*.сот и *.ехе). Последнее возможно благодаря тому, что конец файла определяется подсчетом переданных байтов и использованием вместо знака файлового маркера (Ctrl-Z, "Z) специального сигнала завершения. Вероятность необнаруженной ошибки при передаче данных этим протоколом составляет PHO=0,0004 , что несколько ниже, чем при обычной асинхронной проверке паритета, где рно=0>05.

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

Последующие модификации протокола XModem были направлены на устранение этих и некоторых других его недостатков.



Дата добавления: 2016-05-30; просмотров: 2477;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.