CDN ابری

آشنایی با دو مفهوم Reliability و Redundancy در شبکه توزیع محتوا (CDN)

Shahin Noei Shahin Noei
31 بازدید 0 دیدگاه 17 آبان 1401
/storage/post-covers/1667884033_2022-11-08_1661664020_2022-08-28_1656781915_2022-07-02_01-min.png /storage/post-images/1667884033_2022-11-08_1661664020_2022-08-28_1656781915_2022-07-02_02-min.png
آشنایی با دو مفهوم Reliability و Redundancy در شبکه توزیع محتوا (CDN)

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

توزیع بار (Load Balancing) چیست و یک CDN چطور ترافیک را توزیع می کند؟

هدف یک توزیع کننده بار یا Load balancer پخش کردن ترافیک شبکه بین چند سرور مجزا اما متصل بهم است. توزیع بار می تواند یا سخت افزاری و یا نرم افزاری باشد. یک CDN از توزیع بار در یک دیتاسنتر استفاده می کند تا درخواست های ورودی را بین استخری از سرورهای فعال پخش کرده و از این مهم اطمینان حاصل کند که پیک های ترافیکی به بهترین شکل ممکن مدیریت خواهند شد.

با استفاده بهینه و موثر از منابع، توزیع بار به افزایش سرعت پردازش و استفاده کارآمد از ظرفیت سرور کمک می کند. در حالت ایده آل، توزیع بار ترافیک ورودی یک عنصر کلیدی در حل مسائل درگیر در پیک های ترافیکی بوده که در زمان های فعالیت غیر عادی اینترنت، یا در زمان هایی که وب سایت در رویدادی خاص قرار داشته و بازدیدکنندگان زیادی به سمت سایت هجوم می آورند، از Down شدن سایت شما جلوگیری می کند.

 

یک CDN نیز از لود بلنسینگ در زمان هایی استفاده می کند که منابع سرور نوساناتی را تجربه کرده و به انعطاف پذیری فوری و موثر زیرساخت ها نیاز باشد. در مواقعی که یک سرور از کار بیافتد و یا Failover رخ دهد، یک Load balancer ترافیکی که به آن سرور اختصاص داده شده بود را به مسیر دیگری هدایت کرده و آنها را به طور نسبی بین سرورهای باقی مانده تقسیم می کند.

این روش با افزایش احتمال اینکه از کار افتادگی سخت افزاری بر جریان ترافیکی تاثیری نخواهد گذاشت، پایداری و قابلیت اطمینان (reliability) از سرویس دهی را رقم خواهد زد.

زمانی که سرور جدیدی در دیتاسنتر فعالیتش را شروع می کند، load balancer به طور متناسب با ظرفیت سایر سرورها، بار را از دوش آنها برداشته و به سرور جدید اختصاص می دهد. توزیع کننده های بار نرم افزاری به یک CDN کمک می کنند تا ظرفیت توزیع بار خود را بدون مشکلات load balancer های سخت افزاری به سادگی مقیاس دهند.

منظور از failover چیست؟

در سیستم های کامپیوتری که به reliability و دسترسی پذیری بالایی نیاز دارند، failover برای جلوگیری از سردرگم شدن ترافیک در صورت از کار افتادن سرور مورد استفاده قرار می گیرد.

زمانی که یک سرور از کار می افتد، ترافیک باید به سمت سروری هدایت شود که همچنان فعال است. با کاهش خودکار وظایف از سرور از کار افتاده و اختصاص آن به دستگاهی با ظرفیت خالی، failover هوشمند می تواند از اختلالات سرویس دهی برای کاربران جلوگیری به عمل آورد.

در کل Failover می تواند در هر سیستمی اتفاق بیافند. پس failover تکنولوژی ای است که به یک دستگاه اجازه می دهد تا در صورت از کار افتادن دستگاه دیگر، وظایف آن را بر عهده بگیرد. در همین راستا failover معمولاً برای اطمینان از عدم قطعی ارتباطات بین سیستم ها/ سرورها مورد استفاده قرار می گیرد. به همین دلیل در صورت آماده بودن سرورهای دیگر در زمان از دسترس خارج شدن یک سرور، reliability ارتقا خواهد یافت.

 

