رفتن به محتوای اصلی
Koohestun
توضیح کوهستانزیرساخت وبکالبدشکافی فناوری· 6 دقیقه مطالعه· در فناوری

کالبدشکافی شبکه‌های توزیع محتوا (CDN): وقتی روی یک لینک کلیک می‌کنید، محتوا واقعاً از کجا می‌آید؟

شبکه‌های توزیع محتوا (CDN) با ذخیره نسخه‌های کپی از اطلاعات در سرورهای محلی، فاصله فیزیکی بین کاربر و وب‌سایت را کاهش می‌دهند. اما برخلاف ادعاهای بازاریابی، آن‌ها نمی‌توانند همه چیز را در لحظه بارگذاری کنند و برای محتوای پویا همچنان به سرور اصلی وابسته‌اند.

به قلم آیدا امینی

مهندسان زیرساخت و شبکه 40%توسعه‌دهندگان نرم‌افزار 35%تحلیلگران و منتقدان فناوری 25%
مهندسان زیرساخت و شبکه
بر پایداری، امنیت و توزیع بار ترافیک در مقیاس جهانی تمرکز دارند.
توسعه‌دهندگان نرم‌افزار
نگران پیچیدگی‌های مدیریت حافظه پنهان و همگام‌سازی محتوای پویا هستند.
تحلیلگران و منتقدان فناوری
ادعاهای بازاریابی را زیر سوال برده و محدودیت‌های واقعی فناوری را بررسی می‌کنند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • ارائه‌دهندگان اینترنت محلی (ISP)
  • کاربران نهایی در مناطق با پوشش ضعیف CDN

پرسش‌های متداول

آیا CDN جایگزین هاست (میزبانی وب) می‌شود؟

خیر. CDN تنها نسخه‌های کپی از فایل‌های شما را در سرورهای لبه ذخیره می‌کند و همچنان برای میزبانی فایل‌های اصلی و پردازش‌های پایگاه داده به یک سرور اصلی (هاست) نیاز دارید.

تفاوت Cache Hit و Cache Miss چیست؟

اصابت کش (Cache Hit) زمانی رخ می‌دهد که فایل درخواستی در سرور لبه موجود باشد و بلافاصله ارسال شود. خطای کش (Cache Miss) زمانی است که فایل موجود نیست و سرور لبه باید آن را از سرور اصلی دریافت کند.

آیا CDN برای سایت‌های کوچک هم مفید است؟

بله، حتی سایت‌های کوچک نیز می‌توانند از مزایای امنیتی مانند محافظت در برابر حملات DDoS و کاهش مصرف پهنای باند سرور اصلی بهره‌مند شوند.

محتوای پویا (Dynamic) چگونه در CDN مدیریت می‌شود؟

محتوای پویا معمولاً قابل کش شدن نیست و باید از سرور اصلی فراخوانی شود. با این حال، CDNها با بهینه‌سازی مسیرهای ارتباطی و باز نگه داشتن اتصالات، سرعت انتقال این داده‌ها را بهبود می‌بخشند.

نکات کلیدی

  • شبکه‌های توزیع محتوا با استفاده از سرورهای لبه، داده‌ها را از نظر جغرافیایی به کاربران نزدیک‌تر می‌کنند.
  • مسیریابی DNS اولین و مهم‌ترین قدم در تعیین سرعت بارگذاری یک وب‌سایت است.
  • محتوای ایستا به راحتی کش می‌شود، اما محتوای پویا همچنان نیازمند ارتباط با سرور اصلی است.
  • توزیع بار و محافظت در برابر حملات سایبری از مهم‌ترین کاربردهای پنهان CDNها هستند.

