Anycast vs Unicast: در هر مورد کدام را بهتر انتخاب کنید

احتمالاً بسیاری در مورد Anycast شنیده اند. با این روش آدرس دهی و مسیریابی شبکه، یک آدرس IP واحد به چندین سرور در یک شبکه اختصاص داده می شود. این سرورها حتی می توانند در مراکز داده ای که از یکدیگر دور هستند قرار بگیرند. ایده Anycast این است که بسته به محل منبع درخواست، داده ها به نزدیکترین سرور (با توجه به توپولوژی شبکه، به طور دقیق تر، پروتکل مسیریابی BGP) ارسال می شود. بنابراین، امکان کاهش تعداد انتقال شبکه (hop) و تاخیر (تأخیر) وجود دارد.

در اصل، همان مسیر از مراکز داده متعدد در سراسر جهان تبلیغ می شود. بنابراین، مشتریان بر اساس مسیرهای BGP، یعنی مرکز داده، به "بهترین" و "نزدیکترین" ارسال خواهند شد. چرا Anycast است؟ چرا به جای Unicast از Anycast استفاده کنیم؟

Anycast vs Unicast: در هر مورد کدام را بهتر انتخاب کنید
Unicast واقعا برای سایتی با یک وب سرور و ترافیک متوسط ​​مناسب است. با این حال، اگر یک سرویس میلیون‌ها مشترک داشته باشد، معمولاً از سرورهای وب زیادی استفاده می‌کند که هر کدام آدرس IP یکسانی دارند. این سرورها به صورت جغرافیایی توزیع شده اند تا درخواست ها را به طور بهینه ارائه دهند.

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

اپراتورها انواع مختلفی از تعادل بار را بر اساس Anycast و DNS به مشتریان ارائه می دهند. مشتریان می توانند آدرس های IP را مشخص کنند که درخواست ها بر اساس موقعیت جغرافیایی سایت به آنها ارسال می شود. این باعث می شود تا درخواست های کاربر را با انعطاف بیشتری توزیع کنید.

فرض کنید چندین سایت وجود دارد که باید بین آنها بار (کاربران) را توزیع کنید، به عنوان مثال، یک فروشگاه آنلاین با 100 درخواست در روز یا یک وبلاگ محبوب. برای محدود کردن منطقه ای که کاربران از آن به یک سایت خاص دسترسی دارند، می توانید از گزینه Geo Community استفاده کنید. این به شما امکان می دهد منطقه ای را که اپراتور در آن مسیر را اعلام می کند محدود کنید.

Anycast vs Unicast: در هر مورد کدام را بهتر انتخاب کنید

Anycast vs Unicast: در هر مورد کدام را بهتر انتخاب کنید
Anycast و Unicast: تفاوت ها

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

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

بنابراین در شبکه Anycast آدرس IP یکسان از جاهای مختلف تبلیغ می شود و شبکه بر اساس «هزینه» مسیر تصمیم می گیرد که درخواست کاربر را به کجا ارسال کند. به عنوان مثال، BGP اغلب برای تعیین کوتاه ترین مسیر داده استفاده می شود. هنگامی که کاربر درخواست Anycast را ارسال می کند، BGP بهترین مسیر را برای سرورهای Anycast موجود در شبکه تعیین می کند.

مزایای Anycast

کاهش تاخیر
سیستم‌های Anycast می‌توانند تأخیر را هنگام پردازش درخواست‌های کاربر کاهش دهند، زیرا به شما امکان می‌دهند داده‌ها را از نزدیک‌ترین سرور دریافت کنید. یعنی کاربران همیشه به "نزدیکترین" (از نظر پروتکل مسیریابی) DNS سرور متصل خواهند شد. در نتیجه، Anycast با کاهش فاصله شبکه بین مشتری و سرور، زمان ارتباط را کاهش می دهد. این نه تنها تأخیر را کاهش می دهد، بلکه تعادل بار را نیز فراهم می کند.

سرعت

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

افزایش پایداری و تحمل خطا

اگر چندین سرور در سراسر جهان از یک IP استفاده کنند، اگر یکی از سرورها از کار بیفتد یا از کار بیفتد، ترافیک به نزدیکترین سرور هدایت می شود. در نتیجه، Anycast سرویس را انعطاف پذیرتر می کند و دسترسی/تأخیر/سرعت بهتری به شبکه ارائه می دهد. 

