A torrent state table
Torrent in action
said by dynodb: said by knightmb:
There is no reason to worry about a customer using the pipe 24/7 really. As one who runs his own ISP, I've found that all the myths that the big players say about bandwidth hogging and such are just false. It really just comes down to knowing how to configure your routers, gateways, and portals properly.
Please enlighten us as to how one might configure their router, gateway or portals to allow a DS3 or OC3 to pass more than 45M or 155M of data.
Not enough space to fit it all here if you want technical details, but mainly it boils down to not even looking at the traffic in terms of how much bandwidth you have, but more in the terms of making sure traffic is shared evenly to begin with.
If you have a node that will max at 45 megabits/sec and it's not smart enough to know how to pipe in simultaneous connections into a group so that other traffic can pass it's time to look at some other hardware setups. Quite frankly, it is basically traffic shaping but without all the silly rules. If you have one pipe (use the 45 megabits/sec again) and 45 customers tied to this node; then one customer running BitTorrent should only be able to dominate the idle available bandwidth. If the customer is able to burn 45 megabits/sec and stall everyone else instead of the bandwidth being split down evenly among all connecting peers, then that's another example of not using some basic traffic shaping setup.
The biggest problem I see though is mainly the state tables being way too small. You can have a switched network where computer A and computer B doing a file transfer at full bandwidth doesn't halt everyone else in the office. The problem occurs for some devices where something like BitTorrent isn't churning out bandwidth as much as many simultaneous connections. So the gateway device that is awesome for speed when peers are just sending data to a few IP address chokes when one peer is just sending small chunks to hundreds or thousands of IP address at a time. The device just wasn't designed with the RAM needed to maintain a state table that big and thus just chokes out.
It's the same problem that all home routers have, great bandwidth for a few connections, but crash/choke they are asked to do small bandwidth to a lot of different locations. They all just run out of RAM because the state table is just too big to fit.
Your desktop PC suffer the same issue as it can only make so many connections before it hits a limit. The real key is making sure whatever setup you have is going to more powerful than anything a client (PC) could throw at it be it just raw data transfer or hundreds/thousands of connections going at once.
For me anyway, FreeBSD and Linux have basically solved the issue due to how much fine tuning they allow. A good PC with lots of RAM does circles around some of the most expensive commercial software/hardware out there.
Sure, you can buy your way into the multi-hundred thousand dollar Cisco equipment that would be on par with the setups I'm talking about, but I don't believe that even the richest ISP (Comcast, AT&T, etc.) are going to spend that kind of money to install one at every block to make sure John Doe and Jane Doe down the street can check e-mail while D00D1 down the block is sharing his torrents with as many clients as his PC/Connection can handle at once.
The next best thing you can do is build it yourself and spend all the money saved on keeping the pipe big for all your customers and not worry about which time of day and how much bandwidth percentage XYZ customer is using. We have customers that barely touch 200MB a month and others that doing 10GB a day of traffic. The only company policy we have is keep it fast, don't mess it unless it becomes a problem.
Hmm, this reply was a lot longer than I expected and barely touched on the technical side of things, so basically if you want to churn out bandwidth like this screenshot I have attached (just picked the top 100 from thepiratebay as a example, stealing is wrong, etc. yes I know, canceled it after the screenshot)
then FreeBSD gateway is your friend (and Linux too for a OS for the client). I had over 6,000 connections going, of which over 5,000 just for that torrent. So even with all the leechers, was still about to churn out some good bandwidth for it. That's running on the same pipe as 3 other customers who having their BT blazing 24/7 also, but their machines barely touch 500 connections due to probably defaults or limitations of their PC. In all that, other PCs still surf the web, play movies, etc. as though nothing is wrong.
If I can burn up this much simultaneous bandwidth while 3 others are doing the same and everything hums along just fine, I just shake my head when I hear hype about the one BT user who is able to take out his/her entire neighborhood with just a single PC. It's all about the setup.--
Fight Insight Ready (Was NebuAD) and the like:
Click Here to pollute their data