لحظه‌ای که سرنوشت سرعت بارگذاری یک وب‌سایت تعیین می‌شود، دانلود شدن تصاویر یا کدهای پیچیده نیست؛ بلکه مرحله‌ای به نام «مسیریابی سیستم نام دامنه» (DNS Routing) است. وقتی آدرس یک سایت را در مرورگر خود وارد می‌کنید، پیش از هر اتفاق دیگری، مرورگر باید بپرسد که این سایت در کدام آدرس IP قرار دارد. دقیقاً در همین چند میلی‌ثانیه است که شبکه‌های توزیع محتوا (CDN) وارد عمل می‌شوند. به جای آنکه DNS آدرس سرور اصلی در نیویورک را به شما بدهد، درخواست شما را رهگیری کرده و آدرس یک «سرور لبه» (Edge Server) در نزدیک‌ترین شهر به شما، مثلاً فرانکفورت یا دبی، را برمی‌گرداند. اگر این تصمیم‌گیری اولیه اشتباه انجام شود، تمام زیرساخت‌های چند میلیارد دلاری این شبکه‌ها بی‌فایده خواهد بود.[1][2]

برای درک چرایی اهمیت این موضوع، باید به فیزیک اینترنت برگردیم. اینترنت یک فضای ابری نامرئی نیست؛ مجموعه‌ای از کابل‌های فیبر نوری است که از زیر اقیانوس‌ها و از میان قاره‌ها می‌گذرند. نور در این کابل‌ها با سرعت بالایی حرکت می‌کند، اما همچنان محدودیت‌های فیزیکی دارد. اگر کاربری در توکیو بخواهد اطلاعاتی را از سروری در لس‌آنجلس دریافت کند، داده‌ها باید حدود ۸۸۰۰ کیلومتر را طی کنند. این مسافت فیزیکی باعث ایجاد تاخیر (Latency) در حدود ۱۵۰ تا ۲۰۰ میلی‌ثانیه می‌شود. شبکه‌های توزیع محتوا برای دور زدن این محدودیت فیزیکی طراحی شده‌اند: آن‌ها به جای اینکه داده‌ها را سریع‌تر حرکت دهند، داده‌ها را به کاربر نزدیک‌تر می‌کنند.[4][6]

معماری یک CDN بر پایه دو مفهوم کلیدی بنا شده است: «سرور اصلی» (Origin Server) و «نقاط حضور» (PoPs). سرور اصلی همان کامپیوتر قدرتمندی است که نسخه نهایی و مرجع وب‌سایت روی آن قرار دارد. اما نقاط حضور، دیتاسنترهای کوچکی هستند که در سراسر جهان پخش شده‌اند. هر PoP شامل چندین سرور لبه است که وظیفه دارند نسخه‌های کپی شده از محتوای سرور اصلی را در خود نگه دارند. شرکت‌هایی مانند آکامای (Akamai) که از سال ۱۹۹۸ این مفهوم را پایه‌گذاری کردند، امروزه بیش از ۴۰۰۰ نقطه حضور در ۱۳۵ کشور دارند تا مطمئن شوند هیچ کاربری بیش از چند صد کیلومتر با داده‌های مورد نیازش فاصله ندارد.[2][3]

وقتی درخواست شما به نزدیک‌ترین سرور لبه می‌رسد، فرآیندی به نام «ذخیره‌سازی موقت» (Caching) تعیین‌کننده است. همانطور که مستندات فنی آی‌بی‌ام (IBM) توضیح می‌دهد: «ذخیره‌سازی موقت، یعنی فرآیند نگهداری فایل‌ها در سرورهای لبه، فایل‌ها را به مشتریان نزدیک‌تر می‌کند و زمان لازم برای جریان یافتن داده‌ها در شبکه را که به عنوان تاخیر شناخته می‌شود، کاهش می‌دهد.» این فرآیند می‌تواند تاخیر را از ۲۰۰ میلی‌ثانیه به کمتر از ۲۰ میلی‌ثانیه برساند. اگر سرور لبه از قبل کپی فایل درخواستی شما را داشته باشد، یک «اصابت حافظه پنهان» (Cache Hit) رخ می‌دهد و فایل بلافاصله ارسال می‌شود. اما اگر فایل موجود نباشد، یک «خطای حافظه پنهان» (Cache Miss) اتفاق می‌افتد و سرور لبه مجبور است فایل را از سرور اصلی درخواست کند.[1][4]

