The TCP / IP model (Protocol for Transmission Control Protocol / Internet Protocol), is composed of four layers, in which each is responsible for certain aspects in communication and in turn each provides a specific service top layer.
This TCP / IP protocol layer handles high-level protocols that allow data representation, coding and dialogue control (application, transport and session respectively in OSI). Some of the protocols described in that operate in this layer are:
- FTP (File Transfer Protocol): is a reliable connection-oriented service that uses TCP to transfer files between systems that support FTP transfer. Allows bidirectional transfers of binary files and ASCII files.
- TFTP (Trivial File Transfer Protocol): is a non-connection oriented service that uses the User Datagram Protocol (UDP). It is useful in some LANs because it operates more quickly than FTP in a stable environment.
- NFS (Network File System): is a set of protocols for a distributed file system, developed by Sun Microsystems that allows access to files from a remote storage device, for example, a hard disk through a network.
- SMTP (Simple Mail Transfer Protocol): manages the transmission of electronic mail through computer networks. It does not support the transmission of data other than in the form of simple text.
- TELNET (Terminal Emulation): Telnet can access another computer remotely. Allows the user to connect to an Internet host and execute commands. The Telnet client receives the name of the local host. The Telnet server receives the name of the remote host.
- SNMP (Simple Network Management Protocol): is a protocol that provides a way to monitor and control network devices and manage configurations, statistics collection, performance and security.
- DNS (Domain Name System): is a system that is used on the Internet to convert the names of domains and their network nodes published openly in IP addresses.
In this layer, a logical connection is established between the transmitting host and the receiving host. The transport protocols segment the data in the source host so that the lower layers carry out the shipment and once they arrive at their destination, they are assembled to recover the original message, thus providing an end-to-end transport.
Another task that corresponds to the transport layer consists of the assignment of port numbers to the processes that are executed in the applications and adds a TCP or UDP header for the messages received from the applications that detail the port numbers of origin and destination.
As regards the TCP / IP model, the protocols responsible for data transport are two: TCP (Transmission Control Protocol) and UDP (User Datagram Protocol: User Datagram Protocol), both protocols they work very differently and are oriented to different uses. Some applications use TCP and others that use UDP. (Do not think that TCP is better than UDP in general or vice versa).
Encapsulation: The segments or PDUs used by the TCP and UDP protocols are encapsulated within the IP packet data field. The header (Figure 5) added to the transport layer messages includes not only the origin and destination of the port number. The TCP protocol requires more information and overhead to ensure data delivery.
This layer has the purpose of selecting the best route to transmit the packets through the network, in such a way that each packet traverses the least number of routers in the shortest possible time. The main protocol that operates in the layer is the Internet Protocol (IP).
The IP protocol is a protocol not oriented to the connection of maximum effort that helps in the routing of packets (or datagrams). The term non-connection oriented does not mean that it will not send data correctly through the network, but that IP does not perform the verification and correction of errors. An IP datagram is composed of different fields:
- Version (4 bits): It is the version of the IP protocol that is being used to identify the validity of the datagram.
- Header length (4 bits): Is the number of 32-bit words that make up the header (the minimum value is 5).
- Type of service (8 bits): Indicates the way in which the datagram should be processed.
- Total length (16 bits): It is the total length of the datagram, header and data, specified in bytes.
- Fragment identifier, indicator and margin: These are fields that allow the fragmentation of datagrams.
- Time of life or TTL (8 bits): This field specifies the number of routers through which a datagram can pass. This field decreases with each step through a router and reaches the critical value of 0, the router destroys the datagram, thus avoiding the overload to the network of lost datagrams.
- Protocol (8 bits): This field allows to know which protocol the datagram comes from.
- Source IP address (32 bits): IP address of the sending host.
- Destination IP address (32 bits): IP address of the destination host.
- The maximum size (MTU: Maximum Transfer Unit) of a datagram is 65536 bytes. However, this value is never reached because networks cannot send such large packets. Internet networks use different technologies, so the maximum size of a datagram varies according to the type of network.
Before reading the comparison of the OSI and TCP/IP model, read the overview of the computer networks for revision.
COMPARISON BETWEEN OSI AND TCP / IP
Undoubtedly, both models are of great importance when studying communications in networks, since they define communication using a layer-based architecture (see Figure 8). However, there are some characteristics between one and another that make them different, although the purpose for which they were created is the same.
As far as the OSI model is concerned, it is a set of seven layers, with the application layer closest to the user and the physical layer the furthest away from it. In each of its layers, a service is offered that contributes with a part of the communication, said service is implemented through a protocol. The way to communicate with its adjacent layers is carried out through the establishment of an interface, i.e., layer n can only communicate with layers n-1 and n + 1, being the physical layer the one that connects both machines, since it is through this where the messages flow in the form of bits.
During the sending of a message from a machine A to another machine B, the message must start its journey from the application layer of machine A, make a decent in each of its layers to reach the physical layer (encapsulation).
However, although OSI is an excellent model, it has only served as a theoretical reference in general and detailed that it is; while in practical terms TCP / IP is chosen because the protocols for the latter are more appropriate to reality.