Compressed TCP/IP-Sessions using SSH-like tools: Compressing HTTP/FTP,...

Next Previous Contents

## 2. Compressing HTTP/FTP,...

My office is connected with a 64KBit ISDN line to the internet, so the maximum transfer rate is about 7K/s. You can speed up the connection by compressing it: when I download files, Netscape shows up a transfer rate of up to 40K/s (Logfiles are compressable by factor 15). SSH is a tool that is mainly designed to build up secure connections over unsecured networks. Further more, SSH is able to compress connections and to do port forwarding (like rinetd or redir). So it is the appropriate tool to compress any simple TCP/IP connection. "Simple" means, that only one TCP-connection is opened. An FTP-connections or the connection between M$-Outlook and MS-Exchange are not simple as several connections are established. SSH uses the LempleZiv (LZ77) compression algorithm - so you will achieve the same high compression rate as winzip/pkzip. In order to compress all HTTP-connections from my intranet to the internet, I just have to execute one command on my dial-in machine:

`ssh -l <login ID> <hostname> -C -L8080:<proxy_at_ISP>:80 -f sleep 10000`

<`hostname`> = host that is located at my ISP. SSH-access is required.

<`login ID`> = my login-ID on <`hostname`>

`<proxy_at_ISP> =`the web proxy of my ISP

My browser is configured to use `localhost:8080` as proxy. My laptop connects to the same socket. The connection is compressed and forwarded to the real proxy by SSH. The infrastructure looks like:

                      64KBit ISDN
    My PC--------------------------------A PC (Unix/Linux/Win-NT) at my ISP
    SSH-Client         compressed        SSH-Server, Port 22
    Port 8080                             |
     |                                    |
     |                                    |
     |                                    |
     |10MBit Ethernet                     |100MBit
     |not compressed                      |not compressed
     |                                    |
     |                                    |
    My second PC                         ISP's WWW-proxy
    with Netscape,...                    Port 80
    (Laptop)

Next Previous Contents