Internet Essays
by Dean Wallraff

The Design of the Internet

 

What do you think the Internet will be like in a hundred years? I think that it will still be a network of computers and computer networks, but that none of today's designs - TCP/IP, the Web (HTTP and HTML), our existing e-mail system - will survive nearly that long.
     The key design idea for the Internet at a whole was to make a decentralized, fault-tolerant network that, as a whole, would keep working when any of its constituent parts failed. The fact that there is no central hub or server (except for DNS, which is dependent on a centralized top-level-domain server) means that it's possible to add more computers to the network without updating a central registry database or informing everyone else. This has made feasible the tremendous growth of the Internet.
      Internet Protocol, or IP, is the lower-level part of TCP/IP. It's a best-effort datagram service that routes packets of data between the network source and destination. By best effort, I mean that there is no guarantee that the network will actually deliver an IP packet to its destination. The network is free to drop it if it gets too congested. It's up to TCP, the higher-level protocol, to notice, after a couple seconds, that the packet is missing. The receiving computer then requests retransmission of the missing packet.
      This is fine for data transfer, but isn't the right thing to do for streaming audio, video, Internet telephony, and other real-time streamed-data applications, which is why these sorts of applications don't use TCP. But they still have to deal with the IP level's dropped packets, which are due to the way the network is designed to deal with congestion. It would be much better for these applications to be able to get a guarantee in advance from the network that it will be able to deliver a data stream at a particular rate regardless of what else is going on. I predict that this will happen in the next few years, to improve the quality of streaming applications such as audio and video, either by changing the design of IP or by running other low-level network protocols such as ATM in parallel.
      TCP/IP is well designed for its original task, which is transferring non-real-time data. By contrast, the design of HTTP and HTML, the basis of the Web, is technically weak. The Web's tremendous success revealed the usefulness of a hyperlinked, multimedia presentation system for the Internet, but the inadequacy of the original standards have cost the Internet community very dearly. The proliferation of incompatible HTML features added piecemeal by Netscape, Microsoft and the W3 consortium, and the resulting spectrum of browser versions, have made it difficult for Web designers to provide pages that work well for everyone. The statelessness of HTTP forces Web developers to use kludges like cookies and URL rewriting to track sessions. Using multiple TCP connections to get all the "files" on a page is slow and wasteful of network resources.
      This situation is reminiscent of the original MS-DOS, which, though technically very weak, became popular as part of original IBM PC. This product revealed the tremendous demand for spreadsheet and word-processing programs, the original "killer apps" of personal computing. MS-DOS is still with us as the hidden basis of Windows 98. The original bad design of MS-DOS has cost software developers and users untold billions of dollars worth of time and aggravation. I refer readers with a taste for the dirty technical details to Andrew Schulman's classic Undocumented DOS.
      Another Internet application whose design could be improved is e-mail. The most glaring fault is that delivery is not guaranteed. We've all had cases where e-mails we've sent neither arrived at their destination nor "bounced" back to us. While we're redesigning the software, we could add features that were developed for proprietary e-mail systems, such as privacy (encryption), authentication, and notification that a message has been read.
      Fortunately, the Web and e-mail are just network applications, and redesigning them will just require replacing the software applications with new ones - new e-mail readers and Web browsers, new mail servers and Web servers. The new software can be compatible with the old standards as well as the new, of course.
      It is inevitable that the design of much of the Internet will change. Since the Internet belongs, in a sense, to all of us who use it, we all deserve a say in how it evolves. I will vote for technically strong, open, non-proprietary standards, and I will vote by using applications built on such standards to the exclusion of others, whenever possible.

Copyright © 2000 - 2001 by Dean Wallraff. All rights reserved.