مرکز آموزش اولین دیتا

تعریف cdn و معرفی کاربرد آن

0

آکادمی اولین دیتا در این مقاله شما را با واژه CDN که مخفف واژه Content Delivery Network میباشد آشنا می کند شما با مطالعه این مقاله می توانید به درک عمیق و صحیحی نسبت به CDN و شبکه های تحویل محتوا برسید. اما پیش از شروع به بررسی موارد گفته شده ابتدا باید ببینیم که تعریف cdn از کجا شروع شد و چه تعریف تخصصی برای آن وجود دارد؟ در پاسخ به این سوال باید گفت که طبق تعریف اتحادیه بین المللی مخابرات به هر گونه شبکه ای که برای تحویل محتوای دیجیتالی بهینه سازی شده باشد شبکه تحویل محتوا می گویند.

منظور از این بهینه سازی افزایش سرعت دسترسی به اطلاعات لازم می باشد حال اینکه چه ترفندی برای دسترسی به داده ها با سرعت بالا به کار رفته به این شکل می باشد که وقتی یک شبکه cdn ساخته میشود سرورهایی در نقاط مختلف جهان و در کشورهای مختلف با طول جغرافیایی مشخص و تعیین شده ای کانفیگ و مستقر میشوند و در نهایت با دریافت داده ها از سرور اصلی و ذخیره آن به صورت کش شده میان و بر اساس موقعیت جغرافیایی بازدیدکننده که بر اساس ISP مخابراتی کاربر شناسایی میشوند داده ها را از نزدیک ترین cdn به کاربر تحویل می دهند تا بتواند با سرعت بیشتری به این داده ها دسترسی داشته باشد. به همین دلیل اگر سایت هایی نظیر گوگل را که از CDN استفاده میکنند باز کنید میبینید که خیلی سریع در کوتاهترین زمان ممکن برای شما بالا می آید اما در مقابل یک سایتی که سرور آن داخل کشور باشد و صفحه ای در حجم کم مثل گوگل داشته باشد میبینید که باز هم در مقایسه با گوگل دیرتر باز میشود.

تعریفcdn و معرفی کاربرد آن

همانطور که اشاره شد با استفاده از cdn میتوانیم تا با سرعت بیشتری به داده های مورد نیاز دسترسی داشته باشیم. شبکه تحویل محتوا یا همان cdn با استفاده از سرورهایی که در سرتاسر دنیا توزیع شده و با توجه به موقعیت جغرافیایی کاربر از طریق نزدیک‌ترین سرور به کاربر محتوای ذخیره شده را به وی ارائه می دهد. این سرویس در افزایش سرعت تحویل محتوا و پهنای باند در وب سایت‌های با ترافیک بالا و وب سایت‌های جهانی مانند گوگل، یاهو، فیس بوک و… بسیار تأثیرگذار است. cdn ها انواع مختلفی دارند که میتوانند به صورت خصوصی صرفا برای یک کشور یا یک شرکت خاص در دسترس باشند مثل شبکه CDN چایناکش در کشور چین یا cdn گوگل که صرفا در اختیار خود گوگل قرار دارد و مورد استفاده قرار میگیرد و یا اینکه میتوانند تا به صورت عمومی در دسترس باشند تا هرکسی که لازم دارد از آن برای وبسایت خود استفاده کند که از مشهورترین این مورد میشود به CDN کلود فلر، آکادمی، آمازون و… اشاره کرد که اگر شما هم سایتی دارید که به سرعت بالای آن اهمیت میدهید و همچنین با حملات به هاست و سرور سایتتان روبه رو هستید با استفاده از CDN میتوانید تا علاوه بر افزایش سرعت بالای سایت امنیت آن را هم در مقابل حملات افزایش دهید.

 شرکت‌های بزرگ اینترنتی برای کنترل ترافیک سایت و سرویس‌های اینترنتی خوداز چندین سرور در نقاط مختلف جهان برای ذخیره‌سازی و تحویل اطلاعات و امکانات خود در سراسر جهان استفاده می‌کنند. این امر باعث میشود کاربران مختلف در سراسر جهان در هنگام استفاده از سرویس‌های آن‌ها هیچگونه تفاوتی را حس نکنند و همگی با بالاترین سرعت ممکن از نزدیک‌ترین سرور شرکت مورد بحث استفاده کنند. این امکان بسیاری از مزایای دیگری مانند امنیت، همیشه در دسترس بودن، پخش صحیح فشار بر روی چندین سرور و … را به همراه دارد. اینجاست که تکنولوژی CDN بسیار کارآمد می‌شود و می‌تواند به تمامی شرکت‌های کوچک و وبمسترهای سایت‌های خصوصی قدرت شرکت‌های بزرگ را بدهد. این سرویس به این شکل کار میکند که از روی اطلاعات قابل دانلود سایت شما (مانند فایل کدهای CSS، فایل کدهای جاوااسکریپت، فایل‌های مولتی مدیا و …) یک نسخه کپی بر روی nodes یا همان سرورهای مختلف خود که در سراسر جهان دارد ذخیره میکند و پس از اینکه کاربری وارد سایت شما میشود و نیاز به این اطلاعات دارد همین داده های ذخیره شده برروی سرور که به صورت اشتراکی به بسیاری از سایت‌ها سرویس میدهند از نزدیکترین سرور یا node بر اساس موقعیت جغرافیایی بازدیدکننده دانلود و به آن تحویل داده می شوند. پس وقتی کاربری با مرورگر خود وارد سایت می شود اطلاعات از نزدیک‌ترین سرور موجود به آن کاربر ارسال می شود و هر گاه هم سرور CDN به هر دلیلی در دسترس نباشند مشکلی وجود ندارد و داده ها از سرور اصلی بارگزاری خواهند شد و تنها تفاوتی که وجود دارد همین مبحث سرعت خواهد بود که مانند قبل بستگی به ترافیک سرور کمتر خواهد شد. زیرا این اطلاعات قبلاً در سرورهای CDN ثبت (Cache) شده‌اند و نیاز به پروسه خاصی نیست تا در آن ثبت شوند با سرعت بیشتری برای بازدیدکننده در دسترس قرار گرفته و دانلود میشوند.

