Fog Creek Software
Discussion Board




Throttle incoming connections?

Once upon a time, you could never have too much bandwidth :) However, with high speed file servers (eg Fileplanet), there are times when you want to download a 300 mb game demo at lunch time and not incur the wrath of your company's sysadmin for using up all the available bandwidth (even if it's just for 20 minutes or so).

I managed to find a program called NetLimiter which seems to work really well and at 29.95 it's not too expensive, but it did get me curious. How would someone go about writing an app like that? Is there a system level hook (similar to mouse/keyboard events) that you can use to watch TCP communication? Does it somehow intercept the packets sent to each application and then only send back the 'acknowledged' signal at the appropriate time so you can maintain a relatively constant speed?

Disclaimer: I have done practically no network programming, having spent my time in school and work doing  UI, databases, etc. so if the answer is blindingly obvious please excuse me. A few google searches didn't seem to produce anything useful, but I may have been using the wrong search terms.

jedidjab79
Wednesday, December 10, 2003

Take a look at packet shaping, do a google on something like packet shaping+linux, or altq+packet shaping. If you just want to concepts, it should give you a decent practial background on the subject, even if you're using windows.

fw
Wednesday, December 10, 2003

As fw noted altq does this very well. Also OpenBSD has altq integrated into its packetfilter

Tom Vu
Wednesday, December 10, 2003

Download managers also do this job. You didn't specificy your platform, but I use getright on windows and you can throttle the bandwidth. It is adware too, so you needn't pay if you don't mind the stupid ads.

Gavin van Lelyveld
Thursday, December 11, 2003

Your company should have a PacketShaper.  (Disclosure: we do sell them).  There are other, competing, products--Allot and Sitara come to mind.  We like Packeteer's PacketShaper the best, though--the feature set is better.

If you're sitting at a desktop, though, it wouldn't be the best product for you, personally.  It's a hardware box, and it's pricey for an individual (starting at $2k depending on features).

The box *is* pretty darn useful, though.  A lot of schools use them, actually.  You can imagine the problems they have with bandwith utilization!

Rich
Friday, December 12, 2003

*  Recent Topics

*  Fog Creek Home