Some Principles of the Internet - Jay Hauben

From IUWG
Jump to: navigation, search

Some Principles of the Internet
by Jay Hauben
jrh@ais.org

Introduction

Before 1973, the idea of an Internet had not yet been proposed. As of 2000, over 200 million people worldwide actively use this communications system. The Internet consists of these people and more than one million packet switching networks with very many different characteristics, interconnecting more than 100 million computers as nodes. Yet the Internet is still young. With care taken about its scientific basis and technological principles it has the potential to keep expanding for many years to come. But there are many aspects of Internet technology that must be protected for further growth to occur. In particular, the acceptable unreliability at the internetwork level is unique and differentiable from other telecommunications network technologies such as the telephone system. Also the scaling of the Internet to meet the expected increase in demand for its use is in no way assured. To better understand this new means of communication and help protect its growth, it is worthwhile to look for the principles upon which it has been developed.


History

High speed, digital computers first appeared in the US in any numbers in the early 1950s. By the end of that decade, such computers were so large and so expensive that they were operated almost exclusively for machine efficiency. That meant that few people used the computers interactively. Instead programmers and users submitted their programs on punched cards or tapes to computer centers. There, operators lined the jobs up and feed them to the computer, job after job. Sometime later the output was available for the user or programmer to retrieve and examine. This mode of use was called "batch processing". It may have seemed efficient in terms of machine utilization. But, from the point of view of human users who waited time intervals of the order of hours or days for responses to their jobs, it was woefully inefficient. Batch processing was particularly frustrating for programmers trying to correct errors in their work.

In the early 1960s, a major improvement in efficiency for both humans and computers was achieved by the development of the "time-sharing" mode of computer operation. Taking advantage of the great processing speed of transistorized computers, this new mode allowed a set of users to simultaneously access the same computer. Computer processing time was now parceled out in very small intervals and made available to the users in round-robin fashion. Each user was offered his or her short time slots in turn so rapidly that each had the illusion of being the sole user of the computer. Time-sharing made possible wide spread interactive use of computers.

As time-sharing systems began to become more available, some computer pioneers realized that two time-sharing computers could be connected, each appearing to the other as just another user. By so doing, all the users on both systems shared the resources available on the two computers which included the other users. To test how large a system might eventually be possible, a cross country hookup of such systems was attempted in 1965 using long distance telephone lines. The result was a success for long distance time-sharing computer networking but the call set ups and tear downs of the telephone system created time delays that were unacceptable for actual use of such a network.

Telephone switching requires the setup of a complete and dedicated path or circuit before actual end-to-end communication starts to take place. Such communication technology is known as "circuit switching". The problem is that computer data is often bursty or a message of minimal size as when a single key stroke is sent to solicit a response. Therefore computer data communication over normal switched telephone lines requires frequent call setups or wasteful quiet times. A solution suggested by queuing theory and other lines of reasoning was "packet switching" as opposed to circuit switching. Data to be communicated from a number of sessions could be broken into small packets which would be transmitted interspersed, each routed to its destination separately without setting up a path for each packet. Once at the destination, the packets are reassembled to create an exact copy of the original message. Experimentation with packet switching technology was initiated in Europe and the US starting in 1969 which confirmed the prediction of great efficiency.

Best known of the early packet switching computer networks were the ARPANET in the US, Cyclades in France, and the National Physical Laboratory network in the UK. The ARPANET designers and researchers succeeded in achieving resource sharing among time-shared computers manufactured by different vendors and using different operating systems, character sets, and so forth. The computers were located at universities and military related research laboratories. The ARPANET was funded and encouraged by the Information Processing Techniques Office (IPTO) of the Advanced Research Projects Agency (ARPA), a civilian agency within the US Department of Defense. ARPA/IPTO also funded and encouraged packet switching experimentation using ground based radio receivers and transmitters and using satellites.

Internetting and Catenet

In the early 1970s, in Europe, a number of packet switching network experiments were undertaken. In Hawaii, a successful packet radio network, the ALOHANET, was developed. In the US, encouraged by the success of the ARPANET, commercial networks like Tymnet and Telenet were attempted. Just as isolated time-shared computers suggested networking, the existence of isolated packet switching networks, suggested the possibility of some sort of interconnectivity. Robert Kahn in the US and Louis Pouzin in France were among the first to consider what needed to be done to create such a meta network or internet of networks. Kahn at ARPA/IPTO developed the Internetting Project and Pouzin in France developed the concept of a Catenet.

