حتما تاکنون تکنولوژی cdn به گوش شما هم رسیده اما Cdn مخفف چیست؟ و چه کاربردی دارد؟ در این مقاله قصد دارم تا شما را با واژه CDN که مخفف عبارت Content Delivery Network می باشد آشنا کنم تا با مطالعه این مقاله از حافظ پلتفرم بتوانید به درک عمیق و صحیحی نسبت به CDN و شبکه های تحویل محتوا برسید. اما پیش از شروع و بررسی موارد گفته شده ابتدا باید ببینیم که تعریف cdn از کجا شروع شد و چه تعریف تخصصی برای آن وجود دارد؟ کاربرد 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 بپردازیم که عبارتند از:
۱- همان طور که در بالا اشاره شد، شبکه توزیع محتوا یا همان CDN تمامی سرورهای شبکه جهانی اینترنت را که در سرتاسر دنیا قرار دارمد تحت پوشش قرار میدهد. بنابراین زمانی که شما از سیستم CDN برای سایت خود استفاده کرده و آن را فعال می کنید، اطلاعات شما روی تک تک این سرورها که در سرتاسر جهان به صورت شبکه ای پخش شده اند کپی و ذخیره می شود و زمانی که یک بازدیدکننده به سایت یا وبلاگ شما وارد شد محتوای سایت که شامل تصاویر، ویدئوها، فایل های CSS، فایل های جاوا اسکریپت و… است را از نزدیک ترین سرور نزدیک به خود دریافت می کند که این نزدیکی و موقعیت کاربر به سرور بر اساس ISP مخابراتی کاربر بازدیدکننده به دست خواهد آمد. پس در این صورت بازدیدکننده مستقیما به هاست یا سرور شما متصل نیست. بنابراین این کار موجب بهبود در عملکرد سایت شما خواهد شد.
۲- تمامی اطلاعاتی که قابل بروزرسانی نیستند، در یک شبکه CDN قابل ذخیره هستند تا در طول این شبکه بزرگ در سرتاسر دنیا از نزدیک ترین سرور در اختیار کاربر قرار گیرند. البته منظور ما از اطلاعاتی که بروزرسانی نمی شوند فایل هایی شامل تصاویر، جاوا اسکریپت، css و… است که نیازی به بروزرسانی ندارند اما سایر بخش ها که شامل محتوای صفحات می شود و از دیتابیس خوانده می شوند ذخیره سازی در شبکه CDN را ندارند و مستقیما از خود سرور بارگزاری می شوند. پس با این کار اگر هزینه ای که برای پهنای باند هاست یا سرور شما صرف می شود را کسر و برای تهیه و فعال سازی یک شبکه CDN استفاده کنیم برای ما خیلی بهتر خواهد بود، چرا که ضمن کاهش مصرف پهنای باند مصرفی قادر خواهیم بود امنیت سایت خود را در مقابل حملات DDOS افزایش دهیم.
۳- سرعت دسترسی به سایت در حالتی که CDN فعال نباشد در کشوری که سرور در آن قرار دارد در بالاترین سطح خود است بنابراین وقتی که سرور سایت ما داخل ایران قرار دارد و یک بازدیدکننده از کشوری مثل آمریکا بخواهد تا از سایت ما بازدید به عمل آورد نسبت به ما از سرعت پایینتری برخوردار خواهد بود، اما وقتی که CDN را روی سایت خود فعال کنیم این سرعت چه در حالتی که بازدیدکننده در نزدیک ترین موقعیت سرور و چه در دورترین موقعیت قرار داشته باشد به دلیل اینکه داده ها از نزدیک ترین سرور موجود در شبکه CDN لود می شوند از سرعت تقریبا یکسانی برخوردار خواهند بود و تفاوت خیلی محسوسی در سرعت وجود ندارد. برای اینکه بخواهید تا به این موضوع برسید می توانید سایتی را که از CDN استفاده کرده را توسط ابزاری مثل Pingdom یا GTmetrix تست کنید تا به این قضیه در حالت عملی پی ببرید.
آیا استفاده از CDN معایبی هم دارد؟
در پاسخ به این سوال باید گفت که استفاده از CDN برای سایت شما هیچ عیبی نداره و اکیدا توصیه می کنیم تا از آن استفاده کنید (در صورتی که که بازدیدکننده های شما از موقعیت سرور دور هستند) چرا که در صورت استفاده از CDN نه تنها چندین فاکتور مهم برای سئو و بهینه سازی سایت را دریافت می کنید، بلکه قادر هستید تا امنیت سایت خود را نیز بالا ببرید و با خیالی آسوده به فعالیت در سایت و بروزرسانی آن بپردازید. تنها چیزی که در CDN وجود دارد و البته نمی توان آن را به عنوان عیب و کاستی در نظر گرفت اسن است که هزینه راه اندازی cdn کاملا رایگان نیست. البته CDN های رایگان هم وجود دارند اما کلیه امکاناتی که یک CDN در اختیار شما قرار می گیرد در موارد رایگان فعال نیست و باید هزینه ای را برای فعال سازی چنین امکاناتی پرداخت نمایید.
چه تعداد CDN در سرتاسر جهان وجود داره؟
نمی توان به صورت دقیق و قطع تعیین نمود که چه تعداد شبکه CDN در جهان وجود دارد چرا که تعداد شبکه های CDN به دلیل اینکه برای مصارف عمومی و خصوصی مورد استفاده قرار می گیرند در حال افزایش هستند. اما از جمله معروف ترین شبکه های CDN می توان به مواردی مثل MaxCDN، VPS.net، Amazon Cloudfront، cloud Flare و… اشاره کرد که کلود فلر از جمله شبکه های CDN است که با استفاده از آن قادر هستید تا از امکانات رایگانی که این CDN در اختیار شما قرار می گیرد استفاده کنید.
معرفی CDN های رایگان
انواع مختلفی از شبکه های توزیع محتوا (CDN) در سرتاسر دنیا وجود دارد که هر کدام از آن ها بنا به امکاناتی که ارائه می دهند نسخه های رایگانی را هم دارند که می توانید استفاده کرده و برای دسترسی بیشتر به امکانات موجود نسخه تجاری خریداری کنید. یکی از معروف ترین این شبکه های توزیع محتوا CDN کلودفلر (Cloudflare) و همچنین ابر اروان برای کاربران ایرانی است که با استفاده از آن قادرید تا از امکانات رایگانی که به شما ارائه می دهد در سایت خود استفاده کنید و از مزایای آن بهرهمند شوید.
از جمله این مزیت ها می توان به جلوگیری از خرابکاری ها با حمله به سرور سایت، استفاده از سیستم کش برای توزیع فایل های سایت در سرورهای موجود این شبکه CDN در سرتاسر دنیا و… اشاره نمود. اگر CDN کلودفلر را برای سایتخود انتخاب کرده اید از مقاله آموزش تصویری از استفاده از Cloud Flare جهت بهبود سرعت و امنیت کمک بگیرید. اما اگر از سیستم مدیریت محتوای محبوب وردپرس استفاده می کنید می توانبد تا از افزونه رایگان jetpack استفاده نمایید که امکان استفاده از شبکه CDN اختصاصی این شرکت را در اختیار شما قرار می دهد و قادر هستید تا از آن به عنوان شبکه توزیع محتوا در سایت خود استفاده کنید.