GEO DNS چیست؟
GEO DNS چیست؟
سرویس Geo DNS یا «سامانه نام دامنه مبتنی بر موقعیت جغرافیایی» روشی در مدیریت DNS است که در آن پاسخ به درخواست کاربران بر اساس موقعیت جغرافیایی آنها تعیین میشود. بهعبارت ساده، وقتی کاربری یک دامنه را وارد میکند، Geo DNS تشخیص میدهد این کاربر از کدام کشور یا منطقه به سایت متصل شده و سپس مناسبترین سرور را به او معرفی میکند.
در حالت معمولی DNS ، همه کاربران بدون توجه به موقعیتشان به یک یا چند سرور مشخص هدایت میشوند. اما در Geo DNS این روند هوشمندتر میشود؛ به این صورت که کاربران به نزدیکترین یا بهینهترین سرور از نظر فاصله جغرافیایی یا سیاستهای تعریفشده هدایت میشوند. این موضوع باعث میشود سرعت بارگذاری سایت افزایش پیدا کند و تجربه کاربری بهبود یابد.
Geo DNS معمولاً در زیرساختهایی استفاده میشود که چندین سرور در نقاط مختلف دنیا دارند. برای مثال، یک وبسایت بینالمللی میتواند کاربران اروپایی را به سرور اروپا و کاربران آسیایی را به سرور آسیا هدایت کند. این کار علاوه بر افزایش سرعت، باعث توزیع بهتر ترافیک و کاهش فشار روی یک سرور خاص نیز میشود. بهطور کلی، Geo DNS یک راهکار برای بهینهسازی دسترسی کاربران به منابع آنلاین است که با در نظر گرفتن موقعیت جغرافیایی، عملکرد سایت را سریعتر، پایدارتر و هوشمندتر میکند.

نحوه کار GeoDNS چگونه است؟
GeoDNS بر پایه اطلاعات موقعیت جغرافیایی، آدرس IP کاربر یا DNS resolver عمل میکند. حالا این عبارت به چه معناست؟ در واقع وقتی کاربر درخواست DNS ارسال میکند، این درخواست ابتدا به resolver میرود. حالا GeoDNS با استفاده از پایگاه دادههای GeoIP و IP resolver موقعیت کاربر را به صورت تقریبی حدس میزند. سپس آدرس IP مناسبترین سرور (مثلا نزدیکترین دیتاسنتر) را به کاربر باز میگرداند. در مقاله آیپی چیست از پارسپک، زیر و بم مفهوم IP را بررسی کردهایم، پس اگر هنوز با این مفهوم آشنایی عمیقی ندارید، توصیه میکنیم که حتما این مطلب را بخوانید.
مزایای استفاده از GeoDNS
استفاده از GeoDNS مزایای قابل توجهی برای سایتها و سرویسهای آنلاین دارد که از جمله آنها میتوان به موارد زیر اشاره کرد:
- کاهش تاخیر و افزایش سرعت بارگذاری سایت
- افزایش احتمال دسترسی کاربران از مناطق مختلف جهان، حتی در زمان قطعی اینترنت بینالملل در ایران
- توزیع بهتر ترافیک به سمت سرورهای نزدیکتر
- بالا بردن پایداری و دسترسی (در صورت خرابی یک سرور)
- قابلیت ارائه محتوای محلی یا مطابق با قوانین منطقهای
- بهبود تجربه کاربر
معرفی معایب GeoDNS
GeoDNS در کنار مزایا و ویژگیهای مثبت، نقصهای متعددی هم دارد. در ادامه به برخی از این معایب اشاره کردهایم:
- کارایی کمتر نسبت به روشهای جدیدتر
- دقت پایین در تشخیص موقعیت (۷۰% اشتباه در شناسایی موقعیت)
- هزینه بالا برای راهاندازی
- پیادهسازی پیچیده (نیاز به دانش فنی عمیق)
با توجه به معایبی که در این بخش نام بردیم، پیشنهاد ما جایگزین کردن یک روش بهتر، یعنی استفاده از Custome PopSite Rule، است.

GEO DNS چیست؟
چرا GeoDNS در ایران دقت قابل اتکایی ندارد؟
مکانیزم GeoDNS برای هدایت کاربر نهایی به نزدیکترین یا مناسبترین سرور، به تشخیص جغرافیایی IP کاربر وابسته است. این تشخیص در معماریهای مدرن DNS عمدتاً از طریق افزونه EDNS Client Subnet (ECS) انجام میشود که در RFC 7871 تعریف شده است.
در این مدل، Recursive DNS Resolver موظف است بخشی از آدرس IP کاربر نهایی (Subnet) را از طریق EDNS به DNS Authoritative منتقل کند تا سرور Authoritative بتواند بر اساس موقعیت واقعی کاربر، پاسخ DNS بهینه (IP مقصد مناسب) را برگرداند. اما این سازوکار تنها در صورتی بهدرستی عمل میکند که:
- DNS Resolver های ISP بهصورت صحیح پیکربندی شده باشند.
- پروتکل EDNS Client Subnet مطابق RFC 7871 پیادهسازی شده باشد.
- Resolver نقش واقعی Recursive Resolver را ایفا کند، نه صرفاً یک Forwarder ساده.
متاسفانه وضعیت پیادهسازی DNS Resolver در ISPهای ایران استاندارد نیست. در عمل، بخش قابل توجهی از ISPهای داخلی یکی از دو وضعیت زیر را دارند:
DNS Serverها صرفاً در حالت Forwarder پیکربندی شدهاند و عملاً بهعنوان یک Proxy روی Resolverهای عمومی مانند 8.8.8.8 یا 4.2.2.4 عمل میکنند. در این حالت، IP واقعی کاربر نهایی به DNS Authoritative منتقل نمیشود.
در مواردی که DNS Serverهای مستقل یا Authoritative پیادهسازی شدهاند، متأسفانه RFC 7871 و EDNS Client Subnet بهدرستی یا اصلاً پیادهسازی نشده است.
در نتیجه در چنین شرایطی، DNS Authoritative که مسئول پاسخگویی به کوئری دامنه شماست، در بخش قابل توجهی از درخواستها (حدود ۳۰٪ یا بیشتر) به IP واقعی کاربر نهایی دسترسی ندارد. به همین دلیل تشخیص موقعیت جغرافیایی کاربر نادرست انجام میشود و کاربر به سرور نامناسب یا ناحیه جغرافیایی اشتباه هدایت میشود. همچنین در همین فرایند تاخیر (Latency) افزایش مییابد و تجربه کاربری نیز کاهش پیدا میکند. اگر با مفهوم تاخیر یا latency آشنایی ندارید، پیشنهاد میکنیم که مقاله latency چیست را بخوانید.
راهکار مطمئنتر در این شرایط، انتقال تصمیمگیری مسیریابی از لایه DNS به لایه ۳ شبکه است که مسیریابی بر اساس BGP انجام میشود و میتوان از روش Anycast کاربر را به نزدیکترین Edge CDN با دقت نزدیک به ۱۰۰% رساند. باید در اینجا اشاره کنیم که BGP پروتکلی است که به روترها امکان به اشتراکگذاری مسیریابی را میدهد. برای اطلاعات بیشتر درباره روتر و نحوه کار آن مقاله روتر چیست را بخوانید.
دسته بندی ها:
آموزشی
