Весь мир через Туннель
Наверное многие из вас, уважаемые читатели, хоть раз, да пользовались доступом в Интернет со своего КПК или коммуникатора. Для многих это так же естественно, как и Интернет со стационарного компьютера.
Но тут встает другая проблема: если для обычного Интернета существуют десятки провайдеров и еще по десятку тарифов на каждого, где каждый может выбрать понравившиеся себе расценки, то для мобильного выбор не столь уж и велик, не говоря уже о выгоде его использования.
Способы доступа, и их преимущества, ко всемирной сети со своего домашнего лэптопа можно перечислять достаточно долго. Тут вам и «старичок» Dial-up, и всеми любимая «выделенка», и новомодный ADSL, включая всяческие экзотические Радио-Интернет, Спутниковый и совсем уж вожделенный T1 через оптоволокно. Выбор остро не стоит, каждый может выбрать себе лакомый кусок исходя из места проживания, наличия дензнаков в кармане, а так же эстетических и религиозных убеждений.
Гораздо хуже приходится продвинутому товарищу с телефоном в кармане. Обычно в полевых условиях хочется такой же оперативности и скорости, как и дома… Но! Но не все так просто. Залогом быстрой и качественной связи в данном случае выступает Оператор сотовой связи, который предоставляет услуга доступа ко всемирной сети через GPRS, или EDGE (про 3G я скромно умолчу).
Вот тут-то и начинаются проблемы. Скорость маленькая, загруженность сети высокая (приоритет на голосовые вызовы выше, чем на канал передачи данных). В итоге мы имеем медленно ворочающиеся страницы в браузере, томительные минуты ожидания, и ко всему этому еще и совершенно дикую стоимость одного мегабайта переданной информации.
Рассматривая тарифы на использование GPRS можно найти цены от 1000 рублей за мегабайт до 30 руб./Мб (3000 руб. в сутки). Но и тут встает вопрос – Как заплатить еще меньше?
И входит, и выходит!
Опять же, возвращаясь к нашему настольному компьютеру – любителям сэкономить приходится там намного легче. Направление развито гораздо богаче, и конечный пользователь имеет на дело всяческие программы, которые не дают так просто улетучиваться деньгам из родного бюджета. Это вам и Бустеры, и ускорители, и прочие «сжиматели-и-расжиматели» трафика. У реально работающих оказался один и тот же принцип действия – клиентская часть выступает в роли мини прокси-сервера, которая и управляет трафиком и общается с локальными приложениями и удаленным сервером.
А как же быть владельцам карманных компьютеров? Небольшой поиск показал отсутствие данного вида программного обеспечения на нашем, и не только, рынке софтверных продуктов. Но опять же, тот же поиск нашел достаточно интересную вещь, о которой в дальнейшем и пойдет речь.
Проходим Туннель!
В ходе нашего поиска, мы оказались на сайте достаточно интересного продукта, называемого toonel.net. Дальнейшее исследование показало, что это технология сжатия трафика для увеличения пропускной способности на каналах передачи данных с невысокой скоростью. Если Вы не запутались в этом предложении, то вероятно поняли, что это как раз то, что мы искали.
Немного теории
Итак, что же есть сие toonel.net? Оказалось все достаточно просто. Как мы уже говорили – это технология сжатия трафика. На карманный компьютер устанавливается клиентская часть toonel, которая и будет управлять трафиком. Технологическая цепочка достаточно проста:
1. Вы набираете в адресной строке Вашего браузера адрес сайта
2. Программа toonel посылает запрос на получение страницы на свой сервер.
3. Сервер скачивает страницу с сайта.
4. Сервер сжимает страницу и посылает её на Ваш КПК программе toonel.
5. Программа toonel получает сжатую страницу, преобразует её в исходный несжатый формат и передаёт Вашему веб-браузеру.
Так же все вышеперечисленное относится и к другим видам данных, будь то мгновенные сообщения ICQ, или же электронная почта. Итого в теории мы должны увидеть желанную страницу быстрее и дешевле. Но сразу же следует оговориться и разочаровать некоторых – не весь интернет-трафик поддается сжатию. В toonel используется технология jzlib, хорошо сжимающая текстовую информацию. Графические изображения и медиа-файлы разного рода буду иметь коэффициент сжатия равным нулю, или достаточно близким к немую Почему? Потому, что данного вида контент (jpg, mp3 и т.д.) итак уже имеет достаточно сильное сжатие и повторному не поддается.
«Ингредиенты, сэр!»
Давайте теперь разберемся с установкой и настройкой нашего «Туннеля». Прежде всего, стоит знать, что клиент, устанавливаемый на Ваш КПК, выполнен на технологии Java™. Из этого следует то, что у вас должна стоять «виртуальная ява-машина» для запуска toonel. Разработчики гарантируют работу своего клиента на ниже приведенных «Ява-машинах»:
– IBM J9 PE: _http://winmobiletech.com/sekalaiset/IBMJ9PE.ZIP
– Creme JVM: _http://www.nsicom.com/Default.aspx?tabid=220&p=4
– Jeode JVM: _http://my.opera.com/Jimmer/homes/files/Jeode%20JavaVM.rar
– Mysaifu JVM:_http://www2s.biglobe.ne.jp/~dat/java/project/jvm/index_en.html
Люди, в распоряжении которых находятся коммуникаторы могут немного расстроится, узнав, что toonel с большой долей вероятности может не заработать на преинсталлированной Java-машина в их девайсах.
Наше тестирование проводилось на IBM J9 JVM. Тут сказалось, как и личное пристрастие, так и то, что на данный момент было проинсталлировано на тестовом КПК. Вы же можете использовать любую понравившуюся вам «ява-машину», конечный результат от этого не изменится.
Следующее что нам необходимо – собственно сам клиент Туннеля. Итак, клиентская часть представляет из себя jar-файл (мидлет), запускаемый в среде Java™. На момент написания статьи на сайте была доступна последняя версия 0.0.50.50: _http://www.toonel.net/wm/005050/toonel.jar
«Просто ты не умеешь его готовить!»
Теперь, имея все необходимое под рукой, можно приступить непосредственно к установке и настройке нашего туннеля. Сама «ява-машина» была скачана в виде cab-файла и инсталлировалась на самом КПК с помощью CabInstaller’а в iPAQ File Store. Дальнейшая настройка не требуется. Мидлет был записан в основную память в корневой каталог, имея путь в виде \toonel.jar.
Для запуска мидлета необходимо создать ярлык на исполняемый файл «ява-машины». В ярлыке вам нужно прописать путь к исполняемому файлу и мидлету, а так же указать параметры запуска. Либо вы можете скачать уже готовые здесь: _http://www.winmobiletech.com/sekalaiset/ToonelStartupLnkFiles.zip и далее только изменить пути внутри ярлыка к «ява-машине» и мидлету. Ниже вы можете видеть значения выставленные по умолчанию в ярлыках для различных JVM.
– IBM: “\Program Files\J9\PPRO10\bin\j9.exe” “-jcl:ppro10″ -cp \toonel.jar client.WebUI
– Creme: “\Windows\creme\bin\CrEme.exe” -Ob -classpath \toonel.jar client.WebUI
– Jeode: “\Windows\evm.exe” -Djeode.evm.console.local.keep=true -cp \toonel.jar client.WebUI
– Mysaifu: “\Program Files\Mysaifu JVM\jre\bin\jvm.exe” -Xmx5M -cp “\toonel.jar” client.WebUI
В нашем случае необходимо подредактировать эти значения – прописать свои пути до ява-машины и мидлету. Так же одна немаловажная деталь – необходимо заменить в готовом ярлыке последний параметр запуска мидлета, который указывает в каком виде будут показаны настройки toonel:
gui.ClientForm – все настройки доступны через интерфейс вашей JVM.
gui.ClientForm -t – в данном случае не запускается графическая оболочка мидлета, что существенно экономит виртуальную память устройства. Все настройки доступны через веб-интерфейс 127.0.0.1:7999. Следует учесть, что попасть в настройки в этом случае можно только при подключенном интернете.