یک CDN چطور محتوا را در اینترنت توزیع می کند؟

یک CDN همانند یک سیستم GPS و جاده های پستی عمل می کند. به عبارت دیگر، CDN بهترین مقصد را پیدا کرده و از شبکه فعال خود برای یافتن بهترین و سریع ترین روش رسیدن به آن مقصد کمک می گیرد.

زمانی که کاربری محتوایی را در اینترنت لود کرده و قصد بازدید از صفحه ای را داشته باشد، باید چندین اتصال برقرار شود تا این درخواست برای بارگذاری محتوا تحقق یابد.

ترافیک شبکه چیزی شبیه به جاده و سیستم بین راهی است. خیابان های کوچک تر ترافیک محلی را میسر می کنند و بزرگراه ها ترافیک را از محله ای به محله دیگر!

این ترافیک است که باید برای رسیدن به مقصد بهترین مسیر را طی کند تا در سریع ترین زمان ممکن به مقصد رسد.

اگر در این مسیر اتفاقی مانع از عبور و مرور شود، برای مثال کامیونی کل لاین ها را مسدود کند، ترافیک باید یک مسیر جایگزین دیگر یا راهی برای دور زدن آن پیدا کند.

همانند بزرگراه یا جاده ای که بین دو شهر قرار دارد، ترافیک اینترنتی نیز باید گاهاً بین شبکه های مختلف جا به جا شده تا بتواند به مقصد نهایی خود برسد.

اگر در شبکه ای خاص، چیزی مانع از عبور و مرور شود، ترافیک باید به سمت دیگری هدایت شود؛ این فرآیند می تواند زمان بر و نا کارآمد باشد.

فرض کنید که کاربری در San Francisco وبسایتی را لود می کند که در Los Angeles میزبانی می شود. این اتصال قدم های زیادی را بر خواهد داشت، اما در این مثال، یکی از مهم ترین قدم ها جایی است که سیگنال شبکه از مسیر ارائه دهنده مخابراتی که در San Jose واقع شده عبور می کند.

زمانی که یک مهندس شبکه، به طور اتفاقی قهوه خود را روی تجهیزات مسیردهی در San Jose میریزید، این ارائه دهنده از دسترس خارج شده و اتصال قطع می شود.

در چنین شرایطی کاربر دیگر نمی تواند محتوای اینترنتی مورد نظر را دریافت کند، مگر اینکه ترافیک شبکه از مسیر دیگری برای رسیدن به مقصد استفاده کند.

درخواست این کاربر حالا باید یک ارائه دهنده مخابراتی دیگر عبور کند.

حال که ترافیک دیگر قادر به عبور از شبکه مورد نظرش نیست، باید ناچاراً وارد شبکه دیگری شود که توسط سازمان دیگری تعبیه شده.

این فرآیند مذاکره مجدد و تعویض شبکه ممکن است چندین بار اتفاق بیافتد تا در نهایت یک شبکه حاضر به عبور ترافیک آتی شود. این جریان می تواند زمان زیادی صرف کرده و تأخیر چشم گیری ایجاد کند.

یک CDN در حالت عادی اتصالات شبکه ای خودش را کنترل می کند، به طوری که با جایگزینی سرورها در نقطه های تبادلی اینترنت (IXPs)، و موقعیت های استراتژیک دیگر، ریسک این تأخیرات احتمالی را به حداقل می رساند.

انتخاب گزینه جایگزین در شرایط از کار افتادگی یک شبکه یا سرور، کار همیشگی یک شبکه توزیع محتوا و مسیردهی به ترافیک ورودی یک رویکرد ایده آل در مدیریت availability سرویس شماست.

نقطه تبادلی اینترنت (IXP) چیست؟

