P2P, Push and Pull
CDN (Content Delivery Network) is a distributed network architecture designed to speed up content delivery to users. CDN affects the download speed of any content of sites and applications that the user sees: audio, video, streaming, images, texts, graphics.
The content delivery network is divided into three types: P2P, Push and Pull. In the material, we understand the differences and features of different CDNs.
Peer-to-peer CDN is a decentralized network where users distribute content among themselves instead of relying on a centralized server. This method allows you to reduce the load on the source server and increase the speed of content delivery.
P2P CDN distributes content between users. This model does not use HTTP servers, unlike traditional CDNs, when networks host many HTTP servers around the world that cache and store content.
The P2P Content Delivery Network is not a general-purpose CDN, meaning it does not serve all kinds of web content—peer-to-peer is solely focused on scalable and efficient video distribution. A P2P CDN works by coordinating users so that they send video segments of content to each other instead of each constantly receiving segments from an edge server.
Push CDN is a method in which content is actively pushed from the origin server to edge CDN servers. This can be useful for content that is updated frequently or is in high demand.
Instead of fetching content from the server when the CDN needs it, the content is uploaded to the network ahead of time. Thus, CDNs can cache static content and serve it to the user.
Push CDNs provide the advantage of flexibility in working with content. The website owner and content creator can directly specify what content will be pushed to the CDN server, when it will expire, and when it must be updated. This is an efficient and simpler use of traffic – the content is only loaded to the CDN server when there are changes, which allows you to reduce traffic.
The problem with this approach is that if you update content frequently and if your server is already serving other heavy traffic, then this synchronization can increase network load.
Pull CDN is a method in which content is requested by CDN edge servers from the origin server. Unlike the push method, the CDN itself is responsible for fetching the right content to deliver to visitors. This is the most common type of CDN and can be useful for content that is not frequently updated or has low demand.
This is how the site owner leaves the content on the origin server and rewrites the URLs to point to the CDN. When a particular request is made for a web page, the CDN retrieves the elements and files of the web page from the origin server and delivers them to the visitor. The CDN server will then cache that version of the page until it expires.
The main benefit of Pull is that it’s pretty easy to set up since the CDN basically does all the work for you. In addition, Pull retrieves web page elements and files only after the initial request, reducing storage consumption.
But this method can lead to some problems, because it is less flexible than Push CDN. There is often excess traffic because web page elements and files are re-requested before they have been modified.
Also, Pull can be slower than Push because first-time visitors to a page, or those who try to open a web page after items and files have expired on the CDN, may experience slower page loading speeds.