Internet History: ARPANET - Package

Internet History: ARPANET - Package
Diagram of the ARPA computer network for June 1967. Empty circle - computer with access sharing, circle with a dash - terminal for one user

Other articles in the series:

By the end of 1966 year Robert Taylor with ARPA money, he launched a project to link many computers into a single system, inspired by the idea of ​​"intergalactic networkΒ» Joseph Carl Robnett Licklider.

Taylor placed responsibility for the execution of the project in capable hands Larry Roberts. In the following year, Roberts made several critical decisions that would reverberate through the technical architecture and culture of ARPANET and its successors, in some cases even for several decades. The first decision, in importance, though not in chronology, was to define a mechanism for routing messages from one computer to another.

Problem

If computer A wants to send a message to computer B, how can that message find its way from one to the other? In theory, one could allow each node in a communications network to communicate with everyone else by connecting physical cables from each node to each. To communicate with B, computer A will simply send a message over the outgoing cable connecting it to B. Such a network is called a meshed network. However, for any significant network size, this approach quickly becomes impractical as the number of connections increases as the square of the number of nodes (to be precise, as (n2 - n) / 2).

Therefore, some way of constructing a message route is required, which, upon arrival of a message at an intermediate node, would send it further to the target. In the early 1960s, two basic approaches to solving this problem were known. The first is a method of message switching through "storage and transmission". This approach was used by the telegraph system. When a message arrived at an intermediate node, it was temporarily stored there (usually in the form of a paper tape) until it could be transmitted further to the target, or to another intermediate center closer to the target.

Then came the telephone, and a new approach was required. A delay of several minutes after each statement made on the phone, which had to be transcribed and transmitted to the destination, would give the impression of a conversation with an interlocutor located on Mars. Instead, the phone used circuit switching. The caller began each call by sending a special message indicating who they wanted to call. At first, they did this by talking with the operator, and then dialing a number processed by automatic equipment on the switch. The operator or equipment established a dedicated electrical connection between the caller and the called subscriber. In the case of long distance calls, this could require several iterations connecting the call through several switches. After the connection was established, the conversation itself could begin, and the connection was maintained until one of the parties interrupted it by hanging up.

A digital connection that was decided to be used in the ARPANET to connect computers that worked according to the scheme time sharing, used the features of both the telegraph and the telephone. On the one hand, data messages were transmitted in separate packets, as on the telegraph, and not in the form of continuous conversations on the telephone. However, these messages could be of different sizes for different purposes, from console commands a few characters long, to large data files transferred from one computer to another. If the files were delayed in transit, no one complained about it. But remote interactivity required a quick response, like a phone call.

One important difference between computer data networks on the one hand, and the telephone and telegraph on the other, was the sensitivity to errors in data processed by machines. A change or loss during the transmission of one character in a telegram, or the disappearance of part of a word in a telephone conversation, could hardly seriously disrupt the communication of two people. But if the noise on the line switched a single bit from 0 to 1 in a command sent to a remote computer, this could completely change the meaning of the command. Therefore, each message had to be checked for errors, and resent if any were found. Such retries would be too costly for large messages, and they were more likely to have errors because they took longer to transmit.

The solution to this problem came from two independent events in 1960, but the later one was noticed first by Larry Roberts and ARPA.

Meeting

In the fall of 1967, Roberts arrived in Gatlinburg, Tennessee, from over the forested peaks of the Great Smoky Mountains, to deliver a document describing ARPA's network plans. He had been with the Information Processing Technology Office (IPTO) for almost a year, but many of the details of the network design were still very vague, including the solution to the routing problem. Aside from vague references to blocks and their sizes, the only reference to it in Roberts's work was a brief and evasive remark at the very end: "It seems necessary to hold the intermittently used communication line in order to obtain responses in the one-tenth to one second time required for interactive work. This is very expensive in terms of network resources, and unless we can call faster, message switching and concentration will become very important for network participants.” Apparently, Roberts had not yet decided by that time whether to abandon the approach he used with Tom Marrill in 1965, that is, connecting computers through the switched telephone network using auto-dial.

