Protocol Wars

This is a good article. Click here for more information.
From Wikipedia, the free encyclopedia

The Protocol Wars were a long-running debate in computer science that occurred from the 1970s to the 1990s, when engineers, organizations and nations became polarized over the issue of which communication protocol would result in the best and most robust networks. This culminated in the Internet–OSI Standards War in the 1980s and early 1990s, which was ultimately "won" by the Internet protocol suite (TCP/IP) by the mid-1990s when it became the dominant protocol suite through rapid adoption of the Internet.

In the late 1960s and early 1970s, the pioneers of packet switching technology built computer networks providing data communication, that is the ability to transfer data between points or nodes. As more of these networks emerged in the mid to late 1970s, the debate about communication protocols became a "battle for access standards". An international collaboration between several national postal, telegraph and telephone (PTT) providers and commercial operators led to the X.25 standard in 1976, which was adopted on public data networks providing global coverage. Separately, proprietary data communication protocols emerged, most notably IBM's Systems Network Architecture in 1974 and Digital Equipment Corporation's DECnet in 1975.

The United States Department of Defense (DoD) developed TCP/IP during the 1970s in collaboration with universities and researchers in the US, UK and France. IPv4 was released in 1981 and was made the standard for all DoD computer networking. By 1984, the international reference model OSI model, which was not compatible with TCP/IP, had been agreed upon. Many European governments (particularly France, West Germany and the UK) and the United States Department of Commerce mandated compliance with the OSI model, while the US Department of Defense planned to transition from TCP/IP to OSI.

Meanwhile, the development of a complete Internet protocol suite by 1989, and partnerships with the telecommunication and computer industry to incorporate TCP/IP software into various operating systems laid the foundation for the widespread adoption of TCP/IP as a comprehensive protocol suite. While OSI developed its networking standards in the late 1980s, TCP/IP came into widespread use on multi-vendor networks for internetworking and as the core component of the emerging Internet.

Early computer networking[edit]

Packet switching vs circuit switching[edit]

Donald Davies and Bob Kahn designed the first two packet switching networks for computer-to-computer communication: the NPL Network (a datagram service); and the ARPANET network (a virtual circuit service).[1][2]

Computer science was an emerging discipline in the late 1950s that began to consider time-sharing between computer users and, later, the possibility of achieving this over wide area networks. In the early 1960s, J. C. R. Licklider proposed the idea of a universal computer network while working at Bolt Beranek & Newman (BBN) and, later, leading the Information Processing Techniques Office (IPTO) at the Advanced Research Projects Agency (ARPA, later, DARPA) of the US Department of Defense (DoD). Independently, Paul Baran at RAND in the US and Donald Davies at the National Physical Laboratory (NPL) in the UK invented new approaches to the design of computer networks.[3][4]

Baran published a series of papers between 1960 and 1964 about dividing information into "message blocks" and dynamically routing them over distributed networks.[5][6][7] Davies conceived of and named the concept of packet switching using high-speed interface computers for data communication in 1965–1966.[8][9] He proposed a national commercial data network in the UK, and designed the local-area NPL network to demonstrate and research his ideas. The first use of the term protocol in a modern data-communication context occurs in an April 1967 memorandum A Protocol for Use in the NPL Data Communications Network written by two members of Davies' team, Roger Scantlebury and Keith Bartlett.[10][11][12]

Licklider, Baran and Davies all found it hard to convince incumbent telephone companies of the merits of their ideas. AT&T held a monopoly on communications infrastructure in the United States, as did the General Post Office (GPO) in the United Kingdom, which was the national postal, telegraph and telephone service (PTT). They both believed speech traffic would continue to dominate and continued to invest in traditional telegraphic techniques.[13][14][15][16][17] Telephone companies were operating on the basis of circuit switching, alternatives to which are message switching or packet switching.[18][19]

Bob Taylor became the director of the IPTO in 1966 and set out to achieve Licklider's vision to enable resource sharing between remote computers.[20] Taylor hired Larry Roberts to manage the programme.[21] Roberts brought Leonard Kleinrock into the project; Kleinrock had applied mathematical methods to study communication networks in his doctoral thesis.[22] At the October 1967 Symposium on Operating Systems Principles, Roberts presented the early "ARPA Net" proposal, based on Wesley Clark's idea for a message switching network using Interface Message Processors (IMPs).[23] Roger Scantlebury presented Davies' work on a digital communication network and referenced the work of Paul Baran.[24] At this seminal meeting, the NPL paper articulated how the data communications for such a resource-sharing network could be implemented.[25][26][27]

