Introduction to the transport layer

The transport layer provides process-to-process communication between applications running on different hosts.

It is implemented in end systems (not in network routers).

Household analogy

Kids in two households send letters to each other:

This analogy explains how the transport layer relates to the network layer:

What does the transport layer do?

A transport protocol:

Transport protocol guarantees

Each transport-layer protocol may offer guarantees:

Guarantee Description

Reliable data transfer

  • packets can get lost within a computer network
  • a protocol that guarantees data delivery service is said to provide reliable data transfer

Throughput

  • the rate at which the sending process can deliver bits to the receiving process
  • applications that have throughput requirements are said to be bandwidth-sensitive applications
  • elastic applications (e-mail, file transfer, and Web transfers) can make use of as much, or as little, throughput as happens to be available

Timing

  • example guarantee: every bit that the sender pumps into the socket arrives at the receiver's socket no more than 100 msec later

Security

  • encrypt/decrypt all data transmitted

Throughput and timing guarantees are services not provided by today's Internet transport protocols.

UDP and TCP

The transport layer makes two transport protocols available to applications:

  1. UDP (User Datagram Protocol)
    • provides an unreliable connectionless service to the invoking application
  2. TCP (Transmission Control Protocol)
    • provides a reliable, connection-oriented service to the invoking application
    • can be enhanced at the application layer with TLS to provide security services

Service models provided by UDP and TCP:

Segment vs datagram

Internet literature refers to:

It is less confusing:

Previous Video streaming and CDNs All ⏎ Next Multiplexing and demultiplexing

A Kemar Joint