History of the Internet

Overview, An Incredible Journey

From the beginning of electronic communication with the telegraph in 1833 to the present it has all happened in 181 years. The pace of technological advancements has been accelerating at what seems like an exponential rate. It is hard to believe that when I was born in 1944 TV was just a nascent technology, vinyl records where still 78 RPM, long distant travel was via train and transatlantic trip were via ship.

The record, that is vinyl records, had a 100 year run, while the CD, first pressed in 1982, has already been mostly replaced by solid state devices and smartphones via the Internet. And the Internet has gone from a glimmer in a few scientists eyes to a trillion dollar business in a little over 30 years.

Communication speed has gone from the teletype at 75 bits per second (bps) in the 1960's to gigabits per second (Gbs) speeds today. When the Internet was born in the late 1960's it ran at 1,200 bps and today the Internet backbone using fiber optic cable and transmission protocols like SONET (Synchronous Optical Networking) and ATM (Asynchronous Transfer Mode) hits over 400 Gbs. This incredible speed improvement has made possible music and video on demand over the Internet as well as telephone and data that supports the financial and business communities around the world.

This phenomenal growth is due to the development of the transistor, integrated circuits and the microcomputer. Without these technologies packet switching networks which are at the heart of the Internet would not be possible. The development of packet-switching time domain multiplexing required the speed of the microcomputer. The old circuit switching technology of the telephone companies just was not viable for a world wide data communication grid.

The following timeline highlights some of what I feel were the seminal breakthroughs of the last century and a half.

Timeline of Electronic Communications

Transmition Speed Timeline

In 2000 there were just under 150 million dial-up subscriptions in the 34 OECD (Organisation for Economic Co-operation and Development) countries and fewer than 20 million broadband subscriptions.

By 2004, broadband had grown and dial-up had declined so that the number of subscriptions were roughly equal at 130 million each.

In 2010, in the OECD countries, over 90% of the Internet access subscriptions used broadband, broadband had grown to more than 300 million subscriptions, and dial-up subscriptions had declined to fewer than 30 million.

Making the Connections

The ARPANET, predecessor to the Internet, started with an inspiring vision of a "galactic" network, practical theory about packet switching, and a suite of standardized protocols. But none of this would have mattered if there hadn't also been a way to make and maintain connections.

In 1966-67 Lincoln Labs in Lexington, Massachusetts, and SDR in Santa Monica, California, got a grant from the DOD to begin research on linking computers across the continent. Larry Roberts, describing this work, explains:

"Convinced that it was a worthwhile goal, we set up a test network to see where the problems would be. Since computer time-sharing experiments at MIT and Dartmouth had demonstrated that it was possible to link different computer users to a single computer, the cross country experiment built on this advance."

(i.e. Once timesharing was possible, the linking of remote computers was also possible.) Roberts reports that there was no trouble linking dissimilar computers. The problems, he claims, were with the telephone lines across the continent, i.e. that the throughput was inadequate to accomplish their goals.

The first ARPANET link was established between the University of California, Los Angeles (UCLA) and the Stanford Research Institute at 22:30 hours on October 29, 1969

Packet switching resolved many of the issues identified during the pre-ARPANET, time-sharing experiments. But higher-speed phone circuits also helped. The first wide area network (WAN) demonstrated in 1965 between computers at MIT's Lincoln Lab, ARPA's facilities, and the System Development Corporation in California utilized dedicated 1200 bps circuits. Four years later, when the ARPANET began operating, 50 Kbps circuits were used. But it wasn't until 1984 that ARPANET traffic levels were such that it became more cost-effective to lease T1 lines (1.5 Mbps) than to continue using multiple 50 Kbps lines.

In the late 1960's and early 1970's there were a number of separate nascent networks developed by States, Universities, and governments: NPL, Merit Network, CYCLADES, X.25. The problem with all these different networks was that they all "spoke" different languages/protocols thus internetworking was difficult if not impossible.

In 1973 Vinton Cerf, the developer of the existing ARPANET Network Control Program (NCP) protocol, joined Robert E. Kahn to work on open-architecture interconnection models with the goal of designing the next protocol generation for the ARPANET. This was TCP/IP.

