Networking: Diffusion 1973-1979
Networking Protocols and Local Area Networks
6.10 Xerox Network System (XNS) 1977-1978
When joining Xerox’s Systems Development Division (SDD) in 1977 to lead the reengineering of the Pup communication protocol, Dalal, like most curious computer scientists, had some knowledge of the breadth of innovations underway within PARC and thus within SDD. However, scant facts woven together with rumor were no match for the actual experience of using a graphic-based Altos computer connected to other Altos/ minicomputers, and to peripherals (such as laser printers), using the high speed Ethernet local area network. Dalal quickly realized the Altos vision was not just another computer innovation, but foreshadowed a sea change about to revolutionize computing. He also knew those rearchitecting TCP had not contemplated a future populated with thousands, even millions, of networks. Dalal remembers his surprising revelation:
"It became clear to me after I had left Stanford to go to Xerox the impact that local area networks would have on internetworking, and that while the theoretical problems associated with internetworking had been solved in the DARPA context, new light was being shed on what personal computers might want of an internetworking protocol."
As Metcalfe had before him, Dalal tried to participate in both the proprietary, I-am-an-employee-and-am-restricted-in-what-I-can-say, world of Xerox and the academic-government social system driving the creation of TCP. He too found that he had neither the time nor willingness to deal with the conflicts of participating in both communities, and therefore focused on Pup. To that task he brought an extensive knowledge of TCP, knowledge to influence the redesign of Pup.
By the end of 1977, the first draft specifications for Xerox’s next generation communication protocol had been created. To become known as Xerox Network System (XNS), it was designed for the new higher speed Ethernet and extended the datagram architecture in Pup to accommodate gateways, or routers, between networks. XNS separated the functions of routing a datagram (a Pup in Xerox’s lexicon) or internet packet through multiple networks from the functions of communicating end-to-end over a network, such as an Ethernet LAN. (In XNS, the network layer consisted of both an “internet sublayer” and “network-specific sublayer.”) (See Exhibit 6.2 XNS and Ethernet.) XNS, like Pup, supported multiple transport protocols, including a virtual circuit protocol as a network-specific-sublayer. This separation of the network and transport functions would ripple through all future networking protocols.
Exhibit 6.2 XNS and Ethernet
A future of multiple heterogeneous networks, especially Ethernet networks that by design involved significant retransmissions, posed serious problems for TCP version 2.