Вслед за мобильной телефонией повсеместное распространение получает и массовый широкополосный доступ в Интернет с высокими скоростями и относительно невысокой стоимостью. Однако такие блага цивилизации доступны пока далеко не везде. А как быть там, где единственная ниточка, связывающая с Сетью, — это старое доброе коммутируемое соединение или GPRS? Довольствоваться низкой скоростью и высокой ценой? Понятно, что в ближайшие годы коммутируемый доступ постепенно будет вытесняться DSL, а мобильные операторы — активно внедрять более высокоскоростные EDGE и СDMA EV-DO, но дожидаться этого светлого, пусть и недалекого будущего совершенно необязательно. При внимательном рассмотрении выясняется, что итоговый счет за передачу данных может быть существенно уменьшен, а производительность «узкого» GPRS-канала заметно увеличена, достигая при определенном стечении обстоятельств значений, сравнимых с ADSL-каналом (рис. 1). Конечно, с некоторыми оговорками — чудес, как известно, не бывает.
Рис. 1. Тест интернет-канала. Красным отмечена производительность GPRS-соединения со сжатием данных, темно-синим — средняя производительность для других видов соединений |
Ускорение по-новому
Многие скажут, что идея «скачайте эту волшебную утилиту и увеличьте скорость интернет-соединения на 400%» далеко не нова и встречалась одно время, пожалуй, ничуть не реже, чем сегодняшние спам-рассылки, предлагающие определенный вид «увеличивающих размеры» препаратов. Конечно же рекламные сотни процентов мало кто воспринимал всерьез, но стоит признать, что кое-какой эффект применение подобных программ все же обеспечивало. Наверное, другое название — Средство для тонкой настройки (tweak) — гораздо лучше соответствует реальному положению вещей. По сути дела принцип работы этих программ заключался в изменении системных параметров Windows, таких как MTU (Maximum Transfer Unit, максимальный размер блока передачи), TTL (Time To Live, время жизни пакета, т.е. сколько узлов может пройти пакет), MSS (Maximum Segment Size, максимальный размер сегмента). На всякий случай, не вдаваясь в технические подробности, напомним: при передаче по Сети данные разбиваются на блоки определенного размера, разделяемые служебными символами; если очередная порция данных не приходит к ожидаемому моменту времени, запрос повторяется. Варьируя параметры в зависимости от характера передаваемых данных (например, увеличивая размер блоков и время ожидания при загрузке файлов большого объема), можно добиться некоторого увеличения скорости. Эффективность подобных утилит тем больше, чем сильнее выставленные по умолчанию в системе значения отличаются от оптимальных. Однако сегодня эти различия зачастую невелики. Впрочем, не исключено, что какое-то ускорение все-таки удастся получить (этому вопросу посвящено довольно много статей и веб-ресурсов, так что найти необходимую информацию не составит никакого труда).
Гораздо большего эффекта по ускорению загрузки данных можно достичь с помощью их сжатия. В общих чертах технология такова: на выделенном сервере устанавливается программа, реализующая какой-либо из высокоэффективных алгоритмов сжатия, а на компьютере — соответствующее клиентское приложение для распаковки информации. То есть скорость передачи данных в нашем «узком» канале остается прежней, а, например, скорость загрузки веб-страниц заметно возрастает. Теперь несложно догадаться, каким образом был получен результат, представленный на рис.1. Все дело в том, что измеряется не время загрузки файла, а время, за которое текст веб-страницы отображается в окне браузера. Впрочем, архивирование текста — это, конечно, хорошо, но значительную часть веб-трафика составляет передача изображений, флэш-анимации и т.д. И здесь иной подкованный в теории интернет-пользователь вряд ли сможет удержаться от иронической улыбки: «И сильно у вас там JPEG-файлы сжимаются?..» Разумеется, попытка протащить подобным образом через медленный канал zip-архив или jpeg-изображение вряд ли даст хороший результат. Поэтому архивы, как правило, передаются напрямую, минуя упаковку-распаковку, а изображения сжимаются с потерей качества. Идея подобного сервиса чем-то похожа на предложение автолюбителям пересаживаться на общественный транспорт для борьбы с пробками. Автовладельцев, прибывающих по широким магистралям в центр города с его узкими улочками, «сжимают» в транспорт общего пользования. Конечно же не так удобно, зато быстрее, дешевле, да и дороги свободнее. Аналогия будет еще более полной, если задуматься о безопасности личных данных, передаваемых через сервер-посредник. Фактически при желании владельцы подобных сервисов имеют техническую возможность собрать полную коллекцию ваших паролей, статистику посещаемых вами сайтов и т.д. И стоит отметить, что теоретически такую возможность полностью исключать нельзя. С другой стороны, вряд ли вероятность подобных злонамеренных действий сколько-нибудь велика. Точно так же каждый раз, пользуясь городским автобусом или спускаясь в метро, мы сознательно принимаем на себя небольшой, но тем не менее реально существующий риск остаться без мобильника или бумажника с банковскими картами.
От теории к практике
Первым подобным средством, получившим у нас в стране определенное распространение, стала программа GPRSBooster (см. «Ускоритель для мобильного Интернета», «Мир ПК», №4/04), однако начало коммерческой эксплуатации сервиса не добавило ему популярности. Плюсы и минусы платных услуг по сжатию данных требуют отдельного внимательного рассмотрения. Но существуют не слишком известные и, возможно, именно поэтому пока бесплатные сервисы, например Toonel. net, как нельзя лучше подходящие для того, чтобы опробовать идею сжатия данных в действии.
Рис. 2. Проверяем наличие Java Runtime Environment |
Рис. 3. Сервис Toonel.net готов к работе |
Строим Toonel. Как сообщает нам веб-сайт Toonel.net, клиентское ПО этого сервиса реализовано на языке Java, что, с одной стороны, обеспечивает возможность пользоваться данной услугой независимо от установленной ОС, а с другой - немного усложняет процесс инсталляции. Итак, загружаем с сайта файл toonel.jar c последней версией программы-клиента. Для ее работы в системе должна присутствовать среда для выполнения байт-кода Java Runtime Environment (JRE) версии 1.3 или выше. Проверить ее наличие можно, например, с помощью опции «Установка и удаление программ» Панели управления (рис. 2). При отсутствии в системе JRE необходимые файлы можно загрузить с веб-сайта Sun Microsystems - http://java.com/en/download/index.jsp. Остается убедиться в том, что файл toonel.jar распознается системой именно как исполняемый файл Java (если это не так, то щелчком правой кнопки мыши вызываем окно «Свойства» и изменяем параметр Open with или «Приложение» на Java Platform Binary). Далее, как обычно, запускаем программу двойным щелчком мыши. На экране должно появиться небольшое окно Toonel.net (рис. 3). Если окно не появилось, то еще раз проверяем предыдущие действия (дополнительные иллюстрации к установке см. в материалах на компакт-диске). Теперь надо настроить веб-браузер для работы через прокси-сервер (роль которого и выполняет Toonel). В Internet Explorer для этого необходимо войти в меню «Сервис?Cвойства обозревателя?Подключения». Если подключение к Интернету осуществляется по коммутируемому соединению или GPRS, то выбираем соответствующий модем из списка, нажимаем кнопку «Настроить» и указываем в появившемся окне адрес прокси-сервера 127.0.0.1 и порт 8080 (см. рис. 3). В случае, если для доступа в Сеть используется локальная сеть, нажимаем кнопку «Настройка LAN» (LAN Settings) и здесь указываем адрес 127.0.0.1 и порт 8080. Осталось ввести какой-либо адрес в строку веб-браузера и убедиться, что в Toonel данные во вкладке Stats обновляются. Процедура настройки завершена. Глядя на окно статистики, можно с удовлетворением наблюдать, насколько уменьшился поток данных, а соответственно и счет за оплату доступа в Интернет. Только заметим, что, если потребуется прямой выход в Сеть, достаточно будет снять флажок «Использовать прокси-сервер» в настройках подключения, а во всех остальных случаях для использования веб-браузера необходима работа программы Toonel. (Для экономии места мы намеренно привели подробное описание настройки только Windows XP и Internet Explorer, большинство же обладателей Linuх и пользователи альтернативных браузеров, как правило, способны самостоятельно написать схожее руководство к действию. А при возникновении каких-либо вопросов много полезной информации можно почерпнуть на русскоязычном сайте техподдержки ru.toonel.net.)
Оцениваем возможности. Итак, самое время проверить возможности используемого нами сервиса. На вкладке Stats отображается информация об общем объеме отправленных/полученных данных до и после обработки сервером и соответственно коэффициенты сжатия в процентах. Эти цифры довольно существенно зависят от степени преобразования (т.е. потери качества) изображений, которые можно выставить на вкладке Web. Чтобы оценить эффективность метода, выставляем минимально возможное качество (максимальное сжатие) — «low» для GIF-файлов и 0% для JPEG-изображений. Ускорение отображения веб-страницы заметно невооруженным глазом. Согласно данным программы, объем обработанной информации составляет около 30% от первоначального, но вот, например, узнать, кто же все-таки был изображен на фотографии, превратившейся в набор хаотических цветовых пятен, практически нереально. Можно и полностью предотвратить искажение рисунков, выставив параметры Original для GIF и 100% для JPEG-файлов, но тогда итоговая степень сжатия не превысит 20—30%. Очевидно, имеет смысл подстраивать параметры качества соответственно реальной скорости канала и важности изображений для восприятия страницы. И пожалуй, не помешала бы возможность перезагрузить выбранный рисунок в оригинальном качестве, не отключаясь от сервиса (в текущей реализации для этого необходимо, отключив сжатие, полностью перезагрузить всю страницу). Здесь, правда, существует такая особенность: если объем оригинального рисунка больше некоторого значения (около 1 Мбайт), то он не обрабатывается сервисом и передается напрямую (видимо, это сделано для исключения возможности перегрузки серверов). Выставленные средние значения (Medium и 50%), как и следовало предполагать, дают средней уровень сжатия данных (около 45—50%) и относительно приемлемое качество.
Рис. 4. Настраиваем подключение через прокси-сервер |
Рис. 5. Результаты работы |
Цена или скорость?
Из описания принципа работы сервиса и наблюдения за статистикой его работы можно сделать следующий вывод: решение, безусловно, полезно тем, кто оплачивает интернет-соединение по фактически переданному/полученному объему, например, если данные передаются по GPRS. А вот всегда ли будет увеличиваться скорость — вопрос не столь однозначный. Теоретически в некоторых случаях скорость может и уменьшиться, это зависит от реальной скорости канала, загруженности серверов, преобразующих данные, и их месторасположения. Пожалуй, именно количество серверов и их расположение в Сети будут ключевыми факторами для выбора того или иного «ускорителя» Интернета — ведь добиться сколько-нибудь заметного преимущества за счет более совершенных алгоритмов сжатия довольно сложно, во всяком случае до тех пор, пока не появится какой-либо революционно новый алгоритма сжатия, что в ближайшее время маловероятно. Но так или иначе, сравнение характеристик более актуально при выборе коммерческого сервиса, а пока существует бесплатный аналог, есть все основания им пользоваться. В любом случае он делает интернет-ресурсы более доступными, экономя или ваши деньги, или ваше время, а чаще всего и то и другое. А тем временем и география широкополосного доступа будет расширяться...