Broken at the endpoints
The other week, I was involved in a small email discussion regarding an article in the Technology Review titled, “The Internet Is Broken.” It’s the cover story of TR’s December/January issue, so I’m a little confused about why, so far, there are only six people who’ve bookmarked it in del.icio.us, two of them being myself and the person who originally sent me the link looking for an opinion.
It took me a little while to read through, but I finished unconvinced of the central premise of the article: “The Net’s basic flaws cost firms billions, impede innovation, and threaten national security. It’s time for a clean-slate approach.” The arguments presented in the article failed to support that idea. The argument seemed to be, “Now the internet has grown so large, there are all kinds of people abusing it with spam, spyware, phishing and pharming, and oh, by the way, DNS is vulnerable to cyber-terrorism.”
I agree with bits of it. The protocols we use for email are built in a way that makes it very difficult to prevent spam. DNS, the system we use to translate domain names into numerical addresses, depends on a small set of “root servers” which, if cracked, crashed, or DDOSed, could cripple large sections of the ‘net.
Where I disagree is that these are problems with the core protocols of the internet. Vint Cerf makes this point later in the article:
“I’m not happy with the current state of affairs. I’m not happy with spam; I’m not happy with the amount of vulnerability to various forms of attack,” says Vinton Cerf, one of the inventors of the Internet’s basic protocols, who recently joined Google with a job title created just for him: chief Internet evangelist. “I do want to distinguish that the primary vectors causing a lot of trouble are penetrating holes in operating systems. It’s more like the operating systems don’t protect themselves very well. An argument could be made, ‘Why does the network have to do that?’”
This is the issue: the internet is a low-level protocol. It doesn’t know what’s in the packets, and it works because it doesn’t know what’s in the packets. We undo the packets at the end-points, and that’s where the trouble begins. The problem is not with the internet so much as it is with us not realizing what we need to handle at the end-points. (Or, as one commenter on the original article suggested, the problem isn’t the internet; the problem is Windows. But that’s only about 75% true. OK, 90%.)
Put another way, the internet is a “stack” of protocols. Things like email, IM, and the Web are pretty high on the protocol stack; the only nodes on the ‘net which get that high are end-points. The intermediate nodes all work much lower on the stack. Changing that requires much smarter (and consequently slower) nodes out in the middle of the network.
This is, however, just the introduction to how I started thinking about this. More tomorrow.
Now Playing: Ignition from Between 10th And 11th by The Charlatans