By the summer of 1973 Kahn and Cerf had worked out a fundamental reformulation in which the differences between network protocols were hidden by using a common internetwork protocol, and instead of the network being responsible for reliability, as in the ARPANET, the hosts became responsible. Cerf credits Hubert Zimmermann and Louis Pouzin, designer of the CYCLADES network, with important influences on this design.

Circuit Switching vs. Packet Switching:

Circuit switching is a method which sets up a limited number of dedicated connections of constant bit rate and constant delay between nodes for exclusive use during the communication session. It is a methodology of implementing a telecommunications network in which two network nodes establish a dedicated communications channel (circuit) through the network before the nodes may communicate. The circuit guarantees the full bandwidth of the channel and remains connected for the duration of the communication session. The circuit functions as if the nodes were physically connected as with an electrical circuit.

Packet switching divides the data to be transmitted into packets transmitted through the network independently. In packet switching, instead of being dedicated to one communication session at a time, network links are shared by packets from multiple competing communication sessions, resulting in the loss of the quality of service guarantees that are provided by circuit switching.

Packet switching also imposes overhead burdens because each packet must have information that delimits the packet. In TCP/IP the IP header comes first and is used to direct the packets from the source to the destination and identify the type of service being provided. The IP header is like a letters envelope which contains an address and a return address. The TCP header comes after the IP header and contains information about the transmission including endpoint ports, sequencing information and the data. The data may (an usually does) have other headers that describe the specific service, for example HTTP, IMAP, POP3, FTP etc.

When a web page is transmitted from the server to the client there are usually many TCP/IP packets of data involved. These packets that represent the web page may take different routes to get to their final destination and may in fact arrive at the destination out of order. It is the information in the TCP header that allows the client (destination) to reassemble the web page from the many packets correctly.

A good analogy is the Post Office. If we were going to send a large manuscript in chapters as they were completed we would put the manuscript chapters into envelopes and address the envelopes with the destination address and the return address. We would also include information in the envelope describing the sequence of the chapters. The envelope is the IP header and the information inside the envelope is the TCP header and data. We need the TCP type of information in the envelope because as we all know letters can be received out of sequence and therefore we need some information to let us know how to reassemble the manuscript.

Bits Bytes Binary Hex

Modern Digital Computers think in binary: ones and zeros. We have used the phrase "bits per second" or bps a lot in this history. In communication a bit is generally thought of as a one or a zero. Depending on the encoding scheme used in the communication stream eight bits may represent a character or byte. I say may because different encoding schemes can use more than eight bits in order to cope with transmission phenomenons. So when we say that a early teletype ran at a rate of 75 bits per second (bps) that means that they typed about nine characters a second.

A byte is eight binary digits, for example the number seven decimal in binary is 0111. The decimal number Fifteen (15) is 1111 in binary. The decimal number sixteen is 0001,0000 in binary and takes up two bytes while fifteen takes only one byte. As I said in the previous paragraph we usually think of a byte as being eight bits.

So what is HEX? HEX stands for hexadecimal which is a number system with a base of sixteen. The first sixteen hexadecimal numbers are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. The number sixteen decimal is 10 HEX. Computer engineers use HEX because it works well with binary. For example the number 47 decimal is 0010,1111 binary and 2F HEX. Binary is powers of two so the binary two bytes shown are (128)(64)(32)(16),(8)(4)(2)(1). 0010,1111 is then 32+8+4+2+1 or 47 decimal. Do you see the relation between binary and HEX? The HEX number 2F represents two bytes in binary 0010 (2) and 1111 (F). Each HEX digit is a byte. As you can see binary converts easily into HEX but not easily into decimal. Other number bases that have been popular are base 8 (octal) and base 12 (duodecimal) to a much lesser extent.

From Tim Berners-Lee's first message (web page):

"The World Wide Web (WWW) project aims to allow all links to be made to any information anywhere. [...] The WWW project was started to allow high energy physicists to share data, news, and documentation. We are very interested in spreading the web to other areas, and having gateway servers for other data. Collaborators welcome!"


Tube Computer

6502 CPUKIM 1Apple I

8080 CPUS100 BoardIMSAI 8080