شبکه تحویل محتوا یا همان CDN ابزاری به حساب میآید که باعث شده تا ما بتوانیم حجم زیادی از دادهها را در چند ثانیه از سایتهایی که سرورهای آنها هزاران کیلومتر با ما فاصله دارند دریافت کنیم؛ برای مثال دیدن فیلمهایی با کیفیت HD در سایتهایی مانند یوتیوب.
این در حالی است که طبق گفته صاحبنظران این حوزه، سرعت دریافت داده از یک سایت توسط کاربر با فاصله جغرافیایی سرورهای آن سایت از کاربر رابطه مستقیم دارد. به عبارت دیگر به مقداری که سرورهای یک سایت از شما دورتر است، سرعت دریافت داده از آن سایت باید برای شما کاهش پیدا کند.
پس چرا در عمل وقتی که مثلاً در یک سایت ایرانی که سرور آن فاصله زیادی با ما ندارد فیلمی را تماشا میکنیم نسبت به زمانی که در یک سایت خارجی که سرور آن هزاران کیلومتر با ما فاصله دارد فیلمی را تماشا میکنیم تفاوتی در سرعت سایت حس نمیکنیم؟
شبکه تحویل محتوا، اکسیری است که فاصله جغرافیایی را در دنیای اینترنت بیاهمیت کرده است. در این مقاله خواهیم دید که CDN چیست، چه کاربردهایی دارد و استفاده از آن چه مزایا و معایبی برای شما میتواند داشته باشد.
شبکه تحویل محتوا (Content Delivery Network) چیست؟
در واقع CDN یک شبکه توزیع محتوا به صورت غیرمتمرکز است. به جای اینکه همه بازدیدکنندگان یک سایت به صورت مستقیم به سرور اصلی سایت وصل بشوند، سرورهایی در نقاط مختلف جغرافیایی قرار میگیرند و با توجه به اینکه کدام سرور به موقعیت بازدیدکننده سایت نزدیکتر است دادهها از طریق آن سرور به بازدیدکننده ارسال میشود. در واقع اطلاعات سایت از مراکز دادهای فراخوانی میشود که به موقعیت کاربر نزدیکتر باشد.
شبکههای تحویل محتوا از سیستم کَشینگ (caching) استفاده میکنند که در واقع همان کپیبرداری از فایلهای مربوط به سایت شما و قراردادن آنها در نزدیکترین مرکز داده به شماست. بدین ترتیب به دلیل اینکه دادههای سایت شما از نزدیکترین مرکز داده به کاربر از نظر جغرافیایی دریافت میشود، با سرعت بیشتری برای کاربران و بازدیدکنندگان سایت شما لود خواهد شد.
میتوان شبکههای تحویل محتوا را شبیه شبکه ای از دستگاههای خودپرداز یک بانک دانست. بانکها مانند سرورهای اصلی اینترنت برای اینکه مردم دسترسی سریعتر و آسانتری به خدمات بانکی داشته باشند به جای اینکه در هر خیابان و محلهای یک شعبه احداث کنند، دستگاههای خودپرداز را معرفی کردند که امکان ارائه خدمات در نزدیکترین فاصله نسبت به مشتریها را دارند.
شبکههای تحویل محتوا از جایی اهمیت بیشتری پیدا کردند که با ظهور محتواهای گرافیکی و ویدئویی که ترافیک زیادی را مصرف میکردند دیگر ادامه روشهای گذشته برای انتقال داده از سرور به رایانه کاربر امکانپذیر نبود و یا حداقل با دشواریهای زیاد و نارضایتی کاربر همراه بود. برای درک بهتر این موضوع خیابانهای باریک 60 سال قبل ایران را در نظر بگیرید که بهراحتی جوابگوی خودروهای کمی که وجود داشت بودند ولی اکنون نیاز به بزرگراههایی با چندین لاین و بلکه بزرگراههای چندطبقه داریم تا رفتوآمد خودروها امکانپذیر باشد. شبکههای تحویل محتوا نیز برای نمایش محتواهای سنگینی مانند ویدئوهای 4k و HD، پخش زنده و انتشار پادکست الزامی است.
در حقیقت میتوان گفت که هدف اصلی شبکههای تحویل محتوا کاهش زمان دسترسی به یک سایت برای بازدیدکنندگان آن سایت است. به همین دلیل هست که اگر سایتهایی نظیر گوگل را که از CDN استفاده میکنند باز کنید میبینید که خیلی سریع در کوتاهترین زمان ممکن در دسترس قرار میگیرد اما در مقابل سایتی که سرور آن در نقطه جغرافیایی دورتری قرار دارد با سرعت کمتری لود میشود.
یک CDN امکان انتقال سریع دادههای مورد نیاز بارگذاری شامل صفحات HTML، فایلهای JavaScript ، stylesheets، عکس و فیلم را میدهد. یک CDN در اصل شبکهای از سرورهای به هم متصل شده است که هدف آن ارائه محتوا در سریعترین زمان، با کمترین هزینه، بهصورت قابل اطمینان و ایمن است.
چه کسانی از شبکههای تحویل محتوا استفاده میکنند؟
در حال حاضر تقریباً هر کسی که از اینترنت استفاده میکند در واقع در حال استفاده از شبکه تحویل محتوا است زیرا هدف اصلی از ایجاد شبکههای تحویل محتوا بهبود تجربه کاربران هنگام استفاده از اینترنت است. اما طرفهای استفاده کننده از شبکههای تحویل محتوا فقط به کاربران عمومی اینترنت محدود نمیشود، بلکه طیف وسیعتری از ذینفعان را در برمیگیرد. در قسمت زیر نشان میدهیم که چه کسانی از شبکههای تحویل محتوا استفاده میکنند:
کاربران نهایی
سایتها و اپلیکیشنهایی که از طریق CDN به کاربران ارائه میشوند سریعتر هستند و از ثبات بیشتری برخوردارند. این در حالی است که اغلب کاربران اصلاً متوجه استفاده از شبکه تحویل محتوا نمیشوند چون تکنولوژی معمولاً مانند کارگردان یک فیلم کار خود را در پشت صحنه انجام میدهد.
صاحبان اپلیکیشن و سایت
شرکتهایی که کار فروش آنلاین انجام میدهند، شرکتهایی که فضای ابری ارائه میدهند و شرکتهایی که به پخش ویدئو میپردازند نمونههایی از شرکتهایی هستند که از CDN برای ایجاد یک تجربه دلچسب در بین بازدیدکنندگانشان استفاده میکنند. این شرکتها بهخوبی میدانند که از این راه میتوانند وفاداری مشتریان را افزایش دهند، نرخ تبدیل مشتریان بالقوه به مشتریان بالفعل را بهبود دهند و تعداد کسانی که در زمان کوتاهی از سایت خارج و دیگر بازنمیگردند را کاهش دهند.
ارائهدهندگان سرویسهای شبکه (Network Service Providers)
با توجه به سیل علاقهای که نسبت به تماشای ویدئو و عکس در بین مردم دنیا به وجود آمده، ارائهدهندگان سرویسهای شبکه از شبکه تحویل محتوا برای بالا بردن رضایت مشتریان، تسهیل در ارائه خدماتی که برای کاربران ارزش افزوده دارند، کاهش بار ترافیک در شبکههای مرکزی و همچنین فروش خود شبکه تحویل محتوا به کاربرانی که نیاز دارند استفاده میکنند.
تفاوت میزبانی اشتراکی و شبکه تحویل محتوا چیست؟
شبکه تحویل محتوا کار میزبانی محتوایی که بر روی سایت قرار دارد را انجام نمیدهد و به هیچ عنوان نمیتوان شبکه تحویل محتوا را جایگزین میزبانی اشتراکی کرد. یک CDN ، امکان تغییر محتوا را همانند میزبان وب ندارد. CDN با دریافت محتوای یک وبسایت و ذخیره آن به صورت کَش (cache) و توزیع این محتوا در مناطق جغرافیایی مختلف باعث میشود تا زمان کمتری برای انتقال اطلاعات موردنیاز جهت بارگذاری وبسایت نیاز باشد و به عملکرد کلی وبسایت کمک میکند.
شبکههای تحویل محتوا چگونه کار میکنند؟
ارائهدهندگان، به منظور بهبود سرعت، سرورهای CDN را در نقاط مبادله بین شبکههای مختلف قرار میدهند. نقطه تبادل اطلاعات یا Internet exchange point یک زیرساخت فیزیکی است که از طریق آن مراکز ارائهدهنده خدمات اینترنتی (ISPs) و شبکههای تحویل محتوا (CDNs) قادر خواهند بود که ترافیک اینترنت را بین شبکههای خود مبادله کنند.
در این نقاط مبادله اینترنت (IXP)، ارائهدهندگان اینترنت به یکدیگر متصل میشوند تا دسترسی به ترافیک ناشی از شبکههای مختلف را فراهم کنند. با اتصال CDN به این نقاط پرسرعت و یکپارچه، ارائهدهنده CDN قادر است هزینهها و زمان حملونقل و تحویل داده با سرعت بالا را کاهش دهد.
فعالیت شبکههای تحویل محتوا در چند مرحله اتفاق میافتد:
1. کپی اطلاعات
از فایل کدهای CSS ، فایل کدهای جاوااسکریپت، فایلهای مولتی مدیا و سایر فایلهای مورد نیاز موجود در سایت شما بر روی سرورهای مختلفی که در سراسر جهان قرار دارند و با عنوان nodes شناخته میشوند، یک نسخه کپی ذخیره میشود.
2. فراخوانی اطلاعت
زمانی که کاربری وارد سایت شما شود و نیازمند این اطلاعات است، فایلهایی که در مرحله قبل بر روی سرورهای فرعی یک CDN ذخیره شده است از نزدیکترین سرور یا node بر اساس موقعیت جغرافیایی بازدیدکننده فراخوانی یا به اصطلاح دانلود میشوند.
3. تحویل اطلاعات
پس از دانلود، اطلاعات موردنظر به بازدیدکننده سایت نمایش داده میشود.
در حقیقت با اتصال یک سایت به سرور شبکه CDN دادههای قابل ذخیرهسازی آن مثل عکسها، فیلمها و فایلهای صوتی در سرتاسر شبکه CDN که در نقاط مختلف جهان قرار دارند به صورت کَش ذخیره میشوند. به عبارت سادهتر وقتی شما فیلمی را در سایت خود منتشر میکنید یک نسخه کش شده از این فیلم به تمامی سرورهایی که در این شبکه CDN وجود دارند ارسال شده و در آنها ذخیره میشوند.
زمانی که یک بازدیدکننده به سایت یا وبلاگ شما وارد میشود محتوای سایت شما را از نزدیکترین سرور نزدیک به خود دریافت میکند که این نزدیکی کاربر به سرور بر اساس ISP مخابراتی کاربر به دست میآید. از طرفی اگر حملاتی به سایت اتفاق افتد با مانع برخورد خواهد کرد، زیرا در واقع حمله به جای سایت به سمت CDN منحرف میشود و شخص مهاجم باید از سد CDN رد شود تا به سرور اصلی شما برای حملاتی مثل حملات DDoS برسد که تقریبا غیرممکن است.
شبکه تحویل محتوا چه کاربردی دارد؟
فرض کنید از ایران بخواهید یک وبسایت استرالیایی که سرورهای آن هم در استرالیا هست را مشاهده کنید. اگر قرار بود درخواست شما مستقیماً از طریق سرور اصلی سایت پاسخ داده شود مدت زمان زیادی طول میکشید و تجربه کسلکنندهای برای شما به جا میگذاشت. از طرف دیگر صاحبان آن سایت هم میدانند که اگر راهکاری برای رفع این مشکل نداشته باشند تعداد زیادی از مخاطبان خود را در سراسر دنیا از دست خواهند داد. راهحل این مشکل استفاده از شبکه تحویل محتوا است؛ بنابراین برای رفع این مشکل، CDN یک نسخه ذخیره شده از محتوای وبسایت استرالیایی را در چندین مکان جغرافیایی در سراسر جهان ذخیره میکند و از طریق نزدیکترین سرور به ایران محتوای سایت را به شما تحویل میدهد.
همان طور که در بالا اشاره شد با استفاده از CDN میتوانیم با سرعت بیشتری به دادههای مورد نیاز دسترسی داشته باشیم. شبکههای تحویل محتوا انواع مختلفی دارند که میتوانند به صورت خصوصی صرفا برای یک کشور یا یک شرکت خاص در دسترس باشند مثل شبکه CDN چایناکَش در کشور چین یا CDN گوگل که صرفا در اختیار خود گوگل قرار دارد و مورد استفاده قرار میگیرد. از مشهورترین CDN های خارجی میتوان به CDN کلود فلر، آکادمی و آمازون اشاره کرد.
تکنولوژی CDN باعث میشود کاربران مختلف در سراسر جهان در هنگام استفاده از سرویسهای آنها هیچگونه تفاوتی را حس نکنند و همگی با بالاترین سرعت ممکن از نزدیکترین سرور شبکه تحویل محتوا استفاده کنند.
مزایای استفاده از CDN چیست؟
· افزایش سرعت بارگذاری و نمایش صفحات وب برای بازدیدکنندگان
این موضوع به دلیل لود دادهها از نزدیکترین CDN و همچنین فشردهسازی فایلها اتفاق میافتد.
· افزایش امنیت سایتها
در شبکه تحویل محتوا بیشتر ارتباطها بهصورت غیرمستقیم و محافظت شده هستند. CDN میتواند وبسایت را با گواهینامههای TLS/SSL ایمن نگه دارد و از استانداردهای احراز هویت، رمزگذاری و یکپارچگی اطمینان حاصل کند. CDN به عنوان یک مانع جدی در برابر حملات DDoS عمل میکند.
· میزان اطمینان بالا
وقتی یک یا چند مورد از سرورهای شبکه تحویل محتوا از کار بیفتند سازوکاری طراحی شده که ترافیک را به سمت سرورهای دیگر سوق دهد. علاوه بر این، وقتی که یک مرکز داده به صورت کلی دچار اختلال میشود، از طریق ابزاری تحت عنوان Anycast، ترافیک را کاملا به سمت مراکز داده دیگری هدایت میکند تا وقفهای در دسترسی کاربران به سایت ایجاد نشود.
· کاهش هزینههای پهنای باند
از هزینههای اصلی یک وبسایت، هزینه مصرف پهنای باند برای میزبانی وبسایت است. از طریق ذخیره و بهینهسازی اطلاعات، CDNها میتوانند میزان دادهای را که سرور مبدأ باید ارائه دهد را کاهش دهند، بنابراین هزینه میزبانی وبسایت برای صاحبان آن کاهش مییابد.
· هزینه پایین استفاده از شبکه تحویل محتوا
به دلیل استفاده چندین نفر از سرورها، هزینهها کاهش چشمگیری پیدا میکنند.
· افزایش مدتزمان دسترسی به محتوای سایت
ترافیک زیاد یا مشکلات سختافزاری میتواند عملکرد وبسایت را مختل کند. Uptime یا همان مدت زمانی که سایت در دسترس هست با استفاده از CDN به حداکثر خود میرسد و بهندرت دسترسی کاربران به سایت قطع میشود. به دلیل ماهیت توزیع شده، CDNها میتوانند عملکرد خیلی بهتری نسبت به سرور اصلی ارائه دهند و در نتیجه بازدیدکنندههای سایت رضایت بیشتری خواهند داشت.
· مقیاسپذیری بالا
شبکه تحویل محتوا ترافیک شبکه را به طور مساوی در چندین سرور توزیع و در صورت نیاز به افزایش ترافیک، به دلیل مقیاسپذیری بالا افزایش ترافیک بهسرعت انجام میشود.
· راهاندازی آسان
· بهبود سئوی سایت
معایب استفاده از CDN
· عدم صرفه اقتصادی برای سایتهای کم بازدید
· تغییر در محتوا و ساختار سایت به کُندی انجام میشود
پس اگر وبسایت شما باید به صورت مستمر بهروزرسانی شود، استفاده از شبکه تحویل محتوا گزینه مناسبی نمیتواند باشد.
تفاوت شبکه تحویل محتوا با فضای ابری چیست؟
فضای ابری به شما این امکان را میدهد که به جای اینکه از فضای ذخیرهسازی رایانه خودتان استفاده کنید از فضایی که شرکتهای ارائهدهنده سرویسهای ابری در اختیار شما میگذارند استفاده کنید. البته علاوه بر فضای ذخیرهسازی میتوانید از قدرت بالای پردازشگرهای ارائهکنندگان سرویسهای ابری نیز برای پردازش دادههایی که رایانههای در دسترس شما توان انجام آن را ندارند استفاده کنید. همچنین، سرویسهای ابری به کاربران این امکان را میدهند تا بدون اینکه نرمافزاری را بر روی رایانه یا گوشی همراه خود نصب کنند، بتوانند به آن دسترسی داشته باشند. برای اینکه اطلاعات دقیقی درباره امکاناتی که سرویسهای ابری ارائه میکنند به دست بیاورید، مقاله فضای ابری چیست را مطالعه کنید.
از طرف دیگر، شبکه تحویل محتوا در واقع شبکهای از سرورهایی است که در مناطق مختلف دنیا پراکنده شدهاند و به یک سرور اصلی وصل هستند. هدف سرورهایی که در مناطق مختلف دنیا قرار دارند انتقال سریع اطلاعات به کاربران سایتها و بارگزاری سریع سایتها میباشد. برای رسیدن به این هدف، از طریق کَشینگ (caching) دادههای مربوط به سایت که در سرور اصلی قرار دارد بر روی سرور منطقهای که کاربر سایت در آن است کپی میشود. در این صورت به دلیل نزدیکتر بودن سرور به کاربر و کمشدن مسافت جغرافیایی، سرعت انتقال داده بالاتر میرود.
نتیجه گیری
در این مقاله شما را با مفاهیم مرتبط با شبکه تحویل محتوا آشنا کردیم و توضیح دادیم که این شبکهها چگونه کار میکنند و چه مزایا و معایبی دارند. شکی وجود ندارد که اگر شبکه تحویل محتوا را از دنیای اینترنت حذف کنیم، عملکرد سایتها با اختلالات جدی روبرو میشود و قطعاً گرایش جدیدی که نسبت به محتوای ویدئویی به وجود آمده امکان تحقق نداشت.