x

برای ورود به صفحه‌ی فارسی وب‌سایت ابر آروان کلیک کنید

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

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

آروان جزو معدود شبکه‌های توزیع محتوا در جهان است که نه‌تنها در لایه‌ی تفسیر نام (DNS Anycast) بلکه حتا در لایه‌ی ارایه‌ی سرویس نیز به‌شکل یکپارچه بر پایه‌ی مسیریابی ‎ (BGP Anycast) Anycast‎ عمل می‌کند. در این مطلب نخست نگاهی به روش‌های مسیریابی متداول داریم و پس از آن به بررسی روش مسیریابی Anycast و مزایای آن می‌پردازیم.

چرایی استفاده از Anycast

تا سال‌ها معماری اینترنت به‌گونه‌ای بود که اطلاعات (داده‌ها) تنها در یک سرور قرار می‌گرفت و این تک سرور مسوول پاسخ‌دهی به تمام درخواست‌های دسترسی به اطلاعات بود. به این طرح مسیریابی، ساختار Unicast گفته می‌شود. این معماری دو مشکل بزرگ دارد:

  • نخست، کاربرانی که از لحاظ جغرافیایی به محل قرارگیری سرور نزدیک‌تر باشند، می‌توانند با سرعت بیش‌تری نسبت به سایر کاربران که در نقاط دورتری قرار دارند، به داده‌ها دسترسی یابند. پس، با افزایش مسافت میان سیستم کاربر و سرور، میزان تاخیر در دریافت داده‌ها نیز افزایش می‌یابد.
  • دوم، اگر تک سرورِ مسوولِ پاسخ‌دهی به درخواست‌های کاربران بنا به هر دلیلی (حجم بالای درخواست‌ها، ازدحام ترافیک، حملات DDoS و...) از دسترس خارج شود، هیچ مرجع دیگری برای پاسخ‌دهی به درخواست کاربران وجود نخواهد داشت.

این مشکلات سبب شد تا از راهکاری با نام Anycasting استفاده شود.

Anycast Structure

Unicast Structure

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

سه روش متداول در آدرس‌دهی و مسیریابی ترافیک در ادامه توضیح داده می‌شوند.

one

Unicasting

در این حالت هر سیستم در ساختار شبکه دارای آدرس IP منحصربه‌فرد خود است و پیام ارسالی از یک سیستم به مقصد یک سیستم با آدرس IP مشخص و ویژه‌ی همان سیستم ارسال می‌شود. در ساختار Unicast، هیچ دو دستگاهی نمی‌توانند دارای آدرس IP یک‌سان باشند. بخش بزرگی از ارتباطات در دنیای اینترنت بر پایه‌ی Unicasting است.

Unicasting

two

Broadcasting

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


three

Multicasting

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

Multicasting

عملکرد و مزایای Anycast

مسیریابی Anycast یک پروتکل مسیریابی متفاوت نیست و نیازی به وجود قابلیت خاصی در سرورها، سیستم کاربران یا حتا سایر تجهیزات شبکه ندارد. Anycast درواقع یک سازوکار پیکربندی است و همانند Unicasting، در آن ارتباطی one-to-one برقرار است؛ به این معنا که پیام از سوی فرستنده به یک آدرس IP مشخص فرستاده می‌شود. این آدرس یک آدرس رزور شده برای مقاصد Broadcasting یا Multicasting نیست، بلکه یک آدرس Public معمولی است. اما تفاوت آن با Unicasting در این است که در این‌جا این تک IP به‌جای یک دستگاه به مجموعه‌ای از دستگاه‌ها اختصاص دارد. پس در این ساختار وجود یک آدرس IP یک‌سان برای دو یا چند دستگاه مشکلی ایجاد نمی‌کند. به این ترتیب می‌توان در نقاط مختلف دنیا، سرورهایی با آدرس IP یک‌سان داشت که هرکدام مسوول پاسخ‌دهی به کاربرانی خواهند بود که در محدوده‌ی آن‌ها قرار دارند.

برای نمونه، فرض کنید یک سرویس وب خاص با استفاده از سه سرور در نقاط مختلف دنیا (یا شبکه) مطابق شکل زیر ارایه شده باشد:

anycast-example-one

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

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

مزایای معماری Anycast آروان

dns
حل مشکل تشخیص موقعیت جغرافیایی با کمک DNS