Итак, ярлык настроен, можно приступать к запуску. Мы выбрали первый способ отображения настроек, так как на начальном этапе он более удобен. В дальнейшем можно уже будет запускать туннель с веб-интерфейсом и таким образом экономить виртуальную память.
Если на предыдущих этапах все было сделано верно, то через пару секунд должна запуститься JVM, а вместе с ней и наш мидлет. Первое, что вы увидите после запуска – окно с четырьмя закладками. Если так и есть, то можете себя поздравить и приступать непосредственно к настройкам.
Stats: информация о использованном трафике. Здесь вы можете узнать детальную информацию за загруженном трафике, сколько было сжато трафика и т.д.
Mapping: настройка ip-адресов и портов соединений. Здесь выставляются ip-адреса серверов необходимых для работы ваших программ, и порты для работы с ними.
Web: настройка внешнего прокси-сервера и параметры сжатия графики. Здесь можно выставить дополнительный внешний прокси-сервер, а так же принудительно задать параметры сжатия изображений.
About: информация о программном продукте.




В дальнейшем мы еще вернемся к закладке Mapping, как к наиболее важной для нас.
«Браузеры, мылы, и прочие аськи»
Настала самая важная часть – научить наши программы пользоваться новообретенной «халявой», то есть тыкнуть и «сказать» им куда следует идти. Собственно для этого есть два пути:
Первый способ – создать новое подключение к Интернету и в настройках соединения указать, что данная сеть подключается к Интернету через прокси-сервер. В качестве прокси-сервера указать 127.0.0.1 с портом доступа 8080. В дальнейшем при использовании этого подключения к сети все программы будут обращаться к нашему Туннелю. Если же Вам потребуется, чтобы соединение не использовало сжатый трафик, то Вы всегда можете воспользоваться вторым подключением без прокси-сервера. Из недостатков данного способа является то, что некоторые программы могут просто отказаться работать через прокси.
Второй способ – указать в настройках самих программ ip-адрес и порты доступа. Здесь мы дадим общую рекомендацию в какую сторону нужно «копать».
– Интернет-браузеры. В настройках самого браузера указывается адрес прокси-сервера 127.0.0.1 и порт 8080. Для Pocket IE подходит только первый способ, так как него отсутствуют настройки указания прокси. Для NetFront настройки указываются в «Tools/Browser Setting/Network». Для Opera for WM необходимые настройки нужно самостоятельно прописать в файле opera.ini.
– Почтовые клиенты. В настройках вашего почтового ящика необходимо заменить строки входящего и исходящего сервера почты (pop3 и smtp соответственно) на 127.0.0.1. Далее необходимо указать эти сервера в настройках самого toonel: закладка Mapping, далее жмем на –new port mapping– и создаем сперва запись для входящей почты, потом для исходящей. В параметре «hostname» указываем pop3-сервер вашей почты, и порт доступа. Аналогично создаем запись для исходящей почты.
– ICQ и прочие клиенты мгновенных сообщений. Нет ничего проще - в настройках прокси ИМ-клиента достаточно указать тип протокола (http или socks) 127.0.0.1 и порт (8080 для http или 1080 для socks).
– Самым хитрым образом повел себя клиент IRC, в нашем случае wmIRC. Работать через туннель он согласился только когда интернет был подключен через мини локальную сеть с настольным компьютером. Непосредственно прямое соединение с КПК через мобильный телефон никаких результатов не дало.



