?What is CDN
حتما تاکنون تکنولوژی cdn به گوش شما هم رسیده اما Cdn مخفف چیست؟ و چه کاربردی دارد؟ در این مقاله قصد دارم تا شما را با واژه CDN که مخفف عبارت Content Delivery Network میباشد آشنا کنم تا با مطالعه این مقاله از پایگاه دانش URLFA بتوانید به درک عمیق و صحیحی نسبت به CDN و شبکههای تحویل محتوا برسید. اما پیش از شروع و بررسی موارد گفته شده ابتدا باید ببینیم که تعریف cdn از کجا شروع شد و چه تعریف تخصصی برای آن وجود دارد؟ کاربرد Content delivery network) cdn) چیست؟ در پاسخ به این سوال باید گفت که طبق تعریف اتحادیه بین المللی مخابرات به هر گونه شبکه ای که برای تحویل محتوای دیجیتالی بهینه سازی شده باشد شبکه تحویل محتوا میگویند. با ما تا پایان این آموزش همراه باشید.
Content delivery network) CDN) چیست؟
خرید CDN و فعالسازی آن در نهایت منجر به به افزایش سرعت دسترسی به اطلاعات میشود. حالا اینکه چه ترفندی برای دسترسی به دادهها با سرعت بالا به کار رفته بسوالی است که با داستن کارکرد CDN متوجه آن خواهید شد. وقتی یک شبکه CDN ساخته میشود سرورهایی در نقاط مختلف جهان و در کشورهای مختلف با طول جغرافیایی مشخص و تعیین شده ای کانفیگ و مستقر میشوند در نهایت با دریافت دادهها از سرور اصلی و ذخیره آن به صورت کش شده بر اساس موقعیت جغرافیایی بازدیدکننده که بر اساس ISP مخابراتی کاربر شناسایی میشود، دادهها را از نزدیک ترین CDN به کاربر تحویل خواهند داد تا کاربر با سرعت بیشتری به این دادهها دسترسی داشته باشد. به همین دلیل هست که اگر سایتهایی نظیر گوگل را که از CDN استفاده میکنند باز کنید میبینید که خیلی سریع در کوتاه ترین زمان ممکن در دسترس قرار میگیرد اما در مقابل سایتی که سرور آن در نقطه جغرافیایی دورتری قرار دارد با سرعت کمتری لود میشود. حالا که تقریبا با تکنولوژی cdn آشنا شدید در ادامه به بررسی کامل تر آن خواهیم پرداخت.
سی دی ان CDN مخفف چیست؟
کاربران بسیاری سوال میکندن که واژه CDN مخفف چیست؟ همان طور که در ابتدای مقاله ذکر شد تکنولوژی cdn مخفف Content Delivery Network میباشد. در واقع CDN یک شبکه توزیع محتوا است. سرورهایی در نقاط مختلف جغرافیایی قرار میگیرند و با توجه به اینکه کدام سرور به موقعیت بازدیدکننده سایت نزدیک تر است به درخواستها پاسخ داده میشود. در واقع اطلاعات سایت از سروری فراخوانی میشود که به موقعیت کاربر نزدیک تر باشد. بدین ترتیب سایت با سرعت بیشتر لود خواهد شد.
تکنولوژی cdn چه کاربردی دارد؟
همان طور که در بالا اشاره شد با استفاده از cdn میتوانیم با سرعت بیشتری به دادههای مورد نیاز دسترسی داشته باشیم. شبکه تحویل محتوا یا cdn با استفاده از سرورهایی که در سرتاسر دنیا توزیع شده و با توجه به موقعیت جغرافیایی کاربر از طریق نزدیک ترین سرور به کاربر، محتوای ذخیره شده را به وی ارائه میدهد. این سرویس در افزایش سرعت تحویل محتوا و پهنای باند در وب سایتهای با ترافیک بالا و وب سایتهای جهانی مانند گوگل، یاهو، فیس بوک و… بسیار تأثیرگذار است. cdnها انواع مختلفی دارند که میتوانند به صورت خصوصی صرفا برای یک کشور یا یک شرکت خاص در دسترس باشند مثل شبکه CDN چایناکش در کشور چین یا cdn گوگل که صرفا در اختیار خود گوگل قرار داره و مورد استفاده قرار میگیرد. از مشهورترین cdnها میتوان به CDN کلود فلر، آکادمی، آمازون، ابر اروان و… اشاره کرد که اگر شما هم سایتی دارید که به سرعت بالای آن اهمین میدهید و همچنین با حملات به هاست و سرور سایت روبه رو هستید با استفاده از CDN میتوانید تا علاوه بر افزایش سرعت بالای سایت امنیت را نیز در مقابل حملات افزایش دهید.
شرکتهای بزرگ اینترنتی برای کنترل ترافیک سایت و سرویسهای اینترنتی خودشون از چندین سرور در نقاط مختلف در سراسر جهان برای ذخیره سازی و تحویل اطلاعات و امکانات خود استفاده میکنند.
تکنولوژی CDN باعث میشود کاربران مختلف در سراسر جهان در هنگام استفاده از سرویسهای آنها هیچگونه تفاوتی را حس نکنند و همگی با بالاترین سرعت ممکن از نزدیکترین سرور شرکت مورد بحث استفاده کنند. تکنولوژی CDN مزیتهایی از جمله سرعت، امنیت، همیشه در دسترس بودن، پخش صحیح فشار بر روی چندین سرور و … در پی دارد.
CDN چطور کار می کند؟
با توجه به مزیتهایی که اشاره شد متوجه شدیم تکنولوژی CDN بسیار کارآمد است و میتواند به تمامی شرکتهای کوچک و وبمسترهای سایتهای خصوصی قدرت شرکتهای بزرگ را بدهد. این سرویس به این شکل کار می کند که:
- از روی اطلاعات قابل دانلود شدن سایت شما (مانند فایل کدهای CSS، فایل کدهای جاوااسکریپت، فایلهای مولتی مدیا و …) روی nodes یا همان سرورهای مختلف خود که در سراسر جهان قرار دارند یک نسخه کپی ذخیره میکند.
- زمانی که کاربری وارد سایت شما شود و نیاز به این اطلاعات دارد، همین داده های ذخیره شده روی سرور که به صورت اشتراکی به بسیاری از سایت هها سرویس میدهند از نزدیکترین سرور یا node بر اساس موقعیت جغرافیایی بازدیدکننده دانلود میشود.
- اطلاعات دانلود شده به کاربر تحویل داده خواهد شد.
پس وقتی کاربری با مرورگر خودش وارد سایت شد اطلاعات از نزدیک ترین سرور موجود به کاربر ارسال میشوند و هر گاه سرور CDN به هر دلیلی در دسترس نباشند مشکلی وجود ندارد و دادهها از سرور اصلی بارگزاری خواهند شد و تنها تفاوتی که وجود دارد مبحث سرعت است که مثل قبل بنابر ترافیک سرور کمتر خواهد شد. چون این اطلاعات قبلاً در سرورهای CDN ثبت (Cache) شدهاند و نیاز به پروسه خاصی نیست تا در آن ثبت شوند پس با سرعت بیشتری برای بازدیدکننده در دسترس قرار گرفته و دانلود میشوند.
مزایای استفاده از cdn
استفاده از cdn میتواند به هاست و سرور شما قدرت بیشتری ببخشد و مزایای بسیار زیادی را برای سایت و کسب و کاری که در آن از CDN استفاده میکنید به ارمغان آورد که از جمله این موارد میتوان به موارد زیر اشاره کرد:
- افزایش سرعت بارگذاری و نمایش صفحات وب در سیستم بازدید کنندگان به دلیل لود داده ها از نزدیک ترین cdn
- افزایش امنیت سایتها (چرا که بیشتر ارتباط ها به صورت غیر مستقیم و محافظت شده هستند.)
- افزایش میزان پهنای باند و کاهش مصرف ترافیک اصلی سرور، به عنوان مثال اگر سرور شما ۱۰ گیگابایت پهنای باند ارائه میکند وقتی شما از یک CDN که دارای ۱۰ node است استفاده میکنید در حقیقت شما ۱۰ * ۱۰ گیگابایت به پهنای باند خود افزوده اید.
- هزینه بسیار پایین برای استفاده (به دلیل استفاده چندین نفر از سرورها)
- نصب و راه اندازی ساده و آسان
- افزایش میزان بهینه سازی سایت در موتورهای جستجو نظیر گوگل
- راه کاری عالی برای جلوگیری از حملات DDOS به سرور سایت
- افزایش رضایت بازدیدکننده از سایت و کسب و کار شما به دلیل لود بسیار سریع سایت
اگر بخواهیم به صورت تصویری به شرح cdn بپردازیم تصویر زیر گویای کارکرد و نحوه رفتار cdn برای ذخیره داده ها و در نهایت تحویل محتوا به کاربران خواهد بود.
همان طور که در تصویر بالا مشاهده میکنید با اتصال یک سایت به سرور شبکه CDN داده های قابل ذخیره سازی آن مثل فایل های چند رسانه ای در سرتاسر شبکه cdn که در نقاط مختلف جهان قرار دارند، ذخیره میشوند به عبارت ساده تر وقتی شما در خصوص انتشار یک فیلم در سایت خود اقدام میکنید یک نسخه کش شده از این فیلم به تمامی سرورهایی که در این شبکه CDN وجود دارند ارسال شده و در آن ها ذخیره میشوند سپس بازدید کننده بر اساس موقعیت جغرافیایی که به نزدیک ترین سرور CDN دارد این دادهها را با سرعت بیشتری دریافت خواهد کرد. از طرفی اگر حملاتی به سایت اتفاق افتد و افرادی برای سوء استفاده به سرور سایت حمله داشته باشند با مانع برخورد خواهند کرد، چرا که cdn از این کار جلوگیری به عمل میآورد در واقع وقتی حمله به جای سایت به سمت cdn صورت میگیرد و شخص مهاجم میبایستی از cdn عبور کند تا به سرور اصلی شما برای حملاتی مثل حملات DDOS برسد که این مورد هم امکان پذیر نیست.
رفتار یک شبکه CDN به چه شکلی خواهد بود؟
اگر بخواهیم تا به رفتارهایی که در یک شبکه CDN رخ میدهد تا دادهها را در آخرین مرحله به کاربر نهایی یا همان بازدیدکننده سایت تحویل دهد، میبایست به شکل زیر به توضیح رفتار موجود در یک شبکه CDN بپردازیم که عبارتند از:
1- همان طور که در بالا اشاره شد، شبکه توزیع محتوا یا همان CDN تمامی سرورهای شبکه جهانی اینترنت را که در سرتاسر دنیا قرار دارمد تحت پوشش قرار میدهد. بنابراین زمانی که شما از سیستم CDN برای سایت خود استفاده کرده و آن را فعال میکنید، اطلاعات شما روی تک تک این سرورها که در سرتاسر جهان به صورت شبکه ای پخش شده اند کپی و ذخیره میشود و زمانی که یک بازدیدکننده به سایت یا وبلاگ شما وارد شد محتوای سایت که شامل تصاویر، ویدئوها، فایل های CSS، فایلهای جاوا اسکریپت و… است را از نزدیک ترین سرور نزدیک به خود دریافت میکند که این نزدیکی و موقعیت کاربر به سرور بر اساس ISP مخابراتی کاربر بازدیدکننده به دست خواهد آمد. پس در این صورت بازدیدکننده مستقیما به هاست یا سرور شما متصل نیست. بنابراین این کار موجب بهبود در عملکرد سایت شما خواهد شد.
2- تمامی اطلاعاتی که قابل بروزرسانی نیستند، در یک شبکه CDN قابل ذخیره هستند تا در طول این شبکه بزرگ در سرتاسر دنیا از نزدیک ترین سرور در اختیار کاربر قرار گیرند. البته منظور ما از اطلاعاتی که بروزرسانی نمیشوند فایلهایی شامل تصاویر، جاوا اسکریپت، css و… است که نیازی به بروزرسانی ندارند اما سایر بخشها که شامل محتوای صفحات میشود و از دیتابیس خوانده میشوند ذخیره سازی در شبکه CDN را ندارند و مستقیما از خود سرور بارگزاری میشوند. پس با این کار اگر هزینه ای که برای پهنای باند هاست یا سرور شما صرف میشود را کسر و برای تهیه و فعال سازی یک شبکه CDN استفاده کنیم برای ما خیلی بهتر خواهد بود، چرا که ضمن کاهش مصرف پهنای باند مصرفی قادر خواهیم بود امنیت سایت خود را در مقابل حملات DDOS افزایش دهیم.
3- سرعت دسترسی به سایت در حالتی که CDN فعال نباشد در کشوری که سرور در آن قرار دارد در بالاترین سطح خود است بنابراین وقتی که سرور سایت ما داخل ایران قرار دارد و یک بازدیدکننده از کشوری مثل آمریکا بخواهد تا از سایت ما بازدید به عمل آورد نسبت به ما از سرعت پایینتری برخوردار خواهد بود، اما وقتی که CDN را روی سایت خود فعال کنیم این سرعت چه در حالتی که بازدیدکننده در نزدیک ترین موقعیت سرور و چه در دورترین موقعیت قرار داشته باشد به دلیل اینکه دادهها از نزدیک ترین سرور موجود در شبکه CDN لود میشوند از سرعت تقریبا یکسانی برخوردار خواهند بود و تفاوت خیلی محسوسی در سرعت وجود ندارد. برای اینکه بخواهید تا به این موضوع برسید میتوانید سایتی را که از CDN استفاده کرده را توسط ابزاری مثل Pingdom یا GTmetrix تست کنید تا به این قضیه در حالت عملی پی ببرید.
آیا استفاده از CDN معایبی هم دارد؟
در پاسخ به این سوال باید گفت که استفاده از CDN برای سایت شما هیچ عیبی نداره و اکیدا توصیه میکنیم تا از آن استفاده کنید (در صورتی که که بازدیدکنندههای شما از موقعیت سرور دور هستند) چرا که در صورت استفاده از CDN نه تنها چندین فاکتور مهم برای سئو و بهینه سازی سایت را دریافت میکنید، بلکه قادر هستید تا امنیت سایت خود را نیز بالا ببرید و با خیالی آسوده به فعالیت در سایت و بروزرسانی آن بپردازید. تنها چیزی که در CDN وجود دارد و البته نمیتوان آن را به عنوان عیب و کاستی در نظر گرفت اسن است که هزینه راه اندازی cdn کاملا رایگان نیست. البته CDNهای رایگان هم وجود دارند اما کلیه امکاناتی که یک CDN در اختیار شما قرار میگیرد در موارد رایگان فعال نیست و باید هزینه ای را برای فعال سازی چنین امکاناتی پرداخت نمایید.
توجه: در برخی از موارد بعد از استفاده کاربران سرویسهای هاست اشتراکی میزبان فا از cdnهای رایگان مانند کلود فلر مشاهده کرده ایم که کاربر توسط پورت 2082 نمیتواند وارد هاست سی پنل شود یا این که برخی از تراکنشات در درگاههای بانکی ایران روی سایتهای ایرانی، در هنگام برگشت به سرورهای اروپایی (هاست اروپا) با مشکل مواجه میشود، در هرصورت اگر پس از فعالسازی CDN روی سایت اگر شما هم با چنین مشکلاتی مواجه شدید میتوانید مجددا dnsهای پیشفرض هاست را روی دامنه خود قرار دهید و به حالت عادی بازگردید. با توجه به اختلالات کلودفلر ما cdn ایرانی ابرآروان را پیشنهاد میکنیم.
چه تعداد CDN در سرتاسر جهان وجود داره؟
نمیتوان به صورت دقیق و قطع تعیین نمود که چه تعداد شبکه CDN در جهان وجود دارد چرا که تعداد شبکههای CDN به دلیل اینکه برای مصارف عمومی و خصوصی مورد استفاده قرار میگیرند در حال افزایش هستند. اما از جمله معروف ترین شبکههای CDN میتوان به مواردی مثل MaxCDN، VPS.net، Amazon Cloudfront، cloud Flare و… اشاره کرد که کلود فلر از جمله شبکههای CDN است که با استفاده از آن قادر هستید تا از امکانات رایگانی که این CDN در اختیار شما قرار میگیرد استفاده کنید.
معرفی CDN های رایگان
انواع مختلفی از شبکههای توزیع محتوا (CDN) در سرتاسر دنیا وجود دارد که هر کدام از آنها بنا به امکاناتی که ارائه میدهند نسخههای رایگانی را هم دارند که میتوانید استفاده کرده و برای دسترسی بیشتر به امکانات موجود نسخه تجاری خریداری کنید. یکی از معروف ترین این شبکههای توزیع محتوا CDN کلودفلر (Cloudflare) و همچنین ابر اروان برای کاربران ایرانی است که با استفاده از آن قادرید تا از امکانات رایگانی که به شما ارائه میدهد در سایت خود استفاده کنید و از مزایای آن بهرهمند شوید.
از جمله این مزیتها میتوان به جلوگیری از خرابکاریها با حمله به سرور سایت، استفاده از سیستم کش برای توزیع فایلهای سایت در سرورهای موجود این شبکه CDN در سرتاسر دنیا و… اشاره نمود. اگر CDN کلودفلر را برای سایتخود انتخاب کرده اید از مقاله آموزش تصویری از استفاده از Cloud Flare جهت بهبود سرعت و امنیت کمک بگیرید. اما اگر از سیستم مدیریت محتوای محبوب وردپرس استفاده میکنید میتوانبد تا از افزونه رایگان jetpack استفاده نمایید که امکان استفاده از شبکه CDN اختصاصی این شرکت را در اختیار شما قرار میدهد و قادر هستید تا از آن به عنوان شبکه توزیع محتوا در سایت خود استفاده کنید.