(CDN) چیست؟ انواع CDN و نحوه کار کردن آن
شبکه تحویل محتوا یا همان CDN، گروهی از سرورهای توزیعشده جغرافیایی هستند که با نزدیکتر کردن محتوای وب به مکانی که کاربران قرار دارند، سرعت ارسال محتوای وب را افزایش میدهند.
CDN ها متکی به فرآیندی به نام "کش کردن" هستند که به طور موقت کپی فایل ها را در مراکز داده در سراسر جهان ذخیره می کند و به شما امکان می دهد از یک سرور در نزدیکی خود به محتوای اینترنتی دسترسی داشته باشید. محتوای ارائه شده از نزدیکترین سرور به شما زمان بارگذاری صفحه را کاهش می دهد و منجر به تجربه سریعتر و کاآمدتری می شود. CDN ها با ذخیره محتوایی مانند صفحات وب، تصاویر و ویدیو در سرورهای نزدیک به مکان فیزیکی شما، به شما این امکان را می دهند که کارهایی مانند تماشای فیلم، دانلود نرم افزار، بررسی موجودی بانک خود، فعالیت در شبکه های اجتماعی یا خرید را بدون نیاز به انتظار انجام دهید.
شما می توانید یک CDN را مانند یک دستگاه خودپرداز در نظر بگیرید. اگر پول شما فقط از یک بانک در شهر در دسترس بود، باید هر بار که میخواهید پول نقد بگیرید، یک رفت و آمد وقتگیر داشته باشید و در صف طولانی بایستید. اما با وجود چند دستگاه خودپرداز در سرتا سر شهر، دسترسی شما به پولتان سریع و آسان اتفاق می افتد.
CDN چگونه کار می کند؟
شبکه های تحویل محتوا (CDN) با ایجاد یک نقطه حضور (POP) یا گروهی از سرورهای لبه CDN در چندین مکان جغرافیایی کار می کنند. این شبکه توزیع شده جغرافیایی بر اساس اصول حافظه پنهان، شتاب پویا و محاسبات منطق لبه کار می کند.
ذخیره سازی
حافظه پنهان فرآیند ذخیره سازی چندین نسخه از یک داده برای دسترسی سریعتر به داده ها است. در محاسبات، اصل کش کردن در تمام انواع مدیریت حافظه و ذخیره سازی اعمال می شود. در فناوری CDN، این اصطلاح به فرآیند ذخیره محتوای ثابت وب سایت در چندین سرور در شبکه اشاره دارد. ذخیره سازی در CDN به صورت زیر عمل می کند:
- یک بازدید کننده وب سایت از راه دور جغرافیایی اولین درخواست برای محتوای وب ثابت را از سایت شما می کند.
- درخواست به سرور برنامه وب یا سرور اصلی شما می رسد. سرور مبدا پاسخ را به بازدید کننده از راه دور ارسال می کند. در همان زمان، همچنین یک کپی از پاسخ را به CDN POP که از نظر جغرافیایی نزدیکترین به آن بازدیدکننده است ارسال میکند.
- سرور CDN POP کپی را به عنوان یک فایل کش ذخیره می کند.
- دفعه بعد که این بازدیدکننده یا هر بازدیدکننده دیگری در آن مکان همان درخواست را ارائه میکند، سرور کش، نه سرور مبدا، پاسخ را ارسال میکند.
شتاب داینامیک
شتاب دینامیکی کاهش زمان پاسخ سرور برای درخواست های محتوای وب سایت داینامیک است که به دلیل وجود یک سرور CDN واسطه بین برنامه های کاربردی وب و مشتری است. حافظه پنهان با وب سایت داینامیک به خوبی کار نمی کند زیرا محتوا می تواند با هر درخواست کاربر تغییر کند. سرورهای CDN باید برای هر درخواست پویا مجدداً به سرور مبدا وصل شوند، اما با بهینهسازی ارتباط بین خود و سرورهای مبدا، روند را تسریع میکنند.
اگر مشتری یک درخواست پویا را مستقیماً از طریق اینترنت به وب سرور ارسال کند، ممکن است به دلیل تأخیر شبکه، درخواست از بین برود یا به تأخیر بیفتد. همچنین ممکن است زمان برای باز کردن و بستن اتصال برای تأیید امنیتی صرف شود. از طرف دیگر، اگر سرور CDN نزدیک، درخواست را به سرور مبدا ارسال کند، آنها قبلاً یک اتصال مداوم و قابل اعتماد برقرار کرده اند. به عنوان مثال، ویژگی های زیر می توانند ارتباط بین آنها را بیشتر بهینه کنند:
- الگوریتم های مسیریابی هوشمند
- نزدیکی جغرافیایی به مبدا
- امکان پردازش درخواست مشتری که حجم آن را کاهش می دهد
محاسبات منطق لبه
شما می توانید سرور CDN edge را برای انجام محاسبات منطقی که ارتباط بین مشتری و سرور را ساده می کند، برنامه ریزی کنید. به عنوان مثال، این سرور می تواند کارهای زیر را انجام دهد:
- درخواست های کاربر را بررسی کنید و رفتار ذخیره سازی را تغییر دهید.
- اعتبارسنجی و رسیدگی به درخواست های نادرست کاربر.
- قبل از پاسخ دادن، محتوا را اصلاح یا بهینه کنید.
توزیع منطق برنامه بین سرورهای وب و لبه شبکه به توسعه دهندگان کمک می کند تا نیازهای محاسباتی سرورهای مبدا را تخلیه کنند و عملکرد وب سایت را بهبود بخشند.
مزایای CDNها
CDN ها بخش بزرگی از ترافیک اینترنت جهان را حمل می کنند. آنها به حل سخت ترین چالش های ارائه محتوا از طریق اینترنت کمک می کنند. از سایت های کوچک و متوسط گرفته تا شرکت های بزرگ جهان، کسب و کارها در همه جا از مزایای کلیدی CDN برای ارائه یک تجربه وب یکپارچه به مشتریان خود بهره می برند.
افزایش عملکرد
عملکرد تفاوت، بین کلیکی است که به شما امکان دسترسی فوری به محتوای جدید را می دهد و کلیکی که پس از آن یک انتظار هفت ثانیه ای در حین بارگذاری صفحه یا بافر ویدیویی به دنبال دارد.
این زمان انتظار "بافر" نامیده می شود و با نماد دایره ای آشنا در حال چرخش روی صفحه نمایش داده می شود. برای اطمینان از عملکرد بالا و به حداقل رساندن بافر، CDN ها به جای ارسال درخواست به سرورهای اصلی که ممکن است در مکان دیگری از جهان باشند محتوایی را ارائه می دهند که از قبل در سرورهای نزدیک در شبکه CDN ذخیره شده است. اگر محتوا از قبل ذخیره نشده باشد، CDN با دانش برنامه ریزی شده خود در مورد اتصالات لازم برای غلبه بر هر چالشی استفاده می کند.CDN های پیشرفته از فناوری های اضافی استفاده می کنند که هر گونه مشکلی را در ارائه محتوای پویا غیرقابل ذخیره سازی حل می کند و نوع مناسب محتوا را برای ارائه به دستگاه های مختلف تعیین می کند.
با CDN ها، ارائه دهندگان محتوا می توانند تجربه کاربری سریع و با کیفیت را به همه کاربران نهایی خود ارائه دهند. مهم نیست از چه مکان، مرورگر، دستگاه یا شبکه ای وصل می شوند. صفحات وب سریعتر ارائه می شوند، زمان بافر ویدیو کاهش می یابد و بازدیدکنندگان وب سایت رابطه کاربری بهتری برقرار می کنند.
از در دسترس بودن اطمینان حاصل کنید .
در دسترس بودن به این معنی است که محتوا برای کاربران، حتی در زمان هایی با ترافیک سنگین کاربران که افراد زیادی به طور همزمان به محتوا دسترسی دارند یا هنگامی که سرور در برخی از قسمتها قطع میشود، در دسترس باقی بماند.
هنگامی که بار ترافیک با میلیون ها درخواست در ثانیه به اوج خود می رسد، حتی قدرتمندترین سرورها نیز با چالشهایی مواجه می شوند. بدون شبکه تحویل محتوا، تمام این ترافیک باید توسط زیرساخت ارائه دهنده محتوا جذب شود. این اتفاق می تواند باعث شکست و تجربه ضعیف کاربران شود.
زیرساخت سرور به طور گسترده ای که توسط CDN ها ارائه می شود برای کاهش این مشکلات طراحی شده است. CDN های پیشرفته، با معماری بسیار پراکنده و پلتفرم سرورهای عظیم خود، می توانند بیش از 100 ترابایت در ثانیه ترافیک را جذب کنند و این امکان را برای ارائه دهندگان محتوا فراهم کنند تا حتی برای پایگاه های بزرگتر کاربران در دسترس باشند.
بهبود تجربیات مشتری .
صاحبان محتوا، برنامهها و وبسایتها - از جمله سایتهای فروشگاهی، ویژگیهای رسانه و شرکتهای رایانش ابری از CDN برای بهبود تجربیات مشتری، کاهش نرخ بانس ریت یا همان خروج زود هنگام از سایت، افزایش نمایش تبلیغات، بهبود نرخ تبدیل و تقویت وفاداری مشتری استفاده میکنند.
تخلیه بار ترافیک
با رشد انفجاری پخش آنلاین و سایر خدمات رسانه ای غنی، و انتظارات بیشتر کاربران در مورد عملکرد وب در انواع مختلف دستگاه، بسیاری از ارائه دهندگان خدمات شبکه، امروزه شبکه های توزیع محتوای خود را تحت فشار زیادی قرار می دهند. با پاسخ به درخواست محتوای وب با نسخه ذخیره شده از سرورهای نزدیک به کاربر نهایی، یک CDN می تواند ترافیک را از سرورهای محتوا تخلیه کند و تجربه وب را بهبود بخشد.
CDNها با ارائه محتوا از سرورهای نزدیک به کاربران، مصرف پهنای باند و هزینه های مرتبط را کاهش می دهند.
چه کسی از CDN استفاده می کند؟
همه تقریباً آنها امروز بیش از نیمی از کل ترافیک را ارائه می دهند. با گذشت هر سال ، این ارقام به سرعت صعودی هستند. در حقیقت ، دلایل چندانی برای استفاده نکردن از CDN وجود دارد در صورتی که بسیاری از شما خدمات آنلاین خود را به صورت رایگان ارائه می دهیم ، زیرا هر بخشی از تجارت آنلاین است. اما CDN ها حتی به عنوان یک سرویس رایگان برای همه مناسب نیستند. به طور خاص ، اگر اکثریت قریب به اتفاق کاربران شما در همان منطقه میزبانی شما ساکن باشند ، اگر یک بستر کاملاً محلی را اجرا کنید ، سود چندانی ندارد. در این حالت ، یک CDN ممکن است با افزودن یک نقطه اتصال ضروری دیگر بین بازدید کننده و یک سرور نزدیک ، خروجی وب سایت شما را تشدید کند.
انواع CDN
هدف اصلی ما کاهش تأخیر و تسریع ارائه بود. اما این تأخیر در دنیای مدرن عکسهای 2 مگابایتی و 500 کیلوبایت کتابخانه JavaScript که بوت شدن آنها از وب سایتها 3 دقیقه طول می کشد ، اهمیتی ندارد. اما CDN ها اهداف دیگری نیز دارند که با گذشت زمان تکامل یافته اند.
امنیت محور
DDoS و حفاظت از ربات آخرین لایه عملیاتی بود که به CDN اضافه شد. این خاصیت CDN ها مانند Incapsula است. CDN به عنوان بیرونی ترین لایه زیرساخت وب سایت و گیرنده اصلی آن ، به شما اجازه می دهد حملات DDoS زودتر شناسایی شده و توسط سرورهای محافظت ویژه DDoS DDo به نام scrubbers مسدود شود ، بدون اینکه هرگز به سرور دسترسی پیدا کند و خراب شود. علاوه بر این ، این برنامه می تواند با استفاده از دانش انبوه بسیاری از مشتریان خود ، در مورد IP های مشکوک ، spammers ، botters ، حتی انواع خزنده ها و رفتار آنها اطلاعاتی کسب کند. به عنوان مثال ، اگر یک سایت خراش دهنده که در سایت A کار می کند ، در صورتی که آن سایت با همان CDN محافظت شود ، کار در سایت B را متوقف می کند ، زیرا فیلتر ترافیک الگویی را که قبلاً دیده است شناسایی می کند.
محتوا محور
CDN ها در اصل فقط برای محتوای استاتیک (JS ، CSS ، HTML) بودند. وقتی آن را ایجاد یا بارگذاری کردید ، باید محتوای آن را فشار دهید. سپس کشش مبدا به منظور اتوماتیک کردن کارها اضافه شده است - یک کاربر URL CDN را درخواست کرده است ، و سپس CDN به طور خودکار URL وب سایت را درخواست کرده تا آنچه را که قبلاً پس داده است ، پنهان کند. در دسترس بودن نیز به یک عامل اصلی تبدیل شده است. بسیاری از CDN ها اکنون وضعیت "آخرین زنده" یک وب سایت را ذخیره می کنند تا در صورت سقوط منبع ، به کاربران امکان دسترسی به محتوای CDNed را بدهند و این توهم ثبات را ایجاد می کند تا زمانی که موارد به حالت عادی برگردند.
چگونه زمان بارگذاری برای CDN افزایش می یابد؟
- کاهش فاصله: فاصله فیزیکی مشتری و داده های درخواستی را کاهش دهید.
- بهینه سازی سخت افزار یا بهینه سازی نرم افزار: عملکرد زیرساخت های سمت سرور ، مانند استفاده از دیسک های سخت حالت جامد و توازن موثر بار.
- انتقال داده کمتر: تکنیک های کاهش اندازه پرونده برای بارگذاری سریع بارهای اولیه صفحه.
معایب سرویس توزیع محتوا چیست؟
تنها ایراد CDN آن است که معمولا رایگان نبوده و برای استفاده از آن باید هزینه پرداخت شود. در حال حاضر تعداد معدودی از شرکتهای ایرانی سرویس CDN را ارائه میدهند. از میان آنها، معروفترین نمونههای خارجی آن عبارتند ازMaxCDN ، VPS.net و Amazon Cloudfront که بهترین آن ها از نظر شرایط هزینه ای را MaxCDN دارد.
اگر این مقاله برای شما مفید بود پیشنهاد میکنیم مقالات زیر را مطالعه کنید:
- آشنایی با انواع دستگاه های شبکه
- توپولوژی شبکه چیست؟ انواع توپولوژی های شبکه به همراه مزایا و معایب
- آشنایی با انواع حملات شبکهای
اگر قصد راه اندازی شبکه دارید پیشنهاد میکنیم جزئیات این 4 محصول را ببینید:
سی پی یو سرور Intel Xeon Processor E5-2680 V4
هارد سرور اچ پی 1.2TB 12G SAS 10K 872479-B21
سرور رکمونت اچ پی ProLiant DL380 G10
سوالات متداول (FAQ)
CDN چیست؟
اجزای یک CDN چیست؟
سوالات متداول
CDN گروهی از سرورهای توزیعشده جغرافیایی است که با نزدیکتر کردن محتوای وب به محل دسترسی کاربران به محتوا، سرعت ارسال محتوای وب را افزایش میدهد. مراکز داده در سراسر جهان از حافظه پنهان استفاده می کنند، فرآیندی که به طور موقت کپی فایل ها را ذخیره می کند، به طوری که کاربران می توانند از طریق یک سرور در نزدیکی خود، به محتوای اینترنتی از یک دستگاه یا مرورگر مجهز به وب سریعتر دسترسی داشته باشند.