The Wikipedia entry for CDN states: “A content delivery network or content distribution network (CDN) is a system of computers networked together across the Internet that cooperate transparently to deliver content to end users, most often for the purpose of improving performance, scalability, and cost efficiency.”
To elaborate, we have to start with the fact that the Internet is a network of networks. To get content from a server on the other side of the planet, IP packets have to travel through a whole series of backbone servers and public network cables.
Content Delivery Networks (CDNs) augment the transport network by employing various techniques to optimize content delivery. It is fairly easy to see how CDNs help by digging a little deeper on how the Internet works. A trace route to an internet address tells us how many network hops a simple request takes. Following is one to Yahoo.com.
>tracert www.yahoo.com Tracing route to www-real.wa1.b.yahoo.com [18.104.22.168] over a maximum of 30 hops: 1 1 ms 1 ms 1 ms 192.168.1.1 2 11 ms 9 ms 9 ms 22.214.171.124 3 11 ms 9 ms 9 ms 126.96.36.199 4 11 ms 9 ms 9 ms bb1-10g0-0.aus2tx.sbcglobal.net [188.8.131.52] 5 16 ms 19 ms 16 ms ex2-p14-1.eqdltx.sbcglobal.net [184.108.40.206] 6 16 ms 16 ms 18 ms asn10310-10-yahoo.eqdltx.sbcglobal.net [220.127.116.11] 7 19 ms 17 ms 106 ms ae2-p101.msr1.mud.yahoo.com [18.104.22.168] 8 18 ms 18 ms 17 ms te-8-1.bas-c1.mud.yahoo.com [22.214.171.124] 9 18 ms 18 ms 17 ms f1.www.vip.mud.yahoo.com [126.96.36.199] Trace complete.
Additional hops mean more time to render data from a request on the user’s browser. The speed of delivery is also constrained by the slowest network in the chain. The solution is a CDN that places servers around the world and, depending on where the end user is located, serves them with the closest or most appropriate server. CDNs cut down on the hops back and forth to handle a request. This is shown in the figures below.
CDNs focus on improving performance of web page delivery. CDNs like Akamai's support progressive downloads, which optimizes delivery of digital assets such as web page images. CDN nodes and servers are deployed in multiple locations around the globe over multiple internet backbones. These nodes cooperate with each other to satisfy data requests by end users, transparently moving content to optimize the delivery process. The larger the size and scale of their Edge Network deployments, the better the CDN.
They generally push the Edge Network closer to end users. The Edge Network is grown outward from the origins by purchasing co-location facilities, bandwidth, and servers. CDNs choose the best location for serving content while optimizing for performance. They may choose locations that are the fewest hops or fewest number of network seconds away from the requesting client. CDNs choose the least expensive locations while optimizing for cost. CDNs use various techniques such as web caching, server-load balancing, and request routing to achieve the optimization goals.
Because closer is better, web caches store popular content closer to the user. These shared network appliances reduce bandwidth requirements, reduce server load, and improve the client response times for content stored in the cache.
Server-load balancing uses a web switch, content switch, or multilayer switch to share traffic among a number of servers or web caches. Here, the switch is assigned a single virtual IP address. Traffic arriving at the switch is then directed to one of the real web servers attached to the switch. This has the advantages of balancing load, increasing total capacity, improving scalability, and providing increased reliability by redistributing the load of a failed web server and providing server health checks.
Request routing directs client requests to the content source best able to serve the request. This may involve directing a client request to the service node that is closest to the client, or to the one with the most capacity. A variety of algorithms for Global Server Load Balancing (shown in diagram) are used to route the request. Choosing the closest service node is done using a variety of techniques including proactive probing and connection monitoring.
For more information, see What are the benefits of using a CDN?
© 2011-2013 Rackspace US, Inc.
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License