What is Transport Layer Protocol?
In OSI suite, there are 7 layers and all layers provide different services. Today we are here with the detailed information of one of the layer i.e. transport layer which provides process to process communication in OSI suite.
Transport Layer in Computer Networks is an end to end layer which is used to deliver message to a host. In OSI model, transport layer is located between session layer and network layer.
This article discuss about the transport layer and how the transport layer works in Data Communication. We will also see the services provided by transport layer and transport layer protocols.
What is transport Layer?
- Transport Layer is the fourth layer from the top in OSI Model which provide communication services to the application processes that was running on different hosts.
- Transport Layer provides the services to the session layer and it receives the services from network layer.
- The services provided by transport layer includes error correction as well as segmenting and desegmenting data before and after it's sent on the network.
- Transport layer also provides the flow control functionality and ensures that segmented data is delivered across the network in the right sequence.
Note: Main duty of transport layer is to provide process to process communication.
Services provided by Transport Layer
1. Process to Process Communication
Transport Layer is responsible for delivery of message to appropriate process.
Transport Layer uses a port number to deliver the segmented data to the correct process amongst the multiple processes that are running on a particular host. A port number is a 16-bit address used by transport layer to identify any client-server program.
2. Muliplexing and Demultiplexing
The transport layer provides the multiplexing service to improve transmission efficiency in data communication. At the receiver side, demultiplexing is required to collect the data coming from different processes. Transport Layer provides Upward and Downward Multiplexing:
Upward multiplexing means multiple transport layer connections utilizes the connection of same network. Transport layer transmits several transmissions bound for the same destination along the same path in network.
Downward multiplexing means a transport layer connection utilizes the multiple connections. This multiplexing allows the transport layer to split a network connection among several paths to improve the throughput in network.
3. Flow Control
- Flow control makes sure that the data is transmitted at a rate that is accept table for both sender and receiver by managing data flow.
- The transport layer provides a flow control service between the adjacent layers of the TCP/IP model. Transport Layer uses the concept of sliding window protocol to provide flow control.
4. Data integrity
Transport Layer provides data integrity by:
- Detecting and discarding corrupted packets.
- Tracking of lost and discarded packets and re-transmit them.
- Recognizing duplicate packets and discarding them.
- Buffering out of order packets until the missing the packets arrive.
5. Congestion avoidance
- In network, if the load on network is greater than the network load capacity, then the congestion may occur.
- Congestion Control refers to the mechanisms and techniques to control the congestion and keep the load below the capacity.
- The transport layer recognizes overloaded nodes and reduced flow rates and take proper steps to overcome this.
Example of Transport Layer
Let us understand transport layer with the help of example. Let us take an example of sending email.
- When we send an email then the email then in OSI model each layer communicates to the corresponding layer of the receiver.
- So when the mail will come at transport layer on sender side then the email is broken down in to small segments. Then that broken segments are sent to network layer and transport layer also specifies the source and destination port.
- At the receiver side, transport layer reassembles all the segment to get the data and use port number to identify the application to deliver data.
Working of Transport Layer
The transport layer receives the services from the network layer and then give services to the session layer.
At the sender’s side: At the sender's end, transport layer collect data from application layer i.e message and performs segementation to divide the message into segments and then adds the port number of source and destination in header and send that message to network layer.
At the receiver’s side: At the receiver's end, transport layer collects data from network layer and then reassembles the segmented data and identifies port number by reading its header to send that message to appropriate port in the session layer.
Refer to the image below to see the working of Transport Layer.
Transport Layer Protocols
- UDP (User Datagram Protocol)
- TCP(Transmission Control Protocol)
- SCTP (Stream Control Transmission Protocol)
- Connection less protocol
- Unreliable protocol
- UDP stands for User Datagram Protocol.
- UDP is one of the simplest transport layer protocol which provides non sequenced data transmission functionality.
- UDP is consider as connection less transport layer protocol.
- This type of protocol is referred to be used when speed and size are more important than reliability and security.
- It is an end-to-end transport level protocol that adds transport-level addresses, checksum error control, and length information to the data received from the upper layer.
- User datagram is the packet constructed by the UDP protocol
Format of User Datagram
Refer to the image below to see the header of UDP packet consisting of four fields.
User datagram have a fixed size header of 8 bytes which is divided into four parts -
Source port address: It defines source port number and it is of 16 bits.
Destination port address: It defines destination port number and it is of 16 bits.
Total length: This field is used to define the total length of the user datagram which is sum of header and data length in bytes. It is a 16-bit field.
Checksum: Checksum is also 16 bit field to carry the optional error detection data.
- Process to Process Communication
- Connectionless Service
- Fast delivery of message
- UDP delivers basic functions required for the end-to-end transimission of data.
- It does not use any sequencing and does not identify the damaged packet while reporting an error.
- UDP can identify that an error has happened, but UDP does not identify which packet has been lost.
- Connection oriented protocol
- Reliable protocol
- Provide error and flow control
- TCP stands for Transmission Control Protocol.
- TCP is a connection-oriented transport layer protocol.
- TCP explicitly defines connection establishment, data transfer, and connection tear down phases to provide connection oriented service for data transmission.
- TCP is the most commonly used transport layer protocol.
Features Of TCP protocol
- Stream data transfer
- Flow Control
- Error Control
- Logical Connections
- Full Duplex
TCP Segment Format
Refer to the image below to see the header of TCP Segment.
- Source port address is a 16 bit field that defines port number of application program that is sending the segment.
- Destination port address is a 16 bit field that defines port number of application program that is receiving the segment.
- Sequence number is a field of 32 bit that will define the number assigned to data first byte contained in segment.
- Acknowledgement number is a 32 bit field that describe the next byte that receiver is looking forward to receive next from sender.
- Header Length (HLEN) is a field of 4 bit that specify the number of 4 byte words in TCP header. The header length of TCP header can be between 20 to 60 bytes.
- Reserved is a field 6 bit that are reserved for future use.
- Control bits
are 6 different independent control bits or flags in this field.
- There are six in control field:
- URG: Urgent pointer
- ACK: Acknowledgement number
- PSH: Push request
- RST: Reset connection
- SYN: Sequence number Synchronization
- FIN: Connection termination
- Window Size is a 16-bit field that defines the size of the window of sending TCP in bytes.
- Checksum, 16-bit field contains checksum and used for error detection.
- Urgent pointer is a 16 bit field .This flag is set when there is urgent data in the data segment.
- Options and padding can be upto 40 bytes field for optional information in TCP header.
- SCTP stands for Stream Control Transmission Protocol.
- SCTP is one of the connection oriented tranport layer protocols.
- It allows transmitting of data between sender and receiver in full duplex mode.
- This protocol makes it simpler to build connection over wireless network and to control multimedia data transmission.
Features of SCTP
- Unicast with Multiple properties
- Reliable Transmission
- Message oriented
- Transport Layer is the fourth layer of TCP/IP suite which provide process to process communication
- Transport Layer provides process to process communication, data integrity, flow control, congestion avoidance, muliplexing` and demultiplexing services
- UDP is Transport layer protocol that provides connection less service.
- TCP and SCTP is Transport layer protocol that provides connection oriented service.