ScholarGate
Assistant

Content Distribution and CDNs

Content distribution networks place copies of content on servers near users and direct each request to a good replica, cutting latency and origin load and making large-scale web and video delivery feasible.

Definition

A content distribution network is a geographically distributed system of servers that store and serve copies of content close to end users, redirecting each request to an appropriate nearby replica to reduce latency, loss, and load on the origin server.

Scope

This topic covers how content is delivered at Internet scale: the rationale for replicating content close to users, the architecture of content distribution networks (CDNs) with their geographically distributed caches, the mechanisms for steering a user to a nearby replica (often via DNS), the special demands of streaming video including adaptive bitrate techniques, and the interaction of CDNs with the underlying network. It builds on naming and application protocols and excludes the detailed media-encoding and the transport mechanisms beneath delivery.

Core questions

  • Why does replicating content near users improve performance and scalability?
  • How is a CDN organized, and where are its servers placed?
  • How is a user request steered to a good replica, and what role does DNS play?
  • How does adaptive bitrate streaming deliver video over variable networks?
  • How do CDNs interact with the underlying Internet topology and ISPs?

Key concepts

  • content replication
  • content distribution networks (CDNs)
  • edge caching servers
  • request redirection via DNS
  • proximity and load awareness
  • video streaming
  • adaptive bitrate (HTTP chunked) streaming
  • origin server offload

Key theories

Replication and proximity
Placing content on many servers near users shortens network paths, reducing latency and loss, and spreads load off the origin and the backbone; the central engineering problem becomes choosing where to place replicas and which one to serve each request.
Request redirection
CDNs steer each client to a nearby, healthy replica, commonly by returning the address of a chosen server in response to a DNS lookup, using knowledge of network proximity and current load.
Adaptive bitrate streaming
Streaming video is encoded at multiple quality levels and split into chunks fetched over HTTP, with the client adapting its requested bitrate to current bandwidth, which fits CDNs' HTTP-based delivery and copes with variable network conditions.

Clinical relevance

CDNs carry a large share of Internet traffic and are essential to delivering web pages, software updates, and especially video at scale and with good performance. They reduce latency for users worldwide, protect origin servers from overload, and underpin the streaming services that dominate consumer Internet use, making content distribution central to how the modern web performs.

History

As web traffic surged in the late 1990s, content distribution networks emerged to cache content near users, with Akamai an early and influential example. The growth of online video then made CDNs and HTTP-based adaptive streaming central to Internet delivery, and CDNs expanded into edge platforms that also run computation close to users.

Key figures

  • Ramesh K. Sitaraman
  • Erik Nygren
  • James F. Kurose

Related topics

Seminal works

  • kurose2021
  • nygren2010

Frequently asked questions

How does a CDN make a website faster?
A CDN stores copies of a site's content on servers spread around the world and serves each user from a nearby one. This shortens the network path, lowering latency and loss, and offloads the origin server. The result is faster page loads and smoother streaming, especially for users far from the origin.
How does a CDN decide which server should serve me?
CDNs use information about network proximity, server load, and availability to pick a good replica, then steer your request to it, commonly by returning that server's address when your device looks up the site's name in DNS. The goal is a nearby, healthy server that can deliver the content quickly.

Methods for this concept

Related concepts