The goal of the Internetting Project was to develop an effective technology to interconnect the packet switching data networks that were beginning to emerge from the experimental stage. It rejected the alternative of integrating all networks into one single unified network. The later might have produced better integration and performance but would have limited the autonomy and continued experimental development of new network technologies. Also, the developing networks were under different political and economic administrations and it is not likely they could have been enticed to give up their autonomy to voluntarily join together as part of a single network.

Kahn had been involved in trying to solve a problem of great complexity: could a ground based packet radio network be developed that would even allow mobile transmitters and receivers? The complexity was that radio communication is prone to fading, interference, obstruction of line-of-site by local terrain or blackout such as when traveling through a tunnel. A radio signal link is by its nature inherently unreliable in itself for data communication. Crucial therefore to the success of such a packet radio network would be an end-to-end mechanism that could arrange for retransmissions and employ other techniques so that a reliable communication service could be provided despite the unreliability of the underlying link level.

Pouzin had worked on the time-sharing experiments at MIT in the 1960s. He was impressed by the successful way individual users were 'networked' on a single time sharing computer and then how these computers themselves were networked. He looked for the essence of packet switching networks to give the clue how they could be interconnected. He saw many features which were not mandatory to packet switching such as virtual circuits, end-to-end acknowledgments, large buffer allocations, and so forth. He felt that any end-to-end function which users might desire could be implemented at the user interface. The Catenet need only provide a basic service, packet transport.

Principles for an Internet

How then to achieve an effective interconnection of packet switching networks? If the interconnection was to include packet radio networks the resulting internet would have at least some unreliable links. Should packet radio networks and others that could not offer reliable network service be excluded? Kahn's answer was that the new interconnection should be open to all packet switching networks. That was the first principle of the Internet that was to emerge: open architecture networking the interconnection of as many current and future networks as possible by requiring the least commonality possible from each (Leiner, et al, 1998). Each network would be based on the network technology dictated by its own purpose and achieved via its own architectural design. Networks would not be federated into circuits that formed a reliable end to end path, passing individual bits on a synchronous basis. Instead, the new "internetworking architecture" would view networks as peers in helping offer an end-to-end service independent of path or of the unreliability or failure of any links.

"Four ground rules were critical to Kahn's early thinking:
  • Each distinct network would have to stand on its own and no internal changes could be required to any such network to connect it to the Internet.
  • Communications would be on a best effort basis. If a packet didn't make it to the final destination, it would shortly be retransmitted from the source.
  • Black boxes would be used to connect the networks; these would later be called gateways and routers. There would be no information retained by the gateways about the individual flows of packets passing through them, thereby keeping them simple and avoiding complicated adaptation and recovery from various failure modes.
  • There would be no global control at the operations level."
(Leiner et al, 1998)

Pouzin and his colleagues developed a set of ground rules and applied them in the development of the Cyclades network. On an experimental basis, they connected Cyclades with the National Physical Laboratory (NPL) in London in August 1974, with the European Space Agency (ESA) in Rome in October 1975 and with the European Informatics Network (EIN) in June 1976 (Pouzin, 1982). Pouzin's team implemented a packet service which did not assume any interdependence between packets. Each packet was treated as a separate entity moving from source to destination according to the conditions prevalent at each moment of its travel. There would be dynamic updating of the routing at the gateways and retransmissions because of congestion or link or node failures. Sometimes the packets would arrive at their destinations out of order or duplicated or with some packets missing from a sequence. The gateways were programmed to make an effort to keep the packets moving toward the source but no guarantee of delivery service was built into them. Such a best effort transmission service is called a datagram service.