بنابراین، با داشتن چندین سرور به طور مداوم در دسترس کاربران، برای مثال Anycast، پایداری DNS را بهبود می بخشد. اگر هاست با شکست مواجه شود، درخواست های کاربر بدون هیچ گونه مداخله دستی یا پیکربندی مجدد به سرور DNS دیگری هدایت می شود. Anycast با حذف مسیرهای سایت مشکل ساز، سوئیچ تقریباً شفافی را برای سایر سایت ها فراهم می کند. 

تعادل بار

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

کاهش تاثیر حملات DoS 

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

حملات DDoS اغلب از بات نت هایی استفاده می کنند که می توانند ترافیک زیادی ایجاد کنند که سرور مورد حمله را بیش از حد بارگذاری کند. مزیت استفاده از Anycast در این شرایط این است که هر سرور می تواند بخشی از حمله را "جذب" کند که باعث کاهش بار روی سرور خاص می شود. حمله انکار سرویس احتمالاً در سرور بومی سازی شده است و کل سرویس را تحت تأثیر قرار نمی دهد.

مقیاس پذیری افقی بالا

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

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

این تنها راه برای سرویس دهی به ترابیت ترافیک و تعداد بسیار زیادی از کاربران در زمانی است که فقط چند پورت 10 یا 25 گیگابیت بر ثانیه روی سرور وجود دارد. 100 هاست با یک آدرس IP پردازش حجم ترابیت ترافیک را ممکن می کند.

سهولت مدیریت پیکربندی

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

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

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

از منبعی ناب تا دوردست زیبا

در حالی که Anycast کاربران را بر اساس کمترین جهش هدایت می کند، لزوماً به معنای کمترین تأخیر نیست. تأخیر معیار پیچیده تری است زیرا یک پرش می تواند بیش از ده داشته باشد.

Anycast vs Unicast: در هر مورد کدام را بهتر انتخاب کنید
مثال: ارتباطات بین قاره ای ممکن است شامل یک پرش با تاخیر بسیار بالا باشد.

Anycast عمدتا برای سرویس های مبتنی بر UDP مانند DNS استفاده می شود. درخواست‌های کاربر بر اساس مسیرهای BGP به «بهترین» و «نزدیک‌ترین» مرکز داده هدایت می‌شوند.

Anycast vs Unicast: در هر مورد کدام را بهتر انتخاب کنید
مثال: یک ایستگاه کاری سرویس گیرنده DNS با آدرس IP Anycast DNS 123.10.10.10 وضوح DNS را برای نزدیکترین سه سرور نام DNS مستقر شده با استفاده از همان آدرس IP Anycast انجام می دهد. اگر R1 یا Server A خراب شود، بسته های سرویس گیرنده DNS به طور خودکار از طریق R2 و R3 به نزدیکترین سرور DNS بعدی ارسال می شود. علاوه بر این، مسیر سرور A ما از جداول مسیریابی حذف می شود و از استفاده بیشتر از این سرور نام جلوگیری می کند.

سناریوهای استقرار

دو طرح کلی وجود دارد که برای تعیین اینکه کاربر به کدام سرور متصل است استفاده می شود:

  • لایه شبکه Anycast. کاربر را به نزدیکترین سرور متصل می کند. مسیر شبکه از کاربر به سرور در اینجا مهم است.
  • سطح برنامه Anycast. معیارهای محاسبه شده بیشتری در این طرح وجود دارد، از جمله در دسترس بودن سرور، زمان پاسخگویی، تعداد اتصالات و غیره. بستگی به مانیتور خارجی دارد که آمار شبکه را ارائه می دهد.

CDN بر اساس Anycast

بیایید اکنون به استفاده از Anycast در شبکه های تحویل محتوا برگردیم. Anycast مطمئناً یک مفهوم شبکه جالب است و در حال پذیرفتن بیشتر از سوی ارائه دهندگان CDN نسل بعدی است.

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

CDN همه سرورها را در یک شبکه متحد می کند و بارگذاری سریعتر محتوا را فراهم می کند. گاهی اوقات می توان زمان انتظار کاربر را 5-6 ثانیه کاهش داد. هدف CDN بهینه سازی تحویل با ارائه محتوا از سرور نزدیک به کاربر نهایی است. این بسیار شبیه به Anycast است، جایی که نزدیکترین سرور بر اساس مکان کاربر نهایی انتخاب می شود. به نظر می رسد که هر ارائه دهنده CDN به طور پیش فرض از Anycast استفاده می کند، اما در واقعیت اینطور نیست.

