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

آشنایی با صفر تا صد تکنولوژی Anycast

میزبان کلود میزبان کلود
2892 بازدید 0 دیدگاه 13 اردیبهشت 1402 زمان مطالعه: 20 دقیقه
/storage/post-covers/1683107728_2023-05-03_13.png
آشنایی با صفر تا صد تکنولوژی Anycast

Anycast یک روش آدرس دهی و مسیریابی شبکه ای است که از طریق آن درخواست های ورودی یک سایت به سمت موقعیت های جغرافیایی مختلف ( Nodes ) مسیردهی می شوند. در حوزه CDN یا شبکه توزیع محتوا، تکنولوژی Anycast در واقع ترافیک ورودی سایت را به نزدیک ترین دیتاسنتری هدایت می کند که توانایی و ظرفیت پاسخگویی موثر به درخواست را داشته و از لحاظ جغرافیایی کمترین فاصله را با کاربر نهایی داشته باشد.

تکنولوژی Anycast چیست؟

قابلیت مسیردهی ( Routing )، شبکه Anycast را قادر می سازد تا در مواجهه با پیک های ترافیکی سایت، ترافیک های شبکه ای، و حملات DDoS، انعطاف پذیری بالاتریی داشته باشد. این ویژگی، باعث کاهش تأخیرهای شبکه ای، زمان لازم برای انتقال داده ها و افزایش سرعت نمایش اطلاعات به کاربر نهایی خواهد شد که در نهایت تجربه کاربری ( UX ) را به طرز چشم گیری ارتقا خواهد داد.

مسیردهی یا Routing فرآیندی است که در لایه سوم ( لایه شبکه ) پس از انتخاب مسیر بهینه جهت توزیع یا تحویل بسته های ارسال شده از شبکه ای به شبکه ای دیگر ( منبع به مقصد ) رخ می دهد. این مسیردهی معمولاً توسط دستگاه های خاصی به نام روتر ( Router ) اجرا می گردد.

anycast

Anycast چطور عمل می کند؟

قبل از توضیح anycast در شبکه و نحوه عملکرد آن لازم است بدانیم که اطلاعات بر بستر اینترنت به چه صورت انتقال می یابند. به طور خلاصه، اینترنت از لایه های شبکه ای متشکل از لینک ها، روترها و میزبان های نهایی ( سرورها ) ساخته شده است.

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

بسته ها یا packets داده هایی هستند که به وسیله اینترنت یا سایر سوئیچ های شبکه ای از یک مبدأ به سمت مقصدی مشخص ارسال می شوند. به این ترتیب، دستگاه های متصل به شبکه، داده ها را به قسمت های مختلف تقسیم کرده و در قالب یک بسته به سمت مقصد هدایت می کنند تا شبکه بتواند پهنای باند را مدیریت کرده، اجازه دسترسی چند روتر به یک مقصد را صادر کرده و داده های گم شده یا ترجمه شده را مجدداً مخابره کند. گاهاً این "بسته ها" را "داده نگار" نیز می‌نامند.

به کمک تکنولوژی Anycast، چندین سرور، آدرس IP یکسانی را با یکدیگر به اشتراک می گذارند. برای مثال، آدرس IP مقصد 1.2.3.4 می تواند به سرورهای ابری واقع در ایران، توکیو، لندن، سنگاپور و غیره به طور همزمان معرفی گردد. این روند، تأخیر را به حداقل رسانده و ترافیک را بین چندین سرور پخش می کند.

تکنولوژی Anycast، بر اساس پروتکل دروازه مرزی ( BGP )، بسته ها ( Packets ) را به سمت نزدیک ترین سرور از لحاظ جغرافیایی، هدایت می کند. زمانی که روترِ نزدیکِ کاربر، درخواستی مبنی بر دریافت مسیر رسیدن به یک IP را ارسال می کند، با روترهای متنوعی مواجه می شود که به کمک تکنولوژی Anycast نزدیک ترین مسیر به آن درخواست معرفی می شود.

این سیستم به طور مستمر و دائمی، هر بار نزدیک ترین مسیر را انتخاب می کند. علاوه بر این، در صورت از کار افتادن یک سرور، مسیر دوم نیز بر مبنای نزدیکی بیشتر به روتر ردیابی شده و ترافیک بدون نیاز به تغییر آدرس IP به سمت سرور دیگری هدایت خواهد شد.

