Transmission Control Protocol/Internet Protocol (TCP/IP)

By Pauline M. Berry


What is TCP/IP?

Transmission Control Protocol/Internet Protocol (TCP/IP) is the main transport protocol used on the Internet for connectivity and transmission of data across heterogeneous systems. It is an open standard which is available on most Unix systems, VMS and other minicomputer systems, many mainframe & super computing systems and some microcomputer & PC systems. TCP/IP is a software solution for network connectivity.

There is little assumption on the hardware system used for actual physical connections. The most common hardware solution is Ethernet, but TCP/IP will also run on Token-Ring, AT&T StarLAN, microwave & spread spectrum systems , LocalTalk (needs a gateway), Serial lines (modems, serial connections) and other systems as well.


Background

TCP/IP is a family of protocols that covers a wide variety of tasks, all intertwined and interrelated in some way. There has been a steady increase in the number of TCP/IP networks as both the Internet and the UNIX operating system have grown in popularity.

TCP/IP is large set of software programs that provide network services such as remote logins, remote file transfers, and electronic mail. TCP/IP provides a method for transferring information from one machine to another. In doing this it handles errors in transmission, manages the routing and delivering of data, and controls the actual transmission by the use of predetermined status signals. To cope with the complexity of the protocol family the specification of TCP/IP can be divided into "layers".


TCP/IP Layers

In writing a software package to accomplish all the tasks required for communications between different computers, a programmer must take into account the different hardware architectures, transferring of data, routing etc., which would result in a program that was far to large to execute or maintain. With all the requirements divided into groups, where each group is independent (i.e. would deal with a specific group of related tasks such as routing of data), writing such an application would be far easier. These groups are known as LAYERS. This is what TCP/IP is based on.

One well known division of layers is the OSI-RM (Open Systems Interconnection Reference Model). The OSI Reference Model uses seven layers :

  1. Application Layer
  2. Presentation Layer
  3. Session Layer
  4. Transport Layer
  5. Network Layer
  6. Data Link Layer
  7. Physical Layer
The TCP/IP architecture is similar, but involves less layers because it combines some of the OSI functionality in two layers into one.
		OSI Model 			TCPIP                           
	========================         =======================                  
	| Application Layer	| 	|			|                  
	| Presentation Layer	|	| Application Layer	|                  
	| Session Layer      	|	|-----------------------|                  
	| Transport Layer	| 	| Transport Layer 	|                  
	| Network Layer		| 	| Network Layer		|                  
	| Data Link Layer	|	| network Interface	|                  
	| Physical Layer	| 	| Physical		|                
	========================	========================                

Application Layer:

The application layer is the end user interface to the OS system. It is where applications, such as electronic mail, reside. The application layer's task is to display received information and send the user's new data to the lower layers. In a client/server application, the application layer is where the client application resides. It communicates through the lower layers to the server.

Presentation Layer:

The presentation layer's task is to isolate the lower layers from the application's data format. It converts the data from the application into a common format. The presentation layer processes machine dependant data from the application layer into a machine-independent format for the lower layers. It is in this layer that the file formats and character formats are lost.

Session Layer:

The session layer organises and synchronises the exchange of data between application processes. The session layer can be thought of as a timing and flow control layer. The session layer is involved in co-ordinating communications between different applications, letting each know the status of the other. An error in one application is handled by the session layer.

Transport Layer:

The transport layer is designed to provide the transfer of data from a source end open system to a destination end open system. This layer establishes, maintains, and terminates communications between two machines. It is also responsible for ensuring data sent matches data received.

Network Layer:

The network layer provides the physical routing of the data, determining the path between the machines. The network handles all these routing issues, relieving the higher layers from this issue. It examines the network topology to determine the best route to send a message, as well as figure out relay systems.

Data Link Layer:

The data link layer provides for the control of the physical layer, and detects and possibly corrects errors which may occur. The data link layer is usually concerned with signal interference on the physical transmission media.

Physical Layer:

The physical layer is the lowest layer of the OSI model and deals with the mechanical, electrical, functional, and procedural means required for transmission of data. The bottom two layers are almost inseparable, for this reason TCP/IP includes the data link layer and the physical layer as one layer.

