Home Icon Home Computer Science Transport Layer Protocols: A Look At Its Functions, Types And More

Transport Layer Protocols: A Look At Its Functions, Types And More

The transport layer is the end-to-end layer that is used to deliver messages to a host over the internet. The Transport Layer Protocol helps in this point-to-point communication. Find out more here.
Srishti Magan
Schedule Icon 0 min read
Transport Layer Protocols: A Look At Its Functions, Types And More
Schedule Icon 0 min read

Table of content: 

  • What is a Transport Layer?
  • What are Transport Layer Protocols?
  • Responsibilities of Transport Layer Protocols
expand

The Open Systems Interconnection model or OSI model is a conceptual model that provides a common basis for the coordination of the ISO standards development for the purpose of systems interconnection. There are 7 layers in OSI that provide different services. And one of the important layers in this is the Transport Layer.

In OSI, transport layer protocols are used for point-to-point communication. Let's understand more about transport layer protocols in an OSI model. 

What is a Transport Layer?

Communication via the internet or over a wireless network is a step-by-step process and has multiple layers for various uses but the most important one remains the transport layer. The transport layer is the end-to-end layer that is used to deliver messages to a host. It is located between the session layer and the network layer.

Types of Transport Layer Protocols

The transport layer is a very important part of the protocol system and is represented by many protocols like:

UDP TCP DCCP
SCTP RSVP DTLS
TLS RPL CARP
CORPL QUIC UIP
ROLL Aeron CCN (Content-Centric Networking)

NanoIP

TSMP

(Time Synchronized Mesh Protocol)

 

What are Transport Layer Protocols?

The protocols of the transport layer that provide end-to-end communication for services are called Transport Layer Protocols (TLP). The transport layer protocol can be connectionless like in the case of UDP or connection-oriented like TCP. Every segment is treated as a distinct set of initial packets and transmitted to the transport layer of the destination computer in a connectionless fashion. Each segment is carried out in a connection-driven manner when linkages between the source and destination transport layers are established.

The transport layer protocol can be broadly divided into two types: TCP and UDP.

User Datagram Protocol (UDP)

UDP is one of the simplest transport layer protocols that provide non-sequenced data transmission functionality. It is considered a connectionless transport layer protocol and is referred to be used when speed and size are to be prioritized over reliability and security. UDP is an end-to-end transport-level protocol that adds transport-level addresses, and length information to the data from the upper layer of the OSI. UDP uses User Datagram Format. The user datagram format is of a 16-byte header which consists of various components, namely:

  • Destination Port Address: The address for receiving the message from the request procedure is provided. The destination port's address is 16 bits long.
  • Checksum: The control is an error-detection field. It is 16 bit long.
  • Total Length: A 16-bit region that defines the total length of the user datagram. The length is defined in bytes.
  • Source Port Address: The address of the application process that sent the message is provided. The source port's address is 16 bits long.

Do you know? Internet Protocol (IP) is a network-layer protocol. IP protocol provides a datagram service between applications and supports both TCP and UDP.

Transmission Control Protocol

Transmission Control Protocol (TCP) is a transport layer protocol that is based on connections. Transport layer services are provided to applications by it. TCP is a protocol that describes how to create and manage network connections so that applications can communicate data. The Internet Protocol (IP) is used by TCP to describe how computers exchange data packets. HTTP, HTTPS, FTP, and many computer games are examples of services and programs that use TCP.

TCP Segment Format

  • Control Bits: Each control section is self-contained and functions on its own. The control bit specifies a segment's behavior or acts as a validity check for particular fields.
  • Acknowledgment Number: Data from other communication devices is used to acknowledge data via an acknowledgment number. It is a 32-bit long field. The sequence number that the receiver expects to receive is given if ACK is set to 1.
  • Header Length: The TCP header length is 32-bit words. 5 words is the minimum size of the header while the maximum size is 15 words. The TCP header is 60 bytes long. The UDP header is 20 bytes long.
  • Source Port Numbers: It is used to specify the application's address in a source computer. It is a 16-bit space.
  • Sequence Number: TCP divides a data stream into two or more segments. The data within an original data stream is located in the 32-bit number sequence field.
  • Destination Port Address: This is used to identify the address of application software in a destination machine. It is a 16-bit field.