مزایای استفاده از تکنولوژی Anycast

  • اتصال سریعتر: کاربران به سمت نزدیک ترین سرور لبه هدایت و مسیردهی می شوند که باعث به حداقل رسیدن زمان سفر درخواست خواهد شد.
  • توزیع بار: تمام سرورهای متصل، قادر به پاسخگویی و پردازش یک درخواست بوده و از کار افتادگی یک سرور، بجای DNS به وسیله IP Address تکمیل خواهد شد.
  • مدیریت آسان پیکربندی ها: پیکربندی یک DNS سرور می تواند به سادگی بین تمام سرورهای ابری توزیع گردد.
  • جلوگیری از حملات DDoS: پس از فیلتر کردن بخش عظیمی از حملات توسط ابزارهای امنیتی، ترافیک تهاجمی باقی مانده، به سمت چندین دیتاسنتر هدایت می شود تا از فشار بر یک موقعیت خاص جلوگیری به عمل آید.

از مهمترین دلایل استفاده از این تکنولوژی این است که اگر درخواست های زیادی به طور همزمان به یک سرور مبدأ ( Origin Server ) ارسال شوند، ممکن است آن سرور تحمل اداره این حجم از ترافیک را نداشته، از دسترس خارج شده و دیگر قادر به پاسخگویی به درخواست های آتی نباشد.

به لطف تکنولوژی Anycast، دیگر تنها یک سرور مسئول پاسخ دهی به تمام ترافیک های ورودی و درخواست های آنها نبوده و این "بار ترافیکی" بین چندین سرور لبه ( متصل در شبکه ) تقسیم خواهد شد. در این صورت درخواست ها به طور موثرتر و سریعتری پردازش و پاسخ داده خواهند شد.

منظور از بار یا load در شبکه، میزان داده هایی ( ترافیک ) است که درون شبکه در جریان بوده و از مبدأ های مختلف به مقصدهای مشخص هدایت می شوند. در صورت استفاده از تکنولوژی توزیع بار، ترافیک ورودی تماماً به سمت یک سرور هدایت نشده و بار مذکور بین چندین سرور لبه پخش خواهد شد.

تفاوت بین Anycast و Unicast

اغلب امور اینترنتی به وسیله یک برنامه مسیریابی به نام Unicast صورت می گیرند. در تکنولوژی Unicast هر سروری یک آدرس IP مشخص و منحصر به فرد دارد؛ به عنوان مثال شبکه های خانگی و اداری غالباً از این تکنولوژی استفاده می کنند.

به عبارت دیگر، زمانی که یک کامپیوتر به یک شبکه بی سیم متصل می شود و پیامی مبنی بر اشغال بودن IP Address دریافت می کند، به این معناست که این آدرس توسط دستگاه دیگری در همان شبکه Unicast مورد استفاده قرار گرفته است.

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

در چنین شرایطی به دلیل اینکه ترافیک تنها به سمت یک دیتاسنتر هدایت می شود، زیرساخت های متصل به آن با مشکلات متعددی رو به رو شده که در نهایت منتج به ناتوانی سرور در پاسخ گویی ( denial-of-service ) به درخواست های آتی خواهد شد.

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

خرید CDN

جلوگیری از حملات DDoS بوسیله تکنولوژی Anycast

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

در اکثر حملات DDoS، تعداد زیادی کامپیوتر قربانی ( BOT ) برای تشکیل یک botnet مورد استفاده قرار گرفته که در یک حمله برنامه ریزی شده، سیلی از ترافیک را به صورت ناگهانی به سمت یک شبکه ارسال می کنند؛ این حملات می توانند یک دستگاه متصل به شبکه Unicast را به سادگی از کار بیاندازند.

در مقابل، یک CDN متصل به شبکه Anycast، سطح دریافتی شبکه را گسترده تر کرده که در این حالت، حملات منع سرویس ( denial-of-service ) بین چند دیتاسنتر پخش خواهند شد.

در نتیجه، در صورت استفاده از CDN میزبان کلود و بهره مندی از تکنولوژی Anycast، همراه با رشد و توسعه شبکه از لحاظ ظرفیت و سایز، قوی ترین حملات DDoS نیز به سادگی دفع خواهند شد.

پروتکل دروازه مرزی و سیستم های خودکار

پروتکل دروازه مرزی ( Border gateway protocol ) و سیستم های خودکار ( Autonomous Systems )، مراحل جداناپذیری در پروسه عملکردی IP Anycast می باشند. BGP اطلاعات دسترسی و مسیریابی را بین سیستم های خودکار ( AS ) منتقل و رد و بدل می کند. به صورتی که این پروتکل بر مبنای مسیرها، سیاست ها، و قوانین از پیش تعریف شده، تصمیمات مسیریابی خود را اتخاذ می کند. نکته مهم دیگر این است که در مسیریابی BGP، برای هر آدرس IP، چندین مسیر وجود دارد که به نقاط جغرافیایی مختلفی منتهی می شوند.