برنامه‌هایی که از پروتکل‌هایی مانند HTTP/TCP استفاده می‌کنند به اتصال در حال برقراری متکی هستند. اگر یک گره Anycast جدید انتخاب شود (به عنوان مثال، اگر سرور از کار بیفتد)، ممکن است سرویس قطع شود. به همین دلیل است که Anycast قبلا برای سرویس های بدون اتصال مانند UDP و DNS توصیه می شد. با این حال، Anycast برای پروتکل های اتصال گرا به خوبی کار می کند، به عنوان مثال، TCP در حالت Anycast به خوبی کار می کند.

برخی از ارائه دهندگان CDN از مسیریابی مبتنی بر Anycast استفاده می کنند، برخی دیگر مسیریابی مبتنی بر DNS را ترجیح می دهند: نزدیکترین سرور بسته به جایی که سرور DNS کاربر در آن قرار دارد انتخاب می شود.

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

در زیرساخت‌های مرکز چندداده ترکیبی، می‌توانید ترافیک را بین سرورها یا حتی ماشین‌های مجازی روی سرورهای اختصاصی توزیع کنید.

بنابراین، انتخاب بزرگی از راه حل های فنی برای ساخت زیرساخت وجود دارد. همچنین می توانید با استفاده از هر دستگاهی در گروه، تعادل بار IP را در چندین مرکز داده برای بهینه سازی عملکرد سایت تنظیم کنید.

شما می توانید ترافیک را بر اساس قوانین خود توزیع کنید و "وزن" هر یک از سرورهای توزیع شده در هر مرکز داده را تعریف کنید. این پیکربندی به ویژه زمانی مفید است که یک پارک سرور توزیع شده وجود داشته باشد و عملکرد سرویس ها متفاوت باشد. این امکان توزیع بیشتر ترافیک را برای بهبود عملکرد سرور فراهم می کند.

برای ایجاد یک سیستم مانیتورینگ با استفاده از دستور ping، می توان پروب ها را پیکربندی کرد. این به مدیر اجازه می دهد تا رویه های کنترل خود را تعریف کند و دید واضح تری از وضعیت هر جزء در زیرساخت به دست آورد. به این ترتیب می توان معیارهای دسترسی را تعریف کرد.

ایجاد یک زیرساخت ترکیبی امکان پذیر است: گاهی اوقات راحت است که دفتر پشتی را در شبکه شرکتی رها کنید و بخش رابط را به ارائه دهنده برون سپاری کنید.

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

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

یکی از گزینه های استفاده از Anycast، انتخاب بهینه نقطه حضور اپراتور (PoP) است. بیاوریم مثال. لینکدین (مسدود در روسیه) نه تنها به دنبال بهبود عملکرد و سرعت محصولات خود - برنامه های موبایل و وب است، بلکه به دنبال بهبود زیرساخت شبکه برای تحویل سریعتر محتوا است. برای این ارائه محتوای پویا، لینکدین به شدت از PoPs - Points of Presence استفاده می کند. Anycast برای هدایت کاربران به نزدیکترین PoP استفاده می شود.

دلیل آن این است که در مورد Unycast، هر LinkedIn PoP یک آدرس IP منحصر به فرد دارد. سپس کاربران بر اساس موقعیت جغرافیایی خود با استفاده از DNS به PoP اختصاص داده می شوند. مشکل این است که هنگام استفاده از DNS، حدود 30 درصد از کاربران در ایالات متحده به یک PoP کمتر از حد مطلوب هدایت شدند. به لطف معرفی مرحله‌ای Anycast، تخصیص PoP زیر بهینه از 31% به 10% کاهش یافت.

Anycast vs Unicast: در هر مورد کدام را بهتر انتخاب کنید
نتایج آزمایش آزمایشی در نمودار نشان داده شده است، که در آن محور y درصد تخصیص بهینه PoP است. همانطور که Anycast در بسیاری از ایالت های ایالات متحده "مقیاس" شد، درصد ترافیک به سمت PoP بهینه بهبود یافت.

نظارت بر شبکه Anycast

در تئوری، شبکه‌های Anycast ساده هستند: چندین سرور فیزیکی به همان آدرس IP اختصاص داده می‌شوند که BGP از آن برای تعیین مسیر استفاده می‌کند. اما پیاده‌سازی و طراحی پلتفرم‌های Anycast، به‌ویژه برای شبکه‌های Anycast مقاوم در برابر خطا، پیچیده است. حتی دشوارتر از آن، نظارت مؤثر بر شبکه Anycast برای شناسایی و جداسازی سریع خطاها است.