در اینجا باید به زبان بازاریابی شرکت‌های ارائه‌دهنده CDN با کمی شک‌گرایی نگاه کرد. شعارهای تبلیغاتی اغلب ادعا می‌کنند که این شبکه‌ها وب‌سایت شما را در یک چشم به هم زدن بارگذاری می‌کنند. اما واقعیت فنی بسیار محدودتر است. شبکه‌های توزیع محتوا در درجه اول برای محتوای «ایستا» (Static) ساخته شده‌اند؛ یعنی فایل‌هایی که برای همه کاربران یکسان هستند، مانند لوگوها، فونت‌ها، کدهای جاوا اسکریپت و ویدیوهای از پیش ضبط شده. آن‌ها در توزیع این نوع فایل‌ها بی‌نظیر عمل می‌کنند، اما این تنها نیمی از داستان وب مدرن است.[5][6]

در اینجا باید به زبان بازاریابی شرکت‌های ارائه‌دهنده CDN با کمی شک‌گرایی نگاه کرد.

مشکل اصلی زمانی آغاز می‌شود که با محتوای «پویا» (Dynamic) روبرو می‌شویم. سبد خرید شما در یک فروشگاه اینترنتی، فید شخصی‌سازی شده شبکه‌های اجتماعی، یا نتایج یک جستجوی زنده در پایگاه داده، برای هر کاربر متفاوت است. سرورهای لبه نمی‌توانند این اطلاعات را از پیش ذخیره کنند. بنابراین، برای هر درخواست پویا، داده‌ها همچنان باید تمام مسیر را تا سرور اصلی طی کنند و برگردند. در این موارد، CDN نمی‌تواند معجزه کند و تاخیر فیزیکی همچنان پابرجا خواهد بود.[1][3]

مهندسان شبکه‌های توزیع محتوا برای این مشکل راه‌حل‌هایی ارائه داده‌اند که اغلب تحت عنوان «شتاب‌دهی پویا» (Dynamic Acceleration) فروخته می‌شود. در این روش، CDN به جای ذخیره محتوا، مسیر ارتباطی بین سرور لبه و سرور اصلی را بهینه‌سازی می‌کند. آن‌ها اتصالات TCP را باز نگه می‌دارند و از مسیرهای اختصاصی و خلوت‌تر خود برای عبور دادن ترافیک پویا استفاده می‌کنند. این کار تا حدودی سرعت را بهبود می‌بخشد، اما هرگز به سرعت بارگذاری محتوای ایستا از حافظه پنهان محلی نمی‌رسد و بیشتر شبیه به یک مسیر ویژه در بزرگراه است تا یک تله‌پورت جادویی.[2][4]

علاوه بر سرعت، یکی از قابلیت‌های واقعی و اثبات‌شده CDNها، «توزیع بار» (Load Balancing) است. وقتی یک وب‌سایت به طور ناگهانی با هجوم کاربران مواجه می‌شود، سرور اصلی به تنهایی نمی‌تواند پاسخگوی میلیون‌ها درخواست همزمان باشد و از کار می‌افتد. شبکه‌های توزیع محتوا با پخش کردن این ترافیک در میان صدها سرور لبه در سراسر جهان، فشار را از روی سرور اصلی برمی‌دارند. ظرفیت شبکه‌های مدرن به بیش از ۱۳۰ ترابیت بر ثانیه (Tbps) می‌رسد که می‌تواند بزرگترین شوک‌های ترافیکی را به راحتی مدیریت کند.[1][6]

همین ویژگی موج‌شکن بودن، این شبکه‌ها را به خط مقدم امنیت سایبری تبدیل کرده است. از آنجا که تمام ترافیک ورودی ابتدا باید از سرورهای لبه عبور کند، این شبکه‌ها می‌توانند حملات «محروم‌سازی از سرویس توزیع‌شده» (DDoS) را خنثی کنند. هکرها سعی می‌کنند با ارسال میلیاردها درخواست جعلی، سرور یک سایت را غرق کنند، اما زیرساخت عظیم یک CDN به راحتی این حجم از ترافیک را جذب و فیلتر می‌کند، بدون اینکه سرور اصلی حتی متوجه حمله شود. پورت ۴۴۳ که برای ارتباطات امن HTTPS استفاده می‌شود، در این سرورهای لبه به شدت محافظت می‌گردد.[2][5]