یک سیستم خودکار ( AS ) به یک یا چند شبکه اشاره دارد که توسط یک ادمین ( administrator ) مدیریت می شوند. هر سیستم خودکار، یک ASN ( Autonomous System Number ) یا شماره سیستمی خاص و منحصر دارد که در مسیردهی BGP برای شناسایی شبکه ها در اینترنت مورد استفاده قرار می گیرد.

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

آشنایی بیشتر با BGP (BGP Anycast)

bgp

BGP یا پروتکل دروازه مرزی، سرویس نامه رسان ( پست ) در اینترنت است. زمانی که فردی نامه ای را در صندوق می اندازد، سرویس نامه رسان، نامه مورد نظر را دریافت کرده و سریع ترین و موثرترین مسیر را برای رساندن آن نامه به مقصدش انتخاب می کند. دقیقاً همانند سیستم پست، زمانی که کاربری در اینترنت داده ای را ثبت می کند؛

BGP برای هدایت ترافیک تمام مسیرهای ممکن را یافته و بهترین مسیر را انتخاب می کند؛ که در عمل به معنای پرش ( Hopping ) بین سیستم های خودکار ( AS ) است.

اینترنت شبکه ای است که به صدها هزار شبکه کوچک به نام سیستم های خودکار ( AS ) تقسیم می شود. هر کدام از این شبکه ها اساساً استخری از روترها هستند که توسط یک شرکت مجزا مدیریت می شوند. اگر مجدداً مثال سرویس پست را تصور کنید، سیستم های خودکار "شعبات" سیستم پست هستند.

به صورتی که ممکن است یک شهر صدها صندوق داشته باشد، اما یک نامه باید قبل از رسیدن به مقصد، ابتدا به یک یا چند شعبه از سیستم پستی ارسال شود. روترهای درون سیستم های خودکار نیز همان صندوق ها در مثال فوق هستند. بنابراین BGP با مسیردهی به داده ها، فعالیت در اینترنت را ممکن می سازد.

bgp1

نمودار فوق نمونه ای ساده از یک BGP با شش AS است؛ فرض کنید که AS1 قصد ارسال بسته ای به سمت AS3 را داشته باشد؛ در این صورت دو راه در پیش دارد:

  • مسیر اول: یک پرش از AS1 به AS2 و سپس از AS2 به AS3
  • مسیر دوم: یک پرش از AS1 به AS6، سپس از AS6 به AS5، و بعد از AS5 به AS4 و در آخر از AS4 به AS3

در این مثال ساده، انتخاب آسان و واضح است، مسلماً مسیر اول به پرش های کمتری نیاز دارد، بنابراین سریعترین و موثرترین مسیر است. اما تصور کنید که صدها هزار AS در شبکه موجود باشد و شمردن تعداد پرش ها تنها بخشی از پروسه انتخابی یک مسیر بهینه باشد. این کاری است که BGP در دنیای اینترنت بر عهده دارد. اما کارا بودن این فرآیند مستلزم بروز بودن اطلاعات است؛ اطلاعاتی نظیر مسیرهای جدید اضافه شده و یا مسیرهای از کار افتاده.

سوال اکثر ما این است که پروتکل BGP از چه معیارهایی برای انتخاب یک مسیر موثر استفاده می کند؟

پارامترهای زیر در پروسه انتخاب بهترین مسیر بررسی می شوند:

  • اولویت های بالاتر در یک منطقه جغرافیایی ( Local preference )
  • مسیری با بالاترین وزن ( weight )
  • مسیری با کمترین MED ( multi-exit discriminator )
  • اولویت بالاتر مسیرهای EBGP نسبت به IBGP
  • کوتاه ترین مسیر به سمت یک AS
  • بهترین خروجی از یک AS
  • اولویت بالاتر مسیرهای فعال فعلی در مقابل مسیرهای جدید
  • مسیری با کوتاه ترین طول کلاستر
  • مسیری با کمترین router ID
  • کوتاه ترین مسیر IGP به سمت پرش بعدی BGP
  • و ...

البته شایان ذکر است که می توان در کنار مسیردهیِ درخواست ها، Anycast را برای مقاصد دیگری از جمله موارد زیر نیز پیکربندی کرد:

  • در دسترس بودن سرورها
  • تعداد اتصالات
  • زمان پاسخ گویی
  • و ...

آشنایی با سایر روش های مسیردهی

