Understanding the Transport Layer and its Functions

Photo of author

By Vijay Singh Khatri

The fourth layer of the OSI model (Open Systems Interconnection Model) is the transport layer. The OSI model works by dividing the tasks that result in the movement of the information. This movement operates in between the networked computers. The OSI model breaks down the information into smaller segments so they can be managed with ease. Every single layer present in the OSI model has specific tasks to perform on the information segments.

Furthermore, the work that the OSI model allocates to the transport layer is the one where it needs to include the error correction. In addition to this, this specific layer also works to provide the segmentation and desegmentation of data before and after it is delivered across the network. Moreover, the transport layer is the one that is responsible for flow control to ensure that the segmented data will be provided over the network in a proper sequence.

Here in this article, we are going to discuss various functions of the transport layer. Besides, we are going to talk about data integrity and how sequence control is done. We will also try to shed some light on how the duplication control takes place. So let’s get started.

Main Functions of Transport Layers

The transport layer offers lots of functionalities to the network, and it provides end-to-end encryption between the two processes when the network is using a remote host. In this section, we will discuss in brief each functionality of the transport layer to show what type of work it processes on the data segments.

End-to-End Delivery

With the transport layer, you are getting a transparent transfer of data from one host to the other. It is a complete end-to-end solution that provides a reliable means of communication. Even the TCP/IP relies on the transparency of the data transfer on the transport layer. The transport layer is the one used by the IP communication session. When it starts and ends from one point to the other.

In addition to this, for the TCP/IP model, the transport layer is the one where the ports present in the hardware listen to the communications. To elaborate on this, let’s take the example of a standard port that listens to the HTTP on TCP port 80. Keep in mind HTTP can efficiently run on any TCP port, but the TCP port 80 has been the standard for a long time. The standardization of the port numbers is used to ease up the negotiation that takes place between the port numbers.

The data link layer requires the MAC address, which is a 48-bit address present in the NIC of the host machine. So it can deliver the frame to the precise location. On the other hand, the network layer requires the IP address to perform the appropriate routing of the data packets. Just like that, when it comes to the transport layer, a port number is used to deliver the segments of the data to the correct process. Multiple processes are running on the specific host. As a result, a 16-bit address is used for uniquely identifying any of the client-server programs.

Addressing

Addressing is the prime responsibility of the transport layer. What it aims is to provide a unique address to the different nodes present in the network. These addresses are available in both physical and logical ways. But most of the time, you will find them present in the logical form. That means these addresses are software-based addresses. One of the most widely used network addresses is the IP address. It is uniquely defined in an IP network.

When we look at the OSI model, we can see that the transport layer is the one that interacts with the functions of the session layer. Multiple protocols combine sessions, presentation, and the application layer in a single layer and define it as an application layer. In such cases, data delivered to the session layer means it is being delivered to the application layer. The data generated on a single machine will be transmitted to the correct application or the other device. When this happens, the transport layer is used to provide the addressing of the specific application or machine.

The addressing of the machine or application takes place when the transport layer adds the user address. The user address will be specified as a specific station or a port. In addition to this, the port variables are used to represent a particular TS-user from a specified station known as Transport Service Access Point (TSAP). Each of the stations comes with a single transport entity. Lastly, for the transport layer protocol to provide addressing, it needs to know what protocols the upper layers are communicating in.

Reliable Delivery

The transport layer has five different aspects that make sure that the data packets are delivered with precision. Each of these five aspects is discussed briefly below.

  • Error control: One of the most integral parts of the transport layer is error control. When data is being transmitted, it can never be 100% error-free. As a result, the transport layer is the one designed to correct the error and make the transmission perfect. On the other hand, error control also takes place in the data link layer. Where it comes with an error handling mechanism. But the data link layer only takes care of the node-to-node error-free delivery. One thing you should keep in mind is that node-to-node reliability doesn’t ensure end-to-end reliability.
  • Data integrity: Moreover, the transport layer is responsible for checking the error messages that come from the application layer. This is done by taking the use of error detection control computing checksums. After that, it also checks whether the data is corrupted during the transmission or not via ACK and NACK services. These services also confirm the sender that the data has arrived and check if its integrity is compromised.
  • Sequence control: The third aspect of reliability is taking hold of sequence control. This is done on both sender and receiver’s ends. When it comes to the sender sending the data, the transport layer is responsible for ensuring the lower layers’ packets that the upper layers have received can be used by the lower layers. On the other hand, the receiving end transport layer ensures that the different data segments arriving from the sender are reassembled in the correct order.
  • Loss control: This is the fourth aspect of providing reliability to the network via the transport layer. This technique makes sure that all the data fragments reach the destination when the transmission is complete. All the data fragments are given a sequence number to the transport layer from the sender’s end. With the help of these sequence numbers, the transport layer on the receiver’s end will find out the missing segment.
  • Duplication control: The transport layer makes sure that no data is being duplicated when it arrives at the destination. As we said before, the sequence numbers are used to identify the lost data segments during the transmission. In the same way, these sequence numbers will also provide information on whether a given data packet has been received twice or not. If a duplicate data segment is present, then the receiver will discard one of them and complete the sequence of data segments as defined by the sender’s transport layer.