یک Internet exchange point (IXP) یک موقعیت فیزیکی است که از طریق آن شرکت های زیرساخت های اینترنتی مثل ارائه دهندگان خدمات اینترنت (ISP) و CDN ها با یکدیگر ارتباط برقرار می کنند.

این موقعیت ها در لبه (Edge) شبکه های مختلف قرار داشته و به ارائه دهندگان شبکه اجازه می دهد تا ترانزیت ها را خارج از شبکه خود به اشتراک بگذارند. با حضور در داخل یک موقعیت IXP ، شرکت ها قادر خواهند شد تا مسیرهای خود را کوتاه تر کرده و ترانزیت های دریافتی از شبکه های مشترک دیگر را بهینه کنند. این موضوع تأخیر را به حداقل رسانده و زمان رفت و برگشتی یا Round trip time را بهبود می بخشد.

چرا IXP ها مهم هستند؟

بدون IXP ها ترافیکی که از یک شبکه به شبکه ای دیگر انتقال می یابد، احتمالاً باید به یک شبکه میانی دیگر تکیه کند تا بتواند ترافیک را از مبدا به مقصد منتقل کند. به این میانجی ها ارائه دهندگان ترانزیت (Transit) می گویند.

در برخی از موارد این کار با مشکلی همراه نخواهد شد؛ اما تکیه کردن به زیرساخت های یک ISP برای انتقال ترافیک محلی می تواند نقطه مقابل عملکرد باشد. چرا که گاهی اوقات این زیرساخت ها داده ها را به یک شبکه دیگر در یک شهر کاملاً متفاوت ارسال می کنند.

این موضوع می تواند باعث وقوع تأخیرات بسیار زیادی در شبکه شود، فرض کنید که ترافیکی که قرار بوده از مبدا به یک مقصد مشخص به یک شهر برسد، به اشتباه به یک مسیر دور دست و شهری دیگر ارسال شده و باز می گردد.

CDN مناسبی که در IXP حضور داشته باشد، می تواند مسیرها را بهینه کرده و داده های در جریان شبکه را بدون عبور از مسیرهای بی کیفیت و دور دست، به مقصد مورد نظر برسانند.

 

BGP ، پروتکل ستون فقرات اینترنت

شبکه ها به کمک BGP (Border gateway protocol) با یکدیگر در ارتباط هستند. این پروتکل به شبکه ها اجازه می دهد تا ملزومات داخلی خود را شفاف سازی کرده و پیکربندی های network-edge را تعریف نمایند. تمام IXP های جفت شده از BGP استفاده می کنند.

اما آیا می دانید ترافیک چطور بین شبکه های مختلف به اشتراک گذاشته می شود؟

  • ترانزیت (Transit)

توافق نامه بین یک مشتری و ارائه دهنده را transit می نامند. یک ارائه دهنده ترانزیت برای مشتریان خود اتصالات کامل به اینترنت را فراهم می کند. پروتکل BGP به آدرس های IP مشتریان اجازه می دهد تا به ارائه دهنده ترانزیت و سپس به کل اینترنت معرفی شوند.

  • جفت سازی (Peering)

توافقاتی که تعیین کننده نحوه به اشتراک گذاری آدرس های IP بین شبکه هاست، جفت سازی نام دارد. در IXP ها، هیچ هزینه ای برای تبادل داده بین اعضای شبکه در نظر گرفته نخواهد شد. زمانی که ترافیک به رایگان از یک شبکه به شبکه دیگری منتقل شود، این رابطه جفت سازی رایگان (Settlement-free peering) نامیده می شود.

در شبکه لوکال IXP ها، ارائه دهندگان مختلف می توانند اتصالات یک به یکی را به کمک پروتکل BGP برقرار کنند. این پروتکل برای این طراحی شده بود که شبکه های متجانس (از هم جدا) بتوانند آدرس های IP خود را به یکدیگر معرفی کنند.

