Given the following:
- A small, remote office has only a few users and a 1.5 Mbps DSL connection via a ZyXEL 660R.
- Users experience unacceptable latency and packet loss when even one large file is being downloaded, by any user, causing the downstream bandwidth limit to be reached.
- Only ISP is available (the local phone company) and there are no cost-feasible options to upgrade bandwidth to this location. (The office location is about 15,000 feet from the DSLAM.)
- We have flexibility to deploy whatever open-source solution makes the most sense.
What would be the best way to implement traffic shaping such that downloads never consume 100% of the available bandwidth? Can l7-filter or some other application-awareness tool be used to throttle HTTP downloads in a more sophisticated way than by IP address and port number, such that the same user who is downloading a large file via HTTP on port 80 might still be able to access other web resources on port 80, albeit at slower-than-normal data rates? (For example, would it make sense to limit the bandwidth of anything with a MIME type of application/octet-stream
?)
Is there a simpler alternative that I'm missing?