استفاده از مسیریابی Anycast در شبکه توزیع محتوای ابر آروان

۲۹ فروردین ۱۳۹۷

یکی از چالش‌های مهم در یک شبکه توزیع محتوا، تشخیص دقیق موقعیت جغرافیایی کاربر است. اگرچه روش‌های سنتی تشخیص موقعیت جغرفیایی به کمک DNS سرور در سال‌های اخیر رشد چشم‌گیری داشته، اما هم‌چنان از دقت کافی برخوردار نیست و پیاده‌سازی یک ساختار پایدار یکپارچه را با مشکلاتی همراه می‌سازد. بنابراین آروان از فناوری Anycast برای رفع این مشکل استفاده می‌کند. به کمک این روش نشانی‌های IP آروان به‌شکل هم‌زمان در نقاط مختلف و سراسر جهان advertise شده و هر کاربر حتا در نخستین اتصال به نزدیک‌ترین سرور لبه متصل شده و از آن نقطه سرویس دریافت می‌کند. در این سند ابتدا نگاهی به روش‌های مسیریابی متداول انداخته و پس از آن به بررسی روش مسیریابی Anycast و مزایای آن می‌پردازیم.

روش‌های آدرس‌دهی در شبکه‌های کامپیوتری

روش‌های آدرس‌دهی که در شبکه‌های کامپیوتری مورد استفاده قرار می‌گیرند را می‌توان به‌طور خلاصه به شرح زیر دستبه‌بندی کرد:

آدرس‌دهی Unicast

در این روش هر نشانی IP تنها به یک سامانه اختصاص داده می‌شود و در نتیجه بسته‌های ارسال شده به نشانی IP مذکور همواره توسط یک گیرنده مشخص دریافت می‌شود.

مسیریابی یونی کست - Unicast IP routing

آدرس‌دهی Multicast

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

مسیریابی مالتی کست - multicast IP routing

آدرس‌دهی Anycast

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

مسیریابی Anycast در شبکه توزیع محتوا - Anycast IP routing

همان‌گونه‌که در شکل مشاهده می‌کنید مسیریاب سمت کاربر، تمام مسیرهای دسترسی به سرورهای با آدرس ۱٫۵٫۱۰٫۱۰ را به همراه فاصله آن محاسبه کرده و در جدول مسیریابی خود ذخیره می‌کند. هرگاه کاربر بسته‌ای به مقصد ۱٫۵٫۱۰٫۱۰ ارسال نماید مسیریاب آن بسته‌ را از کوتاه‌ترین راه مسیردهی خواهد کرد. مسیریابی Anycast با استفاده از تمام پروتکل‌های مسیریابی قابل پیاده‌سازی است و در شبکه‌ی توزیع محتوا یا CDN هم با استفاده از پروتکل مسیریابی BGP پیاده‌سازی می‌شود. به این ترتیب نشانی سرورهای ما با استفاده از پیام‌های BGP برای مسیر‌یاب‌های اینترنتی تبلیغ می‌شود و هر مسیریاب فاصله خود تا آن نشانی را محاسبه می‌کند. بنابراین هنگامی که یک کاربر در اینترنت قصد استفاده از این سرویس وب را داشته باشد با توجه به محل جغرافیایی خود به نزدیکترین سرور متصل شده و اطلاعات مورد نظر را دریافت می‌کند.

مزایای روش Anycast

استفاده از روش Anycast به‌جای روش‌های سنتی در آدرس‌دهی و مسیریابی، مزایای زیر را برای ما در بر خواهد داشت:

  • با استفاده از Anycast مساله دسترسی کاربران به سرویس‌های وب از نزدیک‌ترین مسیر ممکن، به‌عهده مسیریاب‌های اینترنت خواهد افتاد و ما دیگر با مشکلات کاربردی موجود در استفاده از روش‌های دیگر مانند پروتکل DNS (مثلن Cache شدن بسته‌های DNS در سیستم کاربران و…) مواجه نخواهیم بود.
  • ارتباط کاربران از نزدیک‌ترین مسیر ممکن با سرویس‌دهنده‌های وب، سبب افزایش سرعت و کارآیی می‌شود.
  • مسیردهی کاربران مختلف بین سرورهای موجود در نقاط مختلف کشور و دنیا، باعث تقسیم بار بین چند سرور خواهد شد.
  • اگر یکی از سرورها از دسترس خارج شود، کاربران به‌شکل خودکار به‌سمت سرورهای دیگر مسیردهی خواهند شد.
  • اگر ترافیک بالایی از یک نقطه به قصد اجرای حمله DoS به سمت سرویس وب ارسال شود، ترافیک حمله به‌سمت یک سرور رفته و به این‌ ترتیب سبب ایجاد اختلال در کل سرویس نمی‌شود.

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