In the past, out of sequence packets, packet duplication and packet loss were considered at least a burden if not serious problems, so communication switches were designed to prevent them. Now producing end-to-end acknowledgment and retransmission mechanisms rectified these events. In this way substantial simplicity, cost reduction and generality of the service that gateways provided was achieved. By requiring gateways to provide only a datagram service, the interconnection of networks was reduced to its simplest, most universally applicable technology. This was a second Internet principle: as little demand as possible is put on the Internet gateway; or stated conversely, as much as possible be done above the internetwork level. This came to be called the "end-to-end principle" (Carpenter, 1996). It provided for successful communication under almost any condition except the total failure of the whole system. Another way to state this principle was that the information about a communication session (state information) would be at the end points. Intermediate failures could not destroy such information. Disrupted communication resulting from such failures could be continued when the packets began to arrive again at the destination.

In October 1972, Kahn had organized a large public demonstration of the ARPANET at the International Computer Communications Conference (ICCC72) in Washington, DC. This was the first international public demonstration of packet switching network technology. Researchers were there from Europe, Asia, and North America. At the meeting, an International Network Working Group (INWG) was established to share experiences and be a forum to help work out standards and protocols. In 1973-74, the INWG was adopted by the International networking professional organization, the International Federation of Information Processing (IFIP) as its Telecommunications Committee Working Group 6.1 (IFIP/TC 6.1). Researchers around the world knew of each other's work and the work of others who were considering these problems by attending and presenting papers at meetings of the IFIP/TC 6.1 and sharing their work with each other on a regular basis. This is an early example of openness and collaboration. This was to become a third principle of the Internet: open and public documentation and open and cooperative standards and protocol development. [See RFC 2555 in this issue.]

TCP/IP and the Internet

In 1973, Kahn brought Vinton Cerf into the work on internetting. Together they sought a general solution to the internetting problem. They aimed to set specifications for what was needed in common on the end computers and the gateways so that the interconnection would be successful. The set of such specifications is called a communication protocol. At first, this protocol was called Transmission Control Protocol (TCP). Cerf and Kahn first shared their thinking in a formal way at a meeting of the INWG members who were in Brighton, England in September, 1973 and then in the article "A Proposal for Packet Network Intercommunication" (Cerf and Kahn, 1974). What they envisioned was a reliable, sequenced, data stream delivery service provided at the end points despite any unreliability of the underlying internetwork level.

The first implementation of TCP only resulted in packets traveling in a circuit like internetwork service. For some network services such virtual circuits were too restrictive. At the time it was argued by Danny Cohen who was working on packet voice delivery that TCP functionality should be split between what was required end-to-end, like reliability and flow control, and what was required hop-by-hop to get from one network to another via gateways. Cohen felt packet voice needed timeliness more than it needed reliable delivery. This led to the reorganization of the original TCP into two protocols, Internet Protocol (IP) and the Transport Control Protocol (TCP). The simple IP provided for addressing, fragmentation and forwarding of individual packets. The separate TCP provided for recovery from out of sequence and lost packets.

A major boost to the use of what became known as TCP/IP was its adoption by the US Department of Defense (DOD). The DOD funded work in 1979-80 that incorporated TCP/IP into modifications of the Unix operating system being made at the University of California at Berkeley. When this version of Unix was distributed to the universities and other sites that had adopted the Unix operating system, much of the computer science community in the US and around the world began to have TCP/IP capability built into its operating systems. This was a great boost for broad adoption of the Internet. It is also another example of the principle of free and open documenta tion, in this case open Unix source code. The DOD required all users of the ARPANET to adopt TCP/IP by January 1, 1983, further insuring that it would be broadly implemented. The transition to TCP/IP was not easy but by April 1, 1983 was pretty much successful.

A key element of the design of IP is the capability at each gateway to break packets too large for the next network into fragments that will fit in the next network's network frames. These fragments then travel along as ordinary datagrams until they are reassembled at the destination host. By allowing for fragmentation, IP makes it possible for large packet handling and small packet handling networks to coexist on the same Internet. This is an example of applying the open architecture principle. Allowing fragmentation relieves the necessity of specifying a minimum or a maximum packet size (although in practice such limits do exist). Leaving the reassembly until the destination minimizes the requirements on the gateway/routers. Schemes that would eliminate fragmentation from future versions of IP should be carefully scrutinized because they may cause the obsoleting of under resourced networks that could not adapt to the mandated packet sizes. That would violate the open architecture principle.

