DNS round-robin یک تکنیک متعادل کننده بار است که برای توزیع ترافیک شبکه ورودی در چندین سرور به صورت دورگرد استفاده می شود. این یک مکانیسم اساسی برای افزایش عملکرد، افزونگی و تحمل خطا در وب سایت ها و خدمات است. با استفاده از DNS (سیستم نام دامنه)، این روش به چندین آدرس IP اجازه می دهد تا با یک نام دامنه واحد مرتبط شوند. هنگامی که مشتریان آدرس IP دامنه را درخواست می کنند، DNS یک آدرس IP متفاوت را به صورت چرخشی از استخر برمی گرداند و ترافیک را بین سرورهای مرتبط به طور مساوی توزیع می کند.
تاریخچه پیدایش DNS round-robin و اولین ذکر آن
مفهوم DNS دور روبین به روزهای اولیه اینترنت برمی گردد. ایده اولیه این بود که با داشتن چندین رکورد A (آدرس) در فایل منطقه DNS، که هر کدام به سرور متفاوتی اشاره میکنند، تعادل بار اولیه و failover را فعال کنید. اولین اشاره به DNS دور-robin را می توان به RFC 970 که در سال 1985 منتشر شد، که مفهوم چندین آدرس IP را برای یک دامنه معرفی کرد، ردیابی کرد.
اطلاعات دقیق در مورد DNS دور رابین
DNS round-robin بر اساس یک اصل ساده از طریق فهرستی از آدرسهای IP در پاسخ به پرسشهای DNS عمل میکند. هنگامی که یک کلاینت درخواستی برای حل یک نام دامنه می دهد، سرور DNS به طور تصادفی یک آدرس IP را از لیست انتخاب می کند و آن را به عنوان پاسخ برمی گرداند. درخواستهای DNS بعدی از سایر کلاینتها ممکن است آدرسهای IP متفاوتی را در لیست دریافت کنند، بنابراین ترافیک بین سرورها توزیع میشود.
ساختار داخلی DNS round-robin: نحوه عملکرد DNS round-robin
DNS دور روبین در سلسله مراتب سیستم نام دامنه کار می کند. هنگامی که یک DNS یک پرس و جو برای یک دامنه با آدرس های IP متعدد دریافت می کند (به دلیل پیکربندی دورگرد)، در هر پاسخ یکی از آدرس های IP را از لیست برمی گرداند. انتخاب آدرس IP معمولاً بر اساس ترتیب ظاهر شدن آنها در فایل منطقه DNS است.
فرآیند را می توان در مراحل زیر خلاصه کرد:
- یک کلاینت یک پرس و جوی DNS برای نام دامنه ایجاد می کند.
- حلکننده DNS رکوردهای DNS دامنه را جستجو میکند و چندین آدرس IP مرتبط با آن را پیدا میکند.
- حلکننده DNS یکی از آدرسهای IP را به کلاینت برمیگرداند و انتخاب را برای هر کوئری بعدی میچرخاند.
تجزیه و تحلیل ویژگی های کلیدی DNS دور-رابین
DNS round-robin چندین ویژگی کلیدی را ارائه می دهد که آن را به ابزاری ارزشمند برای متعادل کردن بار و افزایش در دسترس بودن سرور تبدیل می کند:
-
توزیع بار: با چرخاندن آدرسهای IP در پاسخهای DNS، DNS گردشی به طور مساوی ترافیک ورودی را بین چندین سرور توزیع میکند و از بارگذاری بیش از حد هر سرور منفرد جلوگیری میکند.
-
در دسترس بودن بالا: با مرتبط کردن چندین سرور با یک دامنه واحد، DNS round-robin افزونگی را فراهم می کند. اگر یک سرور در دسترس نباشد، سرورهای باقی مانده می توانند به رسیدگی به درخواست های دریافتی ادامه دهند.
-
سهولت اجرا: DNS round-robin را می توان با افزودن چندین رکورد A در فایل ناحیه DNS به راحتی پیاده سازی کرد. این نیازی به تنظیمات پیچیده یا تغییرات در برنامه یا تنظیمات سرور ندارد.
-
کم هزینه: DNS round-robin یک راه حل مقرون به صرفه است، زیرا به سخت افزار یا نرم افزار تخصصی نیاز ندارد و برای کسب و کارهای کوچک و سازمان ها قابل دسترسی است.
-
چسبندگی جلسه: در حالی که DNS دور-robin ترافیک را بین چندین سرور توزیع می کند، توانایی حفظ چسبندگی جلسه را ندارد. در نتیجه، درخواست های متوالی از یک کلاینت ممکن است به سرورهای مختلف هدایت شود.
انواع DNS دور روبین
دو نوع اصلی از پیکربندی های دور روبین DNS وجود دارد: دور روبین ساده و دور روبین وزن دار.
1. ساده گرد رابین
در رویکرد دور روبین ساده، همه آدرسهای IP به طور یکسان در نظر گرفته میشوند، و DNS Resolver بهطور متوالی در آنها چرخش میکند. هر سرور سهم مساوی از ترافیک ورودی را دریافت می کند، با این فرض که همه سرورها ظرفیت های مشابهی دارند.
2. وزن گرد رابین
دور-رابین وزن دار مفهومی از اولویت را به آدرس های IP معرفی می کند. به هر آدرس IP یک مقدار وزن اختصاص داده می شود که نشان دهنده ظرفیت یا توانایی آن برای مدیریت ترافیک است. سپس حلکننده DNS، آدرسهای IP را بر اساس وزن آنها چرخش میدهد و ترافیک را متناسب با ظرفیت هر سرور توزیع میکند.
در اینجا مقایسه ای بین دو نوع DNS دور روبین وجود دارد:
ویژگی | دور رابین ساده | دور رابین وزن دار |
---|---|---|
توزیع ترافیک | توزیع برابر بین سرورها | توزیع متناسب بر اساس وزن |
پیکربندی | وزن یکنواخت برای همه سرورها | وزن های قابل تنظیم برای هر سرور |
موارد استفاده کنید | زمانی مناسب است که سرورها دارای ظرفیت های مشابه باشند | زمانی که سرورها ظرفیت های متفاوتی دارند ترجیح داده می شود |
راه های استفاده از DNS Round-Robin
-
Load Balancing: DNS round-robin معمولاً برای توزیع ترافیک در چندین سرور وب برای جلوگیری از بارگذاری بیش از حد و بهبود زمان پاسخ استفاده می شود.
-
دسترسی بالا: با مرتبط کردن چندین آدرس IP با یک دامنه واحد، DNS دور روبین تضمین می کند که اگر یک سرور در دسترس نباشد، سرورهای دیگر می توانند درخواست های دریافتی را مدیریت کنند.
-
متعادلسازی بار جغرافیایی: از DNS دور رابین میتوان برای هدایت کاربران به سرورهای جغرافیایی نزدیکتر، کاهش تأخیر و بهبود عملکرد استفاده کرد.
مشکلات و راه حل ها
-
عدم وابستگی جلسه: DNS دور روبین فاقد پیوند جلسه یا جلسات چسبنده است، به این معنی که درخواستهای متوالی از یک کلاینت ممکن است به سرورهای مختلف هدایت شوند. این می تواند منجر به مشکلاتی در حفظ جلسات کاربر، مانند از دست دادن اطلاعات سبد خرید شود. راهحلهای این مشکل شامل اجرای نشست در سطح برنامه یا متعادل کننده بار است.
-
توزیع بار نابرابر: در مورد ساده دور روبین، سرورهایی با ظرفیت های مختلف ترافیک یکسانی را دریافت می کنند که منجر به توزیع ناکارآمد بار می شود. دور رابین وزنی با اجازه دادن به مدیران برای تخصیص وزنهای مختلف به سرورها بر اساس قابلیتهایشان، به رفع این مشکل کمک میکند.
-
نظارت بر سلامت سرور: DNS دور روبین وضعیت سلامت سرورها را در نظر نمی گیرد. اگر سروری پاسخگو نباشد یا آفلاین شود، DNS به مسیریابی ترافیک به سمت آن ادامه خواهد داد. برای رسیدگی به این موضوع، بررسیهای سلامت خارجی و سیستمهای مانیتورینگ میتوانند برای شناسایی خرابی سرور و حذف آدرسهای IP آسیبدیده از پاسخهای DNS استفاده شوند.
ویژگی های اصلی و مقایسه های دیگر با اصطلاحات مشابه
DNS Round-Robin در مقابل DNS Load Balancing
DNS دور رابین و متعادل کننده بار DNS اغلب به جای یکدیگر استفاده می شوند، اما تفاوت های مشخصی دارند. در حالی که DNS دور روبین ترافیک را بین چندین سرور با چرخش فهرستی از آدرسهای IP توزیع میکند، متعادلسازی بار DNS از الگوریتمهای مختلفی استفاده میکند (بهعنوان مثال، دور روبین، حداقل اتصالات، وزندار) برای هدایت هوشمند ترافیک بر اساس عملکرد سرور، زمانهای پاسخ، و سلامت سرور متعادلسازی بار DNS معمولاً به متعادلکنندههای بار تخصصی برای مدیریت توزیع ترافیک متکی است و ویژگیهای پیچیدهتری را در مقایسه با DNS دور روبین ارائه میدهد.
DNS Round-Robin در مقابل Anycast
Anycast یکی دیگر از تکنیکهای مسیریابی شبکه است که شباهتهایی با DNS round-robin دارد. در Anycast، چندین سرور یک آدرس IP را از مکانهای مختلف تبلیغ میکنند. هنگامی که یک کلاینت به آدرس IP anycast درخواست می کند، شبکه با استفاده از پروتکل دروازه مرزی (BGP) درخواست را به نزدیکترین سرور موجود هدایت می کند. برخلاف DNS دور روبین، Anycast شامل چرخش از طریق آدرس های IP نیست. درعوض، زیرساخت مسیریابی از هدایت کلاینت به نزدیکترین سرور مراقبت می کند.
همانطور که اینترنت به تکامل خود ادامه می دهد، DNS دور رابین احتمالاً ارتباط خود را به عنوان یک تکنیک متعادل کننده بار ساده و مقرون به صرفه حفظ می کند. با این حال، با رشد سرویسهای مبتنی بر ابر و معماریهای کاربردی پیچیدهتر، سازمانها ممکن است به طور فزایندهای راهحلهای متعادلسازی بار پیشرفته، مانند مدیریت ترافیک جهانی مبتنی بر DNS و متعادلسازی بار آگاه از برنامه را انتخاب کنند.
اتوماسیون و ادغام DNS دور روبین در پلتفرمهای ارائهدهندگان خدمات ابری احتمالاً راهاندازی و نگهداری آن را سادهتر میکند و آن را برای طیف وسیعتری از کاربران در دسترستر میسازد.
چگونه میتوان از سرورهای پراکسی استفاده کرد یا با DNS دور روبین مرتبط شد
سرورهای پراکسی و DNS دور روبین می توانند مکمل یکدیگر باشند تا عملکرد و قابلیت اطمینان خدمات وب را بهبود بخشند. سرورهای پروکسی به عنوان واسطه بین کلاینت ها و سرورهای وب عمل می کنند و درخواست ها را از طرف کلاینت ها ذخیره و ارسال می کنند. با ادغام DNS دور روبین با سرورهای پراکسی، سازمان ها می توانند به موارد زیر دست یابند:
-
توزیع بار: سرورهای پروکسی میتوانند درخواستهای دریافتی از مشتریان را مدیریت کنند و ترافیک را بین سرورهای پشتیبان پیکربندی شده با استفاده از DNS دور روبین توزیع کنند. این ترکیب قابلیت تعادل بار را افزایش می دهد.
-
ذخیره سازی: پراکسی ها می توانند محتوایی را که به طور مکرر به آنها دسترسی دارید را ذخیره کرده و بار روی سرورهای باطن را کاهش داده و زمان پاسخگویی را برای مشتریان بهبود بخشد.
-
مسیریابی مبتنی بر موقعیت جغرافیایی: سرورهای پروکسی می توانند از DNS دور-روبین برای هدایت کلاینت ها به سرورهای باطن از لحاظ جغرافیایی نزدیکتر استفاده کنند و عملکرد کلی را بهبود بخشند.
لینک های مربوطه
برای اطلاعات بیشتر در مورد DNS round-robin، می توانید منابع زیر را کاوش کنید:
- RFC 970: سوئیچ های بسته با فضای ذخیره سازی بی نهایت
- RFC 1794: پشتیبانی از DNS برای تعادل بار
- مقدمه ای بر DNS Load Balancing
- Anycast در مقابل تعادل بار DNS
به یاد داشته باشید که DNS round-robin تنها یکی از بسیاری از تکنیک های تعادل بار موجود است. بسته به مورد خاص و مورد نیاز شما، سایر رویکردهای متعادل کننده بار، مانند متعادل کننده بار مبتنی بر سرور و کنترل کننده های تحویل برنامه، ممکن است مناسب تر باشند. همیشه نیازهای منحصر به فرد زیرساخت خود را در نظر بگیرید و با کارشناسان IT مشورت کنید تا بهترین راه حل را برای سازمان خود پیاده سازی کنید.