اگر سرویس ها از یک ارائه دهنده CDN شخص ثالث برای ارائه محتوای خود استفاده می کنند، نظارت و تأیید عملکرد شبکه برای آنها بسیار مهم است. نظارت Anycast CDN بر اندازه‌گیری تأخیر سرتاسر و ویژگی‌های hop ماقبل آخر تمرکز دارد تا بفهمد کدام مرکز داده محتوا را ارائه می‌کند. تجزیه هدرهای سرور HTTP روش دیگری برای تعیین اینکه داده ها از کجا می آیند است.

Anycast vs Unicast: در هر مورد کدام را بهتر انتخاب کنید
مثال: هدرهای پاسخ HTTP که مکان سرور CDN را نشان می دهد.

برای مثال، CloudFlare از هدر CF-Ray خود در پیام‌های HTTP Response استفاده می‌کند که شامل نشانی از مرکز داده‌ای است که درخواست برای آن ارسال شده است. در مورد Zendesk، هدر CF-Ray برای منطقه سیاتل CF-RAY: 2a21675e65fd2a3d-SEA و برای آمستردام CF-RAY: 2a216896b93a0c71-AMS است. همچنین می توانید از هدرهای HTTP-X از پاسخ HTTP برای تعیین محل قرارگیری محتوا استفاده کنید.

سایر روش های آدرس دهی

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

Unicast

امروزه بیشتر اینترنت از این روش استفاده می کند. Unicast - انتقال unicast، آدرس IP تنها با یک گره خاص در شبکه مرتبط است. به این تطابق یک به یک می گویند. 

چندپخشی

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

پخش

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

ژئوکست

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

Geo Router منطقه خدمات خود را محاسبه کرده و آن را تقریبی می کند. Georouters، تبادل مناطق خدماتی، ساخت جداول مسیریابی. سیستم ژئوروترها ساختاری سلسله مراتبی دارد.

Anycast vs Unicast: در هر مورد کدام را بهتر انتخاب کنید
Anycast vs Unicast: در هر مورد کدام را بهتر انتخاب کنید
Anycast vs Unicast: در هر مورد کدام را بهتر انتخاب کنید
Unicast، Multicast و Broadcast.

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

برخی از شرکت‌های مخابراتی از نظارت مسیر در هر نقطه حضور (POP) استفاده می‌کنند: سیستم به‌طور خودکار کوتاه‌ترین مسیرهای محلی و جهانی را برای POPها تجزیه و تحلیل می‌کند و آنها را در کمترین مکان‌های جغرافیایی تأخیر با زمان خاموشی صفر هدایت می‌کند.

در حال حاضر، Anycast پایدارترین و مطمئن ترین راه حل برای ساخت سرویس های DNS با بار بالا است که نیازمندی های بالایی برای ثبات و قابلیت اطمینان دارند.

دامنه .ru از 35 سرور DNS Anycast که در 20 گره توزیع شده در پنج ابر Anycast گروه بندی شده اند، پشتیبانی می کند. در این مورد، از اصل ساختمان بر اساس جغرافیایی استفاده می شود، یعنی. ژئوکست. هنگام قرار دادن گره های DNS، برنامه ریزی شده است که آنها را به مکان های پراکنده جغرافیایی نزدیک به فعال ترین کاربران، حداکثر تمرکز ارائه دهندگان روسی در نقطه مکان گره، و همچنین در دسترس بودن ظرفیت های رایگان و سهولت تعامل با سایت منتقل کنید.

چگونه یک CDN بسازیم؟

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

CDN به شما این امکان را می دهد که از سرورهایی استفاده کنید که به مخاطب هدف نزدیک هستند. این امر زمان انتظار را کاهش می‌دهد، به سرعت بارگذاری محتوای سایت برای همه بازدیدکنندگان کمک می‌کند، که به ویژه برای سایت‌هایی با فایل‌های حجیم یا خدمات چندرسانه‌ای حیاتی است. برنامه های کاربردی معمول برای CDN ها تجارت الکترونیک و سرگرمی هستند.