Transport Layer Protocols: What is TLS?

Transport Layer Security, or TLS, is a popular security protocol that is designed to facilitate data security for communications over the Internet. The primary purpose of TLS is to encrypt the messages between web applications and servers apart from encrypting emails, messaging, etc. Because the protocols work between the application layer and the transport layer, TLS and SSL (Secure Socket Layer) can support multiple application layer protocols.

Note: SSL is considered less secure as compared to TLS. Comparing the two, TLS is highly dependable for providing communications security. It is important to mention Datagram Transport Layer Security (DTLS) here. DTLS is a communications protocol that secures datagram-based applications. It is based on TLS and offers similar security. 

Responsibilities of Transport Layer Protocols

A Transport Layer Protocol manages the following responsibilities:

1. Process-to-process Delivery

The Data Link layer needs the source-destination host’s MAC Address (48-bit addresses contained inside the Network Interface Card of every host machine) in order to deliver a frame. The Network Layer, on the other hand, needs the IP address. The IP address enables precise packet routing. In order to deliver the data segments correctly to the correct process amongst multiple processes on a particular host, the transport layer is needed. Any client-server application may be uniquely identified by a port number, which is a 16-bit address.

2. Multiplexing and Demultiplexing

Multiplexing allows multiple apps to be used at the same time on a network running on a single host. This method is provided by the transport layer, which allows us to deliver packet streams from multiple applications through a network at the same time. In order to pass through the network layer the correct headers need to be added. These packets which have come from various processes are identified through their port numbers. Demultiplexing is also required on the receiver side to retrieve data from multiple operations. The data segments are received from the network layer and sent to the relevant process running on the receiver's computer by transport.

3. End-to-end Connection between hosts

End-to-end connections between hosts are established by the transport layer. This is done with the help of TCP and UDP. TCP is a secure, connection-oriented protocol. TCP establishes a reliable connection between two end hosts. It does this via the handshake protocol. It ensures that the delivery of messages is done appropriately and is utilized in a variety of applications. In contrast, UDP is a stateless and unstable protocol that guarantees best-effort delivery. UDP is best for applications that require a limited amount of concern with flow or error control and just need to convey a lot of data, like video conferencing. Multicasting protocols are frequently used.

4. Congestion Control

When too many sources on a network try to send data at the same time, the router buffers overflow, and packets are dropped, this is known as congestion. As a result, source packet retransmission contributes to congestion. Congestion Control is provided by the Transport layer in a variety of methods in this situation. It uses open-loop congestion management to prevent congestion and closed-loop congestion control to relieve congestion that has already arisen in a network. For congestion control, AIMD (additive increase multiplicative decrease) and the leaky bucket technique are used.

5. Data integrity and Error correction

To check for mistakes in messages arriving from the application layer, the transport layer utilizes error detection codes and computes checksums. It also verifies that the data received is not damaged and employs the ACK and NACK services to notify the sender whether or not the data has arrived, as well as verify data integrity.

6. Flow control

The TCP/IP paradigm's transport layer serves as a flow control mechanism for the layers above it. TCP also uses flow control to prevent data loss due to a rapid transmitter and a sluggish receiver. It uses the sliding window protocol, in which the receiver returns to the sender with a window indicating the maximum amount of data it may take.

Though many transport layer protocols exist UDP and TCP  remain amongst the most frequently used protocols as they provide for reliability, security, and speed. They can be implemented in various real-world scenarios as well.

You might also be interested in reading:

  1. Difference Between Retesting And Regression Testing Explained (With Examples)
  2. Difference Between Hardware and Software
  3. Evolutionary Model In Software Engineering | Examples | Pros & Cons
  4. Compiler Vs Interpreter: What's the Difference?
  5. Scalability Testing Explained: Understand Its Steps, Benefits & Impact
Edited by
Srishti Magan
Sr. Content Editor

I’m a reader first and a writer second, constantly diving into the world of content. If I’m not writing or reading, I like watching movies and dreaming of a life by the beach.

Tags:
Computer Science

Comments

Add comment
comment No comments added Add comment