When two people are able to communicate we generally assume that they know the same language, and that is the key to understanding each other. This applies to the world of computing as well, where the set of standards are called protocols. During this article we plan to present in a nutshell the most common TCP/IP protocol types. We wonít get in-depth, so donít expect university course-style materialójust the basics.
It's time to speed up our pace since there are many protocols to be explained. The aforementioned IP protocol has a security-conscious derivative: IPSec. What it does is simple: it authenticates and encrypts each of the datagrams that are sent/received. Distinct from the other security protocols, IPSec operates on layer 3, not on application levels such as the SSH, SSL, TLS, etc.
On the previous page we mentioned the TCP protocol. It's located one layer higher-the fourth. Most of the tasks that run on the Internet, such as e-mail, web browsing, file transfers and so on use TCP because of its reliable management attributes. It is a connection-based protocol, unlike its counterpart, UDP, which is connection-less.
The Transport Layer is the fourth layer in the model, and almost all of the activity that happens through that layer is based on TCP and UDP protocols. These are core protocols of the TCP/IP model. UDP is once again a somewhat primitive type that does not offer a reliable way to know whether or not the datagram arrives intact. Therefore, it's great for streaming media or online/network gaming.
Both of the above require very fast data exchange and little to no verification. On the client-side these can be corrected if needed, but most of the time it doesn't matter when their amount is low-they can be neglected. In the case of TCP communications, the data must be 100% correct. That is why it includes specific complex handshaking dialogs, data verification for integrity, ordering, etc.
The structure of a UDP packet is really simple: source port, destination port, length, checksum, and the data. It is the ideal choice whenever broadcasting or multi-casting is required. The structure of a TCP packet is quite complex; it includes the following in addition to the inherited elements: sequence number, acknowledgment number, data offset, window size, checksum, flags, and lots of extra options.
We shouldn't go further than this. There are books written on the TCP mechanism. Moving on, finally, we can talk about protocols from the application layer. These can be found on the highest layer, and they are "working" on the end-points.
Unless you're holding a printed copy of this article, you're reading this online inside a web browser. That means your favorite browser has used the HTTP protocol (and others) to syndicate and make the content appear on your monitor. HTTP stands for Hypertext Transfer Protocol. It's based on the request/response model, just like any other client-server specific application model.
The standard enumerates a few request methods and the browser phrases a valid request (syntax-based and semantically) and then it waits for the response. It's a stateless protocol. Cookies are used to store data about users.
FTP stands for File Transfer Protocol. It creates a direct connection between two hosts to exchange data. Actually, there are two connections: one is used for control information, and the other for the actual data transfer. The algorithms used are pretty reliable, and when used in correlation with other application-level protocols, security elements can be added as well, as in the case of SSL and SSH.
POP is ironically named Post Office Protocol. Anyone can guess the main purpose of that protocol. Basically, email clients use this protocol to communicate with mail servers to retrieve mail. It's akin to the method where the postman delivers the mail. POP3 is the most commonly used version that implements authentication methods and other hashing functions. By default, it uses port number 110. Google Mail uses 995 because it's POP3 over SSL.
Just as POP3 is used to retrieve mails, SMTP is used to deliver them. Simple Mail Transfer Protocol can only be used to deliver messages. IMAP is another retrieving protocol, like POP3, and it's also commonly used. IMAP fixed some of the POP's shortcomings but also brought a few drawbacks (such as complexity). With the help of IMAP4, server-side searching was possible, along with many other functions.