اگر بخواهیم در جواب سوال اینکه شبکه توزیع محتوا یا CDN چیست و یا مزایای استفاده و کاربرد CDN ، پاسخی مناسب بدهیم باید از ابتدا با تاریخچه و کلیات آن آشنا شویم.
شبکه توزیع محتوا یا CDN، یک شبکه توزیعشده از سرورها و مراکز داده در مکانهای مختلف جغرافیایی است که به توزیع و تحویل محتوا به کاربران با حداقل تاخیر در شبکه ارتباطی کمک میکند.
شبکه توزیع محتوا، این کار را با کاهش فاصله مکانی بین محتوا و موقعیت جغرافیایی کاربران از طریق مراکز داده راهبردی به نام نقطه حضور یا پاپ انجام میدهد.
شبکههای توزیع محتوا همچنین شامل سرورهای کَش (Cache) هستند که فایلها را به صورت موقت ذخیره میکنند تا با سرعت بیشتری به کاربران تحویل دهند.
و زمان بارگذاری صفحه وب را تسریع بخشند و مصرف پهنای باند را کاهش دهند.
سی دی ان امکان انتقال سریع داراییهای مورد نیاز برای بارگیری محتوای اینترنتی، از جمله صفحات HTML، فایلهای جاوا اسکریپت، شیوه نامه ها، تصاویر و ویدئوها را فراهم می کند.
محبوبیت خدمات CDN همچنان در حال رشد است و امروزه اکثر ترافیک وب از طریق CDNها از جمله ترافیک سایتهای اصلی مانند فیس بوک، نتفلیکس و آمازون ارائه میشود،
CDNها با پیکربندی درست خود به محافظت از وب سایتها در برابر حملات مخرب رایج مانند (DDOS) کمک میکنند.
سی دی ان امکان انتقال تمام اطلاعات ثابت مانند تصاویر، کدهای CSS، فایلهای ویدئویی، JAVASCRIPT، MP3 و PDF را در سریع زمان ممکن فراهم میآورد.
در زیر به جزئیات بیشتری در مورد نحوه عملکرد شبکههای توزیع محتوا خواهیم پرداخت.
بیشتر بدانید : عملکرد CDN چگونه است و (CDN (Content Delivery Network چیست؟
خدمات شبکه توزیع محتوا یا CDN برای کسبوکارهایی که در زمینه ارائه انواع محتوا به کاربران فعال هستند، یک نیاز ضروری است.
به عنوان مثال این موارد را در نظر بگیرید تا متوجه شوید که بعضی از موارد پرکاربرد CDN چیست :
همه این کسبوکارها باید از سرعت در ارائه محتوا، دسترسیپذیری خدمات، مقیاسپذیری منابع و امنیت اپلیکیشنهای خود اطمینان حاصل کنند.
اینجاست که خدمات شبکه توزیع محتوا CDN بهعنوان یک مزیت منحصر به فرد میدرخشد.
بیشتر بدانید : سرور ابری ایران ساعتی !
شبکههای توزیع محتوا یا همان CDN تقریباً بیست سال پیش برای مقابله با چالش ارسال سریع حجم عظیمی از دادهها به کاربران در اینترنت ایجاد شدند.
امروزه آنها بهعنوان نیروی محرکه ارائه محتوای وبسایتها تبدیل شدهاند و همچنان توسط دانشگاهیان و توسعهدهندگان تجاری مورد تحقیق و بهبود قرار میگیرند.
اولین شبکههای تحویل محتوا یا به عبارتی CDN در اواخر دهه ۹۰ ساخته شدند و تاکنون ۱۵ تا ۳۰ درصد از ترافیک اینترنت جهانی را بر عهده دارند.
به دنبال آن، رشد محتوای پهنای باند و پخش صدا، ویدئو و دادههای مرتبط از طریق اینترنت باعث توسعه شبکههای توزیع محتوا بیشتری شده است.
بهطور کلی، تکامل شبکههای توزیع محتوا را می توان به چهار نسل دستهبندی کرد:
قبل از ایجاد واقعی شبکههای توزیع محتوا، فناوریها و زیرساختهای مورد نیاز در حال توسعه بودند.
این دوره با ظهور سرور فارمها، ذخیرهسازی سلسله مراتبی، بهبود در سرورهای وب و استقرار پروکسی کَش شناخته شد.
قابلیتهای Mirroring، Caching و Multihoming نیز فناوریهایی بودند که راه را برای ایجاد و رشد شبکههای توزیع محتوا هموار کردند.
اولین تکرار شبکههای توزیع محتوا عمدتاً بر ارائه محتوای پویا و ثابت متمرکز بود، زیرا تنها این دو نوع محتوا در وب بودند.
سازوکار اصلی در آن زمان ایجاد و پیادهسازی کپیها، مسیریابی هوشمند و روشهای رایانش در سرور لبه (Edge Server) بود. اپلیکیشنها و اطلاعات در سرورها تقسیم میشدند.
سپس شبکههای توزیع محتوایی آمدند که بر پخش محتوای ویدیویی و صوتی یا خدمات ویدیویی بر حسب تقاضا مانند نتفلیکس برای کاربران و خدمات خبری تمرکز داشتند.
این نسل همچنین مسیری را برای ارائه محتوای وبسایتها به کاربران موبایل باز کرد و شاهد استفاده از فنون P2P و رایانش ابری بودیم.
نسل سوم شبکههای توزیع محتوا CDN همان جایی است که ما اکنون در آن قرار گرفته ایم و هنوز با تحقیق و توسعه جدید در حال تکامل است.
میتوانیم انتظار داشته باشیم که شبکههای توزیع محتوا در آینده بهطور فزایندهای برای جامعه به یک مدل تبدیل شود.
این بدان معنی است که سامانهها توسط کاربران متوسط و افراد عادی هدایت میشوند.
انتظار میرود که خودپیکربندی و خودمدیریتی تحویل خودکار محتوا سازوکار فناوری جدید باشد.
انتظار میرود کیفیت تجربه مشتری برای کاربران محرک اصلی برای آینده این شبکهها باشد.
شبکههای توزیع محتوا یا CDN در ابتدا برای مقابله با فشارهای شدید پهنای باند تکامل یافتند،
زیرا تقاضای پخش ویدئو همراه با تعداد فراهمسازان شبکه توزیع محتوا در حال افزایش بود.
با پیشرفتهای ارتباطی و روند مصرف جدید در هر نسل، قیمت خدمات شبکه توزیع محتوا CDN نیز کاهش یافت و باعث شد تا به یک فناوری برای عموم تبدیل شود.
همانطور که رایانش ابری همچون سرور ابری و سرور مجازی به طور گسترده پذیرفته شد، شبکههای توزیع محتوا یا همان CDN نیز نقش کلیدی در تمام لایههای عملیات کسبوکارها ایفا کردهاند.
این شبکهها کلید مدلهایی مانند SaaS (خدمات ابری نرمافزار)، IaaS (خدمات ابری زیرساخت)، PaaS (خدمات ابری پلتفرم) و BPaaS (خدمات ابری فرایند کسبوکار) هستند.
شبکههای توزیع محتوا با کاهش فاصله فیزیکی بین کاربر و مبدا (یک وبسایت یا یک سرور اپلیکیشن) کار میکنند.
این خدمات شامل یک شبکه توزیعشده محلی و یا جهانی از سرورها است که محتوا را بسیار نزدیکتر از مبدا در سرور ذخیره میکند.
برای درک بهتر این موضوع، به بررسی نحوه دسترسی کاربر به محتوای یک وبسایت، با استفاده و بدون استفاده از شبکه توزیع محتوا میپردازیم تا متوجه شویم که نحوه کارکرد CDN چیست.
زمانی که کاربر وارد یک آدرس وبسایت را در مرورگر وارد میکند، ارتباطی مشابه شکل زیر برقرار میکند.
نام وبگاه (آدرس وب سایت) با استفاده از Local DNS یا LDNS (مانند سرور DNS ارائهشده توسط ISP یا یک سرور DNS عمومی) به یک آدرس IP تبدیل میشود.
اگر DNS یا LDNS نتواند آدرس IP را پیدا کند، به صورت بازگشتی از سرورهای DNS بالادستی خود سوال میکند.
در نهایت، درخواست ممکن است به سرور Authoritative DNS که زون مربوطه در آن میزبانی شده، ارسال میشود. این سرور DNS آدرس را پیدا میکند و آن را به کاربر برمیگرداند.
سپس مرورگر کاربر، مستقیماً به سرور مبدا متصل شده و محتوای وبسایت را دانلود میکند.
هر درخواست بعدی مستقیماً توسط سرور مبدا تحویل داده می شود و محتوای ثابت به صورت محلی در رایانه کاربر ذخیره میشوند.
اگر کاربر دیگری از یک مکان مشابه یا دیگری سعی کند به همان سایت دسترسی پیدا کند، همین توالی را طی خواهد کرد.
در هر بار، درخواستهای کاربر به سرور مبدا ارسال میشوند و سرور مبدا با ارسال محتوا پاسخ میدهد.
هر مرحله در طول مسیر یک تاخیر یا “Delay” به آن اضافه میکند.
اگر سرور مبدأ دور از کاربر واقع شده باشد، زمان پاسخگویی، از تأخیر قابل توجهی رنج میبرد و تجربه کاربری نامطلوبی را ارائه میدهد.
اما با حضور شبکه توزیع محتوا یا همان CDN، فرایند کمی متفاوت است.
هنگامی که درخواستهای DNS توسط کاربر ارسال میشوند، آن درخواست توسط LDNS وی دریافت میشود و آن درخواست به یکی از سرورهای DNS شبکه توزیع محتوا ارسال میشوند.
این سرورها بخشی از زیرساخت Global Server Load Balancer (یا “GSLB”) هستند.
GSLB به عملکرد تعادل بار (Load Balancing) کمک میکند که بهمعنای واقعی کل اینترنت را اندازهگیری میکند و اطلاعات مربوط به همه منابع موجود و بازده آنها را ردیابی میکند.
با این دانسته، GSLB درخواست DNS را با استفاده از بهترین آدرس سرور لبه (معمولاً در نزدیکی کاربر) پیدا میکند.
یک “لبه” مجموعهای از سرورها است که محتوای وب را ذخیره موقت (کَش) و ارائه میکند.
پس از تکمیل درخواست DNS، کاربر درخواست HTTPS را به سرور لبه ارسال میکند.
هنگامی که سرور لبه درخواست را دریافت میکند، سرورهای GSLB به سرورهای لبه کمک میکنند تا درخواستها را در مسیر بهینه به سرور مبدا ارسال کنند.
سپس سرورهای لبه دادههای درخواستی را دریافت کرده و آنها را به کاربر درخواستکننده تحویل میدهند و آن دادهها را به صورت محلی ذخیره میکنند.
تمام درخواستهای بعدی کاربر از مجموعه دادههای محلی بدون نیاز به پرسوجو مجدد از سرور مبدا تحویل داده میشوند.
محتوای ذخیرهشده در سرور لبه حتی اگر به هر دلیلی سرور منبع در دسترس نباشد، قابل تحویل است.
بیشتر بدانید : کوبرنتیز چیست و چه کاربردی دارد !
شبکههای توزیع محتوا با به حداقل رساندن تأخیر در شبکه، بهبود عملکرد وبسایت و کاهش هزینههای پهنای باند به کسبوکارها کمک میکنند تا محتوا را بهطور مؤثرتری به کاربران تحویل دهند.
یکی دیگر از ویژگیهای منحصر به فرد شبکههای توزیع محتوا این است که به سرورهای لبه این اجازه را میدهد که محتوا را از قبل دریافت کنند.
این کار تضمین میکند که دادههایی که قرار است تحویل داده شوند در تمام مراکز داده شبکه توزیع محتوا یا CDN ذخیره میشوند.
در اصطلاح شبکه توزیع محتوا یا همان CDN، این مراکز داده نقطه حضور یا “پاپ” نامیده میشوند.
پاپها با نزدیک کردن فاصله محتوای وب به مکان بازدیدکننده وبسایت، به کاهش زمان رفت و برگشت کمک میکنند.
به عنوان مثال، فرض کنید که شما یک کمپین تبلیغاتی برپا میکنید و خدمات یا محصولات خود را در میان میلیونها مشتری بالقوه تبلیغ میکنید.
احتمالا انتظار دارید که تعداد زیادی از مشتریان پس از خواندن پست به وبسایت شما مراجعه کنند.
اگر با اینفلوئنسرهایی سروکار دارید که نرخ تعامل با مخاطبان خوبی دارند، حجم ترافیک میتواند افزایش بیشتری داشته باشد.
آیا میتوانید مطمئن باشید که سرور مبدأ شما میتواند این افزایش حجم بازدیدکننده را مدیریت کند؟
در چنین سناریویی، شبکههای توزیع محتوا یا همان CDN میتوانند به توزیع بار بین سرورهای لبه کمک کنند و اطمینان دهند که همه بازدیدکنندگان، پاسخی از وبسایت شما دریافت خواهند کرد.
از آنجایی که تنها بخش کوچکی از درخواستهای کاربران به سرور مبدأ میرسند، سرورهای شما افزایش شدید ترافیک، خطاهای ۵۰۲ و کانالهای شبکه بالادستی بیش از حد را تجربه نخواهند کرد.
بسته به اندازه و نیازهای کسبوکار شما، مزایای شبکههای توزیع محتوا را می توان به ۴ جزء مختلف تقسیم کرد:
یکی از اولین مزایای CDN تسریع شدن بارگزاری صفحات وبسایت میباشد.
با فعالسازی توزیع محتوای وب و نزدیک کردن آن به بازدیدکنندگان وبسایت با استفاده از یک سرور شبکه توزیع محتوا (در میان سایر بهینهسازیها)، بازدیدکنندگان وبسایت شما زمان بارگذاری صفحه وب سریعتری را تجربه میکنند.
بازدیدکنندگان معمولاً تمایل بیشتری به کلیک کردن یا خروج از یک وبسایت با زمان بارگذاری صفحه بالا (به دلیل کندی) دارند.
کندی بارگذاری یک وبسایت همچنین میتواند بر رتبهبندی صفحات وب در موتورهای جستجو تأثیر منفی بگذارد.
بنابراین داشتن شبکه توزیع محتوا CDN میتواند نرخ ریزش بازدیدکننده را کاهش دهد و مدت زمانی که افراد در سایت شما میگذرانند را افزایش دهد.
به عبارت دیگر، وبسایتی که سریع بارگذاری میشود، بازدیدکنندگان بیشتری را برای مدت طولانیتری در داخل خود نگه میدارد.
یکی دیگر از مهمترین مزایای استفاده از شبکه توزیع محتوا CDN کاهش استفاده از پهنای باند و در ادامه کاهش هزینهها میباشد.
هر بار که یک سرور مبدا به یک درخواست پاسخ می دهد، پهنای باند مصرف می شود.
هزینههای مصرف پهنای باند یک هزینه عمده برای یک کسبوکار است.
شبکههای توزیع محتوا میتوانند از طریق ذخیرهسازی موقت (کَش) و سایر فنون بهینهسازیها، مقدار دادههایی که یک سرور مبدا باید به کاربران ارسال کند را کاهش دهند،
بنابراین هزینههای میزبانی را برای صاحبان وبسایت کاهش میدهند.
بیشتر بدانید : سرور ابری رایگان !
حجم زیاد ترافیک وب یا خرابی سختافزاری سرور یک وبسایت میتواند عملکرد عادی آن را مختل کند و منجر به از دسترس خارح شدن آن شود.
یک شبکه توزیع محتوا یا همان CDN بهلطف ماهیت توزیعشده آن میتواند، ترافیک وب بیشتری را مدیریت کند و بهتر از بسیاری از سرورهای مبدا در برابر خرابی سختافزار مقاومت کند.
علاوه بر این، اگر یک یا چند سرور شبکه توزیع محتوا CDN به دلایلی آفلاین و از دسترس خارج شوند، سایر سرورهای عملیاتی میتوانند ترافیک وب را دریافت کرده و خدمات را بدون وقفه ادامه دهند.
از همان فرایندی که شبکههای توزیع محتوا برای مدیریت جهش ترافیک استفاده میکنند، آن فرایند را برای کاهش حملات DDoS ایدهآل میکند.
در این نوع حملات عوامل مخرب، اپلیکیشن یا سرورهای مبدا شما را با ارسال تعداد زیادی درخواست تحت تأثیر قرار میدهند.
هنگامی که سرور شما به دلیل حجم درخواست زیاد از دسترس خارج میشود،این مسئله میتواند تأثیر بسزایی بر دسترسپذیری وبسایت برای مشتریان بگذارد.
یک شبکه توزیع محتوا CDN اساساً بهعنوان یک پلتفرم حفاظتی و مقابله با حملات DDoS با استفاده از سرورهای GSLB و سرورهای لبهای عمل میکند تا بار را بهطور مساوی در کل ظرفیت شبکه توزیع کند.
شبکههای توزیع محتوا همچنین میتوانند مدیریت گواهینامه (SSL Certificate) و تولید و تمدید خودکار گواهینامه را ارائه دهند.
بهبود امنیت وبسایتها یکی دیگر از مهمترین مزایای استفاده از CDN میباشد.
مزایای یک شبکه توزیع محتوا فقط به مطالب توضیح دادهشده در بالا محدود نمیشود.
یک پلتفرم مدرن شبکه توزیع محتوا یا همان CDN مزایای بسیار بیشتری را به تیمهای مهندسی و کسبوکار شما ارائه میدهد.
از یک شبکه توزیع محتوا میتوان برای مدیریت دسترسی کاربران از مناطق مختلف جهان استفاده کرد.
در حالی که شما اجازه دسترسی به برخی از مناطق (کشورها) را به کاربران میدهید، میتوانید دسترسی سایر کاربران از مناطق دیگر را مسدود کنید.
شما بهراحتی میتوانید منطق اپلیکیشن را به لبه و نزدیکتر به مشتریان خود آفلود کنید یا میتوانید سرصفحهها (Header) و بدنه (Body) درخواست/پاسخ را پردازش و تبدیل کنید، درخواستها را بین سرورهای مبدا مختلف بر اساس ویژگیهای درخواست مسیردهی کنید یا وظایف احراز هویت را به سرورهای لبه محول کنید.
حجم زیادی از ترافیک نیاز به یک زیرساخت برای جمع آوری و پردازش گزارش (لاگ) برای تجزیه و تحلیل بیشتر دارد.
شبکههای توزیع محتوا گزارشها را جمع آوری میکنند و یک رابط کاربری برای تجزیه و تحلیل آسان دادههای تولیدشده توسط بازدیدکنندگان، ارائه می کنند.
امنیت اطلاعات بخشی جداییناپذیر از یک شبکه توزیع محتوا است.
شبکههای توزیع محتوا به روشهای زیر به محافظت از دادههای یک وبسایت کمک میکنند.
یک شبکه توزیع محتوا میتواند با ارائه گواهینامههای امنیت لایه انتقال (TLS)/Secure Sockets Layer (SSL) که استاندارد بالایی از احراز هویت، رمزگذاری و یکپارچگی را تضمین میکند، به محافظت از وبسایت کمک کند.
اینها گواهینامههایی هستند که تضمین میکنند که پروتکلهای خاصی در انتقال دادهها بین کاربر و وبسایت استفاده میشود.
هنگامی که دادهها از طریق اینترنت منتقل میشوند، در برابر رهگیری توسط عوامل مخرب آسیب پذیر میشوند.
این مشکل با رمزگذاری دادهها با استفاده از پروتکلی حل میشود که فقط گیرنده مورد نظر بتواند اطلاعات را رمزگشایی و بخواند.
TLS و SSL پروتکلهایی هستند که دادههای ارسالشده از طریق اینترنت را رمزگذاری میکنند.
این پروتکل یک نسخه پیشرفتهتر از لایه سوکتهای امن (SSL) است.
اگر وبسایتی به جای http:// با https:// شروع شود، میتوانید تشخیص دهید که آیا از گواهی TLS/SSL استفاده میکند یا خیر، که این نکته نشانگر یک ارتباط امن بین مرورگر و سرور است.
بیشتر بدانید : CDN رایگان ابر آسیاتک !
از آنجایی که شبکه توزیع محتوا CDN در لبه شبکه مستقر است، به عنوان یک حصار مجازی با امنیت بالا در برابر حملات به وبسایت و اپلیکیشن تحت وب شما عمل میکند.
زیرساختهای توزیعشده و موقعیت روی لبه نیز یک شبکه توزیع محتوا را برای مسدود کردن سیل DDoS ایدهآل می کند.
از آنجایی که باید با این سیلها خارج از هسته زیرساخت شبکه شما مقابله شود، شبکه توزیع محتوا یا همان CDN آنها را بر اساس منشأ، روی پاپهای مختلف پردازش میکند و از اشباع سرور مبدا جلوگیری میکند.
شبکههای توزیع محتوا یا CDN همچنین میتوانند تهدیدها را مسدود کرده و رباتها و خزندههای سوء استفاده کننده را از استفاده از پهنای باند و منابع سرور شما محدود کنند.
این عمل به محدودسازی سایر حملات و هک نیز کمک میکند و هزینههای پهنای باند شما را کاهش میدهد.
محتوای ثابت به آن دسته از داراییهای شما اشاره دارد که قبل از تحویل به کاربران نیازی به تولید، پردازش یا اصلاح ندارند.
این محتواها ممکن است تصاویر یا سایر فایلهای رسانهای، انواع فایلهای باینری یا بخشهای ثابت اپلیکیشن شما مانند HTML، CSS، کتابخانههای جاوا اسکریپت، یا حتی JSON، HTML یا هر نوع پاسخ پویا که اغلب تغییر نمیکنند، باشد. همانطور که قبلا ذکر شد، میتوانید از قبل چنین محتوایی را ذخیرهسازی موقت کنید.
سپس، زمانی که باید چنین محتوایی را از بین برده و آن را از سرورهای لبه حذف کنید، میتوانید مسیرهای مورد نظر را پاکسازی (Purge) کنید.
شتابدهی پویا (داینامیک) برای چیزی اعمال میشود که به دلیل ماهیت پویایی آن نمیتوان روی سرور لبه ذخیره سازی موقت (کَش) کرد.
یک اپلیکیشن که از WebSocket استفاده میکند را تصور کنید که به رویدادها از یک سرور یا API گوش میدهد، که پاسخ آنها بسته به اعتبار، موقعیت جغرافیایی یا سایر پارامترها متفاوت است.
در این حالت بهسختی میتوان از سرورهای ذخیرهسازی موقت در لبه که کاری شبیه ذخیرهسازی برای محتوای ثابت انجام میدهند استفاده کرد.
در برخی موارد، یکپارچگی بیشتر بین اپلیکیشن و شبکه توزیع محتوا ممکن است کمک کند اما در مواردی هم چیزی غیر از ذخیرهسازی موقت باید استفاده شود.
برای شتابدهی به محتوای پویا، زیرساخت شبکه بهینهسازیشده شبکههای توزیع محتوا و الگوریتمهای مسیریابی درخواست/پاسخ پیشرفته استفاده میشود.
بهطور معمول در یک شبکه توزیع محتوا یا CDN، شما برای ترافیک مصرفشده توسط کاربران خود و تعداد درخواستها هزینه پرداخت میکنید.
علاوه بر این، درخواستهای HTTPS به منابع رایانشی بیشتری نسبت به درخواستهای HTTP نیاز دارند، که بار بیشتری را روی تجهیزات فراهمساز شبکه توزیع محتوا ایجاد میکند.
به همین دلیل، ممکن است هزینههای اضافی برای درخواستهای HTTPS بپردازید، در حالی که درخواستهای HTTP هزینه اضافی برای شما ندارند.
همانطور که رایانش ابری همچون سرور ابری و سرور مجازی به سمت لبه حرکت میکند، پردازنده به موضوعی برای پرداخت هزینه تبدیل میشود.
درخواستها ممکن است مسیر پردازشی مختلفی داشته باشند و در نتیجه به زمانهای متفاوتی از پردازنده نیاز دارند. از این روز پرداخت هزینه بر اساس تعداد درخواستها غیر عملی است و عملیتر این است که بر اساس میزان ترافیک + زمان استفاده از پردازنده هزینه پرداخت شود.
شبکه توزیع محتوا توسط کسبوکارها با اندازههای مختلف برای بهینهسازی حضور شبکه، دسترسیپذیری و ارائه تجربه کاربری برتر برای مشتریان استفاده میشود.
یک شبکه توزیع محتوا به ویژه در صنایع زیر محبوب است که در ادامه با چند نمونه از کاربرد CDN در این صنایع آشنا میشویم :
امیدواریم از مطلب ” CDN چیست و چه کاربردها و مزایایی دارد ” استفاده کافی را کرده باشید.