DEV Community

Cover image for 09/20: Layer 4 – The Transport Layer: TCP, UDP & Reliable Delivery
Roboticela
Roboticela

Posted on

09/20: Layer 4 – The Transport Layer: TCP, UDP & Reliable Delivery

The Layer Responsible for End-to-End Communication

Imagine ordering a package online.

Would you rather:

  • Receive it slowly but guaranteed?
  • Receive it instantly with no guarantee it arrives?

Different situations demand different answers.

A bank transaction requires absolute reliability.

A live video stream prioritizes speed over perfection.

The Transport Layer (Layer 4) exists to make these decisions.

While the Network Layer determines where packets travel, the Transport Layer determines how data is delivered between applications running on different devices.

It is responsible for:

  • End-to-end communication
  • Segmentation
  • Reliability
  • Error recovery
  • Flow control
  • Port addressing

Layer 4 is where networking starts becoming application-aware.

What Does the Transport Layer Do?

The Transport Layer sits between the Network Layer and the upper OSI layers.

Its primary responsibility is ensuring data reaches the correct application on the destination device.

Key functions include:

  • Breaking data into segments
  • Reassembling segments
  • Managing communication sessions
  • Detecting transmission errors
  • Controlling transmission speed
  • Multiplexing multiple applications

Without Layer 4, your device would receive data but have no reliable way to determine which application should handle it.

The Two Giants of Layer 4

Most modern networking relies on one of two Transport Layer protocols:

TCP

Transmission Control Protocol

Reliable, connection-oriented communication.

UDP

User Datagram Protocol

Fast, connectionless communication.

These protocols have dramatically different philosophies.

Understanding when and why each is used is one of the most important networking skills you can develop.

TCP: The Reliable Workhorse

TCP prioritizes correctness and reliability.

Its goal is simple:

Deliver data accurately, completely, and in the correct order.

If a segment is lost, TCP detects the problem and retransmits it.

If segments arrive out of order, TCP reassembles them correctly.

If the receiver becomes overwhelmed, TCP slows down.

This makes TCP ideal for situations where missing data is unacceptable.

Common TCP applications include:

  • Web browsing (HTTP/HTTPS)
  • Email
  • File transfers
  • Database connections
  • Online banking
  • Cloud applications
  • The Three-Way Handshake

Before TCP sends any application data, it establishes a connection.

This process is called the Three-Way Handshake.

Step 1: SYN

The client requests a connection.

Client → Server
SYN
Enter fullscreen mode Exit fullscreen mode

Step 2: SYN-ACK

The server acknowledges the request and sends its own synchronization message.

Server → Client
SYN-ACK
Enter fullscreen mode Exit fullscreen mode

Step 3: ACK

The client confirms receipt.

Client → Server
ACK
Enter fullscreen mode Exit fullscreen mode

Once these three steps complete, communication begins.

Visually:

Client                Server

SYN      ───────────►

          ◄─────────── SYN-ACK

ACK      ───────────►
Enter fullscreen mode Exit fullscreen mode

This handshake introduces a small delay but creates a reliable foundation for communication.

Sequence Numbers

TCP keeps track of every byte transmitted.

Each segment contains a:

Sequence Number

This allows the receiver to determine:

Which data has arrived
Which data is missing
Which data arrived out of order

Without sequence numbers, reliable communication would be impossible.

Acknowledgments (ACKs)

After receiving data, the receiver sends an acknowledgment.

Example:

ACK = 5001

This tells the sender:

"I've successfully received everything up to byte 5000."

If acknowledgments fail to arrive, TCP assumes packet loss and retransmits the missing data.

This mechanism forms the backbone of TCP reliability.

Flow Control

Fast senders can overwhelm slow receivers.

TCP prevents this through Flow Control.

The receiver advertises a window size indicating how much data it can currently accept.

The sender respects this limit.

This prevents buffer overflows and excessive retransmissions.

Congestion Control

Networks themselves can become overloaded.

TCP actively monitors congestion and adjusts transmission rates accordingly.

Popular congestion-control algorithms include:

  • Reno
  • New Reno
  • CUBIC
  • BBR

