Cжатие трафика

Можно сделать сжатый туннель если есть шелл на линукс или фрибсд сервере. SSH туннели.

Примерно как сделано у меня:

Я сижу на узком канале.

Есть далеко от меня linux (на широком канале) + squid на порту 3128, вся моя почта тама

Настроил у себя putty - сказал ему перенаправлять с локального порта 3128 на порт 3128 на линуксовой машине.
Еще перенаправляю порты 110,25,443

Логинюсь putty на сервак.

В браузере пишу localhost:3128, localhost:443, в почтовом клиенте соотвественно localhost:25 ,localhost:110

Во-первых - секюрити -все данные идут в туннеле зашифрованные
Во-вторых - всякие doc,txt в почте , html прилетают с большей скоростьь т.к. сначала принимает данные линкус сервак, жмуться, потом уж мне пересылает.

-------------------

arsvrn:
Если установлен Proxomitron, то о том как использовать WebWarper для сжатия Gzip'ом трафика можно не думать. Есть готовый фильтр для WebWarper'a: http://proxomitron.ru/board/viewtopic.php?t=110&start=0 . Он также автоматом режет WebWarper'ю рекламу за бесплатное пользование сервисом.

нужно хорошо понимать, что любые архиваторы-акселераторы, не установленные на компьютер отдельный программный продукт могут сжимать только то, что видно на экране - т.е. только текст, или, как вариант, картинки. такие же вещи как собственно http заголовки, т.е запросы на получение странички (в среднем 500 байт на каждую страничку) и ответы сервера на запросы не сжимаются. Равно как и прочее, что находится "за сценой", напр. cookies, которые легко могут быть с килобайт. И вся эта бодяга передается с каждой страничкой, более того, запросов на одну страницу может быть легко штук 50 - на каждый ресурс (напр. на каждую картинку).. даже думать не хочется, сколько запросов передается на открытие странички этого форума, исходя из количества смайликов

-------------------

Что-то Toonel подозрительно у меня работает. Даже на тех страницах которые изначально в Gzip сжаты он показывает 70% экономию. Он что на сервере расжимает а потом пересжимает по новому? Или смотрит размер загруженной страницы и сравнивает с переданной? В любом случае что то не сходится т к по счетчику трафика экономия намного меньше выходит.

ок, как происходит общение между броузером и веб сервером:
1) броузер шлет запрос (http request) серверу
2) сервер отвечает броузеру http ответом, в котором есть заголовок и собственно страничка.
после заголовка идет собственно страничка, которая может быть пожата сервером (gzip).
3) броузер страничку получает и начинает ее "разбирать". Видит, напр., что в страничке есть картинка (тот же смайлик), значит надо послать серверу запрос на получаение картинки. Т.е. опять имеем http запрос и http ответ. И так продолжается до тех пор, пока все ресурсы (картинки) не будут закачаны в броузер.
что мы имеем в конце концов - на эту страничку форума было отослано 14 запросов и получено 14 ответов. Каждый запрос-ответ занимает грубо 300 байт, получаем, что было "потрачено" около 4200 байт на передачу служебной информации. Собственно контент на этой странице занимает 9017 байт. gzip жмет только контент, он не жмет http заголовки. Вот и ответ, почему toonel (которому плевать на заголовки-контент, жмет все подрят) сжимает еще больше.
Т.е. предположим, что gzip сжал страничку на те же 70%, и, предположим, что toonel дальше ее сжать уже не смог. Тогда получаем, что без toonel приехало 4200 + 9000*0.3 = 6900 байт. С toonel приедет 4200*0.3 + 9000*0.3 = 3960 байт, т.е. получаем на gzip-ной странице дополнительно сжатие 43%.

далее.. что-то мне подсказывает, что 70% было либо
а) outgoing traffic, т.е. фактически передавись http запросы к серверу только, а они текстовые и поэтому хорошо жмутся.
б) после просмотра страниц, в которых мало текста, но много ресурсов, типа картинок, при этом картинки были взяты броузером из кеша. В этом случае можно удалить кеш и проверить сжатие - должно быть существенно меньше
в) было включено сжатие JPEG - 10% ухудшения качества приводит зачастую к двухкратному уменьшению размера файла картики.

ну и последнее... все эти заголовки-страницы и прочее вкладываются в другой протокол, обычно в tcp-ip. и там тоже есть потери на передачу служебной информации. напр. только на установку tcp-ip соединения с сервером, без передачи данных, требуется 120 байт. toonel не может считать трафик на таком низком уровне, он считает только собсвенно данные, которые передаются в tcp. Поэтому если смотреть мониторами, которые считают байтики на уровне ip или tcp, то байтиков получится больше, чем насчитает toonel, что принятых, что отосланных. причем количество может очень сильно варьироваться в зависимости от качества линии.
чтобы проверить правильность цифр toonel, мониторить нужно http протокол.

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

--------------------

zkv:
Вобщем скачал toonel, попробовал - действительно экономит процентов 70 траффика. Но есть одна проблема. У нас траффик разделяется на городской и внешний. Если заходить на городские сервера через toonel, то он будет считаться как внешний. Можно как-то сделать разграничение по ип адресам? В самой программе вроде нет таких настроек. В интернет ехплорере можно задать ип для которых не использовать прокси, но там их можно задавать только через точку с запятой, а нужно в виде: 192.168.0.1 netmask 255.255.255.0 или 192.168.0.1/24. Может подскажите браузер с такой возможностью? Или может файерволл можно как-то настроить? Правда в голову пока ни чего не приходит.

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

function FindProxyForURL(url, host)
{
if (isInNet(host, "192.168.1.0", "255.255.255.0"))
return "DIRECT";
else
return "PROXY 127.0.0.1:8000";
}

т.е. вся сеть 192.168.1.0 будет идти напрямую, все остальное через прокси 127.0.0.1:8000