TDP/IP includes a wide range of protocols
which are used for a variety of purposes on the network.
A D V E R T I S E M E N T
The set of
protocols that are a part of TCP/IP is called the TCP/IP protocol stack
or the TCP/IP suite of protocols.
Considering the many protocols, message types, levels, and services
that TCP/IP networking supports, I believe it would be very helpful to
categorize the various protocols that support TCP/IP networking and
define their respective contribution to the operation of networking.
Unfortunately I have never seen this done to any real extent, but
believe it would be worthwhile to help those learning networking
understand it faster and better. I cannot guarantee that experts will
agree with the categorizations that will be provided here, but they
should help the reader get the big picture on the various protocols, and
thus clarify what the reason or need is for each protocol.
As mentioned previously, there are four TCP/IP layers. They are link,
network, transport, and application. The link layer is the hardware
layer that provides ability to send messages between multiple locations.
In the case of this document, ethernet provides this capability. Below I
define several categories some of which fit into the 4 layer protocol
levels described earlier. I also define a relative fundamental
importance to the ability of the network to function at all. Importance
includes essential, critical, important, advanced, useful.
- Essential - Without this all other categories are irrelevant.
- Critical - The network, as designed, is useless without this
- Important - The network could function, but would be difficult
to use and manage.
- Advanced - Includes enhancements that make the network easier to
use and manage.
- Useful - Functionality that you would like to be able to use as
a network user. Applications or some functionality is supported
here. Without this, why build a network?
The categories are:
||Names of protocols
||What it does
||ethernet, SLIP, PPP, Token Ring, ARCnet
||Allows messages to be packaged and sent between physical locations.
||Manages movement of messages and reports errors. It uses message
protocols and software to manage this process. (includes routing)
|Inter layer communication
||Communicates between layers to allow one layer to get information to
support another layer. This includes broadcasting
||Controls the management of service between computers. Based on
values in TCP and UDP messages a server knows what service is being
|Application and user support
||DNS provides address to name translation for locations and network
cards. RPC allows remote computer to perform functions on other
||RARP, BOOTP, DHCP, IGMP, SNMP,RIP, OSPF, BGP, CIDR
||Enhances network management and increases functionality
||FTP, TFTP, SMTP, Telnet, NFS, ping, Rlogin
||Provides direct services to the user.
There are exceptions to my categorizations that don't fit into the normal
layering scheme, such as IGMP is normally part of the link layer, but I have
tried to list these categorizations according to network functions and their
relative importance to the operation of the network. Also note that ethernet,
which is not really a protocol, but an IEEE standard along with PPP, SLIP,
TokenRing, and ArcNet are not TCP/IP protocols but may support TCP/IP at the
hardware or link layer, depending on the network topology.
The list below gives a brief description of each protocol
- ethernet - Provides for transport of information between physical
locations on ethernet cable. Data is passed in ethernet packets
- SLIP - Serial line IP (SLIP), a form of data encapsulation for serial
- PPP - Point to point protocol (PPP). A form of serial line data
encapsulation that is an improvement over SLIP.
- IP - Internet Protocol (IP). Except for ARP and RARP all protocols' data
packets will be packaged into an IP data packet. Provides the mechanism to
use software to address and manage data packets being sent to computers.
- ICMP - Internet control message protocol (ICMP) provides management and
error reporting to help manage the process of sending data between
- ARP - Address resolution protocol (ARP) enables the packaging of IP data
into ethernet packages. It is the system and messaging protocol that is used
to find the ethernet (hardware) address from a specific IP number. Without
this protocol, the ethernet package could not be generated from the IP
package, because the ethernet address could not be determined.
- TCP - A reliable connection oriented protocol used to control the
management of application level services between computers.
- UDP - An unreliable connection less protocol used to control the
management of application level services between computers.
- DNS - Domain Name Service, allows the network to determine IP addresses
from names and vice versa.
- RARP - Reverse address resolution protocol (RARP) is used to allow a
computer without a local permanent data storage media to determine its IP
address from its ethernet address.
- BOOTP - Bootstrap protocol is used to assign an IP address to diskless
computers and tell it what server and file to load which will provide it
with an operating system.
- DHCP - Dynamic host configuration protocol (DHCP) is a method of
assigning and controlling the IP addresses of computers on a given network.
It is a server based service that automatically assigns IP numbers when a
computer boots. This way the IP address of a computer does not need to be
assigned manually. This makes changing networks easier to manage. DHCP can
perform all the functions of BOOTP.
- IGMP - Internet Group Management Protocol used to support multicasting.
- SNMP - Simple Network Management Protocol (SNMP). Used to manage all
types of network elements based on various data sent and received.
- RIP - Routing Information Protocol (RIP), used to dynamically update
router tables on WANs or the internet.
- OSPF - Open Shortest Path First (OSPF) dynamic routing protocol.
- BGP - Border Gateway Protocol (BGP). A dynamic router protocol to
communicate between routers on different systems.
- CIDR - Classless Interdomain Routing (CIDR).
- FTP - File Transfer Protocol (FTP). Allows file transfer between two
computers with login required.
- TFTP - Trivial File Transfer Protocol (TFTP). Allows file transfer
between two computers with no login required. It is limited, and is intended
for diskless stations.
- SMTP - Simple Mail Transfer Protocol (SMTP).
- NFS - Network File System (NFS). A protocol that allows UNIX and Linux
systems remotely mount each other's file systems.
- Telnet - A method of opening a user session on a remote host.
- Ping - A program that uses ICMP to send diagnostic messages to other
computers to tell if they are reachable over the network.
- Rlogin - Remote login between UNIX hosts. This is outdated and is
replaced by Telnet.
Each protocol ultimately has it's data packets wrapped in an ethernet, SLIP,
or PPP packet (at the link level) in order to be sent over the ethernet cable.
Some protocol data packets are wrapped sequentially multiple times before being
sent. For example FTP data is wrapped in a TCP packet which is wrapped in a IP
packet which is wrapped in a link packet (normally ethernet). The diagram below
shows the relationship between the protocols' sequential wrapping of data