حال که با روش مسیریابی Anycast آشنا شدید، می‌خواهیم به یکی از پرسش‌های متداول کاربران CDN پاسخ دهیم: نشانی IP سرویس‌های وب که از CDN ابر آروان استفاده می‌کنند در داخل ایران است، آیا این یعنی ترافیک تمام کاربران این سرویس‌ها (حتا کاربران ایرانی) به‌سمت خارج از کشور رفته و از آن‌جا پاسخ داده می‌شود؟

پاسخ این سوال منفی است. برای روشن شدن مساله یک مثال فنی را بررسی می‌کنیم. گفتیم در پیکربندی مسیریابی anycast ما یک نشانی مشخص را به چند سرور در نقاط مختلف اختصاص می‌دهیم. از این پس این سرورها را سرورهای لبه آروان می‌نامیم. بازه نشانی ۱۸۵٫۱۴۳٫۲۳۳٫۰/۲۴ را که یکی از محدوده‌های نشانی Anycast آروان است را در نظر بگیرید. این بازه نشانی از کشور آلمان خریداری و به نام آن کشور نیز ثبت شده است. اما باید توجه داشت که خریداری یک بازه IP به‌نام یک کشور خاص، الزامی به استفاده از آن نشانی‌های IP در همان کشور به‌همراه ندارد. برای نمونه فرض کنید مطابق شکل زیر قرار است دسترسی به وب‌سایت شرکت آروان (arvancloud.com) با استفاده از سرورهای لبه CDN آروان و نشانی ۱۸۵٫۱۴۳٫۲۳۳٫۲ به‌شکل Anycast امکان‌پذیر باشد.

مسیریابی Anycast در شبکه توزیع محتوای ابر آروان - Arvancloud Anycast IP routing

همان‌گونه که در شکل نیز نمایش داده شده، نشانی ۱۸۵٫۱۴۳٫۲۳۳٫۲ در تمام سرورهای لبه تنظیم و به مسیریاب‌های مجاور تبلیغ خواهد شد. هنگامی‌که یک کاربر از هر نقطه دنیا دامنه سرویس مورد نظر خود را در این‌جا  یا در مرورگر به‌شکل arvancloud بنویسد، سرورهای DNS آن دامنه را به نشانی ۱۸۵٫۱۴۳٫۲۳۳٫۲ ترجمه می‌کنند و همان‌گونه که در بخش‌های قبل شرح دادیم مسیریاب‌های اینترنتی کاربر را بهسمت نزدیک‌ترین سرور هدایت خواهند کرد. بنابراین مطابق شکل اگر کاربری در شهر دماوند قصد بازدید از وب‌سایت www.arvancloud.com را داشته باشد، داده‌های مربوطه را از طریق سرور لبه آروان در تهران دریافت خواهد کرد. مشابه همین وضعیت اگر کاربر در شهر منچستر انگلستان باشد طبیعتن به‌سمت سرور لبه آروان در شهر لندن هدایت خواهد شد. به این ترتیب سرور لبه می‌تواند در هر نقطه از جهان از جمله ایران قرار گرفته و به درخواست‌های با مقصد ۱۸۵٫۱۴۳٫۲۳۳٫۲ پاسخ دهد. در پایان نتیجه می‌گیریم که ترجمه شدن یک دامنه به یک نشانی IP خارجی (در این مثال کشور آلمان) توسط سرورهای DNS، به این معنی نیست که سرور مربوطه حتمن در همان کشور قرار گرفته و ترافیک به‌سمت خارج از کشور مسیریابی می‌شود.

× برای اطلاع از آخرین اخبار و مقالات آروان عضو خبرنامه ما شوید