What is a Protocol?

Protocol, in computer science, a set of rules or procedures for transmitting data between electronic devices, such as computers. In order for computers to exchange information, there must be a preexisting agreement as to how the information will be structured and how each side will send and receive it. Without a protocol, a transmitting computer, for example, could be sending its data in 8-bit packets while the receiving computer might expect the data in 16-bit packets.

In a simple way a protocol is a set of rules that the protocol must follow to work.

TCP/IP

The protocol used for communicating over the internet is called TCP/IP (Transmission Control Protocol / Internet Protocol). It has two parts: TCP and IP.

When sending data the TCP rules (protocol) include:

  • Dividing the message into encrypted, small, packets
  • Adding a sequence number to each packet so the message can be re-assembled in the correct order so the recipient doesn’t receive an unreadable message.
  • Adding extra error-correction information, so errors can be spotted and fixed without having to send the whole message again, which can cause delays in delivering the message.

When receiving data the TCP rules (protocol) include:

  • Examining each packet for errors by using the extra information that was added to it to stop the message being corrupt.
  • Fixing any errors (if possible) or requesting that the packet be re-sent from the sender. This is done automatically, the sender would not need to type the message out again.
  • Spotting missing packets and requesting them to be re-sent again, so the recipient doesn’t receive a scrambled message.
  • If all packets are present, using the sequence number of each packet to re-assemble the message and decrypt it so it can be read in its original state when it was sent.

HTTP(s)

HTTP transfers web pages from web servers to the client. All web page addresses start with http. An https address is a secure web address which has been encrypted. A https address is used for sites holding bank details and secure information so they are encrypted and your personal and sensitive information is secure and not vulnerable.

IMAP

IMAP stands for Internet Message Access Protocol. It is a method that allows you to access mail or messages that are kept on a mail server. In other words, email stored on an IMAP server can be read and responded to from a desktop computer at home, a workstation at the office, or a laptop computer while you are travelling, and you do not need to transfer these messages back and forth between computers.


• Emails are stored on the server.
• Sent messages are stored on the server.
• Messages can be synced and accessed across multiple devices.

POP (Post Office Protocol)

Post Office Protocol (POP) is a type of computer networking and Internet standard protocol that extracts and retrieves email from a remote mail server for access by the host machine.

OP is an application layer protocol in the Open Systems Interconnection (OSI) Model. The OSI Model is a theoretical construct used to describe how communications happen across a network. There are 7 layers.

SSH (Secure Shell)

SSH and FTP are often mentioned in the same breath. Invented in 1995 Secure Shell’s definition is “a cryptographic network protocol for secure data communication”. SSH allows for remote command-line login and remote execution. It has many of the functions of FTP but is more secure. The latest versions are referred to as SSH-1 and SSH-2.

SMTP (Simple Mail Transfer Protocol)

The Simple Mail Transfer Protocol is the protocol for Internet email. It transfers email among computers. The majority of computers in the wild understand SMTP, but some do not.

SSL (Secure Socket Layer)


SSL provides a secure channel between two machines or devices operating over the internet or an internal network. One common example is when SSL is used to secure communication between a web browser and a web server. This turns a website’s address from HTTP to HTTPS, the ‘S’ standing for ‘secure’.

SSL allows security by allowing applications to encrypt data that go from a client to a matching server (for example).