An article by Glenn Derene on net neutrality in Popular Mechanics is getting a lot of attention this week. It attempts to define net neutrality – always a perilous task – and to contrast the positions of our two presidential candidates on it:
…there’s no accepted definition of network neutrality itself. It is, in fact, more of a networking philosophy than a defined political position. A pure “neutral” network is one that would treat all content that traveled across it equally. No one data packet would be prioritized above another. Image files, audio files, a request from a consumer for a web pageâ€”all would be blindly routed from one location to another, and the network would neither know nor care what kind of data was encompassed in each packet. For most but not all kinds of files, that’s how it works now.
When they were created, TCP/IP protocols were not intended to discriminate routinely between packets of data. The idea was to maintain a “best effort” network, one that moved packets from place to place in an effort to maximize overall throughput. But the protocols did allow for discrimination when it was needed. “Even the very first design for IP, back in 1980, had a “type of service” field, intended to provide different levels of traffic priority in a military setting,” says John Wroclawski, the director of the computer networks division at the University of Southern California’s revered Information Sciences Institute.
“The big question is not ‘can you do this technically,'” Wroclawski says. “It’s ‘how do you decide who to favor?'” In today’s multimedia-saturated Internet, streams of time-sensitive voice and video data are routinely prioritized over nonsequential data transfers such as Web pages. If one bit doesn’t follow another in a videoconference, for instance, the stream falls apart. For the most part, even proponents of net neutrality are okay with that level of discrimination.
This passage illustrates the problem with the kind of hardcore neutrality that was bandied about prior to the introduction of bills in the Congress to mandate fair treatment of network traffic, and it misses the point of a non-discriminatory network. There’s nothing wrong with prioritizing packets according to application requirements, and it would be silly not to do so. That’s one of the reasons that the IP header has a TOS field, as the quote indicates. The problem of who sets the TOS (actually DSCP in the current iteration of IP) is also not at all troubling – the application does it. So a proper definition of net neutrality is to treat all packets with the same requirements the same way, regardless of their origin, destination, or the application that generated them. And in fact that’s what the bills required: they didn’t ban QoS, they banned fees for QoS, embracing a flat-rate billing model.
And that’s a problem, of course. If we’re going to allow carriers to work with users to prioritize packets, which we should, we should also allow them to create service plans for this kind of treatment, and it should be legal for the carriers to sell QoS services to third parties (think VoIP providers) that would take effect when the consumer hasn’t purchased any QoS services. The problem of applications that set all their packets to highest priority is controlled by establishing account quotas for volume-per-minute (or less) for each priority. If you use up your quota for high-priority traffic with BitTorrent, your Skype is going to suck. And you have to deal with that. If your applications don’t signal their priority requirements to the network – and most don’t – you can allow your ISP to classify them for you, as they’ll be happy to do.
The flat-rate billing model that’s insensitive to load is a primary reason for the American controversy for net neutrality. Countries like Australia that have volume-metered pricing simply don’t have this issue as their ISP networks aren’t magnets for P2P file distribution. Net Neutrality is indeed an American problem. And moreover, there’s no particular need to cap data volume as long as the carrier is free to deprioritize bulk data. The postal service does this with very good effect, after all.
The fundamental dilemma behind the net neutrality controversy is the desire of activists to have it both ways: they want a QoS guarantee on the one hand, but no prioritization on the other. We can certainly do that in network engineering, but not without substantial changes in the network protocols and routers in use today. What we can do quite practically is provide high-confidence QoS for small amounts of data, sufficient for a single VoIP or gaming session over the typical DSL or wireless broadband link, and that should be sufficient for the time being.
If we can’t prioritize, then it follows that the only way to control network congestion is with crude caps and user-based QoS schemes that have unfortunate side-effects. And nobody really wants that, once they understand what it means
Both candidates are clueless on the issue, so I don’t see it as determinative of which to vote for.
Technorati Tags: net neutrality.