شبکه توزیع محتوا (CDN) سیستمی از سرورهای پراکنده در نقاط مختلف جهان است که نسخهای از فایلهای سایت را ذخیره و از نزدیکترین موقعیت به کاربر ارائه میکند. این کار باعث افزایش چشمگیر سرعت بارگذاری، کاهش فشار روی سرور اصلی و بهبود امنیت سایت میشود. اگر میخواهید بدانید CDN دقیقاً چگونه کار میکند و چه تاثیری روی سئو و تجربه کاربری دارد، در ادامه بهصورت کامل بررسی میکنیم.
شبکه تحویل محتوا (CDN) چیست؟
شبکه تحویل محتوا یا CDN (Content Delivery Network) مجموعهای از سرورهای توزیعشده در نقاط مختلف جهان است که با ذخیرهسازی نسخهای کششده از محتوای وبسایت (مانند تصاویر، فایلهای CSS و JavaScript)، آن را از نزدیکترین سرور به کاربر ارائه میدهد. هدف اصلی CDN کاهش فاصله بین کاربر و سرور، افزایش سرعت بارگذاری صفحات و بهبود عملکرد کلی سایت است.
در شبکه تحویل محتوا، بهجای اینکه هر درخواست مستقیماً به سرور اصلی (Origin) ارسال شود، درخواستها مدیریت شده و از نزدیکترین نود (Nod) پاسخ میدهد. این موضوع علاوه بر افزایش سرعت، باعث کاهش مصرف پهنای باند، افزایش پایداری سایت در ترافیک بالا و بهبود امنیت در برابر حملات DDoS میشود. به همین دلیل، استفاده از CDN به یکی از ضروریترین راهکارها برای بهینهسازی سرعت و سئو سایت تبدیل شده است.
مثالی برای درک بهتر کارکرد CDN
برای درک ساده CDN، آن را شبیه دستگاههای خودپرداز (ATM) در نظر بگیرید. فرض کنید بانک شما فقط یک شعبه اصلی در پایتخت دارد؛ اگر برای برداشت پول مجبور باشید همیشه به همان شعبه مراجعه کنید، هم زمان زیادی از شما گرفته میشود و هم صفهای طولانی ایجاد میشود.
اما در واقعیت، بانکها با قرار دادن دستگاههای ATM در نقاط مختلف شهر، پول را به شما از نزدیکترین دستگاه ارائه میدهند. CDN هم دقیقاً همین کار را برای وبسایت انجام میدهد؛ بهجای اینکه همه کاربران به یک سرور اصلی (Origin) درخواست بفرستند و پاسخ بگیرند، محتوای سایت از نزدیکترین سرور CDN به آنها تحویل داده میشود. نتیجه؟ سرعت بیشتر، فشار کمتر روی سرور اصلی و تجربه کاربری بهتر.
اجزای تشکیلدهندۀ CDN چیست؟
بهطور کلی، میتوان گفت CDNها از 3 جزء اصلی تشکیل شدهاند: Origin Server، Edge Servers و سیستم کش.
1. سرور مبداء (Origin Server)
این همان هاست سایت است؛ سرور یا سرورهایی که میزبان سایت و محتویاتش هستند. سرورهای مبداء، منبع اصلی محتواهایی هستند که توسط سرورهای لبه (جلوتر راجعبه آنها هم صحبت میکنیم) کش میشوند. وقتی CDN به فایلی که کاربر میخواهد دسترسی نداشته باشد، سراغ Origin Server میرود و در آنجا جستوجویش را ادامه میدهد.
پس از پیدا کردن فایلهای لازم، آنها را کش میکند تا به مراجعان بعدی نمایش دهد.
2. سرورهای لبه (Edge Servers)
گفتیم که سیدیان، متشکل از مجموعهای از سرورها است؛ همچنین، فهمیدیم که منبع اصلی اطلاعات و فضایی که سایت روی آن نگهداری میشود، با نام سرور مبداء یا Origin Server شناخته میشود.
پس یک یا تعدادی از این مجموعه سرورها، Originها هستند؛ هر سرور دیگری، سرور لبه یا Edge Server نامیده میشود.
یادتان است که بالاتر مثالی زدیم که در آن، سایت اصلی روی سروری در تبریز نگهداری میشد؟ در آن مثال، سرور مبداء، همانی بود که در تبریز قرار داشت. کاربر زاهدانی مثال ما از طریق سروری در شیراز به محتوای سایت دسترسی پیدا میکرد؛ یعنی سرور شیراز، یک سرور لبه محسوب میشود.
بهطور کلی، آن دسته از سرورهایی که حاوی اطلاعات کششده هستند، سرور لبه نام دارند.
3. حافظۀ پنهان (Caching)
تا اینجای مقاله، چندین بار به Caching اشاره کردیم. حالا در این قسمت میخواهیم آن را کامل توضیح دهیم.
سومین جزء اصلی هر شبکه تحویل محتوا، Caching یا کش کردن است. به آن حافظۀ پنهان هم میگویند.
این سیستم، به CDN اجازه میدهد که کپیای از محتواهای پراستفادۀ سایت، روی سرورهای لبه داشته باشد. وقتی درخواستی برای بازدید صفحهای از سایت، از جانب یک کاربر ارسال میشود، سیدیان قبل از مراجعه به سرور مبداء، بررسی میکند که آیا اطلاعات لازم روی سرورهای لبه کش شده است یا نه؟
اگر اطلاعات روی Edge Serverها موجود بودند، از همانجا پاسخ کاربر را که منتظر نمایش صفحه است، ارسال میکند. اگر نتواند اطلاعات را روی سرورهای لبه پیدا کند، سراغ Origin Server میرود و پس از Cache کردن آنها، پاسخ را از نزدیکترین سرور لبه برای کاربر میفرستد.
پس در واقع، منظور از کش کردن، نگهداری از کپی محتواها (مخصوصاً استاتیک، مثل تصاویر و متون ثابت)، روی سرورهای لبه است. این کار به منظور پاسخ به کاربر از نزدیکترین سرور و افزایش سرعت انجام میشود.
| ⭐ محتوای مرتبط: کش سایت چیست؟ (در این مقاله با انواع سیستم کش سایت و نحوه فعالسازی آنها آشنا میشوید.) |
تفاوت CDN و هاست چیست؟
هاست (Host) محلی است که فایلها و اطلاعات اصلی وبسایت شما در آن ذخیره میشود؛ یعنی همان سرور اصلی (Origin) که سایت روی آن قرار دارد. تمام دادههای سایت (از کدها گرفته تا تصاویر و دیتابیس) روی هاست نگهداری میشوند.
در مقابل، CDN (شبکه توزیع محتوا) یک سرویس مکمل است، نه جایگزین هاست. CDN نسخهای از محتوای استاتیک سایت را در سرورهای مختلف (نقاط جغرافیایی گوناگون) ذخیره میکند و آن را از نزدیکترین سرور به کاربر ارائه میدهد.
بنابراین، شما برای راهاندازی سایت به هاست نیاز دارید، اما برای افزایش سرعت، کاهش فشار روی سرور و بهبود تجربه کاربری، از CDN در کنار هاست استفاده میشود.
| ⭐ محتوای مرتبط: هاست چیست؟ |
نحوه کار CDN به زبان ساده
هدف اصلی CDN کاهش تأخیر است. تأخیری که هنگام لود شدن سایت وجود دارد، میتواند کاربران را کلافه کند؛ حتی اگر بسیار کوتاه باشد.
سیدیان با کاهش فاصله بین سرور و موقعیت مکانی بازدیدکننده، تلاش میکند این تأخیر را به حداقل برساند. بسته به گسترۀ جغرافیایی پخش شدن مخاطبان هدفتان، هرقدر شبکه تحویل محتوایی که از آن استفاده میکنید، سرورهای لبۀ بیشتری داشته باشد، سایتتان هم علمکرد بهتری خواهد داشت.
مثلاً وقتی مخاطبان هدفتان فقط داخل ایران باشند، استفاده از یک CDN که در اقصینقاط کشورمان سرور داشته باشد، کارتان را راه میاندازد؛ اما اگر فعالیتتان بینالمللی است و احتمال میدهید از 5 قاره بازدیدکننده داشته باشید، باید سراغ گزینهای بروید که در گرداگرد کرۀ خاکی سرور داشته باشد.
تصویر زیر را ببینید:
در این تصویر، یک سرور مبداء داریم که با رنگ بنفش مشخص شده است. Origin Server ما در آمریکای شمالی واقع شده است. علاوهبر آن، دو سرور لبه یا Edge Server داریم که در اروپا و آسیا قرار دارند.
همانطور که میبینید، سرورهای لبه به سرور مبداء متصل هستند و اطلاعات آن را کش میکنند.
همچنین، چند بازدیدکننده از نقاط مختلف دنیا داریم که هرکدام، با خطوط سبز رنگ به نزدیکترین سرور لبه متصل شدهاند؛ یعنی پاسخ آنها، بهجای سرور مبداء، از سرور لبهای که کمترین فاصله را دارد داده میشود.
به این ترتیب، خیال دارندۀ سایتی که اطلاعاتش روی سرور مبداء قرار گرفته است راحت میشود؛ چون هر کاربر به نزدیکترین سرور لبه متصل میشود و میزان تأخیر در لود شدن کامل سایت، تا حد بسیار زیادی کاهش پیدا میکند.
مثلاً اگر یک VOD جهانی روی سرور مبداء قرار داشته باشد، اگر کاربری برزیلی بخواهد در آخر هفته مشغول تماشای فیلم روی این سایت شود، بهجای دریافت دادهها از Origin Server که دور از محل زندگی او است، اطلاعات را از سرور لبۀ نزدیکی که محتوا روی آن کش شده است دریافت خواهد کرد.
توجه داشته باشید که همۀ سرورهای CDN، در بهترین دیتاسنترها با شدیدترین تدابیر امنیتی قرار میگیرند؛ بنابراین، خیالتان از بابت مشکلاتی مثل تراکم شبکه و هرگونه مشکل در اتصال راحت خواهد بود.
در بخش بعدی، بررسی میکنیم که شبکه تحویل محتوا چه تأثیری روی عملکرد سایت میگذارد.
شروع قیمت از
840 هزار تومان
CDN چطور عملکرد سایت را بهبود میبخشد؟
خب مهمترین تأثیر، همانطور که بالاتر هم گفتیم، کاهش Latency یا تأخیر در زمان لود شدن کامل سایت است.
علاوهبر این، CDN به کاهش فشار روی سرور مبداء کمک میکند. وقتی همۀ ترافیک به سوی یک سرور روانه شود، احتمال پایین آمدن سرعت آن وجود دارد و ممکن است سایت از دسترس خارج شود؛ اما وقتی این ترافیک بین سرورهای مختلف تقسیم شود، آپتایم کلی سایت بهبود پیدا میکند؛ در نتیجه، عمکلرد سایت بهتر میشود.
فایدۀ دیگر سیدیان در رابطه با بهبود عملکرد سایت، به کاهش هزینههای پهنای باند مربوط میشود. نیازی نیست سرور مبداء به تمام درخواستها مستقیماً پاسخ بدهد؛ پس صرفهجویی قابلتوجهی در مصرف پهنای باند خواهیم دید.
CDN با تقسیم بار ترافیک، کمک میکند تا همۀ کاربران، تجربۀ خوشایندی در استفاده از یک سایت داشته باشند؛ همانطور که میدانید، تجربۀ کاربری خوب، یکی از مهمترین لازمههای موفقیت سایت است؛ بنابراین، شبکه تحویل محتوا از این جهت هم به بهبود عمکلرد سایت کمک میکند.
اجازه دهید مثالی مرتبط از جادههای ماشینرو داشته باشیم. برای رسیدن از تهران به مازندران، دو مسیر اصلی وجود دارد:
- جادۀ چالوس؛
- جادۀ هراز.
برای این مثال از جادۀ فیروزکوه چشمپوشی میکنیم.
فارغ از اینکه یکی به غرب مازندران میرسد و دیگر به شرق آن، بسیاری مورد اول را بهخاطر طبیعت زیبایش ترجیح میدهند. چه میشود وقتی همه تصمیم بگیرند سراغ جاده چالوس بروند؟ خب ترافیک سرسامآوری رخ خواهد داد که ممکن است ساعتها ماشینها را گیر بیندازد.
در چنین حالتی، اگر بخشی از ماشینها به جاده هراز بروند، ترافیک از بین میرود و همه میتوانند سریعتر و راحتتر به مقصد برسند.
منظور از تقسیم بار توسط CDN چنین چیزی است.
جدا از همۀ اینها، سیدیان در افزایش امنیت سایت هم مؤثر است. اجازه دهید این مورد را بهطور کاملتری در بخش بعد بررسی کنیم.
شبکه تحویل محتوا چه کمکی به امنیت وبسایت میکند؟
اولین مورد را بالاتر هم گفتیم. CDN سایت را در برابر حملات DDoS ایمن میکند!
با استفاده از CDN، وقتی هکرها موفق به پایین آوردن یکی از سرورها شوند، دیگر سرورها همچنان به فعالیت ادامه میدهند و سایت را بالا نگه میدارند. همچنین، CDNها سیستمی پیشفرض برای شناسایی حملات DDoS و گرفتن دسترسی از کاربران غیرمجاز دارند.
جدا از این، امنیت اطلاعات یکی از مهمترین خط قرمزهای تمام شبکههای تحویل محتوا محسوب میشود. CDNها با استفاده از گواهیهای SSL و TSL، سطح بالایی از احراز هویت و رمزنگاری را اجرا میکنند.
| ⭐ محتوای مرتبط: گواهینامه SSL چیست؟ در این مقاله انواع گواهی SSL را به شما معرفی میکنیم. |
بسیاری از CDNها، یک فایروال شبکه یا WAF را هم ارائه میکنند. این نوع فایروالها، برای محافظت از سایت در برابر حملاتی مثل SQL Injection و XSS کاربرد دارند.
وقتی سایتی از CDN استفاده میکند، آدرس آیپی سرور مبداء پنهان و به افزایش امنیت آن کمک میشود.
علاوهبر اینها، در صورت استفاده از CDN، میتوانید برای آیپیها بلکلیست و وایتلیست درست کنید؛ آنهایی که اجازۀ دسترسی دارند در وایتلیست قرار میگیرند و آیپیهای غیرمجاز به بلکلیست منتقل میشوند؛ یعنی نمیتوانند به سایت دسترسی داشته باشند.
در کل، سیدیان میتواند نقشی تکمیلی و البته مهم را در تأمین امنیت سایت ایفا کند. ناگفته نماند که پیادهسازی و استفادۀ درست از آن، شروط لازم و ضروری برای بالا بردن امنیت سایت هستند.
بیایید با چند مورد از شناختهشدهترین تأمینکنندگان CDN آشنا شویم.
محبوبترین ارائهدهندگان CDN کدامند؟
در مقیاس بینالمللی، دو مورد از باقی معروفتر هستند و کاربران بیشتری دارند.
Cloudflare
بدون شک، شناختهشدهترین شبکه تحویل محتوا همین کلودفلر است. با استناد به آمار سایت InfoQ، نزدیک به 20 درصد از ترافیک کل اینترنت توسط این شبکه پشتیبانی میشود.
این مجموعه ادعا میکند در هر ثانیه 46 میلیون درخواست HTTP را پردازش میکند.
همین حالا میلیونها سایت از کلودفلر استفاده میکنند و روزانه دهها هزار سایت به این آمار اضافه میشوند. البته کلودفلر رنج گستردهتری از خدمات را ارائه میکند و کاربرد آن محدود به شبکه تحویل محتوا نیست.
Akamai
بزرگترین رقیب Cloudflare، همین Akamai است. این شبکه با بیش از 365 هزار سرور در 135 کشور، بزرگترین CDN دنیا محسوب میشود.
این شرکت آمریکایی در اوایل هزارۀ جدید میلادی تأسیس شد و اکنون بهجایی رسیده است توسط بسیاری از شرکتهای بزرگ دنیا مورداستفاده قرار میگیرد. برای مثال، از بین 10 سرویس استریم ویدئو برتر دنیا، هر 10 مورد مشترکین این مجموعه هستند.
اینها دو نمونۀ بینالمللی بودند. جالب است بدانید که CDN ایرانی هم داریم.
ابرآروان
فارغ از تمام حاشیههایی که همیشه پیرامون این شرکت وجود دارد، ابرآروان یکی از بهترین و معروفترین CDNهای ایرانی است.
سرورهای این مجموعه در 5 قاره و 30 کشور قرار دارند که باعث میشوند بهرهگیری از آن، کمک بزرگی به کاهش تأخیر یا Latency سایتها بکند. این شرکت با ارائۀ ویژگیهای نمونههای بینالمللی، مثل تأمین امنیت حداکثری، گزینۀ نسبتاً خوبی برای سایتهای ایرانی محسوب میشود.
نکته: توصیه ما استفاده از گزینههای خارجی، بهخصوص کلودفلر است؛ اما اگر به هر دلیلی قصد استفاده از CDN داخلی داشتید، ابرآروان میتواند گزینه مناسبی باشد.
کار سایت بدون CDN لنگ میماند!
با توجه به تمام چیزهایی که گفتیم، احتمالاً شما هم موافق باشید که نمیتوان سایتی داشت و برای آن CDN تهیه نکرد!
در این مقاله، فهمیدیم CDN چیست و چطور کار میکند. شبکه تحویل محتوا، با بهبود عملکرد سایت، بهطور مستقیم و غیرمستقیم، روی بهبود سئو سایت هم اثرگذار است؛ به همین خاطر، توصیه میشود برای سایتتان، فارغ از هدف راهاندازی آن، CDN تهیه کنید.
همچنین، در انتهای مطلب، 3 ارائهدهندۀ معروف CDN را معرفی کردیم که دو مورد خارجی بودند، یعنی Cloudflare و Akamai. به یک مورد ایرانی هم اشاره کردیم که ابرآروان بود.
اگر همچنان سؤالی در رابطه با این نوع شبکهها، یعنی CDN دارید، در قسمت کامنتها برایمان بنویسید.
سوالات متدوال
هاست CDN چیست؟
از نظر فنی، عبارت هاست CDN معنایی ندارد؛ اما ممکن است منظور برخی از این عبارت، همان سرور مبداء یا Origin Server باشد که میزبان اطلاعات اصلی است.
مزایا و معایب شبکه تحویل محتوا چیست؟
از مهمترین مزایا میتوان به بهبود عمکلرد سایت و افزایش امنیت اشاره کرد. در رابطه با معایب هم باید گفت چشمگیرترین موارد، پرداخت هزینههای اضافی (اما لازم) و محدودیت کنترل بر چگونگی ارسال محتوا هستند.
3 جزء اصلی تشکیلدهندۀ CDN چیست؟
سرور مبداء (Origin Server)، سرور لبه (Edge Server) و کشینگ (Caching)، یا به قول برخی حافظۀ پنهان، 3 جزء اصلی تشکیلدهندۀ شبکه تحویل محتوا هستند.
منابع: Cloudflare








دیدگاه ها
اولین نفری باشید که دیدگاه خود را ثبت می کنید