I just read through Gary Audin's article on Net Neutrality and want to put in my comments. I agree with Gary that net neutrality will overall be beneficial to consumers. But there are some misunderstandings and some issues that need to be worked out, and there is a lot of FUD in the market that confuses the conversation.
Comcast: First let's talk about Comcast. Articles across the blogosphere keep referring to the time when Comcast was "blocking" peer to peer traffic. While this is technically correct, it does not really portray what was going on.
Comcast found that a small percentage of their users were consuming a very high percentage of the network bandwidth, and they were predominantly using peer-to-peer transfer protocols like BitTorrent, swapping music or video files. They took the view that users consuming high volumes of traffic was fine unless it impacted their neighbors. The cable plant shares bandwidth between a group of neighbors. In a typical scenario there might be 6 Mbps of uplink bandwidth that is shared by 100 or 150 users, each of which is allowed to use as much as 1 Mbps of upload bandwidth on a momentary basis. Obviously not all the users can use 1 Mbps concurrently, but in most cases this is not a problem. Uplink bandwidth is typically small unless you are uploading pictures, updating websites, or transferring music using BitTorrent.
If six people, in the scenario above, are all using BitTorrent, it is possible for them to fill the uplink pipe, and then cause performance problems for the other 144 neighbors using the same bandwidth.
Comcast chose to alleviate this problem by slowing down BitTorrent for heavy users. BitTorrent does not consume all its bandwidth with one TCP connection, but instead opens many connections to many different PCs around the world, and sends off pieces of a file to each one. Comcast monitored those connections, and limited the number of links a PC could open by killing TCP connections beyond that limit. So BitTorrent was being slowed down by blocking some of the many threads it opened. But BitTorrent was still operating. Most of the music transfers got through, they just took a little longer.
After receiving criticism for this approach, Comcast changed their methodology. The new approach monitors the utilization of each user (total bandwidth consumed over a measurement period) and then lowers the priority of all traffic from that user if the uplink is congested and if the user has been a heavy user. Priority is reset to normal after the user demand or the total uplink demand drops to a less congested state. The effect of this approach is that heavy users can use the network when they are not in contention with their neighbors. When they are in contention with neighbors, the lower volume neighbors are given priority, but the heavy user is still given every possible byte of available bandwidth to continue to upload their files.
The same algorithm applies to downlink bandwidth, except the bandwidth numbers are much higher. Management of uplink and downlink bandwidth is independent.
Bandwidth: Some of the net neutrality advocates rant and rave online that they should be able to use all their contracted bandwidth all the time. This is silly, and a misunderstanding of how the network and the economics work. If we found that a company in our area had long convoys of trucks on the highway every day, so many trucks that it caused us to wait 5 minutes on the on-ramp for a possible slot on the road, the complaints would arrive in a big hurry.
Our Internet connections are inexpensive because it is a shared resource. The infrastructure is shared by many users, and the network design assumes not everyone needs the bandwidth at the same time, so the bandwidth can be shared with little effect on the users.
If you really want to use your bandwidth 100% of the time, it is possible to lease dedicated lines for this purpose. They cost more. Have at it.
Quality of Service: Here is the real problem I see coming. Consumer Internet connections do not provide QoS, but we will want them to provide QoS as we use more media across this shared connection. This will be true for gaming, streaming media, voice and video conferencing among others. QoS by definition gives preferential treatment to some applications over others. So to provide QoS, the rules of net neutrality will have to be violated. Or they will have to be modified to allow this kind of priority.
We use QoS to give real-time applications priority not because they are more important than other applications, but because they need the timely delivery of their packets in order to work correctly. A slow packet in a web download means a slight delay in page loading, but not a failure. A slow packet in a video conference means a glitch on the screen and a degradation of the whole experience.
The way we handle real-time within the enterprise network is to give it priority through QoS, and to allocate bandwidth to those applications.
You might argue that allowing priority within a user’s bandwidth envelope is fine, as the user gets to decide which of his/her own streams should be given priority or bandwidth. But in a shared bandwidth infrastructure there is still an effect on the neighbors. If six neighborhood Comcast users decide that their BitTorrent uploads should be run at the highest priority, then the 7th neighbor's video conference may fail. Now what?
I think there is much more education required both for the consumers and the regulators, as much of this detail will be washed over the dam in the scramble to protect consumers, and what we will end up with is a service that doesn't really work for us.