TechNote
Number: 03101-05
Date: October 1994
What is TCP/IP?
TCP/IP, which stands for Transmission Control Protocol/Internet Protocol, is a suite of
protocols developed by the Defense Advanced Research Projects Agency (DARPA) for the
United States Department of Defense. TCP/IP is the leading internet technology. An Internet
is a set of connected networks that act as a co-ordinated whole. The chief advantage of an
internet is that it provides universal interconnection while allowing individual groups to use
whatever network hardware is best suited to their needs.
TCP/IP includes:
- A set of standards that specify how computers communicate
- A set of conventions for interconnecting networks and routing traffic
The following diagram shows the main TCP/IP protocols and how they depend on each other:

The protocols in the diagram use those protocols that lie directly below. The bottom layer
includes any hardware protocol that IP can use to transfer datagrams.
The Address Resolution Protocol (ARP)
This protocol maps a high-level IP address to a low level physical hardware address such as
Ethernet. ARP is only across a single physical network and is limited to networks that support
hardware broadcast. ARP is most often used on Ethernets.
The Internet Protocol (IP)
This protocol provides transparency over both the topology of the internet and the
transmission media used in each physical network comprising the internet. IP defines the IP
datagram as the unit of information passed across an internet. Using IP, data is sent as a
series of datagrams. Each datagram consists of one or more bytes of user data and has an
address associated with it that indicates where the datagram should be delivered. IP provides
a connectionless-mode service, that is, there is no connection established before datagrams
are sent across the network and each packet is treated independently of others. The service
that IP provides is unreliable because there is no guarantee of delivery. The packet may be
lost, duplicated, delayed, or delivered out of order but the service will not detect such
conditions, nor will it inform the sender or the receiver. All higher-level protocols must use IP
to send outgoing datagrams, and all lower-level protocols deliver incoming information to it.
IP uses ARP to bind addresses and the hardware protocols layer to transmit datagrams.
An integral part of the internet protocol is the Internet Control Message Protocol (ICMP).
The Internet Control Message Protocol (ICMP)
This protocol handles error and control messages. Gateways and hosts use ICMP to send
reports of problems about datagrams back to the original source that sent the datagram.
ICMP also includes an echo request/reply used to test whether a destination is reachable and
responding.
The User Datagram Protocol (UDP)
This protocol offers a connectionless-mode transport service, using IP to deliver datagrams.
The main difference between UDP datagrams and IP datagrams is that UDP includes a
protocol port number, allowing the sender to distinguish among multiple destinations
(application programs) on the remote machine. In practice, UDP also includes a checksum
over the data being sent.
The Transmission Control Protocol (TCP)
This protocol provides a highly-reliable, connection-oriented, end-to-end transport service
between processes in end systems connected to the catenat. A catenat is a collection of
networks interconnected by gateways. As TCP is a connection-oriented protocol, it goes
through three distinct phases: connection establishment, data transfer, and connection
release. TCP only assumes that the layer below offers an unreliable datagram service and
therefore, can run over any such protocols. Typically, it is associated with IP. TCP provides
such facilities as error recovery, sequencing of packets, flow control by the windowing
method, and the support of multiplexed connections from the layer above.
TELNET
This is a remote terminal protocol. TELNET defines a network virtual terminal that provides a
standard interface to remote systems. It allows a user at one site to establish a TCP
connection to a login server at another, and then passes keystrokes from the user's terminal
directly to the remote machine as if they had been typed at a terminal on the remote
machine. TELNET also carries output from the remote machine back to the user's terminal.
The service is transparent, that is, it gives the appearance that the user's terminal is attached
directly to the remote machine.
The File Transfer Protocol (FTP)
This protocol is the main TCP/IP standard for transferring files from one machine to another.
Usually implemented as application level programs, FTP uses the virtual terminal service
offered by TELNET and uses TCP to form data connections.
Network File System (NFS)
This protocol enables a set of cooperating computers to access each other's files as if they
were local. NFS hides the difference between local and remote files by placing them in the
same name space. NFS runs over two other protocols: Remote Procedure Call (RPC) and
eXternal Data Representation (XDR). The RPC acts as the main communication mechanism
between the server and the client so that programs can access remote files in the same way
they access local files. The XDR is a standard for a machine independent data structure.
Therefore, XDR translates data that is in local machine representation to external
representation for sending across the network.