Larry Roberts incorporated Davies' and Baran's ideas on packet switching into the proposal for the ARPANET.[28][29] The network was built by BBN. Designed principally by Bob Kahn,[30][31] it departed from the NPL's connectionless network model in an attempt to avoid the problem of network congestion.[32] The service offered to hosts by the network was connection oriented. It enforced flow control and error control (although this was not end-to-end).[33][34][35] With the constraint that, for each connection, only one message may be in transit in the network, the sequential order of messages is preserved end-to-end.[33] This made the ARPANET what would come to be called a virtual circuit network.[2]

Datagrams vs virtual circuits[edit]

Computerworld magazine covered the "Battle for Access Standards" between datagrams and virtual circuits in its October 1975 edition.[36]

Packet switching can be based on either a connectionless or connection-oriented mode, which are different approaches to data communications. A connectionless datagram service transports data packets between two hosts independently of any other packet. Its service is best effort (meaning out-of-order packet delivery and data losses are possible). With a virtual circuit service, data can be exchanged between two host applications only after a virtual circuit has been established between them in the network. After that, flow control is imposed to sources, as much as needed by destinations and intermediate network nodes. Data are delivered to destinations in their original sequential order.[37][38]

Both concepts have advantages and disadvantages depending on their application domain. Where a best effort service is acceptable, an important advantage of datagrams is that a subnetwork may be kept very simple. A counterpart is that, under heavy traffic, no subnetwork is per se protected against congestion collapse. In addition, for users of the best effort service, use of network resources does not enforce any definition of "fairness"; that is, relative delay among user classes.[39][40][41]

Datagram services include the information needed for looking up the next link in the network in every packet. In these systems, routers examine each arriving packet, look at their routing information, and decide where to route it. This approach has the advantage that there is no inherent overhead in setting up the circuit, meaning that a single packet can be transmitted as efficiently as a long stream. Generally, this makes routing around problems simpler as only the single routing table needs to be updated, not the information for every virtual circuit. It also requires less memory, as only one route needs to be stored for any destination, not one per virtual circuit. On the downside, there is a need to examine every datagram, which makes them (theoretically) slower.[38]

On the ARPANET, the starting point in 1969 for connecting a host computer (i.e., a user) to an IMP (i.e., a packet switch) was the 1822 protocol, which was written by Bob Kahn.[30][42] Steve Crocker, a graduate student at the University of California Los Angeles (UCLA) formed a Network Working Group (NWG) that year. He said "While much of the development proceeded according to a grand plan, the design of the protocols and the creation of the RFCs was largely accidental."[nb 1] Under the supervision of Leonard Kleinrock at UCLA,[43] Crocker led other graduate students, including Jon Postel and Vint Cerf, in designing a host-host protocol known as the Network Control Program (NCP).[nb 2] They planned to use separate protocols, Telnet and the File Transfer Protocol (FTP), to run functions across the ARPANET.[nb 3][44][45] After approval by Barry Wessler at ARPA,[46] the NCP was finalized and deployed in December 1970 by the NWG. NCP codified the ARPANET network interface, making it easier to establish, and enabling more sites to join the network.[47][48]

Roger Scantlebury was seconded from the NPL to the British Post Office Telecommunications division (BPO-T) in 1969. There, engineers developed a packet-switching protocol from basic principles for an Experimental Packet Switched Service (EPSS) based on a virtual call capability. However, the protocols were complex and limited; Davies described them as "esoteric".[49][50]

Rémi Després started work in 1971, at the CNET (the research center of the French PTT), on the development of an experimental packet switching network, later known as RCP. Its purpose was to put into operation a prototype packet switching service to be offered on a future public data network.[51][52] Després simplified and improved on the virtual call approach, introducing the concept of "graceful saturated operation" in 1972.[53] He coined the term "virtual circuit" and validated the concepts on the RCP network.[54] Once set up, the data packets do not have to contain any routing information, which can simplify the packet structure and improve channel efficiency. The routers are also faster as the route setup is only done once; from then on, packets are simply forwarded down the existing link. One downside is that the equipment has to be more complex as the routing information has to be stored for the length of the connection. Another disadvantage is that the virtual connection may take some time to set up end-to-end, and for small messages, this time may be significant.[37][38][55]

