شبکه تحویل محتوا یا CDN که مخفف کلمه Content Delivery Network می باشد را می توان به ستون فقرات یک شبکه و حتی کل اینترنت تشبیه کرد. در واقع این شبکه وظیفه دارد که محتوا را تحویل دهد. هر روزه ما به صورت ناخودآگاه ما با این شبکه تعامل داریم و زمانی که ما سایت ها را مرور می کنیم یا به خرید آنلاین می پردازیم، به تماشای یک ویدیو در YouTube می نشینیم و یا شبکه های اجتماعی را چک می کنیم، این شبکه در حال فعالیت برای ما می باشد.
این مهم نیست که در دنیای اینترنت چه کار می کنید و یا چه نوع محتوایی را مورد استفاده قرار می دهید، پشت تمامی کاراکتر ها، هر پیکسل از تصاویر و یا هر فریم از فیلم، CDN در حال فعالیت بوده و به شما کمک می کند تا محتوای مورد نظر خود را پیدا کنید.
برای درک این مسئله که چرا این شبکه به صورت گسترده ای مورد استفاده قرار داده می شود، در ابتدا باید دلیلی که باعث شده است انسان روی به استفاده از آن بیاورد بپردازیم. در واقع تاخیر در دسترسی به محتوا را می توان از مهم ترین دلایلی دانست که باعث شد CDN ها به صورت گسترده ای مورد استفاده قرار گیرند تا بتوانیم با سرعت بیشتری محتوا را مشاهده کنیم.
فاصله تاخیر با استفاده از CDN بسیار کاهش پیدا می کند. در واقع این شبکه به ما کمک می کند تا فاصله فیزیکی را کوتاه کرده و سرعت بالاتری را در رندر کردن سایت داشته باشیم. در ادامه بیشتر در خصوص چگونگی کارکرد این شبکه با شما صحبت خواهیم داشت.
CDN چطور کار می کند؟
برای این که بتوانیم فاصله میان دستگاه درخواست کننده و سرور مربوط به وب سایت را به کمترین میزان ممکن برسانیم، CDN یک نسخه از محتوای سایت را در چندین مکان جغرافیایی نگهداری می کند که به عنوان نقاط حضور یا PoP شناخته می شوند. PoP ها تعدادی سرور از نوع کش یا حافظه هستند که مسئولیت تحویل محتوا به بازدیدکنندگان در نزدیک ترین مکان ها را بر عهده دارند.
در اصل می توان گفت که CDN در واقع محتوای مربوط به سایت شما را در چندین مکان از لحاظ فیزیکی ذخیره سازی می کند تا پوشش سایت شما برای کاربران بیشتر شود. برای مثال شخصی در لندن یک وب سایت را در ایالات متحده آمریکا درخواست می کند. برای دسترسی به محتوای سایت، به جای ارائه درخواست به سرور در آمریکا، از PoP استفاده می کنیم که در کشور بریتانیا مسئولیت نگهداری محلی از محتوای سایت را انجام می دهد. این کار باعث می شود که درخواست بازدیدکننده در کوتاه ترین زمان پاسخ داده شود و از رفت و برگشت بی جهت دستورات جلوگیری می کند.
اگر بخواهیم نحوه کارکرد CDN را به صورت خلاصه ای بیان کنیم، باید بگوییم که این شبکه به صورت درونی محتوا را در خود نگهداری می کند تا در زمانی که کاربر درخواستی را ارائه داد، در کوتاه ترین زمان برای وی بازگردانی را انجام دهد.
چه کسانی از CDN استفاده می کنند؟
به طور کلی می توان گفت که امروزه بیشتر از نیمی از ترافیک مربوط به CDN ها بوده و در واقع تقریبا تمامی افراد استفاده کنندگان از اینترنت، از این سرویس استفاده می کنند. اعداد مربوط به میزان استفاده از این شبکه روز به روز در حال گسترش است و سرعت فوق العاده بالایی با ترکیب شدن با هاست ابری پیدا می کند.
در واقع حتی اگر به صورت رایگان بتوانید از CDN برای نگهداری از سایت خود استفاده کنید، باز هم این شبکه نمی تواند مناسب برای تمامی سایت ها باشد. برای مثال در صورتی که سایت شما به صورت کاملا بومی سازی شده و تنها برای منطقه خاص جغرافیایی امکان دسترسی دارد و بیشتر کاربران شما در یک منطقه خاص هستند، استفاده از این شبکه نمی تواند گزینه ای مناسب برای شما باشد. در واقع استفاده از CDN به سایت هایی کمک می کند که خدمات و محصولات خود را بدون محدودیت جغرافیایی و به صورت بین المللی ارائه می کنند و در غیر این صورت استفاده از CDN می تواند یک کار کاملا غیر ضروری به شمار رود.
با وجود این مسئله می توان گفت که باز هم بسیاری از سایت ها وجود دارند که علاقمند به فعالیت در مقیاس بزرگتر هستند و همین مسئله باعث می شود تا به استفاده از این شبکه روی بیاورند. در ادامه برخی از این سایت ها را به شما معرفی خواهیم کرد :
- سایت های مربوط به تبلیغات
- بازی های آنلاین
- تجارت الکترونیک
- رسانه ها و سرگرمی یا شبکه های اجتماعی
- سایت های خبری
- دولتی
- وب سایت دانشگاه های دولتی
با بلاک های ساختار CDN بیشتر آشنا شوید
برای درک هرچه بهتر ساختار این شبکه بهتر است با بلاک های ساختار این شبکه آشنا شوید، در ادامه با ما همراه باشید تا بیشتر در این خصوص با شما صحبت کنیم.
نقاط حضور (PoP)
Points of Presence یا PoP را می توان مراکز داده ای دانست که در موقعیت های استراتژیک قرار داده می شوند و عملکرد آن ها همانطور که بیان شد، نگهداری از داده های مربوط به سایت ها برای دسترسی ساده تر کاربران در محدوده جغرافیایی می باشد. در واقع این بلاک از یک شبکه توزیع محتوا یا CDN به ما کمک می کند تا زمان رفت و برگشت درخواست ها را کاهش دهیم. در هر PoP ما از چند سرور به صورت کش استفاده خواهیم داشت.
سرور های کش
سرور های کش را می توان یک گزینه بسیار مطلوب برای ذخیره سازی و تحویل فایل های مربوط به کش دانست. در واقع عملکرد آن ها در CDN باعث می شود که زمان لود سایت کاهش پیدا کرده و در عین حال میزان مصرف پهنای باند کاهش پیدا می کند. در هر سرور مربوط به کش شبکه توزیع محتوا، از چندین درایو مربوط به ذخیره سازی استفاده می شود که منابع RAM در آن بسیار تقویت شده می باشد.
حافظه های SSD/ HDD + RAM
درون سرور های کش مربوط به CDN، داده ها بر روی حافظه های SSD یا HDD ذخیره سازی می شوند و همچنین حافظه کوتاه مدت دسترسی تصادفی یا RAM قابلیت دسترسی به آن ها وجود دارد. فایل هایی که بیشتر از سوی کاربران درخواست می شوند، سریع تر در دسترس قرار می گیرند و RAM مورد استفاده در این سری از سرور ها از قدرت بسیار بالایی برخوردار می باشد.
استفاده از CDN را شروع کنید
برای این که بتوانید روی یک CDN کار کنید و از آن در وب سایت خود استفاده کنید، باید تمامی راه های ورودی ترافیک را بررسی کرده و تنظیمات DNS که مربوط به دامنه اصلی و زیر دامنه ها می شوند را تغییر دهید.
برای دامنه اصلی خود باید رکورد های خاصی را تغییر دهید تا در نهایت بتوانید یکی از محدوده های IP مربوط به CDN را پیدا کرده و همچنین برای هر زیردامنه باید رکورد مربوط به CNAME را تغییر دهید. این کار باعث می شود تا آدرس های مربوط به زیردامنه که از سوی سرویس دهنده CDN در دسترس شما قرار داده می شود، پس از خروج از DNS به جای این که به سمت سرور اصلی حرکت کنند، وارد شبکه توزیع محتوای مربوط به سایت شما باشد.
در صورتی که استفاده از این شبکه با توجه به قسمت بالا برای شما گیج کننده بود، جای نگرانی نبوده و شما قادر خواهید بود که دستورالعمل گام به گام استفاده از CDN را از سرویس دهنده ها دریافت کرده و فعال سازی این شبکه را انجام دهید. به طور کلی برای مدیران سایت، استفاده از این سرویس به چند کپی و پیست محدود می شود و حدود 5 دقیقه طول می کشد تا بتوانید از این قابلیت در سایت خود استفاده کنید.
با سیر تکاملی CDN ها آشنا شوید
CDN به صورت تجاری سازی شده و با قابلیت استفاده برای اولین بار از دهه 90 میلادی عرضه شد و مانند سایر فناوری های دیگر که در دهه های گذشته معرفی شده است، مراحل تکاملی مختلفی را پشت سر گذاشته است تا امروز به سرویسی فراگیر و قابل استفاده تبدیل شود.
سیر تکاملی که مربوط به این شبکه می شود، توسط نیروهای مختلفی انجام شد. در واقع روند های جدیدی که در نحوه مصرف محتوا ایجاد شد و پیشرفت های گسترده ای که در خصوص اتصال به اینترنت صورت گرفت در کنار انقلاب فیبر نوری و فناوری های ارتباطی دیگری که به تازگی معرفی شدند، باعث تکامل هرچه بیشتر این تکنولوژی می شدند. باید در نظر داشت که تکامل مربوط به CDN ها به سه نسل تقسیم بندی می شود و هر کدام از آن ها با قابلیت های به خصوص و فناوری ها و مفاهیم جدید در معماری این شبکه معرفی شدند. تمامی این تکامل را می توانیم مدیون پیشرفت هایی باشیم که در این حوزه انجام داده می شوند. در ادامه بیشتر در این خصوص با شما صحبت خواهیم داشت.
نسل اول CDN
این نسل از شبکه های توزیع محتوا در نسل اول به صورت Static کار می کردند و برای اولین بار در سال 1997 به بهره برداری رسید. فایل های HTML که به صورت ایستا ساخته شده بودند و فایل هایی که قابلیت دانلود داشتند را شامل می شدند. روش ذخیره سازی در این نسل به صورت ارسال از مبدا بود و همچنین توپولوژی شبکه در این نسب به صورت پراکنده در نظر گرفته شده بود. قیمت بسیار بالا را می توان از جمله مهم ترین مشکلاتی دانست که در استفاده از این نسل CDN وجود داشت.
نسل دوم
در این نسل از CDN که به نسل دوم معروف شده است، محتوا به صورت ایستا یا پویا ذخیره سازی می شد. ارسال از مبداء را می توان مهم ترین روش ذخیره سازی در نسل دوم دانست. استفاده از توپولوژی های تلفیقی در این شبکه و قیمت گذاری کمی ارزان تر نسبت به نسل اول و قابلیت استفاده برای شرکت های تجاری را از مهم ترین ویژگی های این نسل می توان بیان کرد.
نسل سوم
جدیدترین نسل CDN که در سال 2010 معرفی شد را نسل سوم می گویند. محتوا به صورت چند منظوره در این نسل ذخیره سازی می شود و شامل محتوای ایستا، پویا و سایر محتوای مالتی مدیا را شامل می شود. مانند سایر نسل ها، ارسال از مبداء را می توان مهم ترین روش ذخیره سازی در این نسل دانست. همچنین توپولوژی شبکه در این نسل به صورت ادغام شده در نظر گرفته شده است. امنیت بالا، عملکرد زیاد و در دسترس بودن از جمله دلایلی است که باعث می شود از این نسل CDN بیشترین استفاده شود. قیمت گذاری نیز تا حد بسیار زیادی مقرون به صرفه شده و تمامی افرادی که سایت دارند می توانند مشتری این خدمات باشند.
با پروکسی معکوس در CDN بیشتر آشنا شوید
به طور کلی می توان گفت که شبکه های مربوط به توزیع محتوا از فناوری شناخته شده به نام پروکسی معکوس استفاده می کنند. این توپولوژی در واقع سرور های Backend را بررسی کرده و در لبه محیط شبکه، تحویل محتوا را انجام می دهد. همین امر باعث شده است تا سرعت تحویل محتوا توسط CDN با رشد بسیار زیادی همراه باشد.
امروزه توپولوژی مرسوم به پروکسی معکوس که در CDN ها مورد استفاده قرار می گیرند، به دلایل زیر مورد استفاده قرار می گیرند :
امنیت وب سایت
امنیت سایبری را می توان یکی از مهم ترین دغدغه هایی دانست که باعث شده است بسیاری از افراد به استفاده از این فناوری روی بیاورند. در واقع با استفاده از این تکنولوژی در CDN شما قادر خواهید بود که امنیت بسیار بالایی را داشته باشید و همچنین از حمله سایبری به سایت شما جلوگیری به عمل می آورد. در واقع به این دلیل که پروکسی معکوس بر روی لبه سایت شما قرار دارد، حملات DDoS را تا حد بسیار زیادی کاهش می دهد.
تعادل بار
تعادل بار را می توان به معنای قرار دادن یک گارد ترافیکی جلوی سرور های شما دانست. در واقع جریان درخواست ها با استفاده از CDN کاهش پیدا می کند و از این روی شما می توانید سرعت بالاتری را در ارائه خدمات داشته باشید. واضح است که با توجه به عملکرد بیان شده از CDN استفاده از این سرویس می تواند حجم قابل توجهی از ترافیک ورود به سایت شما را کاهش داده و همین مسئله باعث می شود که تعادل بار یا توزیع بار با استفاده از این شبکه برای شما محقق شود.