Technics & Technology
RIN.ru - Russian Information Network
 
МОДЕМНОЕ СЖАТИЕ: V.44 ПРОТИВ V.42BIS
Опубликовано 25.01.2004 г.
Учитывая возросший в последнее время интерес со стороны владельцев модемов к протоколам сжатия данных в частности, и к эффективности передачи данных на канальном уровне вообще, было решено обратиться к данной теме в рамках небольшого тестирования, освещающего эти вопросы.

Введение
Известно, что при использовании модемной связи для просмотра веб-страниц в интернете, приема текстовых документов или объемных почтовых вложений существенную роль играет сжатие данных. Наиболее часто для этого применяется `модемное` сжатие данных, наиболее распространенный на сегодня протокол сжатия V.42bis служит именно этим целям. Передающий модем следит за потоком данных, и, если данные поддаются сжатию, сжимает и затем передает их через узкое место - телефонную сеть - в уже упакованном виде. Принимающий модем `на лету` распаковывает данные и передает их в компьютер. Различные типы данных по разному сжимаются: в зависимости от конкретной ситуации `модемное` сжатие позволяет получить выигрыш от нескольких процентов до 5-10 раз по сравнению с передачей данных в исходном (несжатом) виде. Поэтому пользователю должно быть небезразлично, насколько хорошо работает в конкретном модеме данная функция. Одна из целей данного материала - сравнение эффективности различных реализаций протоколов сжатия.

Эффективность сжатия протокола V.42bis в общем случае зависит от двух основных параметров протокола: размера словаря сжатия и длины строки. С помощью строки передающая сторона описывает определенную последовательность символов в потоке данных от компьютера и заменяет такую последовательность более коротким кодовым словом при передаче. Принимающий модем, получив кодовое слово, трансформирует его в соответствующую строку. При этом, чем больше символов в строке (больше ее длина), тем большие повторяющиеся фрагменты могут заменяться кодовыми словами, следовательно, тем эффективнее может быть сжатие. В том случае, если длинных повторяющихся участков мало, использование более коротких кодовых строк может способствовать получению лучших результатов. Совокупность используемых строк и соответствующих им кодовых слов составляет словарь - его размер определяется в элементах (строках). Структура словаря динамическая, состав элементов изменяется в процессе передачи в зависимости от того, какие последовательности встречаются в потоке данных чаще других. Чем больше размер словаря, тем большее количество различных строк может использоваться в процессе сжатия. Физическим фактором, ограничивающим максимальные размеры параметров протокола V.42bis в модемах различных производителей, является, прежде всего, имеющийся в распоряжении объем оперативной памяти (т.н. `быстрой` ОЗУ).

Само по себе сжатие может быть как полезным, так и нежелательным - в том случае, если передаются практически несжимаемые данные, попытка сжать их приведет к увеличению объема передаваемых данных. Протокол V.42bis способен отслеживать ситуацию, когда сжатие перестает приносить выгоду, и переключаться из режима сжатия в т.н. `прозрачный` режим. Вместе с тем излишне частое переключение из одного режима в другой снижает общую пропускную способность канала. Критерии переключения из режима в режим определяются конкретными производителями, и могут различаться у разных модемов. Интеллект алгоритма `переключений` во многом определяет общий КПД при передаче данных.

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

Кратко описать функции протокола V.42 можно следующей схемой: данные, принимаемые от компьютера (в том числе, те, которые сжаты протоколом V.42bis), разбиваются на блоки фиксированной длины, или `кадры`, несколько таких кадров составляют `окно`. Принимающий модем последовательно принимает каждый из кадров, а в ответ на прием последнего кадра из `окна` посылает подтверждение об успешном приеме. Получив подтверждение, передающий модем начинает отправку следующей порции данных. Если в процессе приема из-за случайной ошибки кадр был поврежден, принимающий модем пошлет запрос на повторную передачу этого кадра: таким образом достигается целостность данных в процессе передачи. Само собой, создание такой логической структуры - кадров, окна - требует определенных накладных расходов. Объем служебной информации в кадре - фиксированная величина, а значит, чем больше размер кадра, тем меньший процент от общего количества данных составят накладные расходы. То же самое можно сказать и про число кадров в окне: для окна размером в пять кадров при отсутствии ошибок модему придется подтверждать каждый пятый успешно принятый кадр, а при окне размером в 15 кадров - только каждый пятнадцатый.

Лаборатория NEW Предприятия отрасли
Переход по страницам:  1 2 3 Еще»