شبکه سرورهای اضافی ایجاد شده در زیرساخت CDN، که تا حد امکان نزدیک به کاربران قرار دارند، به تحویل داده‌ها با ثبات‌تر و سریع‌تر کمک می‌کنند. طبق آمار، استفاده از CDN در مقایسه با سایت‌های بدون CDN بیش از 70 درصد تاخیر در دسترسی به سایت را کاهش می‌دهد.

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

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

GeoDNS آدرس IP مشتری را که درخواست DNS را ارسال کرده است، یا IP سرور DNS بازگشتی ارائه دهنده را که هنگام پردازش درخواست مشتری استفاده می شود، تعریف می کند. کشور/منطقه توسط IP و پایگاه GeoIP مشتری تعیین می شود. سپس مشتری آدرس IP نزدیکترین سرور CDN را دریافت می کند. درباره پیکربندی GeoDNS بیشتر بخوانید اینجا.

Anycast یا GeoDNS؟

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

Anycast vs Unicast: در هر مورد کدام را بهتر انتخاب کنید
مثال: کاربران در اروپا به نقطه پایانی دیگری هدایت می شوند.

همچنین می توانید با حذف تمام درخواست ها، دسترسی به دامنه ها را رد کنید. این، به ویژه، یک راه سریع برای قطع کردن مزاحمان است.

GeoDNS پاسخ های دقیق تری نسبت به Anycast می دهد. اگر در مورد Anycast کوتاه‌ترین مسیر با تعداد پرش‌ها تعیین شود، در GeoDNS، مسیریابی برای کاربران نهایی بسته به موقعیت فیزیکی آنها انجام می‌شود. این امر تأخیر را کاهش می دهد و دقت را هنگام ایجاد قوانین مسیریابی دانه ای بهبود می بخشد.

هنگام جابجایی به دامنه، مرورگر به نزدیکترین سرور DNS دسترسی پیدا می کند که بسته به دامنه، یک آدرس IP برای بارگذاری سایت صادر می کند. فرض کنید یک فروشگاه آنلاین در ایالات متحده و اروپا محبوب است، اما سرورهای DNS فقط در اروپا برای آن وجود دارد. سپس کاربرانی از ایالات متحده که می خواهند از خدمات فروشگاه استفاده کنند مجبور می شوند درخواستی را به نزدیکترین سرور ارسال کنند و از آنجایی که بسیار دور است ، مدت زیادی طول می کشد تا منتظر پاسخ باشید - سایت نمی تواند سریع بارگیری کنید

هنگام قرار دادن یک سرور GeoDNS در ایالات متحده، کاربران قبلاً با آن تماس خواهند گرفت. پاسخ سریع خواهد بود که بر سرعت بارگذاری سایت تأثیر می گذارد.

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

اگر سرورهای CDN را با داده های حافظه پنهان در ایالات متحده نیز قرار دهید، پس از بارگیری، مرورگر مشتری درخواستی را به نزدیکترین سرور DNS ارسال می کند که آدرس IP صحیح را ارسال می کند. مرورگر با IP دریافتی با نزدیکترین سرور CDN و سرور اصلی تماس می گیرد و سرور CDN محتوای کش شده را به مرورگر می فرستد. در حالی که محتوای ذخیره شده در حافظه پنهان بارگذاری می شود، فایل هایی که برای بارگیری کامل سایت وجود ندارند از سرور اصلی می آیند. در نتیجه زمان بارگذاری سایت کاهش می یابد، زیرا فایل های بسیار کمتری از سرور اصلی ارسال می شود.

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

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

زیرشبکه های کلاینت در DNS توسعه ای از DNS (RFC7871) است که تعریف می کند چگونه سرورهای DNS بازگشتی می توانند اطلاعات یک کلاینت را به یک سرور DNS ارسال کنند، به ویژه اطلاعات شبکه ای که یک سرور GeoDNS می تواند از آن برای تعیین دقیق تر مکان کلاینت استفاده کند.

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

اگر می خواهید از GeoDNS استفاده کنید، مهم است که از این ویژگی ها آگاه باشید، زیرا در برخی موارد می تواند فاصله بین سرورهای کش و کلاینت را افزایش دهد.

خلاصه: اگر می خواهید چندین VPS را در یک CDN ترکیب کنید، بهترین گزینه استفاده از بسته سرور DNS با ویژگی GeoDNS + Anycast خارج از جعبه است.

Anycast vs Unicast: در هر مورد کدام را بهتر انتخاب کنید

منبع: www.habr.com

اضافه کردن نظر