Skip to content
Surf Wiki
Save to docs
engineering

From Surf Wiki (app.surf) — the open knowledge base

Content delivery network

Internet ecosystem layer that addresses bottlenecks

Content delivery network

Internet ecosystem layer that addresses bottlenecks

oclc=1005898086}}</ref>

CDNs are a layer in the internet ecosystem. Content owners such as media companies and e-commerce vendors pay CDN operators to deliver their content to their end users. In turn, a CDN pays Internet service providers (ISPs), carriers, and network operators for hosting its servers in their data centers.

CDN is an umbrella term spanning different types of content delivery services: video streaming, software downloads, web and mobile content acceleration, licensed/managed CDN, transparent caching, and services to measure CDN performance, load balancing, Multi CDN switching and analytics and cloud intelligence. CDN vendors may cross over into other industries like security, DDoS protection and web application firewalls (WAF), and WAN optimization.

Content delivery service providers include Akamai Technologies, Cloudflare, Amazon CloudFront, Qwilt (Cisco), Fastly, CDN77, BunnyCDN and Google Cloud CDN.

Technology

CDN nodes are usually deployed in multiple locations, often over multiple Internet backbones. Benefits include reducing bandwidth costs, improving page load times, and increasing the global availability of content. The number of nodes and servers making up a CDN varies, depending on the architecture, some reaching thousands of nodes with tens of thousands of servers on many remote points of presence (PoPs). Others build a global network and have a small number of geographical PoPs.

Requests for content are typically algorithmically directed to nodes that are optimal in some way. When optimizing for performance, locations that are best for serving content to the user may be chosen. This may be measured by choosing locations that are the fewest hops or the shortest time to the requesting client, or the highest server performance, to optimize delivery across local networks. When optimizing for cost, locations that are the least expensive may be chosen instead. In an optimal scenario, these two goals tend to align, as edge servers that are close to the end user at the edge of the network may have an advantage in performance and cost.

Most CDN providers will provide their services over a varying, defined, set of PoPs, depending on the coverage desired, such as United States, Asia-Pacific, International or Global, etc. These sets of PoPs can be called "edges", "edge nodes", "edge servers", or "edge networks" as they would be the closest edge of CDN assets to the end user.

CDN concepts:

  • Content Provider Origin Server: the web server providing the source content
  • CDN entry point(s): the servers within the CDN that fetch the content from the origin
  • CDN Origin Shield: the CDN service helping to protect the origin server in case of heavy traffic
  • CDN Edge Servers: the CDN servers serving the content request from the clients
  • CDN footprint: the geographic areas where the CDN Edge Servers can effectively serve clients requests
  • CDN selector: in the context of multi-CDN, a decision making service to choose among multiple CDNs
  • CDN offloading: in the context of Peer-to-Peer CDN, a mechanism to help deliver the content between clients who are consuming it, in addition to CDN Edge Server delivery

Security and privacy

CDN providers profit either from direct fees paid by content providers using their network, or profit from the user analytics and tracking data collected as their scripts are being loaded onto customers' websites inside their browser origin. As such these services are being pointed out as potential privacy intrusions for the purpose of behavioral targeting and solutions are being created to restore single-origin serving and caching of resources.

In particular, a website using a CDN may violate the EU's General Data Protection Regulation (GDPR). For example, in 2021 a German court forbade the use of a CDN on a university website, because this caused the transmission of the user's IP address to the CDN, which violated the GDPR.

CDNs serving JavaScript have also been targeted as a way to inject malicious content into pages using them. Subresource Integrity mechanism was created in response to ensure that the page loads a script whose content is known and constrained to a hash referenced by the website author.

Content networking techniques

The Internet was designed according to the end-to-end principle. This principle keeps the core network relatively simple and moves the intelligence as much as possible to the network end-points: the hosts and clients. As a result, the core network is specialized, optimized, and simplified to only forward data packets.