TCP vs CYCLADES and INWG vs X.25[edit]

Key contributors to X.25, just after its approval in March 1976, including engineers from three PTTs (France, Japan, UK) and two private companies (Canada, US)[nb 4]

Davies had conceived and described datagram networks, done simulation work on them, and built a single packet switch with local lines.[27][56] Louis Pouzin thought it looked technically feasible to employ a simpler approach to wide-area networking than that of the ARPANET.[56] In 1972, Pouzin launched the CYCLADES project, with cooperation provided by the French PTT, including free lines and modems.[57] He began to research what would later be called internetworking;[58][57] at the time, he coined the term "catenet" for concatenated network.[59] The name "datagram" was coined by Halvor Bothner-By.[60] Hubert Zimmermann was one of Pouzin's principal researchers and the team included Gérard Le Lann, among others. While building the network, they were advised by BBN as consultants.[58][61] Pouzin's team was the first to tackle the highly-complex problem of providing user applications with a reliable virtual circuit while using a best-effort service.[62] The network used unreliable, standard-sized, datagrams in the packet-switched network and virtual circuits for the transport layer.[58][63] First demonstrated in 1973, it pioneered the use of the pure datagram model, functional layering, and the end-to-end principle.[64] Le Lann proposed the sliding window scheme for achieving reliable error and flow control on end-to-end connections.[65][66][67] However, the sliding window scheme was never implemented on the CYCLADES network and it was never interconnected with other networks (except for limited demonstrations using traditional telegraphic techniques).[68][69]

Louis Pouzin's ideas to facilitate large-scale internetworking caught the attention of ARPA researchers through the International Network Working Group (INWG), an informal group established by Steve Crocker, Pouzin, Davies, and Peter Kirstein in June 1972 in Paris, a few months before the International Conference on Computer Communication (ICCC) in Washington demonstrated the ARPANET.[56][70] At the ICCC, Pouzin first presented his ideas on internetworking, and Vint Cerf was approved as INWG's Chair on Steve Crocker's recommendation. INWG grew to include other American researchers, members of the French CYCLADES and RCP projects, and the British teams working on the NPL network, EPSS and the proposed European Informatics Network (EIN), a datagram network.[68][71] Like Baran in the mid-1960s, when Roberts approached AT&T about taking over the ARPANET to offer a public packet switched service, they declined.[72][73]

Bob Kahn joined the IPTO in late 1972. Although initially expecting to work in another field, he began work on satellite packet networks and ground-based radio packet networks, and recognized the value of being able to communicate across both. In Spring 1973, Vint Cerf moved to Stanford University. With funding from DARPA, he began collaborating with Kahn on a new protocol to replace NCP and enable internetworking. Cerf built a research team at Stanford studying the use of fragmentable datagrams. Gérard Le Lann joined the team during the period 1973-4 and Cerf incorporated his sliding windows scheme into the research work.[61]

Also in the United States, Bob Metcalfe and others at Xerox PARC outlined the idea of Ethernet and the PARC Universal Packet (PUP) for internetworking.[74] INWG met in Stanford in June 1973 and there was a follow-up meeting in July. Zimmermann and Metcalfe dominated the discussions.[75] Notes from the meetings were recorded by Cerf and Alex McKenzie, from BBN, and published as numbered INWG Notes (some of which were also RfCs). Kahn and Cerf presented their ideas at a networking conference at the University of Sussex in England in September 1973. Their ideas were refined further in long discussions with Davies, Scantlebury, Pouzin and Zimmerman.[76][68] Most of the work was done by Kahn and Cerf working as a duet.[77]

Peter Kirstein put internetworking into practice at University College London (UCL) in June 1973, connecting the ARPANET to British academic networks, the first international heterogeneous computer network. By 1975, there were 40 British academic and research groups using the link.[78]

The seminal paper, A Protocol for Packet Network Intercommunication, published by Cerf and Kahn in 1974 addressed the fundamental challenges involved in interworking across datagram networks with different characteristics, including routing in interconnected networks, and packet fragmentation and reassembly.[79][80] The paper drew upon and extended their prior research, developed in collaboration and competition with other American, British and French researchers.[81][82][68] DARPA sponsored work to formulate the first version of the Transmission Control Program (TCP) later that year. At Stanford, its specification,