TCP/IP is the most used network protocol nowadays. In this tutorial we will explain how it works in a very easy to follow language.
So, what is a network protocol anyway? Protocol is like a language used to make two computers to talk to each other. Like in real world, if they are not talking the same language, they cannot communicate.
Before going further, we recommend you to read our tutorial The OSI Reference Model for Network Protocols, which is a primer for understanding how network protocols work. Consider the present tutorial as a sequel to our OSI Reference Model tutorial.
TCP/IP is not really a protocol, but a set of protocols – a protocol stack, as it is most commonly called. Its name, for example, already refers to two different protocols, TCP (Transmission Control Protocol) and IP (Internet Protocol). There are several other protocols related to TCP/IP like FTP, HTTP, SMTP and UDP – just to name a few. Don’t worry about this for now; we will explain all you need to know about them later.
TCP/IP architecture can be seen in Figure 1.
Figure 1: TCP/IP architecture.
As you can see, TCP/IP has four layers. Programs talk to the Application layer. On the Application layer you will find Application protocols such as SMTP (for e-mail), FTP (for file transfer) and HTTP (for web browsing). Each kind of program talks to a different Application protocol, depending on the program purpose.
After processing the program request, the protocol on the Application layer will talk to another protocol from the Transport layer, usually TCP. This layer is in charge of getting data sent by the upper layer, dividing them into packets and sending them to the layer below, Internet. Also, during data reception, this layer is in charge of putting the packets received from the network in order (because they can be received out-of-order) and also checking if the contents of the packets are intact.
On the Internet layer we have the IP (Internet Protocol), which gets the packets received from the Transport layer and adds virtual address information, i.e., adds the address of the computer that is sending data and the address of the computer that will receive this data. These virtual addresses are called IP addresses. Then the packet is sent to the lower layer, Network Interface. On this layer packets are called datagrams.
The Network Interface will get the packets sent by the Internet layer and send them over the network (or receive them from the network, if the computer is receiving data). What is inside this layer will depend on the type of network your computer is using. Nowadays almost all computers use a type of network called Ethernet (which is available in several different speed grades; wireless networks are also Ethernet networks) and thus you should find inside the Network Interface layer the Ethernet layers, which are Logic Link Control (LLC), Media Access Control (MAC) and Physical, listed from up to bottom. Packets transmitted over the network are called frames.
Let’s now talk more in depth about the TCP/IP layers and protocols.