Introduction to Content Delivery and Distribution Networks (CDN)

In computer networking, CDN stands for either Content Delivery Network or Content Distribution Network.  A CDN is a distributed client/server system designed to improve the reliability and performance of Internet applications.

History of CDNs

Content Delivery Networks began to be devised as the World Wide Web (WWW) exploded in popularity during the 1990s. Technical leaders realized that the Internet could not handle the rapidly increasing level of network traffic without more intelligent methods for managing the flow of data.

Founded in 1998, Akamai Technologies was the first company to build a large-scale business around CDNs. Others followed with varying degrees of success. Later, various telecommunications companies like AT&T, Deutsche Telekom, and Telstra built their own CDNs as well. Content Delivery Networks today carry a significant portion of the Web’s content, especially large files like videos and app downloads. Both commercial and non-commercial CDNs exist.

How a CDN Works

A CDN provider installs their servers at key locations across the Internet. Each server contains large amounts of local storage plus the ability to synchronize copies of its data with other servers on the content network through a process called replication. These servers act as data caches. In order to supply cached data to clients around the world most efficiently, CDN providers install their servers at geographically-dispersed  “edge locations” - places that connect directly to the Internet backbone, typically in the data centers near large Internet Service Providers (ISPs). Some people call them Point of Presence (PoP) servers or “edge caches” accordingly.

A content publisher who wishes to distribute their data via CDN subscribers with the provider. CDN providers give publishers access to their server network where original versions of content objects (normally files or groups of files) can be uploaded for distribution and caching. Providers also support URLs or scripts that publishers embed in their sites to point to those stored content objects.

When Internet clients (Web browsers or similar apps) send requests for content, the publisher’s receiving server responds and triggers requests to CDN servers as needed. Suitable CDN servers are chosen to deliver the content according to the client’s geographic location. The CDN effectively brings data nearer to the requestor to minimize the effort needed to transfer it across the Internet.

If a CDN server is requested to send a content object but does not possess a copy, it will, in turn, request a parent CDN server for one. In addition to forwarding the copy to the requester, a CDN server will save (cache) its copy so that subsequent requests for the same object can be fulfilled without needing to ask the parent again. Objects get removed from the cache either when the server needs to free up space (a process called ​eviction) or when the object hasn’t been requested for some period of time (a process called aging).

Benefits of Content Delivery Networks

CDNs mutually benefit providers, content publishers, and clients (users) in several ways:

  • Large providers like Akamai have made lucrative businesses from CDNs, but smaller firms have had success too. These distributed systems help decrease the overall worldwide load on the Internet, making the Web run more efficiently for everyone.
  • CDNs can improve a publisher’s quality of service. By making their connections more responsive and content faster to download, publishers increase their customers' satisfaction (and tend to attract more customers).
  • Client users enjoy much faster downloads for CDN-enabled content like videos and generally better responsiveness (lower network latency, shorter round trip times) of Internet applications.

Issues with CDNs

CDN providers typically charge their customers according to the volume of network traffic each generates via their applications and services. Fees can accumulate quickly, particularly when customers are subscribed to tiered service plans and exceed their limits. Sudden spikes of traffic triggered by unplanned social and news events, or sometimes even Denial of Service (DoS) attacks, can be especially problematic.

Using a CDN increases a content publisher’s reliance on third party businesses. If the provider experiences technical issues with its infrastructure, users may experience significant usability problems such as sluggish video streaming or network timeouts. The content site owners may receive complaints as end customers generally do not identify with CDNs.