با استفاده از مسیریابی Anycast مسیله دسترسی کاربران به سرویس‌های وب از نزدیک‌ترین مسیر ممکن، به‌عهده‌ی روتر‌های اینترنت خواهد افتاد و ما دیگر با مشکلات کاربردی موجود در استفاده از روش‌هایی هم‌چون پروتکل DNS (مانند Cache شدن بسته‌های DNS در سیستم کاربران و…) مواجه نخواهیم بود.

ddos
DDoS Mitigation

با استفاده از Anycast می‌توان حجم بزرگی از ترافیک ارسالی از جانب دستگاه‌های آلوده به Botnet را میان نودهای Aanycast توزیع کرد و با این شیوه از، از دسترس خارج شدن یک سرور به‌دلیل ناتوانی در پاسخ‌دهی به این حجم عظیم از درخواست‌ها، جلوگیری کرد.

load balancing
Load Balancing

با استفاده از Anycast می‌توان در یک محدوده‌ی جغرافیایی چند سرور قرار داد و ترافیک‌های کاربران قرار گرفته در این محدوده را میان این سرورها، Load Balance کرد.

redundancy
افزایش افزونگی (Redundancy)

با Anycast به‌جای یک تک‌سرور، چند سرور توزیع‌شده در نقاط مختلف جهان وجود دارد که با Fail شدن یک سرور، سرور نزدیک‌تر بعدی به‌شکل خودکار به درخواست کاربران پاسخ خواهد داد.

fast
افزایش سرعت

پاسخ‌دهی به درخواست کاربران از نزدیک‌ترین سرور به آن‌ها، سبب کاهش تاخیر در دسترسی به داده‌ها می‌شود.

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

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

پاسخ منفی است. برای روشن شدن مسیله یک نمونه‌ی فنی را بررسی می‌کنیم. همان‌طور که گفته شد، در پیکربندی مسیریابی Anycast، ما یک آدرس مشخص را به چند سرور در نقاط مختلف اختصاص می‌دهیم. از این پس این سرورها را سرورهای لبه آروان می‌نامیم. بازه‌ی آدرس 185.143.233.0/24 را که یکی از محدوده‌های آدرس Anycast آروان است را در نظر بگیرید؛ این بازه‌ی آدرس از کشور آلمان خریداری و به نام آن کشور نیز ثبت شده است، اما باید توجه داشت که خریداری یک بازه‌ی IP به‌نام یک کشور خاص، الزامی به استفاده از آن آدرس‌های IP در همان کشور به‌همراه ندارد. برای نمونه فرض کنید مطابق شکل زیر قرار است دسترسی به وب‌سایت شرکت آروان (arvancloud.com) با استفاده از سرورهای لبه CDN آروان و آدرس 185.143.233.2 به‌شکل Anycast ممکن باشد.

anycast-example-two

همان‌گونه که در شکل نیز نمایش داده شده است، آدرس 185.143.233.2 در تمام سرورهای لبه تنظیم و به روتر‌های مجاور تبلیغ خواهد شد. هنگامی‌که یک کاربر از هر نقطه‌ی دنیا دامنه‌ی سرویس مورد نظر خود را در این‌جا یا در مرورگر به‌شکل arvancloud بنویسد، سرورهای DNS، آن دامنه را به آدرس 185.143.233.2 ترجمه می‌کنند و همان‌گونه که در بخش‌های قبل گفته شد، روتر‌های اینترنتی، کاربر را به‌سمت نزدیک‌ترین سرور هدایت خواهند کرد. پس مطابق شکل اگر کاربری در شهر دماوند قصد بازدید از وب‌سایت www.arvancloud.com را داشته باشد، داده‌های مربوطه را از سرور لبه آروان در تهران دریافت خواهد کرد. به‌شکل مشابه، اگر کاربر در شهر منچستر انگلستان باشد طبیعتن به‌سمت سرور لبه آروان در شهر لندن هدایت خواهد شد. به این ترتیب سرور لبه می‌تواند در هر نقطه از جهان از جمله ایران قرار بگیرد و به درخواست‌هایی با مقصد 185.143.233.2 پاسخ دهد.

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

تنها به میزان مصرف‌تان، هزینه پرداخت کنید

جزییات قیمت‌گذاری هر محصول را از این‌جا ببینید یا به قسمت ماشین حساب بروید و هزینه‌های خود را برآرود کنید.