TCP/IP model refers to an array of protocols which define the communication taking place over the Internet or other networks. While TCP refers to 'Transmission Control Protocol', IP refers to the 'Internet Protocol'.
TCP/IP model is the combination of TCP as well as IP models. This model ensures that data received is same as the data sent, and the data bytes are received in sequence.
This model mainly defines how data should be sent (by sender) and received (by receiver). It is the protocol which helps connect the user or host to the network.
Most common examples of applications using this model include the email, media streaming, or World Wide Web (WWW). The history of this model dates back to 1978. It was developed by Vint Cerf and Bob Kahn.
TCP/IP model comprises 4 layers that are as follows:
Packet-switching network depends upon a connectionless internetwork layer. This layer, known as the Internet layer, is the linchpin that completely holds the structure of the model.
Its job is to allow hosts to send packets through the desired network and have them to delivered independently to the destination. They may appear in a different order than that in which they were sent. However, in each case, it is the job of higher layers to rearrange them in the correct order to deliver them to the accurate destination.
The Internet layer specifies an official packet format and protocol known as the Internet protocol. The job of this layer is to transport IP packets to appropriate destinations. Packet routing is very essential task in order to avoid congestion. For this reason, it is said that this layer of the TCP/IP performs the same function as that of OSI network layer.
In the TCP/IP model, the layer located above the Internet layer is known as the transport layer. It is developed to permit entities on the source and destination hosts to carry on a conversation. It specifies two end-to-end protocols.
TCP (Transmission Control Protocol)
It is a reliable connection-oriented protocol that permits a byte stream originating on one machine to be transported (without error) on any other machine over the Internet. It divides the incoming byte stream into discrete messages and passes each one onto the Internet layer.
At the destination, the receiving TCP process collects the received message into the output stream. TCP deals with flow control, which helps in keeping a check over the speed at which the sender sends messages.
The speed should be such that there is a smooth transport of messages, that is the receiver should receive the messages at the same speed at which the sender sends.
UDP (User Datagram Protocol)
It is an unreliable, connectionless protocol for applications that do not want TCP's sequencing on flow control and wish to offer their own. It is also used for 'client-server type request-reply' queries and applications in which prompt delivery is more important than accurate delivery. An example of this can be transmitting speech or video.
In TCP/IP model, session or presentation layer are not present. Application layer is present on top of the Transport layer. It includes all the higher-level protocols which are virtual terminal (TELNET), file transfer (FTP), and electronic mail (SMTP).
The virtual terminal protocol permits a user on one machine to log into a distant machine and carry out the desired tasks or computing. The file transfer protocol offers a way to move data efficiently from one machine to another. Electronic mail was used for file transfer purpose but later a specialized protocol was developed for it.
The Application Layer defines the following protocols:
File Transfer Protocol (FTP)
It was designed to facilitate reliable transfer of files over different platforms. At the transport layer to ensure reliability, FTP uses TCP. FTP offers simple commands and makes the differences in storage methods across networks, transparent to the user.
The FTP client is able to interact with any FTP server; therefore the FTP server must also be able to interact with any FTP client. FTP does not offer a user interface, but it does offer an application program interface for file transfer. The client part of the protocol is called FTP and the server part of the protocol is known as FTPd.
The suffix "d" means Daemon. This is a legacy from Unix computing, where a daemon is a piece of software running on a server that offers a service.
Hyper Text Transfer Protocol
HTTP permits applications such as browsers to upload and download web pages. It makes use of TCP at the transport layer again to determine the reliability. HTTP is a connectionless protocol that sends a request, receives a response, and then disconnects the connection.
Simple Mail Transfer Protocol
By using TCP, SMTP sends email to other computers that support the TCP/IP protocol suite. SMTP provides an extension to the local mail services that existed in the early years of LANs.
It supervises the sending of emails from the local mail host to a remote mail host. It is not reliable for accepting mail from local users or distributing received mail to recipients. This is the responsibility of the local mail system.
SMTP makes use of TCP to establish a connection to the remote mail host. Next, the mail is sent, any waiting mail is requested, and then the connection is disconnected. It can return a forwarding address if the intended recipient no longer receives email at that destination. To enable mail to be delivered across differing systems, a mail gateway is used.
Simple Network Management Protocol
For the transport of network management information, SNMP is used as a standardized protocol. Managed network devices can be cross-examined by a computer running to return details about their status and level of activity.
Observing software can also trigger alarms if certain performance criteria drop below acceptable restrictions. At the transport layer SNMP protocol uses UDP. The use of UDP results in decreasing network traffic overheads.
Network Interface Layer
This layer basically defines the interface or relationship between the host and the network. Its tasks include routing of data, sending it over the network, verifying the data format, and converting the signs from analog to the digital format.
In addition to this, the protocol determines the errors within the transmitted data. This particular layer of the TCP/IP model varies for each network.