Coincidentally, another person was also present at the same symposium, with a much better thought out idea for solving the problem of routing in data networks. Roger Scantlebury crossed the Atlantic, arriving from the British National Physical Laboratory (NPL) with a report. Scantlebury took Roberts aside after his report and told him about his idea. packet switching. This technology was developed by his supervisor at the NPL, Donald Davis. In the US, Davis' accomplishments and history are not well known, although in the fall of 1967 Davis' NPL group was at least a year ahead of ARPA with their ideas.

Davis, like many early pioneers of electronic computers, was a physicist by training. He graduated from Imperial College London in 1943 at 19, and was immediately accepted into a secret nuclear weapons program codenamed Tube Alloys. There he led a group of human calculators who used mechanical and electrical calculators to quickly issue numerical solutions to problems related to nuclear fusion (his leader was Emil Julius Klaus Fuchs, a German expatriate physicist, who by that time had already begun to transfer the secrets of nuclear weapons to the USSR). After the war, he heard from the mathematician John Womersley about a project he was running at the NPL to build an electronic computer that could do the same calculations at much faster speeds. Computer designed by Alan Turing called ACE, "Automatic Computing Machine".

Davis jumped at the idea and signed on with the NPL as quickly as he could. Having contributed to the detailed design and construction of the ACE computer, he remained deeply involved in the field of computing as a research leader at the NPL. In 1965, he happened to be in the US for a professional meeting related to his work, and used the opportunity to visit several major time-sharing computer sites to see what the fuss was about. In the British computing environment, time-sharing in the American sense of interactive sharing of a computer by multiple users was not known. Instead, they used time sharing to distribute the load on the computer among several batch processing programs (so that, for example, one program worked while another was busy reading from tape). Then this option will be called multiprogramming.

Davis' travels took him to Project MAC at MIT, the JOSS Project from the RAND Corporation in California, and the Dartmouth time-sharing system in New Hampshire. On the way home, one of his colleagues offered to hold a sharing workshop to educate the British community about new technologies they had learned about in the US. Davis agreed, and hosted many of the top figures in American computing, including Fernando JosΓ© Corbato (creator of the "interoperable time-sharing system" at MIT) and Larry Roberts himself.

During the seminar (or perhaps immediately after), Davis was struck by the idea that the philosophy of time-sharing could be applied to the communication lines of computers, and not just to the computers themselves. Time-sharing computers give each user a small chunk of CPU time and then switch to another, giving each user the illusion of having their own interactive computer. Similarly, by cutting each message into standard-sized pieces, which Davies called "packets", one communication channel can be shared among many computers or users of one computer. Moreover, it would solve all aspects of data transmission for which telephone and telegraph switches were ill-suited. An interactive terminal user who sends short commands and receives short responses will not be blocked by a large file transfer because the transfer will be split into many packets. Any corruption in such large messages will affect a single packet that can easily be retransmitted to complete the message.

Davis described his ideas in an unpublished 1966 paper, A Proposal for a Digital Communications Network. At that time, the most advanced telephone networks were on the verge of computerization of switches, and Davis proposed to integrate packet switching into the next generation telephone network, creating a single broadband communication network capable of serving various requests, from simple phone calls to remote access to computers. By then, Davies had been promoted to NPL manager and formed a digital communications team under Scantlebury to take his project to fruition and create a working demo.

In the year leading up to the Gatlinburg conference, the Scantlebury team worked out all the details of creating a packet-switched network. The failure of a single node could be survived with adaptive routing capable of dealing with multiple paths to a destination, and the failure of a single packet could be resolved by resending it. Simulation and analysis said that the optimal packet size would be 1000 bytes - if you make it much smaller, the bandwidth costs of the lines for metadata in the header will be too large, much more - and the response time for interactive users will increase too often due to large messages .

Internet History: ARPANET - Package
Scantlebury's work contained details such as the package format...

Internet History: ARPANET - Package
…and analyzing the impact of packet sizes on network latency.