استفاده از 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 بر روی سایتتون اگر شما هم با چنین مشکلاتی مواجه شدید می توانید مجددا dns های پیشفرض هاست را بر روی دامنه خود قرار دهید و به حالت عادی بازگردید.

چه تعداد CDN در سرتاسر جهان وجود دارد؟

دقیقا نمی توان گفت چندین شبکه CDN در جهان وجود دارد، چرا که تعداد شبکه های CDN به دلیل اینکه برای مصارف عمومی و خصوصی مورد استفاده قرار میگیرند در حال افزایش هستند. اما معروفترین شبکه های CDN مانند  MaxCDN، VPS.net، Amazon Cloudfront، cloud Flare و… می باشند که کلود فلر از جمله شبکه های CDN است که با استفاده از آن میتوانید از امکانات رایگانی که این CDN در اختیار شما قرار میدهد استفاده کنید. اما اگه قصد دارید تا هزینه صرف کنید و از یک شبکه CDN تجاری استفاده کنید در میان نمونه های ذکر شده بهترین شرایط هزینه ای را شبکه MaxCDN دارد.

معرفی CDN های رایگان

انواع مختلفی از شبکه های توزیع محتوا(CDN) در سرتاسر دنیا وجود دارد که هر کدام از اینها بنا به امکاناتی که ارائه میدهند نسخه های رایگانی را هم دارند که میتوانید از آنها استفاده کرده و برای دسترسی بیشتر به امکانات موجود نسخه تجاری آنها را خریداری کنید. یکی از معروفترین این شبکه های توزیع محتوا مربوط می شود به CDN کلودفلر (Cloudflare) که با استفاده از آن میتونید تا از امکانات رایگانی که به شما ارائه میدهد در سایتتان استفاده کنید و از مزایای آن بهره‌مند شوید، که از جمله این مزیت ها میشود به جلوگیری از خرابکاری ها با حمله به سرور سایت، استفاده از سیستم کش برای توزیع فایل های سایت در سرتاسر سرورهای موجود این شبکه CDN در سرتاسر دنیا که یکی از شبکه های توزیع محتوا می باشد که گستردگی فراوانی را هم در سطح دنیا دارذ و مدام در حال گسترش پیدا کردن است. اگه تصمیم گرفتید تا از CDN کلودفلر برای سایتتان استفاده کنید میتوانید از مقاله آموزش نحوه استفاده از Cloud Flare برای افزایش سرعت و امنیت استفاده کنید. یکی دیگه از سرویس های ارائه دهنده CDN رایگان سایت incapsula هستش که دارای سرور های قدرتمندی برای CDN میباشد ولی متاسفانه استفاده از این سایت برای ایران محدوده وامکان استفاده از آن برای کاربران ایرانی وجود ندارد.

اما اگر از سیستم مدیریت محتوای محبوب وردپرس برای سایتتان استفاده میکنید میتوانید تا از افزونه رایگان jetpack استفاده کنید که امکان استفاده از شبکه CDN اختصاصی این شرکت را در اختیار شما قرار میدهد و میتوانید از آن به عنوان شبکه توزیع محتوا در سایت خود استفاده کنید.

امیدوارم که این مقاله از آکادمی اولین دیتا هم مورد توجه شما قرار گرفته باشد و با استفاده از آن توانسته باشید تا به مفهوم کلی و جامعی از شبکه های توزیع محتوا یا CDN دست پیدا کنید و با مزایا و معایبی که استفاده از شبکه CDN میتواند برای شما داشته باشد به یک انتخاب درستی برسید و با استفاده کردن از CDN ضمن افزایش سرعت بارگزاری سایت از مزیت های امنیتی CDN استفاده کنید تا سایت خودرا در برابر حملات DDOS ایمن کنید.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد .