So the ISPs are bitching about BitTorrent and similar P2P applications hogging their pipes. Here’s what they can do to easily fix their problem:
1. Start supporting IPv6.
2. Allow and route source-specific multicast.
Problem solved.
Now when somebody wants to distribute a large file, and they want to devote, say, 10 Mbps to it, all they need to do is start multicasting their content continuously on a number of ports. One port should multicast at 5 Mbps, one at 2.5, one at 1.25, etc., for all possible receiver speeds.
Whenever the content is fully sent on one of these ports, simply start over and send it again and again. Add some redundancy and error checking to each channel, and you’re done.
It’s easy to to mathematically prove that this is the most efficient manner of sending the same content to multiple users. Way more efficient than BitTorrent and other P2P protocols.
Does this make sense for ISPs? They would lose a hefty chunk of money from companies like Microsoft (think of all the bandwidth they use when they post a service pack for Windows), but last mile ISPs would benefit tremendously. And as long as pirated content outweighs legitimate content and flat subscriptions are the norm for home users this would be a net win for them.
Notes:
1. This makes sense only for distribution of large files wanted for many users. YouTube probably couldn’t use it.
2. IPv4 supports source-specific multicast with IGMPv3, but that has its problems. IPv6 solution, now that it’s supported by all major operating systems, is a superior solution.