TDP/IP includes a wide range of protocols which are used for a variety of purposes on the network. 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 ability.
- 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:
|Name(layer)||Importance||Names of protocols||What it does|
|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||Manages movement of messages and reports errors. It uses message protocols and software to manage this process. (includes routing)|
|Inter layer communication||Essential||ARP||Communicates between layers to allow one layer to get information to support another layer. This includes broadcasting|
|Service control(transport)||Critical||TCP, UDP||Controls the management of service between computers. Based on values in TCP and UDP messages a 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 computer to perform functions on other computers.|
|Network Management||Advanced||RARP, BOOTP, DHCP, IGMP, SNMP,RIP, OSPF, BGP, CIDR||Enhances network management and increases functionality|
|Utility(Application)||Useful||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 lines.
- 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 computers.
- 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 packets.