These algorithms help maintain stability across the internet.

Without them, large networks could suffer severe congestion collapse.

UDP: The Fast Lane

UDP takes a completely different approach.

Rather than guaranteeing delivery, UDP prioritizes speed and simplicity.

UDP:

  • Does not establish connections
  • Does not use acknowledgments
  • Does not retransmit lost data
  • Does not guarantee ordering

A sender simply transmits data and moves on.

Why Would Anyone Use UDP?

At first glance, UDP sounds inferior.

But many real-world applications care more about timeliness than perfection.

Consider a live video call.

If a packet arrives three seconds late, it's useless.

Receiving current information matters more than receiving every piece of information.

In these situations, UDP excels.

Common UDP Applications

Video Streaming

A dropped frame is usually less noticeable than buffering.

Examples:

  • Live broadcasts
  • Video conferencing
  • Real-time streaming
  • Online Gaming

Players need current game-state information.

Receiving outdated position updates provides little value.

Voice over IP (VoIP)

Late audio cannot be replayed meaningfully in a conversation.

DNS

Domain Name System lookups are small and simple.

Using TCP would introduce unnecessary overhead.

TCP vs UDP

A side-by-side comparison helps highlight the differences.

Feature TCP UDP
Connection Required Yes No
Reliable Delivery Yes No
Ordered Data Yes No
Retransmission Yes No
Acknowledgments Yes No
Speed Slower Faster
Overhead Higher Lower
Common Uses Web, Email, File Transfer Streaming, Gaming, VoIP

Neither protocol is universally better.

The best choice depends entirely on the application's requirements.

Port Numbers: Layer 4 Addressing

IP addresses identify devices.

Port numbers identify applications.

Without ports, your computer would not know whether incoming traffic belongs to:

  • A web browser
  • An email client
  • A game
  • A DNS resolver

The Transport Layer solves this using port numbers.

Port values range from:

0 – 65535

Common Well-Known Ports

Port Service
80 HTTP
443 HTTPS
25 SMTP
53 DNS
21 FTP
22 SSH

When you visit a website, your browser typically connects to port 443 for HTTPS communication.

What Is a Socket?

A complete communication endpoint consists of:

IP Address + Port Number

This combination is called a:

Socket

Example:

192.168.1.10:52341
Enter fullscreen mode Exit fullscreen mode

The socket uniquely identifies a communication endpoint.

Millions of simultaneous internet connections rely on sockets every second.

Transport Layer in the OSI Model Simulator

The Transport Layer is one of the most visually interesting stages of encapsulation.

In the Roboticela OSI Model Simulator, you can observe:

  • Source ports
  • Destination ports
  • TCP segmentation
  • UDP encapsulation
  • Layer-specific headers

Watching ports and transport information appear helps bridge the gap between networking theory and real protocol behavior.

Landing Page:
https://osi-model-simulator.roboticela.com

Launch Simulator:
https://app.osi-model-simulator.roboticela.com

Try comparing a TCP-based protocol like HTTPS with a UDP-based service and observe how the encapsulation process differs.

Key Takeaways

  • The Transport Layer provides end-to-end communication between applications.
  • TCP offers reliable, ordered delivery through acknowledgments and retransmissions.
  • TCP uses a three-way handshake before data transfer begins.
  • UDP prioritizes speed and simplicity over reliability.
  • Port numbers identify applications on a device.
  • A socket consists of an IP address and port number.
  • TCP and UDP serve different use cases and are both essential to modern networking.

Conclusion

The Transport Layer is where networking decisions become practical trade-offs.

Should communication be perfectly reliable or extremely fast?

Should missing data be retransmitted or ignored?

TCP and UDP answer these questions differently, giving applications the flexibility to choose the behavior that best fits their needs.

Whether you're loading a secure banking website or playing an online game, Layer 4 is working behind the scenes to deliver your data exactly the way the application expects.

In the next article, we'll move into the upper layers of the OSI Model and explore Layer 5: the Session Layer, where communication sessions are established, maintained, and gracefully terminated.

Top comments (0)