Flow Control

Flow control means that the transport layer makes sure that the receiver is not being overwhelmed by data packets sent by the sender over the network. It is pretty similar to what we know as Backpressure, which is present in the distributed system architecture. With the help of flow control, the receiver will send feedback to the receiver about how much data it needs to send and the current condition of the transmission.

Keep in mind this is not networking congestion control. Indeed, there is some overlap to both these mechanisms. But they are providing discreet features. The congestion control prevents the node from overwhelming the whole network. While if we look at the flow control, it aims to control the transmission of data segments at the receiving end only.

Multiplexing

Multiplexing is another networking mechanism used by the transport layer to provide more efficiency in data transmission. There are two types of multiplexing used by the transport layer, and they are:

Upward multiplexing: In this type of multiplexing, multiple transport layers are connected to a single network. This makes it relatively cost-effective, and the connections are grouped by the transport layer based on their destinations. This form of multiplexing is applicable when the network is quite expensive. In addition to this, with the help of upward multiplexing, the transport layer can send several transmissions that are bound to arrive at the same destination by moving across the same path.

Downward multiplexing: The downward connections are used only when a high bandwidth is required. The transport layer opens up the multiple network connections when it comes to downward multiplexing. This results in traffic being distributed among these connections. On the other hand, for downward multiplexing to work correctly, the network’s capacity must be handled well by the subnet’s data links.

Transport Layer Protocols

The transport layer protocols use two types of protocols: TCP and UDP. The IP protocol that is present in the network layer is used to deliver the datagram from sender to receiver.

Transmission Control Protocol (TCP)

The TCP provides all the functions of the transport layer services to the application. In addition to this, it is more like a connection-oriented protocol. So the connection between the two parties is established via a virtual circuit. This virtual circuit will only be present between the sender and the receiver until the transmission is done. Once its transmission is complete, the virtual circuit will be closed.

TCP protocol includes all the main functions that we discussed in the above section of transport layer functions. The only addition here is the stream data transfer, where TCP sends the data in a stream of bytes. After that, it will regroup these streams in the form of a TCP segment and pass it over the IP layer so that it can be sent to the transmission. So TCP segments the data itself and then forwards it to the IP layer to be sent over the network. The header size of TCP is 20 bytes, and it is pretty reliable.

Moreover, it waits for the acknowledgment of the data received. If some of the data packets are lost, it can send them once again from the sender’s end. Lastly, it is a connection-oriented protocol.

User Datagram Protocol (UDP)

This particular protocol provides nonsequenced transport functionality to the transport layer transmission. Also, UDP is one of the connectionless protocols that you will find working in the OSI model. It is used in a network when reliability and security are not the major concerns of keeping the network running at its tremendous speed and size.

Moreover, UDP is an end-to-end transport layer protocol that adds up the addresses in the data segments and uses the checksum for the error control and length information to get the data from the upper layer. The packets that the UDP in the transport layer produces are known as user datagrams that come with a 16-byte header. The header includes:

  • Source port address
  • Destination port address
  • The total length of the datagram
  • Checksum

UDP uses the simple function for the end-to-end delivery of transmission. As a result, it does not come with the sequencing and reordering of the functions. Also, you cannot determine whether the packet is damaged or not when it finds an error in transmission. Also, when it finds an error, it still cannot point out the specific packet that is causing the error because it does not contain the ID or even the sequence number of data segments.

Conclusion

So this was all about the fourth layer of the OSI model (Open Systems Interconnection Model) i.e. Transport Layer. We hope by now you must have got a fair idea of the transport layer, its functions, and various types of the transport layer. Besides, we hope you also learned about data integrity and how to sequence control is done. Also, we have explained to you how the duplication control takes place.

Leave a Comment