Тосты и поздравления
 Каталог статей
Главная » Статьи » Мои статьи

Акселераторы/Компрессоры-основные принципы работы и различия
Акселераторы/Компрессоры-основные принципы работы и различия.

Автор Toonel.net

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

1) Акселераторы, изменяющие значения MTU/MSS. Пожалуй, наиболее многочисленная группа программ.
Вкратце техническая сторона выглядит следующим образом - все данные, которые передаются по сети разбиваются на маленькие пакеты. Пакет состоит из служебной информации и собственно данных. Размер пакета может быть разным, в зависимости от типа соединения - для adsl соединения размер пакета 1500 байт (или немного меньше, в зависимости от типа adsl-соединения), для модемного соединения - 576 байт. Если размер пакета выставлен в операционной системе меньше, чем максимально позволяет сетевая карта/модем, то происходит фрагментация пакета, т.е. вместо одного пакета посылается два. В результате дважды передается служебная информация, хотя достаточно одно раза, и общая пропускная способность сети падает.
Современные операционные системы выставляют эти значения достаточно верно. В интернете много ресурсов (напр. http://www.dslreports.com/tweaks) где можно проверить MTU/MSS. Обычно там же можно почитать инструкцию, как выставить эти значения самому.

2) Интернет-сервисы, которые предлагают сжатие страниц. Выглядит это следующим образом - открывается сайт такого сервиса и вводится адрес страницы, которую хочется получить сжатой. Как вариант - вводтися адрес прокси сервера в настройках броузера. Не сжимают трафик электронной почты, игр, messangers и т.д. Не требуют установки никаких программ. Где же нас обманывают, спросите вы? Ответ - нигде. Вы действительно получите сжатую страницу и съекономите трафик (если вам не будет показана реклама).
Суть этой технологии в следующем. В протоколе HTTP (это который отвечает за показ страничек) заложена функция сжатия страниц. Все современные броузеры эту функцию поддерживают. Сервер должен сжать страницу и передать броузеру. Однако в современном интернете очень мало серверов, у которых эта функция задействована, по некоторым оценкам единицы процентов. Вот эту оплошность и исправляют такие интернет-сервисы. Они получают страницу по адресу, который вы ввели, сжимают ее и передают вашему броузеру сжатой.
Хорошо, скажете вы, мне не нужно пользоваться электронной почтой, он-лайн играми и прочим, мне нужно только из броузера странички смотреть. Зачем я буду пользоваться другими компрессорами, требующими установки какой-то программы, ведь этот сервис именно то, что мне нужно? Чтобы ответить на этот вопрос, нужно опять немного углубиться в технические детали.
Итак, что же происходит на самом деле, когда броузер запрашивает страничку? Броузер посылает так называемый http-запрос серверу. Вот как выглядит запрос на получение главной страницы этого форума с моего броузера:
Код:

GET / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FDM; .NET CLR 1.1.4322)
Host: ru.toonel.net
Connection: Keep-Alive
Cookie: <эти данные я удалил, т.к. в ней содержится мой пароль>

Этот запрос содержит 550 байт (вместе со строчкой, которую я удалил). Можно увидеть, что мой броузер IE 6.0 поддерживает функцию сжатия (Accept-Encoding: gzip, deflate). Теперь посмотрим, что ответил сервер :
Код:

HTTP/1.1 200 OK
Date: Tue, 03 Jan 2006 22:14:12 GMT
Server: Apache/1.3.33 (Unix) PHP/4.3.11 mod_ssl/2.8.22 OpenSSL/0.9.7a FrontPage/5.0.2.2635 mod_throttle/3.1.2
X-Powered-By: PHP/4.3.11
Cache-Control: private, pre-check=0, post-check=0, max-age=0
Expires: 0
Pragma: no-cache
Content-Encoding: gzip
Vary: Accept-Encoding
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

