شبکههای تحویل محتوا (CDN) شبکههای توزیعشده جغرافیایی از سرورهایی هستند که با یکدیگر برای ارائه سریع محتوای اینترنتی کار میکنند. آنها انتقال سریع دارایی های مورد نیاز برای بارگیری محتوای اینترنتی، از جمله صفحات HTML، فایل های جاوا اسکریپت، شیوه نامه ها، تصاویر و ویدئوها را امکان پذیر می کنند.
منشا و تاریخچه شبکه های تحویل محتوا
مفهوم CDN برای اولین بار در اواخر دهه 1990 به عنوان راه حلی برای مشکل "World Wide Wait" ظاهر شد. محبوبیت روزافزون اینترنت سرعت تحویل صفحات وب و محتوای آنلاین را کاهش داد. اولین ذکر CDN در حق اختراعی توسط Sandpiper Networks در سال 1998 با عنوان "سیستم و روش برای تحویل محتوای توزیع شده" بود.
با رشد اینترنت، تقاضا برای خدمات CDN نیز افزایش یافت. امروزه، CDN ها بخش بزرگی از کل ترافیک وب، از جمله اشیاء وب (متن، گرافیک)، اشیاء قابل دانلود (فایل های رسانه، نرم افزار، اسناد)، برنامه های کاربردی (تجارت الکترونیک، پورتال ها)، رسانه های پخش زنده، رسانه های جریان بر اساس تقاضا را ارائه می کنند. و شبکه های اجتماعی
در عمق: شبکه های تحویل محتوا
CDN ها اساساً در مورد سرعت و قابلیت اطمینان هستند. آنها برای حل مشکل تأخیر، تاخیری که هنگام درخواست بارگیری یک صفحه وب رخ می دهد و زمان نمایش کامل محتوا روی صفحه نمایش شما، طراحی شده اند.
هر چه درخواست باید دورتر سفر کند، تاخیر بیشتر است. CDN ها این مشکل را با ذخیره کردن محتوا در چندین سرور در سراسر جهان حل می کنند، بنابراین وقتی کاربر درخواستی را ارائه می دهد، محتوا از نزدیکترین سرور یا "سرور لبه" تحویل داده می شود و مسافتی را که باید طی کند کاهش می دهد.
ساختار داخلی و عملکرد CDN ها
یک CDN از دو جزء اصلی تشکیل شده است: یک سرور مبدا و یک شبکه از سرورهای لبه. سرور مبدا کپی اصلی و اصلی محتوای وب را نگه می دارد. سرورهای لبه از نظر استراتژیک در سرتاسر جهان قرار دارند و نسخههای کش شده این محتوا را ذخیره میکنند.
هنگامی که کاربر محتوا را درخواست می کند (مانند یک ویدیو یا یک صفحه وب)، سرور لبه CDN که نزدیکترین کاربر به کاربر است، محتوای ذخیره شده را ارائه می دهد و از حداقل تأخیر و سریع ترین زمان بارگذاری اطمینان می دهد. در صورتی که محتوای درخواستی در سرور لبه موجود نباشد، آن را از سرور اصلی یا سرور لبه نزدیک بازیابی می کند.
ویژگی های کلیدی CDN ها
- کارایی: با کش کردن محتوای نزدیک به کاربر، CDN ها تاخیر را کاهش می دهند و سرعت تحویل محتوا را افزایش می دهند.
- مقیاس پذیری: CDN ها می توانند جهش ناگهانی ترافیک و بارهای سنگین را کنترل کنند و اطمینان حاصل کنند که محتوا همیشه در دسترس است.
- قابلیت اطمینان: با توزیع محتوا در بسیاری از سرورها، CDN ها از خرابی محافظت می کنند و خدمات بی وقفه را تضمین می کنند.
- امنیت: CDN ها اقدامات امنیتی مانند حفاظت DDoS، توکن امن و مسدود کردن IP را ارائه می کنند.
انواع CDN ها
چندین نوع CDN وجود دارد که نیازهای مختلف را برآورده می کند:
نوع CDN | شرح |
---|---|
CDN استاندارد | محتوای استاتیک ذخیره شده را از سرورهای لبه ارائه می دهد. |
شتاب پویا سایت (DSA) | ارائه محتوای پویا و غیرقابل ذخیره را بهینه می کند. |
CDN خصوصی | یک CDN سفارشی که توسط واحدهای منفرد مانند شرکتهای بزرگ ساخته و استفاده میشود. |
CDN هیبریدی | ویژگی های CDN های خصوصی و عمومی را ترکیب می کند. |
استفاده، مشکلات و راه حل ها
CDN ها توسط طیف گسترده ای از صنایع استفاده می شوند: وب سایت های تجارت الکترونیک برای مشاهده سریع تر محصولات، وب سایت های رسانه ای برای بارگذاری سریع تصویر، و بازی های آنلاین برای گیم پلی سریع و بدون درز. آنها به ویژه برای مشاغلی که در سطح جهانی هستند مفید هستند.
با این حال، استفاده از CDN میتواند منجر به مشکلاتی مانند مسمومیت حافظه پنهان شود که در آن مهاجم پاسخهایی را ارسال میکند که باعث میشود CDN نسخه نادرست سایت را کش کند. این موارد را می توان از طریق مکانیسم های کنترل کش سختگیرانه و استفاده از هدرهای امن HTTP کاهش داد.
مقایسه ها و ویژگی ها
CDN ها را می توان با میزبانی وب سنتی مقایسه کرد. در هاست سنتی، تمام محتوا از یک سرور می آید. اما با CDN ها، محتوا از سرورهای متعددی که در سطح جهانی پخش شده اند، به دست می آید که منجر به تحویل سریع تر و مطمئن تر محتوا می شود.
ویژگیهای اصلی یک CDN شامل تعداد PoP (نقاط حضور)، ظرفیت کل شبکه (برحسب ترابایت بر ثانیه) و انواع محتوایی که میتواند ارائه دهد (استاتیک، پویا، پخش زنده و غیره) است.
چشم اندازها و فناوری های آینده
انتظار می رود فناوری های نوظهور مانند 5G و Edge Computing بر آینده CDN ها تأثیر بگذارند. 5G تقاضا برای محتوای با کیفیت بالا را افزایش میدهد و Edge Computing تواناییهای پردازش سرورهای لبه را افزایش میدهد.
CDN ها همچنین با سرویس های ابری یکپارچه تر می شوند و بیشتر بر امنیت متمرکز می شوند و خدماتی مانند کاهش ربات، فایروال های برنامه کاربردی وب (WAF) و حفاظت از DDoS را ارائه می دهند.
سرورهای پروکسی و CDN
سرورهای پروکسی و CDN هر دو در تحویل محتوای وب نقش دارند. در حالی که سرورهای پروکسی به عنوان واسطه برای درخواست های مشتریانی که به دنبال منابع از سرورهای دیگر هستند عمل می کنند، CDN ها خدمات را به صورت مکانی نسبت به کاربران نهایی توزیع می کنند تا در دسترس بودن و کارایی بالا را ارائه دهند. سرورهای پروکسی می توانند بخشی از زیرساخت CDN باشند و به ذخیره سازی و ارائه محتوا کمک کنند.