Add a Comment Now - We Want to Hear From You
Alex Payne, API Lead at Twitter, recently wrote about a blog post beginning “The Internet is built wrong.”
We happen to concur. There aren’t enough pneumatic tubes.
But aside from that, Payne’s criticism is that the Internet, designed years ago for pushing text, research data, and code was designed poorly for the problems we have now – the examples he states are IPv4 – which works well enough but is inadequate for the world’s need for IP addresses, and SMTP, the simple but unsecured nature of which has lead to problems with Spam and DOS attacks on e-mail boxes.
Moreover, he talks about performance:
“You needn’t do more than attempt to watch a streaming video on a busy office LAN or oversubscribed DSL circuit to understand that even the best-served markets for Internet connectivity are struggling to keep up with demand for networked content. Add to this that providing adequate security models for such content is a virtual impossibility on today’s Internet, and the need for a better approach is even clearer.”
The problem is that while Payne makes the case that the Internet doesn’t work as well as “something else” would, and we’re only using the technologies of the Internet because it works just well enough that “something else” can’t replace it even if it’s better – he leaves that “something else” to Van Jacobson and Jacobsen’s idea of “Network Channels.”
Jacobson gave a talk at Google in 2006 on this idea.
The cynics over at Slashdot immediately considered Payne’s idea of a “content centric approach to networking” as some sort of buzzword that means “owned by the media cartels.” However, I don’t think this is what Payne means at all. (If it is, I apologize for not being cynical enough.)
As Jacobson points out, TCP/IP is a very successful technology, but it has a few problems. You can’t connect to things that move – and we’re not talking Wi-Fi. Take trains, for example – as you switch seamlessly from one cell node to another, it’s easy to make a cellphone call on a train. But it’s not so easy to have a continuous Internet session. (In fact, if you do, it’s probably through the cellphone network…)
Additionally, the protocols that were designed for conversations between specific endpoints don’t work as well as they could with broadcasting because the network protocols in use were designed for conversations between two applications on two machines. But Jacobson believes that even the idea of the conversational model isn’t adequate to solve today’s new Internet problems.
“We got a chance to look at the data on the routers downstream of NBC’s servers for the Olympics. At one time, their main router got severely congested when Body hit the pole on the slalom. In that router there were 6,000 copies of the same data. Everybody was pulling down the URL. The poor router can’t do anything about – you can’t optimize it, because its dynamic content. It’s all going out in separate conversations. All the router knows is I’ve got 6,000 separate TCP conversations. It’s the same data. If you could broadcast it, you could turn both the router and the downstream links from the server, reduce the bandwidth by three orders of magnitude, but our protocol architecture doesn’t support that. It works at the conversation level…
…Any of the measurements that I’ve seen recently saying that the high 90% level of traffic is people trying to get some named chunk of data. They hand in a URL, and they want to get something back. That’s not a conversation. That’s not a conversational model… that kind of interaction is a dissemination… It’s a point to multipoint or multipoint to multipoint.
Now, this is not to say that the traditional TCP/IP model doesn’t work – Jacobson is keen to point out that the problems we have today with networking only exist because the problems we used to have with networking that TCP/IP solved were solved extremely well. We just have new problems.
Weirdly enough, anecdotal evidence bears Jacobson’s model out. Look at BitTorrent, which is essentially multipoint-to-multipoint dissemination over the TCP stream. And it consists around 50% of the traffic on the Internet. Add eDonkey, another multipoint P2P app, and you get 70%. If that’s not a clear indication of changing demands, I don’t know what is.