После всех произведенных настроек можно непосредственно подключаться к всемирной сети и приступать к тестированию. Чем мы собственно и занялись.
Как бы это не удивительно, но у нас все заработало с первого раза и не потребовало еще раз пересмотреть параметры связи. Браузер послушно принимал страницы. Почта принимала и отправляла письма. Аська принимала и отправляла сообщения. Заметная прибавка в скорости загрузки сразу обнаружилась в отображении сайтов и была заметна невооруженным взглядом. Даже особо тяжеловесные страницы стали появляться если не моментально, то на порядок быстрее. Статистика toonel показала, что вся текстовая информация подверглась сжатию до 70% , а в некоторых случаях и до 75%. Итого – побродив по интернету на 500 Кб, мы реально заплатим только за 150-160 килобайт. Довольно таки весомый аргумент по нашему мнению. И чем выше трафик, тем больше коэффициент сжатого. Правда картину несколько испортила статистика dial-up соединения, где реальная цифра несколько не соответствовала статистике из toonel. В любом случае расхождение не превышало пару десятков килобайт и общего впечатления не испортило.


Ложка дегтя
Теперь можно поговорить и о грустном – недостатках. Итак, перечислим их по пунктам:
1) Весьма трудна установка toonel. Новичкам будет довольно трудно разобраться во всем с первого раза.
2) Вся технология работает на Java™, что несколько неудобно. Это и медленно, это и потребляет много виртуальной памяти.
3) Утопии не бывает, и, вполне возможно, что некоторые программы откажутся работать через toonel.
4) Во многом скорость работы очень зависит от внешнего сервера и его загруженности. Так частенько при доступе к сайтам возникали задержки между отправкой запроса на сервер и дальнейшим принятием информации на КПК. Это обусловлено тем, сколько виртуальных туннелей выделено вам в данным момент. Обычно это 2 туннеля, но иногда их может быть и больше. У нас иногда их было 5.
«И все-таки вы мне нравитесь»
Ну и в заключении хотелось бы сказать, что не смотря на все вышеперечисленные недостатки у toonel есть два немаловажных плюса, которые с легкостью перевешивает отрицательные стороны – данный клиент единственный на КПК, и самое главное – он бесплатный! Как говорил персонаж одного фильма – «Экономия долна быть экономной!». Чего и Вам желаем!
P.S.
Параметры proxy для Opera for WM, необходимо прописать вручную.
[Proxy]
Automatic Proxy Configuration URL=
Enable HTTP 1.1 for proxy=1
No Proxy Servers
Use HTTP=1
Use HTTPS=0
Use FTP=0
Use GOPHER=0
Use WAIS=0
Use Automatic Proxy Configuration=0
HTTP Server=127.0.0.1:8080
No Proxy Servers Check=0
P.P.S.
Кто не хочет ставить туннель, то в прокси серверах прописываем адреса из оперы мини и, вуаля – gZipим трафик без всякой посторонней помощи.
Ссылки:
Афтор
Официальный сайт toonel.net

