Transmission Control Protocol/Internet Protocol (TCP/IP)
By Pauline M. Berry
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.
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".
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 :
- Application Layer
- Presentation Layer
- Session Layer
- Transport Layer
- Network Layer
- Data Link Layer
- 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 |
======================== ========================
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.
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.
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.
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.
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.
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.
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.
The main TCP/IP components include the following -
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.
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.
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.
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 (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.
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.
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.
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.
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.
- 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.
- 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.
- Most Macintosh systems use the MacTCP stack which is available from Apple and
is provided with most if not all Macintosh TCP/IP packages.
- PC systems have something close to a standard in TCP applications called the
Windows Sockets API (Winsock). The Winsock API is available in 16 bit and 32
bit versions. The 32 bit versions are for Windows NT systems. Winsock is
implemented in Dynamically Loaded Libraries or DLLs. Currently work is under
way to develop a freeware Winsock DLL but many commercial versions are
available.
- 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 .