What is protocol
In day to day routines we heard about the term protocol. What protocol means? At very broad level, a protocol is the set of rules. If a protocol rules are followed globally then it may be a standard. Just like the English language. It have vocabulary and the grammar. The grammar is a set of rules that need to follow to communicate with some one using English language. So as a protocol definition , this is the verbal communication protocol. Both parties should understand the protocol, which means both person should know the English language.
What is protocol in networking:
We live in a world, which connects many machines to each other. The group of connected machines is network or computer network. Communication to 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 uses different protocols.
Telecom network or PSTN uses protocols specific to GSM standard. Telecom protocols, may use the computer network over internet of may have its own dedicated network or physical wires. In begning , telecom network was totally a different network. The network was based on TDM lines named E1 or T1 channels. These days the network is mix of TDM and packet based IP network. Ss7 is the base protocol, which is used by the traditional telecom's wired network.
Voip is one of the example of telecom protocols over IP network. Voip uses SIP or session initiation protocol and RTP or Real time transfer protocol for voice services over IP network. As voip is new, there are gateways. Gateways does the voip to PSTN and vice versa conversion.
What is protocol in computer:
A computer is a standalone machine , if it is not connected to any network. If its connects to the network, a computer should implement the communication protocols. Each protocol have list of messages and its flow. Message flow means , states etc.
Network protocols list:
Internet Protocol or IP
This is the base protocol which provides functionalities of network layer in OSI model. It provides the services to its user which can be TCP, UDP, SCTP etc. IP layer uses the services of underlying data link layer. For sending a packet out, the user of IP protocol, specify source ip address, destination ip address, and user data in a message and sends to the IP layer.
Ip layer selects the outgoing link for the destination ip address. A node should have ip route table for routing. For an incoming packet, IP layer checks the destination ip address, if it matches with self address. Packet is sent to the user of IP layer. If the destination ip is a remote , ip then packet is forwarded to the next hope.
Transmission control protocol or TCP
Its a transport layer level protocol in OSI model. Uses the service if IP layer and provides services to the application layer. The application layer have many example, like HTTP, SSH, Telnet etc. TCP is a connection oriented protocol. Before sending any data. TCP layer setup a connection with the peer TCP. The connection setup phase is called three way handshake. There can be multiple user of TCP. Each user have its own specific port. E.g HTTP uses port number 80 .
Hyper Text Transfer protocol provides access to content over web browser. It uses service of TCP protocol and provides services to the user level applications. An http user application can be any application which uses services of HTTP protocol. Web browser is one of the example of HTTP application. HTTP is based on request response model. For reach request HTTP client setup a tcp connection with the server on response the connection is released. At http level the connection is called session. Protocol is specified in HTTP Spec. Like any other TCP user a http port needs to be used for http application. E.g a web server uses standard htpp port 80.
File transfer protocol is used to transfer files from server to client and vice versa. FTP is an example of Application layer protocol in OSI model. It runs over TCP protocol. So like other application it uses a TCP port. The FTP server uses standard port 21. Almost all operating system have command line based FTP client. When a client wants to connect to the server, there is an authentication process. In authentication process the client passes user name and password. Although server can be configured to do not ask for client credentials.
Secure shell is the protocol for doing remote login securely. Its a client-server based protocol. A client first setup a secure connection with the server then sends any data to the server . SSH runs over TCP/IP protocol. It uses standard tcp port 22. Once a user is connected to remote machine via ssh, he can issue all commands as he can do on local machine. The security feature on protocol make ssh preferable over telnet. This available of many operating systems. If not available on a OS, then a ssh client e.g putty can be downloaded.
Telnet is a remote login client. It is based on client-server model. It is available on most of the operating systems. It uses tcp port 23 as standard telnet port. Its similar to ssh. But the communication is not encrypted.
Stream Control Transmission Protocol or SCTP is one of the example of transport layer protocol. It is relatively new as compared to other well know transport protocols like TCP , UDP. Uses services of 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 telecom network is based on SCTP. Now telephony uses sigtran , which runs over sctp.
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, need to implement the logic for recovery of lost messages. UDP is fast as compare to TCP.