شبکه تحویل محتوا (CDN) گروهی از سرورهای توزیع شده جغرافیایی است که محتوا را نزدیک به کاربران نهایی ذخیره می کند. CDN بدلیل نزدیک بودن به کاربر از نظر فیزیکی سرعت بالایی را برای بارگیری محتوای اینترنتی، از جمله صفحات HTML، فایل های جاوا اسکریپت، شیوه نامه ها، تصاویر و ویدئوها را فراهم می کند. شبکه تحویل محتوا (CDN) گروهی از سرورهای توزیعشده جغرافیایی است که با نزدیکتر کردن محتوای وب به مکانی که کاربران هستند، سرعت ارسال محتوای وب را افزایش میدهند.
CDN چیست و چه کاری انجام میدهد ؟
یک CDN را می توان به یک دستگاه خودپرداز تشبیه کرد. اگر پول شما فقط از یک خودپرداز در شهر در دسترس بود، هر بار که می خواستید پول نقد بگیرید میبایستی یک سفر وقت گیر انجام میدادید و در صف های طولانی می ایستادید. اما در سوی دیگر، اگر ما در هر نقطه از شهر یک دستگاه خودپرداز داشته باشیم، دیگر نیازی به سفر و اتلاف وقت نیست و شما در هر جایی در کمترین زمان ممکن می توانید پول نقد دریافت کنید. حال می توان پول نقد را به خدمات/محصولات یک سایت/شرکت تشبیه کرد که اگر صرفا بر روی یک سرور باشند لود آنها از نقاط دیگر با تاخیر همراه خواهد بود اما با استفاده از CDN تاخیر معنایی ندارد.
از آنجایی که ارائه دهندگان محتوا شروع به ارائه محتواهایی با حجم بالا مانند فایل های گرافیکی و ویدئو ها از طریق اینترنت کردند، خدمات CDN ها برای حل مشکل تراکم شبکه یا ترافیک شبکه ایجاد شدند. CDN ها اکنون رشد کرده اند و همه چیز را از متن، گرافیک، اسکریپت ها و فایل های رسانه ای گرفته تا دانلود نرم افزار، اسناد، پورتال ها، تجارت الکترونیک، رسانه های پخش زنده، رسانه های پخش ویدیوی درخواستی و سایت های رسانه های اجتماعی را شامل می شوند.
بیش از ۲۰ سال است که CDN ها ستون فقرات اینترنت را تشکیل میدهند. ستون فقراتی که هر مهره آن یک PoP است. امروزه بخش بزرگی از تمام محتوای اینترنتی از طریق CDN ها ارائه می شود. محبوبیت خدمات CDN هر روزه در حال رشد است و امروزه اکثر ترافیک وب از طریق CDN ها ارائه می شود، از جمله ترافیک سایت های اصلی مانند فیس بوک، نتفلیکس و آمازون. یک CDN به درستی پیکربندی شده همچنین ممکن است به محافظت از وب سایت ها در برابر برخی از حملات مخرب رایج مانند حملات DDOS نیز کمک کند.
اصطلاحات مرتبط با CDN
برای درک بهتر نحوه عملکرد شبکه توزیع محتوا CDN بهتر است با چند اصطلاح آشنا شوید.
سرور مبدا – Origin Server
سرورهای مبدأ حاوی نسخه های اصلی محتوا هستند و به عنوان منبع حقیقت عمل می کنند. هر زمان که محتوا نیاز به بروز رسانی داشته باشد، تغییراتی در سرور اصلی/مبدا ایجاد می شود. سرور مبدا ممکن است تحت مالکیت و مدیریت یک ارائه دهنده محتوا باشد یا ممکن است در زیرساخت یک ارائه دهنده ابر شخص ثالث مانند AWS آمازون یا Google Cloud Storage میزبانی شود.
سرور لبه – Edge Server
سرورهای لبه در چندین مکان جغرافیایی در سراسر جهان قرار دارند که به آنها “نقاط حضور” (PoPs) نیز میگویند. edge سرورها در این PoP ها محتوایی را که از سرورهای اصلی کپی شده اند را در حافظه پنهان ذخیره می کنند و مسئول ارائه آن محتوا به کاربران اطراف خود هستند. هنگامی که کاربر درخواست دسترسی به محتوای یک سرور اصلی را میدهد، به یک کپی ذخیره شده از محتوا در یک سرور لبه که از نظر جغرافیایی نزدیک به آن است هدایت میشود. هنگامی که محتوای حافظه پنهان قدیمی است، سرور لبه محتوای به روز شده را از سرور اصلی درخواست می کند. سرورهای لبه CDN تحت مالکیت یا مدیریت ارائه دهنده میزبان CDN هستند.
نقاط حضور – POPs
Points of Presence به معنی نقاط حضور است و بیانگر گروهی از سرورهای لبه در یک موقعیت مکانی است. به بیانی ساده تر چند سرور edge در کنار هم در یک موقعیت مکانی یک گروه تشکیل می دهند که این گروه را POP می نامیم. با افزایش کاربران در یک موقعیت مکانی نیاز به افزایش سرورهای لبه در نقطه حضور نیز بیشتر میشود. مجموعه کل POP ها یک شبکه توزیع محتوا را میسازد.
نحوه کار CDN
CDN ها متکی به فرآیندی به نام “کش کردن” هستند که به طور موقت کپی فایل ها را در مراکز داده در سراسر جهان ذخیره می کند و به شما امکان می دهد از یک سرور در نزدیکی خود به محتوای اینترنتی دسترسی داشته باشید. ارائه محتوا از نزدیکترین سرور به شما زمان بارگذاری صفحه را کاهش می دهد و منجر به تجربه وب سریعتر و با کارایی بالا می شود. CDN ها با ذخیره محتوایی مانند صفحات وب، تصاویر و ویدیو در سرورهای نزدیک به مکان فیزیکی شما، به شما این امکان را می دهند که کارهایی مانند تماشای فیلم، دانلود نرم افزار، بررسی موجودی بانک خود، پست کردن در رسانه های اجتماعی یا خرید را بدون نیاز به انتظار جهت لود شدن وبسایت ها انجام دهید.
اگر در نیویورک بودید و میخواستید وبسایت فروشگاه مورد علاقهتان در لندن را که روی سروری در بریتانیا میزبانی میشود، مشاهده کنید، بدون CDN درخواست شما مجبور بود تمام مسیر را در سراسر اقیانوس اطلس طی کند. در این صورت برای بارگذاری محتوا زمان زیادی مورد نیاز بود. اما برای رفع این مشکل، یک CDN نسخه کش شده محتوای وب سایت فروشگاه را در چندین مکان جغرافیایی در سراسر جهان (PoP) ذخیره می کند. این پاپ ها حاوی سرورهای کش مخصوص به خود هستند و مسئول ارائه آن محتوا در نزدیکی محل زندگی شما در نیویورک هستند. در نتیجه، با استفاده از CDN، اگر شما از نیویورک بخواهید وبسایتی در لندن را مشاهده کنید، نزدیکترین پاپ به شما به درخواست شما جواب میدهد، این پاپ مطمئنا از لندن دور تر نخواهد بود. در نتیجه زمان بارگذاری نیز کمتر خواهد شد.
برای ارائه تجربه مشاهده مطلوب، CDN ها دو عملکرد ضروری را انجام می دهند.
کاهش تأخیر
منظور از تأخیر همان تأخیر آزاردهندهای است که هنگام تلاش برای دسترسی به یک صفحه وب و یا دیدن یک ویدیو قبل از بارگیری کامل تجربه میکنید. اگرچه این تاخیر بر حسب میلی ثانیه اندازهگیری میشود، اما میتواند همیشه احساس شود و حتی ممکن است منجر به خطای بارگذاری یا وقفه زمانی در لود وبسایت شود. برخی از شبکههای تحویل محتوا با کاهش فاصله فیزیکی ای که محتوا برای رسیدن به شما باید طی کند، تأخیر را کاهش میدهند. بنابراین، CDN های بزرگتر با PoP های بیشتر می توانند به راحتی تاخیر را کاهش دهند و محتوا را با کمترین تاخیر ممکن به دست کاربر برسانند.
تعادل بار یا Load balancing
یک CDN ترافیک ورودی را بین سرور ها تقسیم می کند تا همه افرادی که درخواست دارند، در کمترین زمان پاسخ درخواست خود را دریافت کنند. تعادل بار را می توان به مسیریابی و جلوگیری از ترافیک در دنیای واقعی تشبیه کرد. ممکن است یک مسیر وجود داشته باشد که سریعترین مسیر از نقطه A تا B باشد اما اگر همه بخواهند از آن مسیر بروند، باعث ایجاد ترافیک شدید خواهد شد.
به همین دلیل نیاز است برخی افراد از دیگر مسیر ها استفاده کنند تا ترافیک ایجاد نشود. این موضوع گاهی اوقات ممکن است منجر به هدایت شما به مسیری شود که چند دقیقه ( چند میلی ثانیه در اینترنت ) طولانیتر است، اما باعث می شود در ترافیکی که در کوتاهترین مسیر شکل میگیرد گیر نکنید. متعادلسازی بار به ارائهدهندگان محتوا امکان میدهد تا با افزایش تقاضا و جهشهای ترافیکی زیاد کنار بیایند و در عین حال تجربههای کاربری باکیفیتی را ارائه دهند و از خرابی جلوگیری کنند.
مزایای CDN
CDN ها بخش بزرگی از ترافیک اینترنت جهان را حمل می کنند. آنها به حل سخت ترین چالش های ارائه محتوا از طریق اینترنت کمک می کنند. از ارائهدهندگان محتوای کوچک و متوسط گرفته تا شرکتهای بزرگ جهان، کسبوکارها در همه جا از مزایای کلیدی CDN برای ارائه یک تجربه وب یکپارچه به مشتریان خود بهره میبرند.
افزایش عملکرد
عملکرد، تفاوت بین کلیکی است که به شما امکان دسترسی فوری به محتوای یک وبسایت را می دهد با کلیکی که پس از آن یک انتظار هفت ثانیه ای را به دنبال دارد. برای اطمینان از کارایی بالا و به حداقل رساندن زمان لود، CDN ها محتوایی را ارائه می دهند که از قبل در سرورهای مجاور در شبکه CDN ذخیره شده اند به جای اینکه به سرور اصلی که ممکن است در نیمکره دیگر باشد درخواست ارسال کنند. اگر محتوا از قبل ذخیره نشده باشد، CDN از دانش برنامه ریزی شده خود در مورد اتصالات لازم برای غلبه بر هر چالشی استفاده می کند.
CDN های پیشرفته از فناوری های اضافی استفاده می کنند که هر گونه مشکلی را در ارائه محتوای پویا غیرقابل ذخیره سازی حل می کند و نوع مناسب محتوا را برای ارائه به دستگاه های مختلف تعیین می کند. مهم نیست کاربران از چه مکان، مرورگر، دستگاه یا شبکه ای درخواست ارسال میکنند. در تمامی این موارد صفحات وب سریعتر لود می شوند، زمان بافر ویدیو کاهش می یابد و بازدیدکنندگان درگیر لودینگ نخواهند شد. در دسترس بودن به این معنی است که محتوا برای کاربران نهایی حتی زمانی که افراد زیادی به طور همزمان به محتوا دسترسی دارند یا زمانی که در قسمتهایی از سرور اینترنت قطع است نیز در دسترس خواهد بود.
افزایش امنیت
CDN ها همچنین می توانند امنیت وب سایت را با افزایش محافظت در برابر عوامل مخرب و تهدیدهایی مانند حملات (DDoS) بهبود بخشند. پیشرفته ترین شبکه های تحویل محتوا امروز راه حل های امنیتی مبتنی بر ابر و حفاظت DDoS را ارائه می دهند. CDN ها همچنین خدماتی مانند نظارت بر کاربر، تجزیه و تحلیل تعامل کاربر با محتوای وب و اطلاعات امنیتی ابری برای پیگیری تهدیدات آنلاین را ارائه میدهند.
تعادل بار یا Load balancing
هنگامی که بار ترافیک با میلیون ها درخواست در ثانیه به اوج خود می رسد، حتی قدرتمندترین سرورها نیز مورد آزمایش قرار می گیرند. بدون شبکه تحویل محتوا، تمام این ترافیک باید توسط زیرساخت ارائهدهنده محتوا جذب شود. این حجم از ترافیک می تواند باعث از هم پاشیدن وبسایت در صورت عدم استفاده از CDN شود. زیرساخت هایی که توسط CDN ها ارائه می شود برای کاهش این مشکلات طراحی شده است. CDN های پیشرفته، با معماری بسیار پراکنده و سرورهای عظیم خود، می توانند بیش از ۱۰۰ ترابایت در ثانیه ترافیک را جذب کنند و این امکان را برای ارائه دهندگان محتوا فراهم کنند تا حتی برای تعداد کاربران بیشتر نیز در دسترس باشند.
با رشد انفجاری پخش آنلاین و سایر خدمات رسانه ای، ترافیک اینترنتی نیز زیادتر شده است. با پاسخ به درخواست کاربران با نسخه ذخیره شده وبسایت از POP نزدیک به کاربر نهایی، یک CDN می تواند ترافیک را از روی سرور اصلی بردارد و بین سرور های خود تقسیم کند. این موضوع همچنین باعث کاهش هزینه پهنای باند برای ارائه دهنده محتوا خواهد شد. زیرا با وجود CDN ترافیک کمتری به سمت سرور اصلی ارسال می شود. وبسایتها و برنامههای کاربردی وب که از طریق CDN ارائه میشوند، بارگذاری سریعتر صفحه، تراکنشهای سریعتر و تجربه آنلاین ثابتتری را ارائه میدهند. صاحبان محتوا و برنامه ها از CDN برای بهبود تجربیات مشتریان خود استفاده می کنند.
چگونه یک CDN زمان بارگذاری وب سایت را بهبود می بخشد؟
وقتی نوبت به بارگذاری محتوا توسط وبسایتها میرسد، با کاهش سرعت سایت، کاربران به سرعت از آن خارج میشوند. خدمات CDN می تواند به روش های زیر به کاهش زمان بارگذاری یک وبسایت و در نهایت افزایش مشتریان آن وبسایت کمک کند :
- ماهیت توزیع جهانی CDN به معنای کاهش فاصله بین کاربران و منابع اصلی وب سایت است. به جای اتصال به سرور اصلی وبسایت که ممکن است فرسنگ ها از کاربر دور باشد، یک CDN به کاربران اجازه می دهد به یک مرکز داده نزدیک به خود از نظر جغرافیایی متصل شوند.
- بهینهسازیهای سختافزاری و نرمافزاری مانند متعادلسازی بار بصورت کارآمد و هارد دیسکهای SSD میتوانند به دسترسی سریعتر کاربران به دادهها کمک کنند.
- CDN ها می توانند با کاهش اندازه فایل ها با استفاده از تاکتیک هایی مانند کوچک سازی و فشرده سازی فایل، مقدار داده های منتقل شده را کاهش دهند. اندازه فایل کوچکتر به معنای زمان بارگذاری سریعتر است.
CDN چگونه یک وبسایت را همیشه آنلاین نگه میدارد ؟
Uptime یک مؤلفه حیاتی برای هر کسی است که در اینترنت حضور دارد. خرابیهای سختافزاری و افزایش ترافیک، حملات مخرب و افزایش محبوبیت این پتانسیل را دارد که یک وب سرور را از بین ببرد و از دسترسی کاربران به یک هاست یا سرویس جلوگیری کند. یک CDN دارای چندین ویژگی است که زمان خرابی را به حداقل می رساند :
- تعادل بار ترافیک شبکه را به طور یکنواخت در چندین سرور توزیع می کند و مقیاس افزایش سریع ترافیک را آسان تر می کند.
- Failover هوشمند حتی اگر یک یا چند سرور CDN به دلیل نقص سخت افزاری یا نرم افزاری آفلاین شود، سرویس دهی را بدون وقفه ادامه می دهد. failover می تواند ترافیک را به سرورهای عملیاتی دیگر هدایت کند تا هیچ ترافیکی به سمت سرور آفلاین ارسال نشود.
- در صورتی که کل مرکز داده دارای مشکلات فنی باشد، مسیریابی Anycast ترافیک را به مرکز داده موجود دیگری منتقل می کند و اطمینان می دهد که تمامی کاربران به وبسایت شما دسترسی خواهند داشت.
با وجود این ویژگی ها و تکنولوژی ها، وبسایت شما تنها زمانی آفلاین خواهد بود که منبع اصلی وبسایت یا همان سرور اصلی وبسایت آفلاین شود.
جمع بندی
در این مقاله، به چیستی CDN پرداختیم و سپس توضیحاتی در رابطه با اینکه CDN چطور کار میکند ارائه دادیم. سپس مزایای آن را بررسی کردیم و در نهایت به تاثیر CDN بر روی یک وبسایت پرداختیم. شبکه تحویل محتوا، با بهبود عملکرد سایت، بهطور مستقیم و غیرمستقیم، روی بهبود سئو سایت نیز تاثیرگذار است. به همین خاطر، توصیه میشود حتما از یک CDN برای وبسایت خود استفاده کنید. امیدواریم این مقاله نیز برای شما مفید واقع شده باشد.