Transport Layer In Computer Networks

 

Transport Layer responsibilities

It is a part of  Layers of OSI Model 

Transport Layer is the second layer of the TCP/IP model. It is an end-to-end layer used to deliver messages to a host. It is termed as an end-to-end layer because it provides a point-to-point connection rather than hop-to- hop, between the source host and destination host to deliver the services reliably. The unit of data encapsulation in Transport Layer is a segment.

The standard protocols used by Transport Layer to enhance its functionalities are TCP(Transmission Control Protocol), UDP( User Datagram Protocol), DCCP( Datagram Congestion Control Protocol) etc.
Various responsibilities of a Transport Layer –

  • Process to process delivery –
    While Data Link Layer requires the MAC address (48 bits address contained inside the Network Interface Card of every host machine) of source-destination hosts to correctly deliver a frame and Network layer requires the IP address for appropriate routing of packets , in a similar way Transport Layer requires a Port number to correctly deliver the segments of data to the correct process amongst the multiple processes running on a particular host. A port number is a 16 bit address used to identify any client-server program uniquely.
  • End-to-end Connection between hosts –
    The transport layer is also responsible for creating the end-to-end Connection between hosts for which it mainly uses TCP and UDP. TCP is a secure, connection- orientated protocol which uses a handshake protocol to establish a robust connection between two end- hosts. TCP ensures reliable delivery of messages and is used in various applications. UDP, on the other hand, is a stateless and unreliable protocol which ensures best-effort delivery. It is suitable for the applications which have little concern with flow or error control and requires to send the bulk of data like video conferencing. It is often used in multicasting protocols.
  • Multiplexing and Demultiplexing –
    Multiplexing allows simultaneous use of different applications over a network which is running on a host. The transport layer provides this mechanism which enables us to send packet streams from various applications simultaneously over a network. The transport layer accepts these packets from different processes differentiated by their port numbers and passes them to the network layer after adding proper headers. Similarly, Demultiplexing is required at the receiver side to obtain the data coming from various processes. Transport receives the segments of data from the network layer and delivers it to the appropriate process running on the receiver’s machine.
  • Congestion Control –
    Congestion is a situation in which too many sources over a network attempt to send data and the router buffers start overflowing due to which loss of packets occur. As a result retransmission of packets from the sources increases the congestion further. In this situation, the Transport layer provides Congestion Control in different ways. It uses open loop congestion control to prevent the congestion and closed loop congestion control to remove the congestion in a network once it occurred. TCP provides AIMD- additive increase multiplicative decrease, leaky bucket technique for congestion control.
  • Data integrity and Error correction –
    Transport layer checks for errors in the messages coming from application layer by using error detection codes, computing checksums, it checks whether the received data is not corrupted and uses the ACK and NACK services to inform the sender if the data has arrived or not and checks for the integrity of data.
  • Flow control –
    The transport layer provides a flow control mechanism between the adjacent layers of the TCP/IP model. TCP also prevents data loss due to a fast sender and slow receiver by imposing some flow control techniques. It uses the method of sliding window protocol which is accomplished by the receiver by sending a window back to the sender informing the size of data it can receive.
  1. Connection Control: It includes 2 types:
    • Connectionless Transport Layer : Each segment is considered as an independent packet and delivered to the transport layer at the destination machine.
    • Connection Oriented Transport Layer : Before delivering packets, connection is made with transport layer at the destination machine. 
    • Error Control: Error Control is performed end to end in this layer to ensure that the complete message arrives at the receiving transport layer without any error. Error Correction is done through retransmission.

    Transport Layer in ISO-OSI Model

    • Design Issues with Transport Layer

    • Accepting data from Session layer, split it into segments and send to the network layer.
    • Ensure correct delivery of data with efficiency.
    • Isolate upper layers from the technological changes.
    • Error control and flow control.

Comments