Meanwhile, the search for Davis and Scantlebury led to the discovery of detailed research papers made by another American who came up with a similar idea a few years before them. But at the same time Paul Beran, an electrical engineer at the RAND Corporation, had no thought at all about the needs of time-sharing computer users. RAND was a US Department of Defense funded think tank in Santa Monica, California established after World War II for long-term planning and analysis of strategic issues for the war effort. Baran's goal was to delay nuclear war by creating a highly reliable military communications network capable of surviving even a large-scale nuclear attack. Such a network would make a Soviet preemptive strike less attractive, since it would be very difficult to destroy the US's ability to hit a few sensitive points in retaliation. To do this, Baran proposed a system that broke messages into what he called message blocks that could be independently transmitted over a network of communication nodes with an excessive number of connections, and then assembled together at the endpoint.

ARPA had access to Baran's extensive RAND reports, but since they were not related to interactive computers, their importance to the ARPANET was not clear. Roberts and Taylor, apparently, did not notice them. Instead, in one chance meeting, Scantlebury handed everything to Roberts on a silver platter: a well-thought-out switching mechanism, applicability to the task of creating interactive computer networks, reference materials from RAND, and even the name "package". The NPL work also convinced Roberts that higher speeds would be required to provide good bandwidth, so he upgraded his plans to 50Kbps links. To create the ARPANET, a fundamental part of the routing problem was solved.

True, there is another version of the emergence of the idea of ​​packet switching. Roberts later claimed that he already had similar thoughts in his head, thanks to the work of his colleague, Len Kleinrock, who allegedly described the concept as early as 1962, in his doctoral dissertation on communication networks. However, it is incredibly difficult to extract such an idea from this work, and besides, I could not find any other confirmation of this version.

Networks that didn't exist

As we can see, two teams were ahead of ARPA in developing packet switching, a technology that has proven so effective that it now underpins virtually all communications. Why was ARPANET the first major network to use it?

It's all about organizational subtleties. ARPA did not have official permission to create a communication network, but there were a large number of research centers already in place with their own computers, a culture of "free" morals, which was practically not looked after, and mountains of money. Taylor's original 1966 request for funds to build the ARPANET was $1 million, and Roberts continued to spend that much each year from 1969 onwards to build and operate the network. At the same time, for ARPA, such money was a trifle, so none of his superiors worried about what Roberts was doing with them, as long as it could somehow be attracted to the needs of national defense.

Baran didn't have the capacity or authority at RAND to do anything. His work was purely exploratory and analytical, and could be applied to defense if desired. In 1965, RAND did recommend his system to the Air Force, who agreed that the project was viable. But its implementation fell on the shoulders of the defense communications agency, and they did not really understand digital communications. Baran persuaded RAND's superiors that it would be better to withdraw the proposal than to let it go haphazardly and ruin the reputation of distributed digital communications.

Davis, as head of the NPL, had far more power than Baran, but a tighter budget than ARPA, and no ready-made social and technical network of research computers. He managed to prototype a local packet-switched network (there was only one node but many terminals) at the NPL in the late 1960s, on a modest budget of Β£120 over three years. ARPANET spent about half that amount annually on the operation and maintenance of each of the network's many nodes, excluding the initial investment in hardware and software. The organization capable of creating a large-scale British packet-switched network was the British Post Office, which managed the telecommunications networks in the country, in addition to the direct postal service. Davis managed to interest several influential officials with his ideas for a nationwide digital interconnected network, but it was not in his power to change the direction of such a huge system.

Licklider, by combining luck and planning, found a perfect greenhouse where his intergalactic network could flourish. At the same time, it cannot be argued that everything, except for packet switching, rested on money. The execution of the idea also played a role. Moreover, the spirit of ARPANET was determined by several other important decisions at the design stage. Therefore, next we will consider how responsibility was distributed between the computers that sent and received messages, and the network over which they sent these messages.

What else to read

  • Janet Abbate, Inventing the Internet (1999)
  • Katie Hafner and Matthew Lyon, Where Wizards Stay Up Late (1996)
  • Leonard Kleinrock, β€œAn Early History of the Internet,” IEEE Communications Magazine (August 2010)
  • Arthur Norberg and Julie O'Neill, Transforming Computer Technology: Information Processing for the Pentagon, 1962-1986 (1996)
  • M. Mitchell Waldrop, The Dream Machine: JCR Licklider and the Revolution That Made Computing Personal (2001)

Source: habr.com

Add a comment