I would like to accomplish the following. If anyone has idea’s, please help!
Due to bandwidth costs, and the fact that you can’t split port 80 web traffic from port 80 download traffic (IE, loading web site from downloading 2GB file from website), I would like to accomplish this by changing the gateway of a certain download thread after say 60sec’s.
I would like to use good quality bandwidth for all websites, but when someone is downloading from a certain IP for say 60sec’s, I would like for only that thread to be routed over cheaper bandwidth which is not AS responsive. The good quality bandwidth is very expensive but responsive, the cheap bandwidth is fast enough, but with very high latency.
Thanks for your reply. Yes, I thought it might break the download, but my idea was to only change large files like 100MB etc to a different Gateway. I think most people who would download such large files would make use of download managers.
I was thinking in terms of IP Lists. Write a script which marks certain IP addresses as “IP with Large Files” and keep it there. So the first user downloading from a certain IP’s connection might break, but not the users thereafter.
Changing the route while the connection is active, will kill any connection (not just the download) connected to the destination IP. Creating a ‘ACL’ for ‘large downloads’ won’t work propperly either, because http://www.mysite.com with a standard small web site, may very well be on the same IP as http://www.bigsite.com with 1GB downloads.
Now, if MT can have some form of time control (reset connection if established for longer than x minutes) which is possible, then we can talk… -grin-
This wont solve it for the initial first time download, but setup squid properly, and let it go to cache. There is no reason why a 100MB file can’t be served 100% from cache (This is great for Patches / Services Packs / etc for example)…
I am using the Web-Proxy route at the moment, caching file of up to 18MB (could be tweaked, but I only have 512MB RAM on the CACHE MT atm).
I’m actually just playing around with different idea’s to give non-abuser clients the best possible service, and people downloading large files good service, which won’t cost too much money for the ISP.
I do agree with your statement about connection based on time, that would be sweet. I do realise now that by placing certain IP’s on address lists wont solve the problem, as you may as well cache it in the first place.
I have “some” experience with SQUID proxy, but for my limited Linux experience I find MT Web Proxy to be sufficient for what I need and rather easy to setup.
I think the biggest bug in what I’m trying to accomplish, is the fact that you cant determine whether the user is downloading several small images from a website, or actually downloading 1GB files. If only downloads would work on a different port than the files actually displayed on the website.
But, at the end of the day, the user pays per GB, so they deserve the best, but, we’re all in it for money, so if “some” money could be saved, why not?
Thanks for everyone’s help. I think perhaps we gave the MT guys something to think about. They managed to accomplish miracles in the past, let’s see what they come up with in MT V4!!