Increasing network speed on low bandwidth

6,144

Solution 1

Your problem goes deeper: GPRS in general and EDGE in particular are tough grounds for TCP connections due to the unreliable nature of the transport medium and the constantly changing, incredibly high round-trip-times of the data packets. Transmissions would be painfully slow not due to the fact that EDGE is slow but due to the fact that internal TCP counters would time out repeatedly, retransmissions would be triggered multiple times filling up the narrow link and reducing the transmission windows. There has been some prior scientific work dealing with this topic. One of the efforts resulted in the publishing of a paper by the University of Cambridge (which is an interesting read) and apparently the implementation of the GPRSWeb Proxy software, which has not been released to the public. You may want to contact the authors or the faculty if you need more information on this topic.

Opera Turbo indeed uses some of the techniques described in the aforementioned paper and they work quite well, but if you are looking for a browser-agnostic solution, take a look at Ziproxy:

Ziproxy is a forwarding (non-caching) compressing HTTP proxy server. Basically, it squeezes images by converting them to lower quality JPEGs or JPEG 2000 and compresses (gzip) HTML and other text-like data. It also provides other features such as: HTML/JS/CSS optimization, preemptive hostname resolution, transparent proxying, IP ToS marking (QoS), Ad-Blocker, detailed logging and more.

It would not address the protocol-specific issues of GPRS, though.

I would not use VPN links with enabled compression - it likely will not help your problem since the transmitted data is compressed already most of the time: most webmasters are using GZIP compression for HTML and CSS and image data is compressed as well and cannot meaningfully be re-compressed with lossless methods - i.e. without resizing and/or transcoding.

Solution 2

One option would be to use a VPN with compression.

http://openvpn.net is a pretty good option, if I am not mistaken it uses lzo as compression and you could gain up to 20% speed(which may vary depending on lots of things) I believe.

The compression makes the throughput bursty and slightly increases latency, in some cases you might need to tweek the windows configurations.

It does have client version for windows and linux and you can set it as a server, service and/or just start with windows as well as make it your default gateway.

EDIT:

Depending on what this solution is for, you could even go as far as setting up a squid on top of your VPN server with a caching solution + compression as well.

Share:
6,144
Gergely Bacso
Author by

Gergely Bacso

Updated on September 18, 2022

Comments

  • Gergely Bacso
    Gergely Bacso over 1 year


    I'm struggling with the following issue:
    Given a computer with low-medium CPU/RAM capabilities, and an extremely poor network connection. Poor means here 10-15 kb/s. I would like to do something to increase the usability of this machine. I would be very happy with a solution works on HTTP(s) protocols, but if it works on TCP/IP layer, that clearly would be a plus. We are talking about EDGE technology, and as far as I know, the modem doesn't use hardware-based acceleration. Currently I have the following 3 ideas:
    (if you have a completely different idea please share with me as well)

    1. using some kind of proxy
    2. using VPN
    3. Opera Turbo

    Option 1:
    I have a server with great bandwidth and 0-24 availability. I think, that must exist an out of the box solution (maybe a proxy), which could be helpful in this situation. Routing the traffic through a remote computer, and using an agressive compression on texts (and maybe on images) would be a trivial but powerful help. However I couldn't find a proxy like this.
    Question: Do you know a proxy like this? Or any other similar program?

    Option 2:
    I vaguely remember, that VPNs can use compression before encrypting. My idea would be an bandwidth oriented VPN (high compression rate, low encryption rate) on the remote server, where the client could connect to.
    Question: If it's a completely stupid idea, just correct me. If It could work, please give me a hint, how can I implement this.

    Option 3:
    I got this tip from one of my collegaues. It would work on HTTP only, but it's okay. I can't try it right now, but that seems a very simple and effective solution.
    Question: Will it work truly? And is there any browser-independent solution like this?

    Additional infos:

    • Windows XP
    • Currently I'm using Firefox
    • Security is not an important aspect
    • Admin
      Admin about 12 years
      I'm not sure I got you right, youre saying that at point A your internet is capped at 15kb/s and you want it to be faster ?
    • Admin
      Admin about 12 years
      I want to transmit more data on the same bandwidth (which is the bottleneck here), so I would like to implement a compression-based solution. The biggest question is: how?
    • Admin
      Admin about 12 years
      Unless the data is VERY compressible the overhead of a VPN will likely reduce your throughput, not increase it.
    • Admin
      Admin about 12 years
      None of your solutions would download a file faster then your EDGE connection would allow.
  • Gergely Bacso
    Gergely Bacso about 12 years
    These softwares possibly would solve my problem, but not on WinXP. And unfortunately changing the OS is not an option.
  • Gergely Bacso
    Gergely Bacso about 12 years
    OpenVPN would be good, I have used it a few years ago (as a user). I hope the server installation will work just as friendly, as the client itself. Using Squid is not a bad idea either, I'll try it as well.
  • chang
    chang about 12 years
    Good luck and anything we are around ;) I've only installed OpenVPN server on linux so im not sure how different it is on windows, but on linux with slackware and centOS it was fairly easy to setup and get running, you will need some rules on iptables but nothing hard to do. As for the client, I have used on winXP and 7 and the only issue I ever ran thru was that win 7 is not very friendly to it and I had to create a schedule task to launch it everytime I logged on to it and it must run as admin because of the VLAN Driver or w/e dont remember exactly.
  • Gergely Bacso
    Gergely Bacso about 12 years
    Thanks for the explanation, I wasn't aware of the various transmitting problems you wrote above. At first glimpse, this ZipProxy is exactly what I described in the first section. That will be the first on my list to try.