در حوزه مسیردهیِ درخواست های کاربران به سمت یک مقصدِ شبکه ای، متدولوژی های متنوعی مورد استفاده قرار می گیرند؛ از جمله Unicast، Multicast، Broadcast، Geocast و Anycast. در ادامه با جزئیات بیشتر تمام این روش ها آشنا خواهیم شد.

  • روش مسیردهی Unicast

unicast

اینترنت امروزی بیشتر به وسیله این روش مورد استفاده قرار می گیرد؛ Unicast یک آدرس IP را طوری محدود می کند که تنها به یک سرور در شبکه متصل شود. این رویکرد به عنوان پیوندی یک-به-یک شاخته می شود. اگرچه این متد به کرات در اینترنت مورد استفاده قرار می گیرد، اما به علت محدودیت هایی از جمله اتصال یک آدرس IP به تنها یک سرور ( گره یا Node )، راهکاری بهینه و ایده آل بشمار نمی آید.

 گره های شبکه ( Nodes ) بسته به ماهیتشان کارهای مختلفی انجام می‌دهند، برخی از آنها فقط گیرنده یا فرستنده بوده و برخی دیگر هم گیرنده و هم فرستنده هستند. مودم ها، سوئیچ ها، هاب ها، پل ها، سرورها و حتی پرینترها می‌توانند گره های یک شبکه بحساب آیند.

  • روش مسیردهی Multicast

multicast

روش Multicast، از پیوند یک-به-چند یا چند-به-چند استفاده می کند؛ به عبارت دیگر، Multicast به یک درخواستِ ارسالی اجازه می دهد تا به طور همزمان به چندین مقصد مشخص هدایت شود. برای مثال یک کاربر می تواند به کمک این روش از چند منبع مجزا به طور همزمان فایل های مختلفی را دانلود کند ( روشی کاربردی برای استریم کردن ویدیوها و پادکست ها ).

اغلب اوقات Multicast را با Anycast یکسان می دانند، اما تفاوت بارز این دو در این است که Anycast با وجود در دسترس بودن گره های چندگانه، ارسال کننده درخواست را تنها به یک گره خاص ( یک سرور ) هدایت می کند.

  • روش مسیردهی Broadcast

briadcast

روش Broadcast از پیوند یک-به-همه استفاده می کند؛ به طوری که یک "داده نگار مشخص" به وسیله یک "آدرسِ پخشِ خاص" از یک "ارسال کننده واحد" به سمت تمام endpoint ها ( گیرندگان ) مسیردهی می شود. در این روش، شبکه به طور خودکار این داده نگارها را باز نشر کرده و به دست تمام دریافت کنندگان می رساند ( مثال بارز برنامه های تلویزیونی و لایو ).

  • روش مسیردهی Geocast

geocast

روش Geocast شباهت زیادی به Multicast دارد چراکه در این روش نیز یک ارسال کننده به طور همزمان به چندین مسیر هدایت خواهد شد. با این وجود، تفاوت این دو روش در این است که در حالت Geocast، شبکه بر اساس موقعیت جغرافیایی تعریف می شود.

تکنولوژی Anycast و IPv4, IPv6

رویکرد Anycast در حالت عادی از IPv4 پشتیبانی نمی کند، اما با این حال، می توان به کمک BGP این مشکل را نیز برطرف کرد. اساساً، سرورهای چندگانه دارای IP یونیکست ( Unicast IP ) یکسانی بوده و مسیرها از طریق BGP شناسایی می شوند.

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

در طرف مقابل، IPv6 به طور کامل از Anycast پشتیبانی می کند؛ در واقع، روترهای IPv6 تفاوت بین بسته های Anycast و Unicast درونِ شبکه را تشخیص نخواهند داد ( البته تمام فرآیندهای IPv4 در IPv6 نیز رخ خواهند داد ).

جمع بندی

کاملاً واضح است که تکنولوژی Anycast یکی از قدرتمندترین رویکردها در کاهش تأخیرات شبکه ای و صفحات وبسایت ها و مقابله با حملات سایبری بشمار می آید. اگرچه ممکن است اجرایی کردن و پیاده سازی آن کمی پیچیده به نظر آید، اما در صورت فعالسازی و پیکربندی این زیرساخت، هم کاربر نهایی و هم ارائه دهندگان خدمات وب منافع بسیاری از آن خواهند برد.

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

 

پیشنهاد ویژه

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

میزبان کلود

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

میزبان کلود

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

میزبان کلود

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

میزبان کلود

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

مشاهده پلانها
میزبان کلود میزبان کلود
میزبان کلود
میزبان کلود
نویسنده مطلب میزبان کلود

ارائه دهنده خدمات زیرساخت یکپارچه ابری

آشنایی با صفر تا صد تکنولوژی Anycast 0 دیدگاه