زمانی که دو شبکه یک سشن BGP برقرار می کنند، مسیرهای مرتبط به آنها با یکدیگر تبادل شده و ترافیک می تواند بین آنها به طور مستقیم جریان یابد.

این توپولوژی در شبکه های توزیع محتوا (CDN) به کمک BGP Anycast صورت می گیرد. به همین دلیل است که می توانید ترافیک سایت خود را به سادگی بین سرورهای درون شبکه توزیع محتوا توزیع بار کرده و بسته ها را از بهینه ترین مسیر عبور دهید.

برای کسب اطلاعات جامع تر در خصوص تکنولوژی BGP پیشنهاد می کنیم مقاله مرتبط با این موضوع را در بلاگ میزبان کلود مطالعه کنید.

CDN چطور از تکنولوژی Anycast برای افزایش reliability استفاده می کند؟

بعضی از CDN ها از جمله CDN میزبان کلود از روش مسیردهی Anycast برای انتقال ترافیک اینترنتی به سمت دیتاسنترهای مشخص استفاده می کنند. این کار برای افزایش سرعت و بهبود سرعت پاسخ دهی و جلوگیری از اختلال در شبکه به علت از کار افتادگی یک دیتاسنتر مورد استفاده قرار می گیرد. اغلب این از کار افتادگی ها به علت بروز حملات DDoS برای قطعی سرویس رخ می دهند.

به کمک تکنولوژی Anycast، چندین دستگاه می توانند یک آدرس IP یکسان را به اشتراک بگذارند؛ زمانی که درخواستی به سمت یک آدرس IP Anycast فرستاده می شود، روترها آن را به سمت دستگاهی در شبکه هدایت خواهند کرد که نزدیک ترین فاصله و بالاترین ظرفیت را داشته باشد.

در مواردی که کل یک دیتاسنتر از کار بیافتد، یا ظرفیتش با ترافیک سنگین تکمیل شود، شبکه anycast می تواند برای حل این مشکل همانطور که یک توزیع بار عمل می کند، داده ها را از لوکیشن از کار افتاده دور کرده و به سمت دیتاسنتری دیگر که در حال فعالیت است، هدایت کند.

 

حملات DDoS در حال حاضر یکی از اصلی ترین تهدیدات برای Reliability تجهیزات اینترنتی است. CDN های که از Anycast استفاده می کنند، انعطاف پذیری بیشتری در مقابله با حملات DDoS خواهند داشت.

در حملات DDoS مدرن تر، کامپیوترها یا بات های بی شماری در قالب یک بات نت وارد عمل می شوند. این دستگاه های آلوده می توانند حجم وسیعی از ترافیک را به طور ناگهانی در یک بازه زمانی مشخص به سمت یک دستگاه Unicast هدایت کنند. این کار می تواند سرویس دهی را مختل کند.

اما با استفاده از معماری anycast، بخشی از ترافیکی که توسط بات نت وارد شده، بین دیتاسنترها تقسیم شده و تاثیر حمله بشدت کاهش می یابد.

در خصوص معماری anycast می توانید اطلاعات کامل تر را از بلاگ میزبان کلود مطالعه کنید.

افزایش Redundancy با استفاده از CDN

یک استراتژی کاربردی و حرفه ای استفاده از چند سرور برای پاسخ گویی به درخواست های ورودی است. این تعداد بیشتر به Redundancy معروف است. گاهی برخی از کسب و کارها یا سازمان ها از چند سرور اصلی (origin) و یا چند CDN همزمان برای مدیریت ترافیک سایت پربازدید خود استفاده می کنند.

همانطور که گفته شد CDN برای کارکرد بهتر از Load balancing یا توزیع بار استفاده می کند، در واقع با سنگین تر شدن درخواست های یک کسب و کار عظیم، در برخی شرایط از استراتژی multi CDN یا چند CDN همزمان استفاده می کنند تا با توزیع بار بین ارائه دهندگان شبکه توزیع محتوا، Redundancy بالاتری رقم خورد.