Это http-ответ сервера, размер ответа 442 байта. В ответе видно, что сервер поддерживает функцию сжатия (Content-Encoding: gzip). После этого ответа идет собственно сжатая страничка форума. Итого получаем, что для получения странички было послано и принято служебной информации 550 + 442 = 992 байта. Сама страничка в пришла в сжатом виде занимает 4857 байт, в разжатом виде 20950 байт. Что ж, потери на передачу служебной информации совсем невелики. Однако на этом показ странички не заканчивается. Когда броузер получил страничку, он увидел, что в страничке есть также другие ресурсы - в данном случае картинки в количестве 16 штук и так называемая таблица стилей (style sheet). Эти ресурсы не содержатся в самой странице, на них есть только ссылки. Когда броузер видит эти ссылки, он опять посылает http-запрос и опять получает http-ответ на каждую ссылку. Причем запрос выглядит абсолютно также, как я на запрос главной страницы, за исключением первой строчки, в которой указывается что конкретно должен вернуть сервер (пример GET /templates/subSilver/images/server.gif HTTP/1.1). Ответ от сервера приблизительно такой же, как и ответ на главную страницу. Пример ответа на запрос картинки:
Код:

HTTP/1.1 200 OK
Date: Tue, 03 Jan 2006 22:14:12 GMT
Server: Apache/1.3.33 (Unix) PHP/4.3.11 mod_ssl/2.8.22 OpenSSL/0.9.7a FrontPage/5.0.2.2635 mod_throttle/3.1.2
Last-Modified: Tue, 03 Jan 2006 18:27:36 GMT
ETag: "1f4375-11ee-43bac218"
Accept-Ranges: bytes
Content-Length: 4590
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive
Content-Type: image/gif

после чего идет собственно картика.
В результате получаем следующую картину - 8969 байт http-запросов и 6658 байт http-ответов потребовалось для получения всей заглавной странички форума. Это служебная информация, в текстовом виде, которая хорошо поддается сжатию и которую интернет-сервисы из этой группы не обрабатывают.
Общий результат для главной странички - из 36577 байт текстовой информации (т.е. той, которая поддается сжатию), мы получили 20484 байт, что весьма много для сжатой текстовой информации.
Следует заметить, что на самом деле все происходит немного сложнее - хорошие сервисы такого рода также сжимают таблицы стилей и скрипты (хотя при этом увеличивается объем служебной информации). Некоторые сервисы грешат тем, что передают свои управляющие скрипты с каждой открываемой страницей, в этом случае эффективность их использования резко снижается.
Сервисы из этой группы также могут иметь дополнительные возможности такие как антивирусная проверка, блокировка рекламы, сжатие картинок за счет ухудшения качества и пр.
Общий недостаток один - служебная информация не сжимается. Если же вы ходите на сайты типа библиотеки машкова, где на странице мало дополнительных ресурсов (картинок), а только текстовая информация, то эти сервисы весьма хорошо справляются. С сайтами, на которых много картинок они справляются хуже и для них были придуманы сервисы по сжатию, требующие установки программы.

3) Сервисы по сжатию, требующие установки программы. На самом деле здесь можно говорить очень много и долго, т.к. у каждой программы есть как общие свойства, так и дополнительные особенности, причем особенности далеко не всегда раскрываются, а в некоторых случаях и патентуются. Общим, пожалуй, можно назвать только одно - все эти программы сжимают служебную информацию в http протоколе и используют словарики для более качественного сжатия. Многие программы позволяют сжимать не только http трафик, но и трафик почтовых программ, игр, messengers и прочее. Некоторые специально созданы для спутникового интернета и имеют специальные возможности уменьшающие время ответа сервера, что очень важно в спутниковом интернете. Из других особенностей можно перечислить сжатие картинок за счет уменьшения качества, функции родительского контроля, блокировки рекламы, антивирусная поддержка и так далее.
Общий прицип работы - программа тем или иным способом перехватывает запросы от броузера, сжимает и отсылает на свой сервер. На этом сервере запрос разжимается, и обрабатывается, т.е. сервер получает страницу. После этого страница сжимается и отправляется назад, в программу-клиента. Программа страницу разжимает и отдает броузеру.

