Chapter 6 - Networking: Arpanet 1969-1972
6.9 Host-to-Host Software: The Network Control Program - 1970-1971
Distributed computing over the Arpanet required the communication protocols being created by a very bogged down NWG.
The March 1970 NWG meeting at UCLA began with a presentation of the host-to-host protocols and highlighted the critical open issue of how to pass a connection from one computer to another? A heated discussion followed. Crocker and the members of the NWG, who now had been attending meetings for two years, believed in distributed computing: processes or programs executing in one computer should be able to pass connections automatically to another computer. One computer might serve as the log-in center, for example, to perform authentication and security before granting users access to the system. Once authenticated, the log-in computer would then connect users to their requested computer instantly. While seemingly a simple task, in a network consisting of a large number of computers and users, the complexity of assuring error free connections was significant.
Crocker had modeled his thoughts on his understanding of the Multics operating system developed at MIT, and believed having some Multics experts at the meeting would facilitate the discussion. Crocker recalls:
There was a lot of controversy over this (reconnection feature), because it was somewhat more complicated than the other parts of the protocol. There was some resistance, and the Multics’ people, surprisingly, were the most resistant. They said we couldn’t implement things like this, saying that many of the ideas in the protocol I had thought were Multics-like, where we had sort of taken Multics as the role model for what a real multi-purpose, multi-user computer was, were too complicated. As it turned out there were pragmatic issues about who was allowed to program at which levels within the Multics group, and the people assigned to the NWG were locked out of the lower levels.”4
The institutional uncertainty felt by members of the NWG regarding their role and authority complicated the creation of the host-to-host protocols, especially for Crocker whose role had yet to be formally recognized. Crocker hesitated to raise these issues with Roberts, sensitive to being only a graduate student. He believed Roberts had more important priorities. Adding further confusion, Crocker thought he reported to Kleinrock. But since the issues of the NWG were not Kleinrock’s concern, and Kleinrock had other pressing matters, Crocker remained largely unmanaged. This lack of management accountability exacerbated the tendency of an inexperienced, creative engineer to seek a better solution at the expense of task completion, and Crocker proved no exception. Against this ambiguous formal structure was set the resistance of the ARPA sites to the whole undertaking.
A crucial meeting of the NWG in Atlantic City in May 1970 did little to resolve the uncertainty of the group.5 Crocker asked Roberts how official was the NWG and his role. Crocker recalls Roberts telling him in front of others: “Well, what’s your problem. You’re in charge.” Problem resolution ARPA style. At the same time, the papers presented at the meeting revealed the deep and innovative thinking that was developing within the group. The presentations included:
Computer Network Development to Achieve Resource Sharing: Roberts and Wessler
The Interface Message Processor for the ARPA Computer Network: Heart, Kahn, Ornstein, Crowther and Walden
Analytic and Simulation Methods in Computer Network Design: Kleinrock
Topological Considerations in the Design of the ARPA Computer Network: Frank, Frisch and Chou
Host-Host Communication Protocol in the ARPA Network: Carr, Crocker and Cerf
I remember Frank Heart put up some diagram that had sort of the spectrum of the problem and the host-to-host protocols were a thin little sliver on one end and the data communications, the long distant telephone lines were the other thin sliver, and the IMP’s solved this problem that was really right in the middle. I remember looking at it and: ‘Well, that’s your point of view.’ From my point of view, all that lower level stuff was the bottom layer and then we had this vast territory to try to untangle.
In June 1970, NWG members convened at UCLA and Harvard to finalize the protocols and address the issues of implementation. The problem of reconnection continued to defy solution however. A frustrated Crocker sought advice from Crowther, the senior software designer on the BBN team. Crocker remembers the conversation:
He said: ‘Why don’t you just, with respect to the issue of detecting if the next host might be trying to do the same thing at the same time, why don’t you just have the hosts send their message, and if it gets to the next host and the next host is already trying to reconnect, what we called the reconnection protocol, then it would just reply negatively, or it would just forget about it. And if you didn’t get a reply, you would just try again, and eventually, somebody would succeed.’ I was astounded! I was just shocked, not in the negative sense, but I just couldn’t imagine where an idea like that would come from, because it was statistically based, and it wasn’t the way I thought about things. I thought about things as interlocking puzzles, and you get all the pieces to fit exactly right, and the idea of a statistical process, which is pretty easy to see that it had a high chance of converging very rapidly, so it wasn’t a problem, but it just wasn’t the way I thought about software at all.
As meetings continued without resolution, Crocker began receiving direction. On August 5th, Wessler visited Crocker and finally gave him a direct order: “This is not going well, drop that portion of the protocol.” Later in August, Crocker visited ARPA and Roberts offered him a job at IPTO. During the year it took to finalize the terms of his employment, Crocker continued to run the NWG. To assist sites that had not yet interfaced their computers to the Arpanet, he organized a team of facilitators, including Postel and Metcalfe, to provide expert help on demand.
A breakthrough came in mid-February 1971 at a meeting at the University of Illinois. A subcommittee known as the “host-to-host protocol glitch cleaning committee” was formed to write an interim report. They essentially settled the design of the host-to-host protocol.6 But documenting the protocols so that user sites could code and implement the protocols was a very different matter: documentation had yet to be completed and implementation could take a very long time. The ever-impatient Roberts wanted sites to finish their implementations as soon as possible and become active involved Arpanet nodes. To eliminate the impasse of documentation, at the NWG meeting in May 1971, Alex McKenzie, of BBN, “took on the task of writing a definitive specification of the host-to-host protocol – not to invent new protocol, but to write down what had been decided.”7 With this document, each site could then begin creating the computer code needed for their computer(s) to communicate with other computers connected to the network.
Others remember very negative reactions to the protocol presentation. Cordell Green of ARPA attended the meeting as a visitor, choosing to observe without intervening.
The An AFIPS Spring Joint Computer Conference.
ARPANET Completion Report p. III-64
At the Spring Joint Computer Conference in Atlantic City. ARPANET Completion Report p. III-65