What is the protocol in computer networking?


In day-to-day routines, we heard about the term protocol. What does protocol mean for us? At a general level, it is a set of rules. If rules are followed globally, then they may be a standard specification. 3GPP is an organization for developing protocol standards for GSM communication.

The English language is a typical example. It has vocabulary and grammar. Grammar is a set of rules that must be followed to communicate with someone using English. So as a protocol definition, the English language is the verbal communication protocol. Both parties should understand the protocol, meaning both sides should know English.  

What is the protocol means in computer networking?

We live in a world that connects many machines. The group of connected computing devices is a network or computer network. Network devices use protocols for communication. These protocols are also named computer networking protocols. For example, HTTP is the protocol for communication between a web server and a web client.

There are mainly two types of networks, which are very popular, telecom networks and internet networks. Both have connected machines but use different sets of protocols.

A Telecom network or PSTN uses protocols specific to GSM standards. Telecom protocols may use the computer network over the internet or have a dedicated network with physical lines.

In the beginning, the telecom network was different network. The network was based on TDM lines named E1 or T1 channels. These days the network is a mix of TDM and packet-based IP networks. Ss7 is the base protocol used by the legacy telecom’s wired network.

VOIP is one of the examples of telecom protocols over IP networks. VOIP uses SIP or session initiation protocol and RTP or Real-time transfer protocol for voice services over the IP networks. As VOIP is new, there are gateways. Gateways do the VOIP to PSTN and vice versa conversion.

What is a protocol in computer:

A computer is a standalone machine if it is not connected to any network. A computer should implement the communication protocols if it needs to connect to the network. Each protocol has a list of messages and its flow procedure. Message flow means states, etc.

Network protocols list:

Internet Protocol or IP

This is the base protocol that provides functionalities of the network layer in the OSI model. It provides the services to its user, which can be TCP, UDP, SCTP, etc. The IP layer uses the services of the underlying data link layer. For sending a packet out, the user of the IP protocol specifies a source IP address, destination IP address, and user data in a message and sends it to the IP layer.

The IP layer selects the outgoing link for the destination IP address. A node should have an IP route table for routing. For an incoming packet, the IP layer checks the destination IP address and if it matches against the self-address. The packet is sent to the user of the IP layer. If the destination IP is a remote IP, the packet is forwarded to the next hope per the routing table.

Transmission control protocol or TCP

It’s a transport layer-level protocol in the OSI model. It uses the service of the IP layer and provides services to the application layer. The application layer has many examples, like HTTP, SSH, Telnet, etc. TCP is a connection-oriented protocol before sending any data. The TCP layer sets up a connection with the peer TCP. The connection setup phase is called the three-way handshake. There can be multiple users of TCP. Each user has a specific port. E.g., HTTP uses port number 80.

HTTP

HyperText Transfer protocol provides access to content over a web browser. It uses the TCP protocol and offers services to the user applications. An HTTP user application can be any application that uses the services of the HTTP protocol. A web browser is one example of an HTTP application. HTTP is based on the request-response model. The HTTP client sets up a TCP connection with the server in response to each request. The connection is released. At the HTTP level, the connection is called a session.

The protocol is specified in HTTP Spec. Like any other TCP user, an HTTP port needs to be used for HTTP applications. E.g., a web server uses standard HTTP port 80.

FTP

File transfer protocol transfers files from server to client and vice versa. FTP is an example of the Application layer protocol as per the OSI model. It runs over TCP/IP protocol. So like other applications, it uses a TCP port. The FTP server uses standard port number 21 for FTP. Almost all operating systems have a command-line-based FTP client. There is an authentication process when a client wants to connect to the server. In the authentication process, the client passes the user name and password, although the server can be configured to not ask for client credentials.

SSH

A secure shell is a protocol for doing remote login securely. It is a client-server-based protocol. Client-first sets up a secure connection with the server and then sends any user data to the server. SSH runs over TCP/IP protocol. It uses standard TCP port 22. 

Once a user is connected to the remote machine via ssh, he can issue all commands while sitting on the local machine. The security feature of the protocol makes ssh preferable over similar telnet. SSH is available for many operating systems. If unavailable on an OS, an ssh client, e.g., putty, can be downloaded.

Telnet

Telnet is a remote login client. It is based on the client-server model. It is available on most operating systems. It uses TCP port 23 as a standard telnet port. It is similar to ssh. But the communication is not encrypted.

SCTP

Stream Control Transmission Protocol(SCTP) is an example of a transport layer protocol. It is relatively new compared to other well know transport protocols like TCP and UDP. Uses the services of the IP layer. SCTP can be used in TCP style or as UDP style communications. The web-based infrastructure is still based on TCP. But the communication in the telecom network is based on SCTP. Now telephony uses SIGTRAN, which runs over SCTP.

UDP 

The user datagram protocol is a transport layer protocol. It is not a connection-oriented protocol like TCP. The UDP is prone to message loss. An application using UDP needs to implement the logic to recover lost messages. UDP is fast compared to TCP.