Content Delivery Networks augment the end-to-end transport network by distributing on it a variety of intelligent applications employing techniques designed to optimize content delivery. The resulting tightly integrated overlay uses web caching, server-load balancing, request routing, and content services.{{cite book

Web caches store popular content on servers that have the greatest demand for the content requested. These shared network appliances reduce bandwidth requirements, reduce server load, and improve the client response times for content stored in the cache. Web caches are populated based on requests from users (pull caching) or based on preloaded content disseminated from content servers (push caching).

Server-load balancing uses one or more techniques including service-based (global load balancing) or hardware-based (i.e. layer 4–7 switches, also known as 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 advantage 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.

A content cluster or service node can be formed using a layer 4–7 switch to balance load across a number of servers or a number of web caches within the network.

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 are used to route the request. These include Global Server Load Balancing, DNS-based request routing, Dynamic metafile generation, HTML rewriting, and anycasting. Proximity—choosing the closest service node—is estimated using a variety of techniques including reactive probing, proactive probing, and connection monitoring.

CDNs use a variety of methods of content delivery including, but not limited to, manual asset copying, active web caches, and global hardware load balancers.

Content service protocols

Several protocol suites are designed to provide access to a wide variety of content services distributed throughout a content network. The Internet Content Adaptation Protocol (ICAP) was developed in the late 1990s to provide an open standard for connecting application servers. A more recently defined and robust solution is provided by the Open Pluggable Edge Services (OPES) protocol. This architecture defines OPES service applications that can reside on the OPES processor itself or be executed remotely on a Callout Server. Edge Side Includes or ESI is a small markup language for edge-level dynamic web content assembly. It is fairly common for websites to have generated content. It could be because of changing content like catalogs or forums, or because of the personalization. This creates a problem for caching systems. To overcome this problem, a group of companies created ESI.

Peer-to-peer CDNs

In peer-to-peer (P2P) content-delivery networks, clients provide resources as well as use them. This means that, unlike client–server systems, the content-centric networks can actually perform better as more users begin to access the content (especially with protocols such as Bittorrent that require users to share). This property is one of the major advantages of using P2P networks because it makes the setup and running costs very small for the original content distributor.

To incentive peers to participate in the P2P network, web3 and blockchain technologies can be used: participating nodes receive crypto tokens in exchange of their involvement.

Private CDNs

If content owners are not satisfied with the options or costs of a commercial CDN service, they can create their own CDN. This is called a private CDN. A private CDN consists of PoPs (points of presence) that are only serving content for their owner. These PoPs can be caching servers, reverse proxies or application delivery controllers. It can be as simple as two caching servers, or large enough to serve petabytes of content. When a private CDN is deployed within a company network, it is also referred as Entreprise CDN or eCDN.

Large content distribution networks may even build and set up their own private network to distribute copies of content across cache locations. Such private networks are usually used in conjunction with public networks as a backup option in case the capacity of the private network is not enough or there is a failure which leads to capacity reduction. Since the same content has to be distributed across many locations, a variety of multicasting techniques may be used to reduce bandwidth consumption. Over private networks, it has also been proposed to select multicast trees according to network load conditions to more efficiently utilize available network capacity.

Content delivery service and technology providers

Commercial or free software vendors (build your own CDN)

  • Ateme
  • BlazingCDN
  • Broadpeak
  • Gcore
  • Go-Fast CDN
  • Nginx
  • Varnish Software
  • Vecima Networks
  • Velocix (spin off Nokia)

Free-as-a-Service

  • cdnjs
  • Cloudflare
  • JSDelivr

Commercial-as-a-Service

  • Akamai Technologies
  • Alibaba Cloud
  • Amazon CloudFront
  • Baidu CDN
  • BaishanCloud EdgeNext
  • BelugaCDN
  • Bunny.net
  • ByteDance BytePlus
  • CacheFly
  • CDN77
  • CDNetworks (ChinaNetCenter)
  • CDNsun
  • ChinaCache
  • ChinaNetCenter
  • Cloudflare
  • Comcast Technology Solutions
  • EdgeCast Cloud Services (Pulse)
  • Fastly
  • Gcore
  • GlobalConnect
  • Google Cloud CDN
  • Huawei Cloud
  • Jet-Stream Cloud
  • KeyCDN
  • Kingsoft Cloud
  • MainStreaming
  • Medianova
  • Microsoft Azure Front Door
  • Netskrt
  • Ngenix
  • Ora Streaming (Varnish Software Group)
  • OVHcloud
  • ProCDN.net
  • Qwilt
  • Tata Communications
  • Tencent Cloud
  • Wangsu Science & Technology

Others

  • Aryaka
  • CenterServ
  • Imperva
  • INAP
  • LeaseWeb
  • MetaCDN
  • Virtuozzo OnApp CDN
  • Rackspace Cloud Files
  • Jet-Stream StreamZilla
  • Yottaa

Telco CDNs

  • AT&T Inc.
  • Bharti Airtel
  • Bell Canada
  • BT Group
  • China Telecom
  • Chunghwa Telecom
  • Deutsche Telekom
  • KT
  • KPN
  • Megafon
  • NTT
  • Orange CDN
  • Pacnet
  • PCCW
  • Singtel
  • SK Broadband
  • Tata Communications
  • Telecom Argentina
  • Telefonica
  • Telenor
  • TeliaSonera
  • Telin
  • Telstra
  • Telus
  • TIM
  • Türk Telekom
  • Verizon

Commercial using P2P for delivery

  • Ace Stream
  • Ant Media
  • BitTorrent, Inc.
  • DLive
  • Dolby Milicast
  • Goalbit Solutions
  • Haivision Teltoo
  • Hola SparkCDN
  • Livepeer
  • Nano Cosmos
  • Novage
  • PeerFlow
  • Peervadoo
  • Phenix Real Time Solutions
  • Quanteec
  • Teleport Media
  • Theta EdgeCloud

Multi

  • Jet-Stream
  • MetaCDN
  • NPAW CDN Balancer
  • Velocix
  • Warpcache

In-house

  • TF1
  • BBC
  • Netflix

References

References

  1. "Globally Distributed Content Delivery, by J. Dilley, B. Maggs, J. Parikh, H. Prokop, R. Sitaraman and B. Weihl, IEEE Internet Computing, Volume 6, Issue 5, November 2002.".
  2. (2010). "The Akamai Network: A Platform for High-Performance Internet Applications". ACM SIGOPS Operating Systems Review.
  3. Evi, Nemeth. (2018). "UNIX and Linux system administration handbook". Pearson Education.
  4. "How Content Delivery Networks Work".
  5. (29 November 2011). "How Content Delivery Networks (CDNs) Work".
  6. Security, Help Net. (2014-08-27). "470 million sites exist for 24 hours, 22% are malicious".
  7. (2016-02-03). "Decentraleyes: Block CDN Tracking".
  8. (2021-12-14). "VG Wiesbaden verbietet die Nutzung von Content Delivery Networks".
  9. "Subresource Integrity".
  10. {{Cite Q. Q56503280
  11. Bestavros, Azer. (March 1996). "Speculative Data Dissemination and Service to Reduce Server Load, Network Traffic and Service Time for Distributed Information Systems". Proceedings of ICDE'96: The 1996 International Conference on Data Engineering.
  12. {{IETF RFC. 3568 Barbir, A., Cain, B., Nair, R., Spatscheck, O.: "Known Content Network (CN) Request-Routing Mechanisms," July 2003
  13. {{IETF RFC. 1546 Partridge, C., Mendez, T., Milliken, W.: "Host Anycasting Services," November 1993.
  14. {{IETF RFC. 3507 Elson, J., Cerpa, A.: "Internet Content Adaptation Protocol (ICAP)," April 2003.
  15. [https://web.archive.org/web/20000510190454/http://www.i-cap.org/ ICAP Forum]
  16. {{IETF RFC. 3835 Barbir, A., Penno, R., Chen, R., Hofmann, M., and Orman, H.: "An Architecture for Open Pluggable Edge Services (OPES)," August 2004.
  17. Li, Jin. (2008). "On peer-to-peer (P2P) content delivery". Peer-to-Peer Networking and Applications.
  18. Stutzbach, Daniel. (2005). "NETWORKING 2005 -- Networking Technologies, Services, and Protocols; Performance of Computer and Communication Networks; Mobile and Wireless Communications Systems". Springer.
  19. (2010-07-18). "How to build your own CDN using BIND, GeoIP, Nginx, Varnish - UNIXy".
  20. "How to Create Your Content Delivery Network With aiScaler".
  21. (5 June 2012). "Netflix Shifts Traffic To Its Own CDN; Akamai, Limelight Shrs Hit". Forbes.
  22. Mikel Jimenez. (May 1, 2017). "Building Express Backbone: Facebook's new long-haul network".
  23. (2012). "Inter-Datacenter WAN with centralized TE using SDN and OpenFlow".
  24. M. Noormohammadpour. (July 10, 2017). "DCCast: Efficient Point to Multipoint Transfers Across Datacenters". USENIX.
  25. M. Noormohammadpour. (2018). "QuickCast: Fast and Efficient Inter-Datacenter Transfers using Forwarding Tree Cohorts".
  26. (2011-03-03). "Online Video Sees Tremendous Growth, Spurs some Major Updates". SiliconANGLE.
  27. "Overall Telecom CAPEX to Rise in 2011 Due to Video, 3G, LTE Investments". cellular-news.
  28. D. Tuncer, M. Charalambides, R. Landa, G. Pavlou, "More Control Over Network Resources: an ISP Caching Perspective", proceedings of IEEE/IFIP Conference on Network and Service Management (CNSM), Zurich, Switzerland, October 2013.
  29. M. Claeys, D. Tuncer, J. Famaey, M. Charalambides, S. Latre, F. De Turck, G. Pavlou, "Proactive Multi-tenant Cache Management for Virtualized ISP Networks", proceedings of IEEE/IFIP Conference on Network and Service Management (CNSM), Rio de Janeiro, Brazil, November 2014.
  30. (2017-12-13). "Telcos and Carriers Forming New Federated CDN Group Called OCX (Operator Carrier Exchange)". Dan Rayburn – StreamingMediaBlog.com.
  31. "End-User Mapping: Next Generation Request Routing for Content Delivery, by F. Chen, R. Sitaraman, and M. Torres, ACM SIGCOMM conference, Aug 2015.".
  32. "Client Subnet in DNS Requests".
  33. "Where are your servers currently located?".
  34. (2019-04-01). "Simulating large vCDN networks: A parallel approach". Simulation Modelling Practice and Theory.
  35. (2020-01-01). "Towards simulation and optimization of cache placement on large virtual content distribution networks". Journal of Computational Science.
  36. (2017-06-19). "OPAC: An optimal placement algorithm for virtual CDN". Computer Networks.
  37. (October 2017). "2017 IEEE 42nd Conference on Local Computer Networks (LCN)". IEEE.
  38. Osmani. "Essential Image Optimization".
  39. Jon Arne Sæterås. (26 April 2017). "Let The Content Delivery Network Optimize Your Images".
  40. Katie Hempenius. "Use image CDNs to optimize images".
  41. Maximiliano Firtman. (18 September 2019). "Faster Paint Metrics with Responsive Image Optimization CDNs".
  42. "Top 4 CDN services for hosting open source libraries {{!}} opensource.com". opensource.com.
  43. "Usage Statistics and Market Share of JavaScript Content Delivery Networks for Websites". W3Techs.
  44. (2016-09-06). "How CDN and International Servers Networking Facilitate Globalization". Delarno Delvix.
  45. (2019-10-05). "Cloud Content Delivery Network (CDN) Market Investigation Report".
  46. "CDN: Was Sie über Content Delivery Networks wissen müssen".
  47. Williams, Mike. (22 August 2017). "Warpcache review".
  48. [https://www.bbc.co.uk/webarchive/https%3A%2F%2Fwww.bbc.co.uk%2Fblogs%2Finternet%2Fentries%2F8c6c2414-df7a-4ad7-bd2e-dbe481da3633 BIDI: The BBC Internet Distribution Infrastructure explained]
  49. [https://medium.com/refraction-tech-everything/how-netflix-works-the-hugely-simplified-complex-stuff-that-happens-every-time-you-hit-play-3a40c9be254b How Netflix works: the (hugely simplified) complex stuff that happens every time you hit Play]
Info: Wikipedia Source

This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.

Want to explore this topic further?

Ask Mako anything about Content delivery network — get instant answers, deeper analysis, and related topics.

Research with Mako

Free with your Surf account

Content sourced from Wikipedia, available under CC BY-SA 4.0.

This content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.

Report