Сжатие HTTP/FTP,...

Сжатие HTTP/FTP,...
Мой офис подключен к Интернет через ISDN на скорости 64Кбит, так что максимальная
скорость передачи является около 7Кб/сек. Можно повысить скорость соединения,
путем сжатия передаваемой информации: теперь, когда я скачиваю файлы, Netscape
показывает скорость до 40Кб/сек (файлы журналов сжимаются в 15 раз). SSH - это
утилита, предназначенная для обеспечения безопасного соединения через небезопасные
сети, при помощи шифрования данных. Но, кроме того, SSH способна сжимать информацию
и осуществлять переадресацию портов (аналогично rinetd или redir). Так что она
вполне подходит для сжатия простых TCP/IP соединений. "Простых" \- значит, что
открывается только одно TCP-соединение. FTP-соединения или соединения между M$-Outlook
и MS-Exchange не являются "простыми", т.к. открывается несколько соединений одновременно.
SSH использует алгоритм сжатия LempleZiv (LZ77), обеспечивая такую же компрессию,
как и в winzip/pkzip. Для того, чтобы сжимать все HTTP-соединения с Интернет,
мне необходимо запустить одну команду на своей машине:
ssh -l <login ID> <hostname> -C -L8080:<proxy_;at_;ISP>:80 -f sleep 10000
<hostname> = машина моего провайдера, обеспечивающая доступ через SSH.
<login ID> = мое имя входа на <hostname>
<proxy_;at_;ISP> =веб-прокси-сервер моего провайдера
Обозреватель настроен на работу через прокси-сервер localhost:8080. Портативный
компьютер настроен на этот же порт моей машины. Соединения сжимаются и переназначаются
реальному прокси-серверу сервером SSH. Инфраструктура выглядит примерно так:
64KBit ISDN
Мой компьютер--------------------------------Компьютер (Unix/Linux/Win-NT)
SSH-клиент сжато моего провайдера
порт 8080 SSH-сервер, порт 22
| |
| |
| |
|10МБит Ethernet |100МБит
|не сжато |не сжато
| |
| |
Мой второй компьютер WWW-прокси провайдера
с Netscape,... порт 80
(портативный)
Сжатие электронной почты
Входящая почта (POP3, IMAP4)
Большинство людей принимают электронную почту с почтового сервера при помощи
POP3. POP3 - это протокол со многими недостатками.
1.
POP3 передает пароль, как обычный текст. (Хотя есть различные реализации
SSL для POP/IMAP и аутентификация типа запрос/ответ, описанные в RFC-2095/2195).
2.
POP3 - избыточный протокол: сначала клиент запрашивает сообщение, затем
сервер посылает его. После этого клиент может дать серверу команды удаления принятых
сообщений. Сервер подтверждает удаление. Далее сервер дает понять, что он готов
к следующей команде. Таким образом, необходимо 4 команды, чтобы принять каждое
письмо.
3.
POP3 передает почту без сжатия, хотя она очень хорошо компрессируется (в
3.5 раза).
Возможно осуществить сжатие POP3, перенаправляя соединения с адреса localhost:110
через сжатое соединение к вашему провайдеру на порт POP3. Для этого необходимо
в почтовой программе установить сервер входящей почты в localhost:110. Это безопасное
и быстрое соединение, но оно все еще зависит от недостатков протокола POP3.
Имеет смысл заменить POP3 на более эффективный протокол. Идея заключается в том,
чтобы перекачивать все содержимое почтового ящика, хранящегося на почтовом сервере,
без какого-то ни было почтового протокола. SCP - хорошая утилита для выполнения
этого. Вы можете скачать ваш почтовый ящик примерно так:
scp -C -l имя:/var/spool/mail/loginid /tmp/newmail
Но есть проблема: что произойдет, если во время передачи на сервер придет новая
почта? Новая почта будет потеряна. Таким образом, лучше всего использовать следующие
команды:
ssh -l имя почтовый_сервер -f mv /var/spool/mail/имя /tmp/имя_fetchme
scp -C -l имя:/tmp/my_;new_;mail /tmp/имя_fetchme
mv - это простая операция, мгновенно переносящая файл в другое место, так что
у вас не будет проблем, если придет новая почта. Но если каталоги /tmp/ и /var/spool/mail
находятся на разных дисках/разделах, у вас все-таки могут возникнуть некоторые
трудности. Решение - это создать файл блокировки на сервере перед тем, как перекачивать
почту: touch /var/spool/mail/имя.lock. Вы должны убрать его после того, как закончите
перекачку. А еще лучше, переименовать почтовый ящик внутри этого же каталога:
ssh -l имя почтовый_сервер -f mv /var/spool/mail/имя /var/spool/mail/имя_fetchme
Затем обработайте полученный почтовый ящик /tmp/newmail, при помощи команд formail
и procmail: formail -s procmail < /tmp/newmail
Исходящая почта (SMTP)
Передача электронной почты через сжатое и шифрованное SSH-соединение обеспечивает:
*
Уменьшение трафика сети
*
Безопасность (впрочем, это не имеет смысла, если далее почта идет по незащищенным
сетям)
*
Аутентификация посылающего. Большинство почтовых серверов не принимают
почту с других машин, предназначенную для внешней доставки (relay). Если вы посылаете
почту через SSH-соединение, почтовый сервер (sendmail или MS-exchange) думает,
что она посылается с локальной программы...
Если на почтовом сервере установлен доступ SSH, используйте следующую команду:
ssh -C -l имя почтовый_сервер -L2525:почтовый_сервер:25
Если у вас нет SSH-доступа к почтовому серверу, но есть сервер с SSH, которому
разрешена связь с другими машинами, вы можете использовать его:
ssh -C -l имя другой_сервер -L2525:почтовый_сервер:25
После этого вы можете настроить свою почтовую программу (или почтовый сервер:
см. "smarthost") так, чтобы она посылала исходящую почту через localhost:2525.
Быстродействие.
Конечно же, сжатие/шифрование занимает процессорное время. Например старый Пентиум-133
может сжимать и шифровать около 1Гб в час, а это достаточно много. Чтобы увеличить
скорость, вы можете скомпилировать SSH с опцией "-with-none", и он не будет шифровать
информацию. Следующая таблица дает сравнение между различными методами загрузки
(файл 6МБ передавался с Pentium-133 на Pentium-233 через сеть 10Мбит).
+-------------------+--------+----------+-----------+------------------------+
| | FTP |шифрованый| сжатый |сжатый & шифрованный|
+-------------------+--------+----------+-----------+------------------------+
+-------------------+--------+----------+-----------+------------------------+
| Время | 7.6с | 26с | 9с | 23с
|
+-------------------+--------+----------+-----------+------------------------+
| Скорость | 790K/с | 232K/с | 320K/с | 264K/с
|
+-------------------+--------+----------+-----------+------------------------+
| Сжатие | 1 | 1 | 3.8 | 3.8
|
+-------------------+--------+----------+-----------+------------------------+
Ray Van Dolson
Перевод: Александр Ермолаев, SWSoft Pte Ltd.
Статья взята с сайта www.oszone.net.
********
Всего хорошего, Dimon...
24 сентября 2004 г. 23:07
dim***@p*****.com
kds@l*****.ru
2:5056/16.29
ICQ 161208463
-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.linux.kirovlug
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписать: mailto:comp.soft.linux.kirovlug--unsub@subscribe.ru?subject=comp.soft.linux.kirovlug
http://subscribe.ru/ http://subscribe.ru/feedback