Conclusion

The highest order feature a communications system can provide is universal connectivity. This has been up until the present the guiding vision and goal of the Internet pioneers. Leonard Kleinrock has argued that "as the system resources grow in size to satisfy an ever increasing population of users" gains in efficiency occur (1976, p. 275). This is an example of the law of large numbers which suggests that the more resources and users there are, the more sharing there is. This results in a greater level of efficient utilization of resources without increased delays in delivery. So far the scaling of the Internet has conformed to the law of large numbers and provides a remarkably inexpensive, convenient and efficient communications system. Also the desire for connectivity grows with the Internet's growth as does its value since with its growth comes more connectivity for those who have already been connected as well.

In its first 25 years (1973-1998) the Internet grew to provide communication to 2.5% of the world's people. This is a spectacular technical and social accomplishment. But much of the connectivity is concentrated in a few parts of the world (North America, Europe and parts of Asia). The web of the Internet's connectivity is also still sparse even in North America. Often, even though there is sufficient total bandwidth, there are too few alternative paths so that the communication service available has uncomfortably long delays.

Top priority for the Internet policy, computer science and technical communities is to find ways of continuing the growth and scaling of the connectivity provided by the Internet. But the principle of universal connectivity to a global Internet communications system is being challenged by those who want instead to convert the Internet into an e-commercenet. The Internet is a new and different technology, making possible a meta-level interconnection of independent networks. To achieve the necessary further scaling, the Internet will require a large pool of well supported, talented and highly educated scientists and engineers who have studied the principles and unique features of the Internet and who are dedicated to its essence as a communications system. It will also require government policy makers who understand the technology and its social implications or who listen to advisors with such knowledge. All will need to work collaboratively online and off line to hold each other to the principles as they seek solutions to the current and future problems. Then the Internet has a chance of reaching the goal of its pioneers, universal connectivity.

Bibliography

Carpenter, B. RFC 1958: Architectural Principles of the Internet. June, 1996

Cerf, Vinton G. and Robert Kahn. "A Protocol for Packet Network Intercommunication". IEEE Transactions on Communications, Vol. Com-22, No 5. May, 1974.

Cerf, Vinton G. IEN48: The Catenet Model for Internetworking. July, 1978. http://lwp.ualg.pt/htbin /ien/ien48.html

Clark, David D. "The Design Principles of the DARPA Internet Protocols". Proceedings SIGCOMM88 ACM CCR Vol 18 #4. August, 1988.

Comer, Douglas E. Internetworking with TCP/IP Vol I: Principles, Protocols, and Architecture 2nd Edition. Englewood Cliffs, NJ. Prentice Hall. 1991.

Comer, Douglas E. The Internet Book: Everything You Need to Know about Computer Networking and How the Internet Works. Englewood Cliffs, NJ. Prentice Hall. 1995.

Davies, D. W., D. L. A. Barber, W.L. Price C.M. Solomonides. Computer Networks and Their Protocols. Chichester. John Wiley & Sons. 1979.

Hauben, Michael and Ronda Hauben. Netizens: On the History and Impact of Usenet and the Internet. Los Alamitos, CA. IEEE Computer Society Press. 1997

Kleinrock, Leonard. Queuing Systems Volume II: Computer Applications. New York. John Wiley and Sons.1976.

Leiner, Barry M., et al. "A brief History of the Internet" at http://www.isoc.org/internet/history/brief.html

Lynch, Daniel C. and Marshall T. Rose. Editors. Internet Systems Handbook. Reading, MA. Addison-Wesley. 1993.

Pouzin, Louis. "A Proposal for Interconnecting Packet Switching Networks". Proceedings of EUROCOMP. Brunel University. May, 1974. Pages 1023-36.

Pouzin, L. Ed. The Cyclades Computer Network. Amsterdam. North Holland. 1982.

Stevens, W. Richard. TCP/IP Illustrated, Vol 1 Protocols. Reading, MA. Addison-Wesley. 1994.




Reprinted from the Amateur Computerist Vol 10 No 1 Spring/Summer 2000. The whole issue or a subscription are available for free via email. Send a request to jrh@ais.org or see http://www.ais.org/~jrh/acn/