با وجود تمام این مزایا، مدیریت یک شبکه توزیع محتوا پیچیدگی‌های پنهانی دارد که شرکت‌ها کمتر درباره آن صحبت می‌کنند. یکی از بزرگترین چالش‌ها، «ابطال حافظه پنهان» (Cache Invalidation) است. وقتی مدیر یک سایت محتوای خود را به‌روزرسانی می‌کند، باید به هزاران سرور لبه در سراسر جهان دستور دهد که نسخه‌های قدیمی را پاک کنند. اگر این فرآیند به درستی کار نکند، کاربران در کشورهای مختلف نسخه‌های متفاوتی از یک وب‌سایت را مشاهده خواهند کرد که می‌تواند به سردرگمی و خطاهای سیستم منجر شود.[3][4]

شبکه‌های توزیع محتوا جادوی سیاه نیستند؛ آن‌ها راه‌حلی مهندسی‌شده و به شدت فیزیکی برای غلبه بر محدودیت‌های سرعت نور و زیرساخت‌های ارتباطی هستند. امروزه بیش از ۵۰ درصد از کل ترافیک وب جهان از طریق این شبکه‌ها می‌گذرد. با توزیع هوشمندانه هارد دیسک‌ها و سرورها در نزدیک‌ترین فاصله ممکن به کاربران، این سیستم‌ها توهم یک اینترنت بی‌درنگ و بدون مرز را خلق می‌کنند؛ زیرساختی که اقتصاد دیجیتال بدون آن قادر به پاسخگویی به نیازهای روزمره کاربران نخواهد بود.[5][6]

چرا مهم است

درک نحوه کار شبکه‌های توزیع محتوا به شما کمک می‌کند تا بفهمید چرا برخی وب‌سایت‌ها در کسری از ثانیه بارگذاری می‌شوند و برخی دیگر کند هستند. این زیرساخت نامرئی، ستون فقرات اینترنت مدرن است که نه تنها سرعت، بلکه امنیت و پایداری اقتصاد دیجیتال را تضمین می‌کند.

اصطلاحات کلیدی

سرور لبه (Edge Server)
سرورهایی که در نقاط مختلف جغرافیایی و نزدیک به کاربران نهایی قرار دارند تا محتوای کش شده را سریع‌تر تحویل دهند.
سرور اصلی (Origin Server)
کامپیوتر مرکزی که نسخه اصلی و نهایی وب‌سایت و پایگاه داده روی آن میزبانی می‌شود.
نقطه حضور (PoP)
یک دیتاسنتر فیزیکی کوچک در یک منطقه جغرافیایی خاص که شامل چندین سرور لبه و تجهیزات شبکه‌ای است.
تاخیر (Latency)
مدت زمانی که طول می‌کشد تا یک بسته داده از دستگاه کاربر به سرور برسد و پاسخ آن برگردد.
ابطال حافظه پنهان (Cache Invalidation)
فرآیند پاک کردن نسخه‌های قدیمی و منقضی شده فایل‌ها از روی سرورهای لبه برای جایگزینی با نسخه‌های جدید.

منابع

پوشش منابع

6 منبع

3 دیدگاه شناسایی‌شده

مهندسان زیرساخت و شبکه 40%توسعه‌دهندگان نرم‌افزار 35%تحلیلگران و منتقدان فناوری 25%
  1. [1]IBMمهندسان زیرساخت و شبکه

    What is a CDN (Content Delivery Network)?

    مطالعه در IBM
  2. [2]Akamaiمهندسان زیرساخت و شبکه

    What is a CDN? Content Delivery Networks Explained

    مطالعه در Akamai
  3. [3]Fastlyتوسعه‌دهندگان نرم‌افزار

    What is a Content Delivery Network (CDN)?

    مطالعه در Fastly
  4. [4]TechTargetتوسعه‌دهندگان نرم‌افزار

    What is a CDN (content delivery network)?

    مطالعه در TechTarget
  5. [5]تیم سردبیری کوهستانتحلیلگران و منتقدان فناوری

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان
  6. [6]Wikipediaتحلیلگران و منتقدان فناوری

    Content delivery network

    مطالعه در Wikipedia

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

دریافت فناوری اخبار همراه با پوشش کامل منابع و تحلیل دیدگاه‌ها، مستقیم در صندوق ورودی شما.