یکی از چالشهای مهم در شبکه توزیع محتوا، تشخیص دقیق موقعیت جغرافیایی کاربر است. اگرچه روشهای سنتی تشخیص موقعیت به کمک DNS سرور در سالهای اخیر رشد چشمگیری داشته، اما همچنان دقت کافی ندارد و پیادهسازی یک ساختار پایدار و یکپارچه را با مشکلاتی همراه میکند. به همین دلیل آروان با استفاده از فناوری Anycast سعی دارد تا مشکل را بهبود دهد.
به کمک این روش نشانیهای IP آروان بهشکل همزمان در نقاط مختلف و سراسر جهان advertise میشود و هر کاربر حتا در نخستین اتصال به نزدیکترین سرور لبه متصلشده و از آن نقطه سرویس دریافت میکند. در این مطلب، ابتدا روشهای مسیریابی رایج را بررسی کرده و پس از آن، روش Anycast و مزایای آن را شرح میدهیم.
Anycast چیست؟
Anycast یک تکنیک مسیریابی در شبکههای کامپیوتری است که بهوسیله آن چندین سرور مختلف از یک نشانی IP مشابه برای ارایه خدمات به کاربران در نقاط مختلف جغرافیایی استفاده میکنند. در این روش، مسیریابها بستههای داده را به نزدیکترین سرور از نظر مسافت شبکهای هدایت میکنند. برخلاف روشهای معمولی مثل Unicast که در آن بستهها به یک مقصد مشخص ارسال میشوند، در Anycast بستهها به نزدیکترین یا بهترین سرور از میان چندین سرور با نشانی IP مشابه ارسال میشوند.
در واقع، در مسیریابی Anycast، یک نشانی IP میتواند در چندین سرور در نقاط مختلف دنیا پیکربندی شود، بهطوری که هر کاربر از نزدیکترین سرور به خود متصل میشود. این روش باعث بهبود عملکرد، کاهش تاخیر، افزایش مقیاسپذیری و بالا بردن پایداری سرویسها میشود. اگر یکی از سرورها از دسترس خارج شود، ترافیک بهطور خودکار به سرور دیگر هدایت میشود، بدون اینکه تأثیری بر عملکرد کلی سرویس بگذارد.
این روش در شبکههای توزیع محتوا (CDN) بهویژه در موقعیتهای جغرافیایی پراکنده بسیار موثر است و در زمانهای پیک مصرف یا حملات DoS میتواند به حفظ پایداری سرویس کمک کند.
روشهای آدرسدهی در شبکههای کامپیوتری
دستهبندی روشهای آدرسدهی که در شبکههای کامپیوتری مورد استفاده قرار میگیرند بهاختصار در ادامه شرح داده میشوند:
آدرسدهی Unicast
در این روش هر نشانی IP فقط به یک سامانه اختصاص داده میشود و در نتیجه بستههای ارسالشده به نشانی IP مذکور همواره بهوسیلهی یک گیرنده مشخص دریافت میشود.
آدرسدهی Multicast
در این روش یک نشانی IP به گروه مشخصی از گیرندهها اختصاص داده میشود و هر بستهای که به این نشانی ارسال شود بهوسیلهی تمام گروه دریافت خواهد شد. بهعنوان مثال، این روش در شبکههای پخش صوتی و تصویری در اینترنت کاربردهای فراوانی دارد؛ بهگونهایکه بستههای دارای صوت ارسالشده از یک شبکه رادیویی بهدست گروهی از مخاطبان برسد.
آدرسدهی Anycast
مسیریابی Anycast نه یک پروتکل مسیریابی متفاوت است و نه نیازی به وجود قابلیت خاصی در سرورها، سیستم کاربران و یا حتا سایر تجهیزات شبکه دارد. Anycast در واقع یک سازوکار پیکربندی است که در آن دو یا چند سرور از یک نشانی IP یکسان برای سرویسدهی استفاده میکنند. برای نمونه فرض کنید یک وبسرویس خاص با استفاده از سه سرور در نقاط مختلف دنیا (یا شبکه) مطابق شکل زیر ارایه شده باشد:
همانگونه که در شکل مشاهده میکنید مسیریاب سمت کاربر، تمام مسیرهای دسترسی به سرورهای با آدرس 1.5.10.10 را بههمراه فاصله آن محاسبه کرده و در جدول مسیریابی خود ذخیره میکند. هرگاه کاربر بستهای به مقصد 1.5.10.10 ارسال کند مسیریاب آن بسته را از کوتاهترین راه مسیردهی خواهد کرد.
مسیریابی Anycast با استفاده از همهی پروتکلهای مسیریابی قابل پیادهسازی است و در شبکهی توزیع محتوا یا CDN هم با استفاده از پروتکل مسیریابی BGP پیادهسازی میشود. به این ترتیب نشانی سرورهای ما با استفاده از پیامهای BGP برای مسیریابهای اینترنتی تبلیغ میشود و هر مسیریاب فاصله خود تا آن نشانی را محاسبه میکند. بنابراین هنگامی که یک کاربر در اینترنت قصد استفاده از این وبسرویس را داشته باشد با توجه به محل جغرافیایی خود به نزدیکترین سرور متصلشده و اطلاعات مورد نظر را دریافت میکند.
مزایای روش مسیریابی Anycast
استفاده از روش Anycast بهجای روشهای سنتی در آدرسدهی و مسیریابی، مزایای زیر را برای ما در بر خواهد داشت:
دسترسی سریعتر به سرویسهای وب
با استفاده از مسیریابی Anycast مسالهی دسترسی کاربران به سرویسهای وب از نزدیکترین مسیر ممکن، بهعهده مسیریابهای اینترنت است و ما دیگر با مشکلات موجود در استفاده از روشهای دیگر مانند پروتکل DNS (Cache شدن بستههای DNS در سیستم کاربران و …) روبهرو نخواهیم شد.
افزایش سرعت و کارآیی
ارتباط کاربران از نزدیکترین مسیر ممکن با سرویسدهندههای وب، سبب افزایش سرعت و کارآیی میشود.
تقسیم بار بین سرورها
مسیردهی کاربران مختلف بین سرورهای موجود در نقاط مختلف کشور و دنیا، باعث تقسیم بار بین چند سرور خواهد شد.
پایداری بالاتر با مسیریابی خودکار
اگر یکی از سرورها از دسترس خارج شود، کاربران بهشکل خودکار بهسمت سرورهای دیگر مسیردهی خواهند شد.
محافظت در برابر حملات DoS
اگر ترافیک بالایی از یک نقطه به قصد اجرای حملهی DoS بهسمت سرویس وب ارسال شود، ترافیک حمله بهسمت یک سرور رفته و به این ترتیب سبب ایجاد اختلال در کل سرویس نمیشود.
آیا ترافیک ایرانیها از خارج پاسخ داده میشود؟
حالکه با روش مسیریابی Anycast آشنا شدید، میخواهیم به یکی از پرسشهای رایج کاربران CDN پاسخ دهیم: نشانی IP سرویسهای وب که از CDN ابر آروان استفاده میکنند در داخل ایران است، آیا ترافیک تمام کاربران این سرویسها (حتا کاربران ایرانی) به خارج از کشور رفته و از آنجا پاسخ داده میشود؟
پاسخ این سوال منفی است. برای روشن شدن مساله یک مثال فنی را بررسی میکنیم. گفتیم در پیکربندی مسیریابی anycast ما یک نشانی مشخص را به چند سرور در نقاط مختلف اختصاص میدهیم.
از این پس این سرورها را «سرورهای لبهی آروان» مینامیم. بازهی نشانی 185.143.233.0/24 را که یکی از محدودههای نشانی Anycast آروان است را در نظر بگیرید. این بازهی نشانی از کشور آلمان خریداری و بهنام آن کشور نیز ثبت شده است.
اما باید توجه داشت که خریداری یک بازهی IP بهنام یک کشور خاص، الزامی به استفاده از آن نشانیهای IP در همان کشور را بههمراه ندارد.
برای نمونه فرض کنید مطابق شکل زیر قرار است دسترسی به وبسایت شرکت آروان (arvancloud.ir) با استفاده از سرورهای لبهی CDN آروان و نشانی 185.143.233.2 بهشکل Anycast امکانپذیر باشد.
همانگونه که در شکل نیز نمایش داده شده، نشانی 185.143.233.2 در تمام سرورهای لبه تنظیم و به مسیریابهای مجاور تبلیغ خواهد شد. هنگامیکه یک کاربر از هر نقطه دنیا دامنهی سرویس مورد نظر خود را در اینجا یا در مرورگر بهشکل arvancloud بنویسد، سرورهای DNS آن دامنه را به نشانی 185.143.233.2 ترجمه میکنند و همانگونه که در بخشهای قبل شرح دادیم مسیریابهای اینترنتی کاربر را بهسمت نزدیکترین سرور هدایت خواهند کرد.
بنابراین مطابق شکل اگر کاربری در شهر دماوند قصد بازدید از وبسایت www.arvancloud.ir را داشته باشد، دادههای مربوطه را از طریق سرور لبه آروان در تهران دریافت خواهد کرد. مشابه همین وضعیت اگر کاربر در شهر منچستر انگلستان باشد طبیعتن بهسمت سرور لبهی آروان در شهر لندن هدایت خواهد شد. به این ترتیب سرور لبه میتواند در هر نقطه از جهان (بهویژه در ایران) قرار گرفته و به درخواستهای با مقصد 185.143.233.2 پاسخ دهد.
در پایان نتیجه میگیریم که ترجمه شدن یک دامنه به یک نشانی IP خارجی (در این مثال کشور آلمان) بهوسیلهی سرورهای DNS، به این معنی نیست که آن سرور حتمن در همان کشور قرار گرفته و ترافیک بهسمت خارج از کشور مسیریابی میشود.
یک پاسخ در “استفاده از مسیریابی Anycast در شبکه توزیع محتوای ابر آروان”
بسیار آموزنده