What is protocol
In day to day routines, we heard about the term protocol. What protocol means? At a very broad level, a protocol is the set of rules. If protocol rules are followed globally then it may be a standard. Just like the English language. It has vocabulary and grammar. The grammar is a set of rules that need to follow to communicate with someone using the English language. So as a protocol definition, this is the verbal communication protocol. Both parties should understand the protocol, which means both people should know the English language.
What is the protocol in networking?
We live in a world, which connects many machines to each other. The group of connected machines is a network or computer network. To communicate with each other, protocols are used among machines. These protocols are computer networking protocols. There are mainly two types of networks which are very popular, telecom network and internet network. Both have connected machines but use a different set of protocols.
Telecom network or PSTN uses protocols specific to GSM standards. Telecom protocols may use the computer network over the internet may have its own dedicated network or physical wires. In the beginning, the telecom network was totally a 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, which is used by the traditional 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. If it connects to the network, a computer should implement the communication protocols. 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 IP protocol, specify a source IP address, destination IP address, and user data in a message and sends it to the IP layer.
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, if it matches with self-address. The packet is sent to the user of the IP layer. If the destination IP is a remote, IP then the packet is forwarded to the next hope.
Transmission control protocol or TCP
Its a transport layer level protocol in the OSI model. Uses the service if 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. 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 its own specific port. E.g HTTP uses port number 80.
HyperText Transfer protocol provides access to content over a web browser. It uses the service of TCP protocol and provides services to the user-level 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. For reach request, HTTP client set up a TCP connection with the server on the response 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.
File transfer protocol is used to transfer 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. When a client wants to connect to the server, there is an authentication process. In the authentication process, the client passes the user name and password. Although the server can be configured to do not ask for client credentials.
A secure shell is a protocol for doing remote login securely. It is a client-server based protocol. A client-first set up a secure connection with the server 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 as he can do on the local machine. The security feature on protocol makes ssh preferable over similar telnet. SSH is available for many operating systems. If not available on an OS, then an ssh client e.g putty can be downloaded.
Telnet is a remote login client. It is based on the client-server model. It is available on most of the operating systems. It uses TCP port 23 as a standard telnet port. It is similar to ssh. But the communication is not encrypted.
Stream Control Transmission Protocol or SCTP is one of the examples of transport layer protocol. It is relatively new as compared to other well know transport protocols like TCP, 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.
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 for the recovery of lost messages. UDP is fast as compare to TCP.