دقیقاً multi CDN نیز همانند مسیردهی و توزیع بار درون یک شبکه توزیع محتوا، ترافیک سایت را بین چند CDN تقسیم می کند، پس برای یافتن CDN مناسب و یا سرور لبه نزدیک تر باید از تکنولوژی Anycast نیز بهره مند باشد.

راهکار میزبان کلود

یکی از بهترین سرویس های CDN ابری در حال حاضر، CDN میزبان کلود است که می تواند هرآنچه از یک شبکه توزیع محتوا انتظار دارید را در اختیار شما قرار دهد. این سرویس با بهره گیری از معماری Anycast و استفاده از توزیع بار ، ترافیک ورودی سایت شما را بین سرورهای لبه CDN توزیع و پخش کرده تا Reliability سرویس شما به حداکثر رسد؛ از طرفی با بهره گیری از anycast ترافیک شما همیشه به نزدیک ترین و بهینه ترین مسیر در شبکه هدایت شده و تأخیر به حداقل خواهد رسید.

اینها تنها بخشی از قابلیت های CDN ابری میزبان کلود هستند که به افزایش دسترسی پذیری و ارتقای سرعت و عملکرد سرویس شما کمک می کنند. به کمک سیستم شتابدهی وب میزبان کلود که پس از فعالسازی CDN در اختیار شما قرار خواهد گرفت، می توانید تنها با چند کلیک، ویژگی های منحصر به فردی از جمله فشرده سازی فایل ها و کدها، تغییر اندازه تصاویر و کاهش حجم فایل ها، بهینه سازی سرعت با کشینگ پیشرفته، Lazy loading، Gzip و بسیاری دیگر را برای سایت خود راه اندازی و پیکربندی کنید.

پیشنهاد می کنیم به صفحه CDN ابری میزبان کلود مراجعه کرده و با ویژگی ها و فیچرهای خاص این سرویس بیشتر آشنا شوید.

همچنین شما برای خرید سرویس cdn و dns ابری نیز می توانید به سایت میزبان کلود مراجعه نمایید.

جمع بندی

دو اصطلاح Redundancy و Reliability ، مفاهیمی هستند که در شبکه توزیع محتوا کاربرد بسیاری دارند. این دو اصطلاح می توانند در هر سیستم معنا پیدا کرده و در موارد مشابه مختلفی مورد استفاده قرار گیرند. redundancy در فارسی به معنای تعدد و افزونگی ، و reliability به معنای قابلیت اعتماد است. در حوزه CDN ها منظور از Redundancy تعداد بیشتر سرورهای پاسخ گو در سرویس شما بوده و مفهوم reliability به معنای اطمینان خاطر بیشتر سرویس شما از لحاظ ارائه خدمات و در دسترس بودن آن است. برای ارتقای این دو جنبه ی کسب و کار و وبسایت راهکارهای زیادی معرفی شده اند. اما یکی از اصلی ترین راه حل ها استفاده از شبکه توزیع محتوا، تکنولوژی load balancing یا توزیع بار، و معماری Anycast است. که با فعال سازی سرویس CDN ابری میزبان کلود می توانید به تمام این ویژگی ها دست یابید. در این مطلب در خصوص این دو اصطلاح پر تکرار و راه های بهینه سازی آنها مطالب مفیدی در اختیار شما قرار گرفت. امیدواریم بتوانید با مثال های مطرح شده در این مطلب، به خوبی این مفاهیم را درک کرده و در کسب و کار خود بکار گیرید.

پیشنهاد ویژه

CDN ابری میزبان کلود

سرعت در بارگذاری و تحویل محتوای سایت

سرعت در بارگذاری و تحویل محتوای سایت

سرعت در بارگذاری و تحویل محتوای سایت

سرعت در بارگذاری و تحویل محتوای سایت

مشاهده پلانها
برچسب‌ها :
نویسنده مطلب Shahin Noei

نویسنده مطلب

آشنایی با دو مفهوم Reliability و Redundancy در شبکه توزیع محتوا (CDN) 0 دیدگاه