4) Еще один тип - это то, что называют прокси серверами. На самом деле прокси с английского переводится как "представитель", т.е. к прокси относятся также сервисы из групп 2 и 3. Но здесь пойдет речь о так называемых кеш-прокси. Сама идея достаточно проста - когда первый раз загружается картинка или страница, она сохраняется на диске. Если эту картинку нужно загрузить еще раз, то она не загружается из интернета, а берется прямо из диска. Поведение прокси серверов определено в стандарте http - когда передается запрос на получение страницы, прокси сначала проверяет, нет ли такой старнице на диске, если есть, то он передает дату создания. Сервер может ответить, что страница у него той же даты и не передавать страницу обратно. Когда прокси получит такой ответ от сервера, то он передаст броузеру страницу с диска. Понятно, что такой тип прокси особенно удобен для компаний, когда много людей ходят через один сервер в интернет, в этом случае высока вероятность, что ваш коллега уже смотрел данную страницу и она сохранена на диске у прокси.
Использование такого типа прокси долгое время приносило головную боль системным администраторам в основном из-за ошибок обработки кеширующих инструкций как на серверах, так и броузерами. Так же все больше и больше появляется динамических страниц, т.е. страниц, которые формируются заново на сервере при каждом запросе и поэтому не могут сохраняться локально на диске прокси.
Нужны ли кеш-прокси для индивидуального использования - вопрос достаточно спорный. Кто-то полагается на встроенных кеш броузера, кто-то считает, что броузер хуже справляется с кешированием.
Стоит заметить, что некоторые программы из третьей группы имеют свой кеш. Обычно также можно использовать кеш-прокси и компрессоры из третьей группы в связке.

5) Другие. К этой группе я отнесу две весьма экзотические программы. Одна из них работает только с MS Internet Explorer и только на хороших лининях. Используется следующая особенность IE - когда открывается страничка с большим количеством картинок, IE не открывает по одному соединению на картинку, а пытается загрузить картинки через 5-6 соединений. Этот же акселератор меняет настройки IE, в результате открывается по одному соединению на каждую картинку. Если интернет-соединение быстрое, если сервер, на котором лежат картинки, тоже быстрый и если картинок много и они достаточно большие, то получается некоторый выигрыш в загрузке.
Другой тип акслератора тоже весьма специфичен. Он рассчитан на работу с adsl соединениями, когда скорость на прием данных существенно выше скорости на передачу данных и когда один пользователь загружает файл, другой же отсылает. Дело в том, что во время загрузки данных передается служебная иформация о подтверждении приема пакетов. Если в это время второй пользователь начнет передавать данные, то он может занять всю линию и служебные пакеты первого пользователя будут сильно задерживаться, в результате "быстрый" входящий канал будет простаивать и загрузка файла сильно замедлится. Этот акселератор позволяет "проталкивать" служебные пакеты от первого пользователя, что приводит к полной загрузке входящего канала.

7) "Железные" акселераторы. Есть группа акселераторов, выполненных в виде отдельных устройств. Не рассматривается здесь, т.к. для индивидуального использования они не предназначены и, конечно, слишком дороги.

Ссылки на источники
Эта статья представлена с разрешения администрации сервиса toonel.net, предоставляющего услуги сжатия трафика. Оригинал статьи находится по адресу: http://ru.toonel.net/viewtopic.php?t=4

Категория: Мои статьи | Добавил: samarabest (2006-08-23) | Автор: Toonel.net W
Просмотров: 843 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Пятница, 2024-05-17, 08:17:39
Приветствую Вас Гость
Главная | Регистрация | Вход
Категории раздела
Мои статьи [11]
Выбор компьютера [5]
Новости Hardware [20]
Всё про Socket AM2 [6]
Всё про AMD K8L [10]
Всё про Windows Vista [20]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Поиск
Друзья сайта
Реклама


Тосты и поздравления