The
Internet protocol suite is the set of
communications protocolA communications protocol is a system of digital message formats and rules for exchanging those messages in or between computing systems and in telecommunications...
s used for the
InternetThe Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
and other similar networks. It is commonly known as
TCP/IP from its most important protocols:
Transmission Control ProtocolThe Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
(TCP) and
Internet ProtocolThe Internet Protocol is the principal communications protocol used for relaying datagrams across an internetwork using the Internet Protocol Suite...
(IP), which were the first networking protocols defined in this standard. Modern IP networking represents a synthesis of several developments that began to evolve in the 1960s and 1970s, namely the precursors of the Internet and
local area networkA local area network is a computer network that interconnects computers in a limited area such as a home, school, computer laboratory, or office building...
s, which emerged during the 1980s, together with the advent of the
World Wide WebThe World Wide Web is a system of interlinked hypertext documents accessed via the Internet...
in the early 1990s.
The Internet protocol suite classifies its methods and protocols into four hierarchical abstraction layers. From the lowest to the highest communication layer, these are the
link layerIn computer networking, the link layer is the lowest layer in the Internet Protocol Suite , the networking architecture of the Internet . It is the group of methods or protocols that only operate on a host's link...
, the
internet layerThe internet layer or IP layer is a group of internetworking methods in the Internet protocol suite, commonly also called TCP/IP, which is the foundation of the Internet...
, the
transport layerIn computer networking, the transport layer or layer 4 provides end-to-end communication services for applications within a layered architecture of network components and protocols...
, and the
application layerThe Internet protocol suite and the Open Systems Interconnection model of computer networking each specify a group of protocols and methods identified by the name application layer....
. The layers define the operational scope or reach of the protocols in each layer, reflected loosely in the layer names. Each layer has functionality that solves a set of problems in its scope.
The link layer contains communication technologies for the
local networkA local area network is a computer network that interconnects computers in a limited area such as a home, school, computer laboratory, or office building...
to which the host is connected directly by hardware components. The internet layer facilitates the interconnection of local networks. As such, this layer establishes the Internet. Host-to-host communication tasks are handled in the transport layer, which provides a general application-agnostic framework to transmit data between hosts using protocols like the Transmission Control Protocol and the
User Datagram ProtocolThe User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...
(UDP). Finally, the highest-level application layer contains all protocols that are defined each specifically for the functioning of the vast array of data communications services. This layer handles application-based interaction on a process-to-process level between communicating Internet hosts.
History
The Internet protocol suite resulted from research and development conducted by the Defense Advanced Research Projects Agency (DARPA) in the early 1970s. After initiating the pioneering
ARPANETThe Advanced Research Projects Agency Network , was the world's first operational packet switching network and the core network of a set that came to compose the global Internet...
in 1969, DARPA started work on a number of other data transmission technologies. In 1972, Robert E. Kahn joined the DARPA
Information Processing Technology OfficeThe Information Processing Techniques Office is part of the Defense Advanced Research Projects Agency of the United States Department of Defense whose stated mission is:...
, where he worked on both satellite packet networks and ground-based radio packet networks, and recognized the value of being able to communicate across both. In the spring of 1973, Vinton Cerf, the developer of the existing ARPANET
Network Control ProgramThe Network Control Program provided the middle layers of the protocol stack running on host computers of the ARPANET, the predecessor to the modern Internet...
(NCP) protocol, joined Kahn to work on open-architecture interconnection models with the goal of designing the next protocol generation for the ARPANET.
By the summer of 1973, Kahn and Cerf had worked out a fundamental reformulation, where the differences between network protocols were hidden by using a common
internetwork protocolIn networking, a communications protocol or network protocol is the specification of a set of rules for a particular type of communication....
, and, instead of the network being responsible for reliability, as in the ARPANET, the hosts became responsible. Cerf credits
Hubert ZimmermanIn 1991, Hubert Zimmerman was awarded the SIGCOMM Award for "20 years of leadership in the development of computer networking and the advancement of international standardization".-References:...
and
Louis PouzinLouis Pouzin invented the datagram and designed an early packet communications network, CYCLADES...
, designer of the
CYCLADESThe CYCLADES packet switching network was a French research network created in the early 1970s. It was developed to explore alternatives to the ARPANET design and to support network research generally...
network, with important influences on this design.
The network's design included the recognition it should provide only the functions of efficiently transmitting and routing traffic between end nodes and that all other intelligence should be located at the edge of the network, in the end nodes. Using a simple design, it became possible to connect almost any network to the ARPANET, irrespective of their local characteristics, thereby solving Kahn's initial problem. One popular expression is that TCP/IP, the eventual product of Cerf and Kahn's work, will run over "
two tin cans and a string."
A computer, called a router, is provided with an interface to each network. It forwards packets back and forth between them. Originally a router was called
gateway, but the term was changed to avoid confusion with other types of gateways.
The idea was worked out in more detailed form by Cerf's networking research group at Stanford in the 1973–74 period, resulting in the first TCP specification. The early networking work at
Xerox PARCPARC , formerly Xerox PARC, is a research and co-development company in Palo Alto, California, with a distinguished reputation for its contributions to information technology and hardware systems....
, which produced the
PARC Universal PacketThe PARC Universal Packet was one of the two earliest internetwork protocol suites; it was created by researchers at Xerox PARC in the mid-1970s...
protocol suite, much of which existed around the same period of time, was also a significant technical influence.
DARPA then contracted with
BBN TechnologiesBBN Technologies is a high-technology company which provides research and development services. BBN is based next to Fresh Pond in Cambridge, Massachusetts, USA...
,
Stanford UniversityThe Leland Stanford Junior University, commonly referred to as Stanford University or Stanford, is a private research university on an campus located near Palo Alto, California. It is situated in the northwestern Santa Clara Valley on the San Francisco Peninsula, approximately northwest of San...
, and the
University College LondonUniversity College London is a public research university located in London, United Kingdom and the oldest and largest constituent college of the federal University of London...
to develop operational versions of the protocol on different hardware platforms. Four versions were developed: TCP v1, TCP v2, a split into TCP v3 and IP v3 in the spring of 1978, and then stability with TCP/IP v4 — the standard protocol still in use on the Internet today.
In 1975, a two-network TCP/IP communications test was performed between Stanford and University College London (UCL). In November, 1977, a three-network TCP/IP test was conducted between sites in the US, UK, and Norway. Several other TCP/IP prototypes were developed at multiple research centers between 1978 and 1983. The migration of the ARPANET to TCP/IP was officially completed on
flag dayFlag day, as used in system administration, is a change which requires a complete restart or conversion of a sizable body of software or data. The change is large and expensive, and—in the event it doesn't work—reversing the change is similarly difficult and expensive.This usage originates from a...
January 1, 1983, when the new protocols were permanently activated.
In March 1982, the US Department of Defense declared TCP/IP as the standard for all military computer networking. In 1985, the
Internet Architecture BoardThe Internet Architecture Board is the committee charged with oversight of the technical and engineering development of the Internet by the Internet Society ....
held a three day workshop on TCP/IP for the computer industry, attended by 250 vendor representatives, promoting the protocol and leading to its increasing commercial use.
In 1985 the first
InteropInterop is an annual trade fair for information technology organised by UBM TechWeb. It takes place at four different locations at various times of the year: Mumbai , New York , Tokyo, and Las Vegas...
conference was held, focused on network interoperability via further adoption of TCP/IP. It was founded by Dan Lynch, one of early Internet activists. It was attended from the beginning by large corporations such as IBM and DEC. Interoperability conferences have been held since then every year, and every year from 1985 through 1993 the number of attendees tripled. [citation needed]
IBM, ATT and DEC were the first major corporations to adopt TCP/IP despite having competing internal protocols (SNA, XNS, etc) and politics. In IBM the TCP/IP development was undertaken from 1984 onward in the group of
Barry AppelmanBarry Appelman is recognized as being the father of the "buddy list" and AOL instant messenger. Companies had been using crude forms of Instant messaging within their own networks for over forty years, but the idea of presence, i.e. who is logged on at any given time, was non existent...
who later moved to AOL to be the head of all AOL's development efforts. At IBM Barry Appelman with a handful of developers was able to maneuver the corporate politics to get a stream of TCP/IP products for various IBM systems - MVS, VM, OS/2 among others. At the same time several smaller companies began offering TCP/IP stacks for DOS and MS Windows, such as
FTP SoftwareFTP Software was a software company incorporated in 1986 by James van Bokkelen, John Romkey , Nancy Connor, Roxanne van Bokkelen , Dave Bridgham and several other founding shareholders. It was the first of many companies to name themselves after an Internet protocol...
,
Wollongong. The first VM/CMS TCP/IP stack came from university of Wisconsin.
Back then most of these TCP/IP stacks were written single-handedly by very few talented programmers. For example,
John RomkeyJohn Romkey developed the first in the industry TCP/IP stack for IBM PC in 1983. Romkey founded FTP Software, a commercial TCP/IP stack provider in 1986. Romkey also authored the first network analyzer Netwatch, predating Network General Sniffer. He also served on IAB...
of
FTP SoftwareFTP Software was a software company incorporated in 1986 by James van Bokkelen, John Romkey , Nancy Connor, Roxanne van Bokkelen , Dave Bridgham and several other founding shareholders. It was the first of many companies to name themselves after an Internet protocol...
was the author of the MIT PC/IP package as well as at a later point of FTP Software. John Romkey's PC/IP implementation was the first IBM PC TCP/IP stack. Jay Elinsky and
Oleg VishnepolskyOleg Vishnepolsky is the author of IBM's S2 Spreadsheet. Vishnepolsky also authored TCP/IP stacks for OS/2 and IBM POS terminals. He also is known as an aphorist , , - S2 spreadsheet :...
of IBM Research wrote VM/CMS and OS/2 TCP/IP stacks, respectively.
The spread of TCP/IP was fueled further in June 1989 when AT&T agreed to put the TCP/IP code developed for UNIX system at University of Berkeley into public domain. Known as
BSDBerkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...
, this code base was adopted by a variety of vendors, IBM included, for their own TCP/IP stacks. Until Microsoft released TCP/IP stack in 1995 with its Windows 95, many companies marketed and sold TCP/IP software for Windows.
Windows 95 support for TCP/IP came a little late in the Internet evolution, but when it finally came, the dominance of TCP/IP over other protocols became insurmountable. IBM's SNA,
OSIOpen Systems Interconnection is an effort to standardize networking that was started in 1977 by the International Organization for Standardization , along with the ITU-T.-History:...
, Microsoft's native
NetBIOSNetBIOS is an acronym for Network Basic Input/Output System. It provides services related to the session layer of the OSI model allowing applications on separate computers to communicate over a local area network. As strictly an API, NetBIOS is not a networking protocol...
, Xerox' XNS and all other protocols disappeared from the commercial landscape. [citations needed]
The concept of layers
The Internet protocol suite uses
encapsulationIn computer networking, encapsulation is a method of designing modular communication protocols in which logically separate functions in the network are abstracted from their underlying structures by inclusion or information hiding within higher level objects....
to provide abstraction of protocols and services. Encapsulation is usually aligned with the division of the protocol suite into layers of general functionality. In general, an application (the highest level of the model) uses a set of protocols to send its data down the layers, being further encapsulated at each level.
According to RFC 1122, the Internet protocol suite organizes the functional groups of protocols and methods into four layers, the application layer, the transport layer, the internet layer, and the link layer. This model was not intended to be a rigid reference model into which new protocols have to fit in order to be accepted as a standard.
The role of layering in TCP/IP may be illustrated by an example network scenario (right-hand diagram), in which two Internet host computers communicate across local network boundaries constituted by their
internetworkingInternetworking is the practice of connecting a computer network with other networks through the use of gateways that provide a common method of routing information packets between the networks...
routers. The application on each host executes read and write operations as if the processes were directly connected to each other by some kind of data pipe, every other detail of the communication is hidden from each process. The underlying mechanisms that transmit data between the host computers are located in the lower protocol layers.
The transport layer establishes host-to-host connectivity, meaning it handles the details of data transmission that are independent of the structure of user data and the logistics of exchanging information for any particular specific purpose. The layer simply establishes a basic data channel that an application uses in its task-specific data exchange. For this purpose the layer establishes the concept of the
port, a numbered logical construct allocated specifically for each of the communication channels an application needs. For many types of services, these port numbers have been standardized so that client computers may address specific services of a server computer without the involvement of service announcements or directory services.
The transport layer operates on top of the internet layer. The internet layer is not only agnostic of application data structures as the transport layer, but it also does not distinguish between operation of the various transport layer protocols. It only provides an unreliable datagram transmission facility between hosts located on potentially different IP networks by forwarding the transport layer datagrams to an appropriate next-hop router for further relaying to its destination. With this functionality, the internet layer makes possible internetworking, the interworking of different IP networks, and it essentially establishes the Internet. The Internet Protocol is the principal component of the internet layer, and it defines two addressing systems to identify network hosts computers, and to locate them on the network. The original address system of the
ARPANETThe Advanced Research Projects Agency Network , was the world's first operational packet switching network and the core network of a set that came to compose the global Internet...
and its successor, the Internet, is Internet Protocol version 4 (IPv4). It uses a 32-bit
IP addressAn Internet Protocol address is a numerical label assigned to each device participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing...
and is therefore capable of identifying approximately four billion hosts. This limitation was eliminated by the standardization of Internet Protocol version 6 (IPv6) in 1998, and beginning production implementations in approximately 2006.
The lowest layer in the Internet protocol suite is the link layer. It comprises the tasks of specific networking requirements on the local link, the network segment that a hosts network interface is connected to. This involves interacting with the hardware-specific functions of network interfaces and specific transmission technologies.
As the user data, first manipulated and structured in the application layer, is passed through the descending layers of the protocol stack each layer adds encapsulation information as illustrated in the diagram (right). A receiving host reverses the encapsulation at each layer by extracting the higher level data and passing it up the stack to the receiving process.
Layer names and number of layers in the literature
The following table shows the layer names and the number of layers of networking models presented in
RFCsIn computer network engineering, a Request for Comments is a memorandum published by the Internet Engineering Task Force describing methods, behaviors, research, or innovations applicable to the working of the Internet and Internet-connected systems.Through the Internet Society, engineers and...
and textbooks in widespread use in today's university computer networking courses.
| RFC 1122 |
Tanenbaum |
Cisco Academy |
Kurose Forouzan |
Comer Kozierok |
Stallings |
Arpanet Reference Model 1982 (RFC 871) |
| Four layers |
Four layers |
Four layers |
Five layers |
Four+one layers |
Five layers |
Three layers |
| "Internet model" |
"TCP/IP reference model" |
"Internet model" |
"Five-layer Internet model" or "TCP/IP protocol suite" |
"TCP/IP 5-layer reference model" |
"TCP/IP model" |
"Arpanet reference model" |
| Application |
Application |
Application |
Application |
Application |
Application |
Application/Process |
| Transport |
Transport |
Transport |
Transport |
Transport |
Host-to-host or transport |
Host-to-host |
| Internet |
Internet |
Internetwork |
Network |
Internet |
Internet |
| Link |
Host-to-network |
Network interface |
Data link |
Data link (Network interface) |
Network access |
Network interface |
|
|
|
Physical |
(Hardware) |
Physical |
|
These textbooks are secondary sources that may contravene the intent of RFC 1122 and other IETF primary sources.
Different authors have interpreted the RFCs differently regarding the question whether the link layer (and the TCP/IP model) covers OSI model layer 1 (
physical layerThe physical layer or layer 1 is the first and lowest layer in the seven-layer OSI model of computer networking. The implementation of this layer is often termed PHY....
) issues, or if a hardware layer is assumed below the link layer. Some authors have tried to use other names for the link layer, such as
network interface layer, in view to avoid confusion with the similarly named OSI model layer 2 (
data link layerThe data link layer is layer 2 of the seven-layer OSI model of computer networking. It corresponds to, or is part of the link layer of the TCP/IP reference model....
) of the seven layer
OSI modelThe Open Systems Interconnection model is a product of the Open Systems Interconnection effort at the International Organization for Standardization. It is a prescription of characterizing and standardizing the functions of a communications system in terms of abstraction layers. Similar...
. Others have attempted to map the Internet Protocol model onto the OSI model. The mapping often results in a model with five layers where the link layer is split into an OSI model layer 2 (data link layer) on top of an OSI model layer 1 (physical layer). In literature with a bottom-up approach to Internet communication, in which hardware issues are emphasized, those are often discussed in terms of OSI model layer 1 (physical layer) and OSI model layer 2 (data link layer).
The internet layer is usually directly mapped into OSI model layer 3 (
network layerThe network layer is layer 3 of the seven-layer OSI model of computer networking.The network layer is responsible for packet forwarding including routing through intermediate routers, whereas the data link layer is responsible for media access control, flow control and error checking.The network...
), a more general concept of network functionality. The transport layer of the TCP/IP model, sometimes also described as the host-to-host layer, is mapped to OSI layer 4 (transport layer), sometimes also including aspects of OSI layer 5 (
session layerThe session layer is layer 5 of the seven-layer OSI model of computer networking.The session layer provides the mechanism for opening, closing and managing a session between end-user application processes, i.e., a semi-permanent dialogue. Communication sessions consist of requests and responses...
) functionality. OSI layer 7 (application layer), OSI layer 6 (
presentation layerThe presentation layer is layer 6 of the seven-layer OSI model of computer networking and serves as the data translator for the network. It is sometimes called the syntax layer.-Description:...
), and the remaining functionality of OSI layer 5 (session layer) are collapsed into TCP/IP's application layer. The argument is that these OSI layers do not usually exist as separate processes and protocols in Internet applications.
However, the Internet protocol stack has never been altered by the Internet Engineering Task Force from the four layers defined in RFC 1122. The IETF makes no effort to follow the OSI model although RFCs sometimes refer to it. The IETF has repeatedly stated that Internet protocol and architecture development is not intended to be compliant to the OSI model.
RFC 3439, addressing Internet architecture, contains a section entitled: "Layering Considered Harmful".
Implementations
Most computer operating systems in use today, including all consumer-targeted systems, include a TCP/IP implementation.
Minimally acceptable implementation includes implementation for (from most essential to the less essential) IP,
ARPAddress Resolution Protocol is a telecommunications protocol used for resolution of network layer addresses into link layer addresses, a critical function in multiple-access networks. ARP was defined by RFC 826 in 1982. It is Internet Standard STD 37...
,
ICMPThe Internet Control Message Protocol is one of the core protocols of the Internet Protocol Suite. It is chiefly used by the operating systems of networked computers to send error messages indicating, for example, that a requested service is not available or that a host or router could not be...
, UDP, TCP and sometimes IGMP. It is in principle possible to support only one of transport protocols (i.e. simple UDP), but it is rarely done, as it limits usage of the whole implementation. IPv6, beyond own version of ARP (NBP), and ICMP (ICMPv6), and IGMP (IGMPv6) have some additional required functions, and often is accompanied with integrated
IPSecInternet Protocol Security is a protocol suite for securing Internet Protocol communications by authenticating and encrypting each IP packet of a communication session...
security layer. Other protocols could be easily added later (often they can be implemented entirely in the userspace), for example
DNSThe Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities...
for resolving domain names to IP addresses or
DHCPThe Dynamic Host Configuration Protocol is a network configuration protocol for hosts on Internet Protocol networks. Computers that are connected to IP networks must be configured before they can communicate with other hosts. The most essential information needed is an IP address, and a default...
client for automatic configuration of network interfaces.
Most of the IP implementations are accessible to the programmers using
socketIn computer networking, an Internet socket or network socket is an endpoint of a bidirectional inter-process communication flow across an Internet Protocol-based computer network, such as the Internet....
abstraction (usable also with other protocols) and proper
APIAn application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
for most of the operations. This interface is known as
BSD socketsThe Berkeley sockets application programming interface comprises a library for developing applications in the C programming language that perform inter-process communication, most commonly for communications across a computer network....
and was used initially in
CC is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
.
Unique implementations include
Lightweight TCP/IPlwIP is a widely used open source TCP/IP stack designed for embedded systems. lwIP was originally developed by Adam Dunkels at the Swedish Institute of Computer Science and is now developed and maintained by a world wide network of developers led by Kieran Mansley.lwIP is used by many...
, an
open sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
stack designed for
embedded systemAn embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...
s and
KA9Q NOSKA9Q, also called KA9Q NOS or simply NOS, was a popular early implementation of TCP/IP and associated protocols for amateur packet radio systems and smaller personal computers connected via serial lines. It was named after the amateur radio callsign of Phil Karn, who first wrote the software for a...
, a stack and associated protocols for amateur
packet radioPacket radio is a form of packet switching technology used to transmit digital data via radio or wireless communications links. It uses the same concepts of data transmission via Datagram that are fundamental to communications via the Internet, as opposed to the older techniques used by dedicated...
systems and
personal computerA personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...
s connected via serial lines.
See also
Further reading
- Douglas E. Comer. Internetworking with TCP/IP - Principles, Protocols and Architecture. ISBN 86-7991-142-9
- Joseph G. Davies
Joseph G. Davies. Joseph is a Microsoft employee and an award-winning technical writer and instructor of TCP/IP and Windows networking technology topics since 1993. He has a bachelor's degree in Engineering Physics and is an MCSE and an MCT. Joseph is the author of the popular on Microsoft TechNet...
and Thomas F. Lee. Microsoft Windows Server 2003 TCP/IP Protocols and Services. ISBN 0-7356-1291-9
- Craig Hunt TCP/IP Network Administration. O'Reilly (1998) ISBN 1-56592-322-7
- Ian McLean
Ian McLean was an Australian rules football player in the Victorian Football League, .Ian McLean played in Melbourne premiership teams in 1955, 1957 and 1959, and well as the runner-up side of 1954...
. Windows(R) 2000 TCP/IP Black Book. ISBN 1-57610-687-X
- Ajit Mungale Pro .NET 1.1 Network Programming. ISBN 1-59059-345-6
- W. Richard Stevens
William Richard Stevens was one of the most famous and widely acclaimed authors of UNIX and TCP/IP books.-Biography:...
. TCP/IP Illustrated, Volume 1: The Protocols. ISBN 0-201-63346-9
- W. Richard Stevens
William Richard Stevens was one of the most famous and widely acclaimed authors of UNIX and TCP/IP books.-Biography:...
and Gary R. Wright. TCP/IP Illustrated, Volume 2: The Implementation. ISBN 0-201-63354-X
- W. Richard Stevens
William Richard Stevens was one of the most famous and widely acclaimed authors of UNIX and TCP/IP books.-Biography:...
. TCP/IP Illustrated, Volume 3: TCP for TransactionsT/TCP is a variant of the TCP protocol.It is an experimental TCP extension for efficient transaction-oriented service.It was developed to fill the gap between TCP and UDP, by Bob Braden in 1994....
, HTTP, NNTPThe Network News Transfer Protocol is an Internet application protocol used for transporting Usenet news articles between news servers and for reading and posting articles by end user client applications...
, and the UNIX Domain Protocols. ISBN 0-201-63495-3
- Andrew S. Tanenbaum
Andrew Stuart "Andy" Tanenbaum is a professor of computer science at the Vrije Universiteit, Amsterdam in the Netherlands. He is best known as the author of MINIX, a free Unix-like operating system for teaching purposes, and for his computer science textbooks, regarded as standard texts in the...
. Computer Networks. ISBN 0-13-066102-3
External links