Content Delivery Network ========================= .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is Content Delivery Network (CDN)?** A **Content Delivery Network (CDN)** is a distributed system of servers strategically placed across various locations to deliver web content—such as images, videos, scripts, or entire web pages—**faster and more reliably** to users based on their geographic location. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is CDN useful?** CDNs are useful because they: - **Reduce latency** by serving content closer to the user - Improve **website loading speed** and **user experience** - **Offload traffic** from origin servers - Provide **redundancy and availability** - Enhance **security** with DDoS protection and WAF integration .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How it works?** A CDN works by: - Caching content on **edge servers** in multiple geographic locations - When a user requests content, the CDN directs the request to the **nearest edge server** - If the content is cached, it is served immediately; otherwise, it's fetched from the origin server and cached for future use - DNS-based load balancing and routing mechanisms are used to determine optimal paths .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is CDN used?** CDNs are used in: - **Websites and web applications** - **Video streaming platforms** - **E-commerce platforms** - **Software distribution (e.g., OS updates, app downloads)** - **Media and news portals** - Popular CDNs include Cloudflare, Akamai, Amazon CloudFront, Fastly, and Google Cloud CDN. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI layer does this protocol belong to?** CDNs operate mainly at the **Application Layer (Layer 7)**, though they also involve **Layer 4 (Transport)** and **Layer 3 (Network)** for routing and delivery optimization. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is CDN Windows specific?** No, CDNs are **not Windows specific**. They are **platform-independent** and serve content to any device or OS that can make web requests. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is CDN Linux specific?** No, CDNs are **not Linux specific**. While many CDN edge servers may run on Linux, CDNs are accessible from all operating systems and platforms. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Transport Protocol is used by CDN?** CDNs use: - **HTTP and HTTPS** (primary) - **TCP** and increasingly **QUIC** (over UDP) - Some also support **WebSockets**, **RTMP**, and **HLS** for streaming .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Port is used by CDN?** Common ports include: - **Port 80** for HTTP - **Port 443** for HTTPS Additional ports may be used depending on custom configurations (e.g., streaming protocols). .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is CDN using Client server model?** Yes, CDNs follow the **client-server model**. - **Clients (browsers or apps)** send requests. - **CDN edge servers** act as intermediaries that respond to those requests, serving cached content or proxying to the origin server if needed. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`Content_Delivery_Network Version&IEEE Details ` * :ref:`Content_Delivery_Network Basic Setup on Ubuntu using IPv4 ` * :ref:`Content_Delivery_Network Basic Setup on Ubuntu using IPv6 ` * :ref:`Content_Delivery_Network Protocol Packet Details ` * :ref:`Content_Delivery_Network Usecases ` * :ref:`Content_Delivery_Network Basic Features ` * :ref:`Reference links ` .. _Content_Delivery_Network_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _Content_Delivery_Network_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _Content_Delivery_Network_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _Content_Delivery_Network_step5: .. tab-set:: .. tab-item:: Content_Delivery_Network Version&RFC Details * rfc details .. _Content_Delivery_Network_step18: .. tab-set:: .. tab-item:: Content_Delivery_Network Basic Setup on Ubuntu using IPv4 * setup .. _Content_Delivery_Network_step19: .. tab-set:: .. tab-item:: Content_Delivery_Network Basic Setup on Ubuntu using IPv6 * setup .. _Content_Delivery_Network_step6: .. tab-set:: .. tab-item:: Content_Delivery_Network Protocol Packet Details * packet details .. _Content_Delivery_Network_step7: .. tab-set:: .. tab-item:: Content_Delivery_Network Usecases * usecases .. _Content_Delivery_Network_step8: .. tab-set:: .. tab-item:: Content_Delivery_Network Basic Features * features .. _Content_Delivery_Network_step17: .. tab-set:: .. tab-item:: Reference links * Reference links