TCP/IP encompasses a wide range of protocols that are used for various purposes in the network. The set of protocols that are part of TCP/IP is known as the TCP/IP protocol stack or TCP/IP protocol suite. With the many protocols, message types, tiers, and services supported by TCP/IP networks, it is important to categorize the various protocols and define the contribution of each to network operations.
Unfortunately, this categorization is rarely done thoroughly. However, I believe this is very helpful for those who are learning networking to understand faster and better. While I cannot guarantee that experts will agree with the categorization that will be provided here, this should help the reader get a big picture of the various protocols and understand the reasons or needs for each protocol.
As already mentioned, there are four layers in TCP/IP: link, network, transport, and application. The link layer is the hardware layer that allows messaging between locations. In the context of this document, ethernet provides such capabilities. Below, I define some of the categories that fit into the 4-layer protocol tiers that have been described. I also outline the importance of each category for the overall functional ability of the network. These levels of importance are essential, critical, important, sophisticated, and useful.
- Essential – Without this, all other categories are irrelevant.
- Critical – The network will not function without this capability.
- Important – Networks can function but will be difficult to use and manage.
- Advanced – Improves ease of use and network management.
- Useful – Functionality that network users want. Certain apps or functionalities are supported here. Without this, there is no reason to build a network.
Name (layer) | Interests | Protocol Name | Function |
Hardware (link) | Essential | Ethernet, SLIP, PPP, Token Ring, ARCnet | Allows messages to be packaged and sent between physical locations. |
Package Management (network) | Essential | IP, ICMP | Manage message movement and report errors. Use messaging protocols and software to manage this process (including routing). |
Inter-Layer Communication | Essential | ARP | Communicate between layers to allow one layer to get information to support other layers, including broadcasting. |
Service Control (transport) | Critical | TCP, UDP | Control service management between computers. Based on the values in TCP and UDP messages, the server knows what service is being requested. |
Application and User Support | Important | DNS, RPC | DNS provides address-to-name translation for locations and network cards. RPC allows remote computers to perform functions on other computers. |
Network Management | Advanced | RARP, BOOTP, DHCP, IGMP, SNMP, RIP, OSPF, BGP, CIDR | Improve network management and improve functionality. |
Utilities (Applications) | Useful | FTP, TFTP, SMTP, Telnet, NFS, ping, Rlogin | Provide direct services to users. |
There are exceptions in my categorization that don’t fit into the normal layer scheme, such as IGMP which is usually part of the link layer. However, I try to list these categorizations according to the function of the network and its importance to network operations. It should be noted that ethernet, which is not a protocol, but rather an IEEE standard along with PPP, SLIP, TokenRing, and ArcNet, is not a TCP/IP protocol but can support TCP/IP at the hardware or link layer, depending on the network topology.
Here is a brief description of each protocol:
- ethernet – Provides information transportation between physical locations on ethernet cables. Data is passed in ethernet packets.
- SLIP – Serial Line IP (SLIP), a form of data encapsulation for serial lines.
- PPP – Point to Point Protocol (PPP). A form of serial path data encapsulation which is an improvement of SLIP.
- IP – Internet Protocol (IP). Except for ARP and RARP, all protocol data packets will be packaged into IP data packets. Provides a mechanism for using software to address and manage data packets sent to computers.
- ICMP – Internet Control Message Protocol (ICMP) provides error management and reporting to help manage the process of sending data between computers.
- ARP – Address Resolution Protocol (ARP) allows the packaging of IP data into ethernet packets. It is a messaging system and protocol used to find the ethernet (hardware) address of a particular IP number. Without this protocol, ethernet packets cannot be generated from IP packets because ethernet addresses cannot be determined.
- TCP – A reliable connection-oriented protocol is used to control application-level service management between computers.
- UDP – An unreliable no-connection protocol is used to control application-level service management between computers.
- DNS – Domain Name Service allows the network to determine the IP address of the name and vice versa.
- RARP – Reverse Address Resolution Protocol (RARP) is used to allow a computer without a local permanent data storage medium to determine its IP address from its ethernet address.
- BOOTP – Bootstrap Protocol is used to assign IP addresses to diskless computers and tell what servers and files to load that will provide the operating system.
- DHCP – Dynamic Host Configuration Protocol (DHCP) is a method for assigning and controlling the IP addresses of computers on a specific network. It is a server-based service that automatically assigns an IP address when the computer boots up. This way, the computer’s IP address does not need to be assigned manually, making it easier to manage network changes. DHCP can perform all the functions of BOOTP.
- IGMP – Internet Group Management Protocol is used to support multicasting.
- SNMP – Simple Network Management Protocol (SNMP). It is used to manage all types of network elements based on the various data sent and received.
- RIP – Routing Information Protocol (RIP), used to dynamically update router tables on the WAN or internet.
- OSPF – Open Shortest Path First (OSPF) dynamic routing protocol.
- BGP – Border Gateway Protocol (BGP). 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 the required login.
- TFTP – Trivial File Transfer Protocol (TFTP). Allows file transfer between two computers without login required. It is limited and intended for diskless stations.
- SMTP – Simple Mail Transfer Protocol (SMTP).
- NFS – Network File System (NFS). A protocol that allows UNIX and Linux systems to mount file systems against each other remotely.
- Telnet – A method for opening a user session on a remote host.
- Ping – A program that uses ICMP to send diagnostic messages to other computers to find out if they can be reached over a network.
- Rlogin – Remote login between UNIX hosts. It is obsolete and has been replaced by Telnet.
Each protocol ultimately has its data packets wrapped in ethernet, SLIP, or PPP (at the link level) packets to be sent over ethernet cables. Some protocol data packets are wrapped in sequence several times before being sent. For example, FTP data is wrapped in a TCP packet wrapped in an IP packet wrapped in a link packet (usually ethernet). The diagram below shows the relationship between the sequential wrapping of protocol data packets.