TCP/IP Components

The main TCP/IP components include the following -

Telnet:

The telnet program provides a remote login capability. This lets a user on one machine log onto another machine and act as though he or she were directly on front of the second machine. The connection can be anywhere on the local network or on another network anywhere in the world, as long as the user has permission to log onto the remote system.

File Transfer Protocol:

The file transfer protocol (FTP) enables a file on one system to be copied to another system. The user doesn't actually log in as a full user to the machine he or she wants to access, but instead uses the FTP program to enable access. Once a connection to a remote machine has been established, FTP enables you to copy one or more files to your machine.

Simple Mail Transfer Protocol:

The simple mail transfer protocol (SMTP) is used for the transferring of electronic mail. Transparent to the user, SMTP connects to different machines and transfers the mail message, much like FTP transfers files.

Domain Name Server:

The domain name server (DNS) enables a device with a common name to be converted to a special network address. For example, a system called "workstation_1" cannot be accessed by a network across the country unless some method of checking the local machines name is available. The DNS provides a conversion from the common local name to the unique physical address of the device's network connection.

Transmission Control Protocol:

Transmission control protocol (TCP) is a communications protocol that provides reliable transfer of data. It is responsible for assembling data passed from higher-layer applications into standard packets and ensuring the data is transferred correctly.

Internet Protocol:

The internet protocol (IP) is responsible for moving the packets of data assembled by TCP across networks. It uses a set of unique addresses for every device on the network to determine routing and destinations.

Some of the other TCP/IP components include Kerberos, Abstract Syntax Notation, Simple Network Management Protocol, Network File Server, Remote Procedure Calls, Trivial File Transfer Protocol, User Datagram Protocol and Internet Control Message Protocol.


IP Addresses

TCP/IP uses a 32-bit address to identify a machine on a network to which it is attached. IP addresses identify a machine's connection to the network, not the machine itself. Whenever a machine's location on the network is moved, the IP address must be changed too.

Address Resolution Protocol

Determining address can be difficult because every machine on the network may not have a list of all the addresses of the other machines or devices. The address resolution protocol (ARP) helps solve the problem. ARP's job is to convert IP addresses to physical addresses and in doing so, eliminates the need for applications to know about the physical addresses. ARP is a table with a list of the IP addresses and their corresponding physical addresses.

Domain Name System

Many systems adopt meaningful names for their devices and networks. The domain name system uses a hierarchical architecture to translate between these names and the IP addresses. The first level of naming divides networks into the category of sub networks such as com for commercial, mil for military, edu for educational, and so on. Below each of these is another division called the "domain name".

The DNS uses two systems to establish and track domain names. A "name resolver" on each network examines information in a domain name. If it can't find the full IP address it queries a "name server", which has the full NIC information available.


What do you need to run TCP/IP?

  1. To run TCP/IP on a system you first need a hardware driver.

    Macintosh systems:
    the hardware drivers are built into the system or is provided by the board manufacturer.

    PC systems:
    there are different types of hardware drivers available both commercially and via public domain/shareware including the Packet driver specification by FTP Software, Inc., Microsoft's Network Device Interface Specification (NDIS), & Novell's Open Datalink Interface (ODI).

    OS/2 systems:
    drivers are available from IBM and/or the board manufacturer (if they support OS/2).

    Alternatively use a shim:
    If a driver is not available for your hardware, look for a shim. This is a software device which translates between two driver specifications. There are shims for ODI-on-NDIS, NDIS-on-Packet driver. ODI-on-Packet driver, etc. usually publicly available.

  2. Then you need a TCP/IP stack.

    This is package specific usually comes with every product. You must find a combination of driver & TCP/IP stack which is compatible with your hardware & system.

  3. Then you need all the TCP/IP application programs such as Telnet, FTP, mail, etc. Just about every TCP/IP package has a corresponding set of applications although some do not provide all the different applications available.

Back To:
FULL COURSE INDEX | PAULINE BERRY | DIS | STRATHCLYDE UNIVERSITY


Last modified .