### 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.