Chapter 1: Overview
A History of TCP/IP
Transmission Control Protocol/Internet Protocol (TCP/IP) is a suite of protocols, tools, and services more correctly (but less commonly) known as the Internet Protocol Suite. TCP/IP has become a term in common use, rather than an abbreviation, and nowadays the full name is seldom used. It's the protocol of the Internet and of large routed intranets, and TCP/IP implementations exist for all modern hardware.
To understand what TCP/IP is and why it has become the protocol of choice for so many network implementations, it's worthwhile to look at how it developed. The history of TCP/IP is closely linked with the development of the Internet. In the 1960s, the U.S. Department of Defense became concerned with the vulnerability of its mainframe computer network to nuclear attack. The Defense Communications Agency began to look into ways of improving security, and the Advanced Research Projects Agency (ARPA), created in 1968, was funded to develop a high-speed packet-switching communications network. In 1970, this network, now known as ARPAnet, began using the Network Control Protocol (NCP). In 1972, the U.S. Defense Advanced Research Projects Agency (DARPA) replaced ARPA and in the following year the first Telnet (terminal emulation) specification was submitted as a Request for Comment (RFC) document, RFC 318. In the following year, the File Transfer Protocol (FTP) was specified in RFC 454.
ARPAnet had many successes and was an innovator in introducing a layered architecture almost a decade before the ISO OSI (International Standards Organization Open Systems Interconnection) seven-layer model was specified.However, the first generation protocols were expensive, slow, and prone to crash. In 1974, Vinton Cerf and Robert Kahn proposed a new set of core protocols, and TCP was specified in detail. In 1981, IP was specified in RFC 791.
TCP/IP was chosen for internetworking, rather than the Xerox Networking System (XNS) protocol stack, which was the other major protocol stack available at that time, for the following reasons:
- TCP/IP utilizes a defined routing hierarchy that allows large internetworks to be managed in a structured way.
- TCP/IP addresses are centrally administered.
The Department of Defense granted permission to universities that were government contractors, such as the University of California at Berkeley, to use TCP/IP. Version 4.2 of Berkley Software Distribution (BSD) Unix, released in September 1983, was the first to include TCP/IP protocols in the generic operating system, and this was eventually carried over into commercial versions of Unix. Sun Microsystems published their Open Network Computing (ONC) standards, better known as the Network Filing System (NFS). NFS is designed to utilize the TCP/IP stack, although it uses User Datagram Protocol (UDP) rather than TCP as its transport protocol.
With ARPAnet up and running and using TCP/IP, and with higher education getting into the act, it wasn't long before other institutions started using the network and sharing information. The introduction of the Domain Name System (DNS) in 1984 and the concept of domain namespace paved the way for a truly worldwide system (or World Wide Web). The Department of Defense retained MILnet, a TCP/ IP network developed in parallel with ARPAnet, for its own use. ARPAnet migrated into the public domain and became the Internet, and the TCP/IP protocol suite gained worldwide acceptance. Figure 1.1 shows the significant stages in the development of TCP/IP and the Internet.
Microsoft's NT Implementation
In the early 1990s, Microsoft started a project to create a TCP/IP stack and services that would improve the scalability of its networks. Microsoft introduced a completely rewritten TCP/IP stack in its NT3.5 release. The stack is a highperformance, portable, 32-bit implementation of the industry-standard TCP/IP protocol, and it has evolved with each version of NT to include new features and services designed to enhance performance and reliability...