GeoDNS مخفف Geographical DNS یک روش مدیریت DNS هست که درخواست های کاربران را بر اساس موقعیت جغرافیایی که در اون قرار دارن تشخیص میده و به نزدیک ترین سرور یا بهترین مقصد هدایت میکنه. یعنی وقتی یک کاربر دامنه شما را باز میکنه، GeoDNS موقعیت کاربر را تشخیص میده و تصمیم میگیره که:
- درخواست ها به کدام سرور هدایت بشه.
- از کدام CDN استفاده کنه.
- کاربر به کدام مسیر ترافیکی هدایت بشه.
- بازدیدکننده به نسخه داخلی یا خارجی متصل بشه.
اگه بخواهیم خیلی ساده و شفاف توضیح بدیم GeoDNS یک نوع هدایت کننده هست.
GeoDNS چیه؟
GeoDNS یعنی وقتی کاربری به آدرس وبسایت شما مراجعه میکنه، سیستم DNS تصمیم میگیره که کاربر را با توجه به موقعیت جغرافیایی که داره، به کدوم سرور هدایت کنه. البته این سیستم با CDN متفاوته و نباید این دو را اشتباه گرفت. به عنوان مثال:

- کاربرهای ایران به سرور ایران هدایت میشن.
- کاربرهای اروپا به سرور آلمان هدایت میشن.
- کاربرهای آمریکا به سرور نیویورک هدایت میشن.
این یعنی هر بازدیدکننده از نزدیک ترین نقطه جغرافیایی سرویس میگیره و سایت در تمام نقاط در دسترس هست و دیگه نگران موقعیت سرور نیستید البته این سیستم مزایا و معایب خودش را داره و نباید تنها از یک بعد بهش نگاه کرد.
geodns برای چه کسانی مناسبه؟
- سایت های بزرگ و پرترافیک
- اپلیکیشن های بزرگ و پرترافیک
- مارکت پلیس ها
- سیستم های رزرواسیون
- وبسایت هایی که کاربران داخلی و خارجی دارن.
geodns برای چه کسانی مناسب نیست و توصیه نمیشه؟
- سایت های شرکتی ساده
- وبلاگ ها
- فروشگاه های اینترنتی با ترافیک پایین
- کسب و کارهایی که فقط داخل کشور فعالیت دارن.
تفاوت dns و geodns چیست؟

geodns یک نوع هدایتگر هست و براساس موقعیت بازدیدکننده، ترافیک را تقسیم بندی میکنه. منظور از geo جغرافیا هست در واقع این سیستم تشخیص میده که کاربر داخلی هست یا خارجی و بنابراین مشخص میکنه که سایت از سرور کدام دیتاسنتر نمایش داده بشه اما dns همه کاربران را به یک مسیر یا آی پی مشخص میفرسته و فرقی نداره شما کاربر داخلی هستید یا خارجی.
- dns: سیستمی که همه کاربران را به یک IP میفرسته و همه به یک سمت هدایت میشن.
- GeoDNS: کاربران را بر اساس کشور، منطقه، ISP یا حتی شهر به سرور مناسب هدایت میکنه. در واقع براساس موقعیت جغرافیایی کاربر، تعیین میکنه که درخواست های او به کدوم سرور بره.
geodns با cdn چه تفاوتی داره؟
همونطور که اشاره کردیم برخی افراد کارکرد geodns را با سرویس توزیع محتوا یا همون cdn به اشتباه میگیرن! باید بگیم geodns زمانی کاربرد داره که یک شکاف بین شبکه ایجاد شده مثل زمان ملی شدن اینترنت که اینترنت بین الملل و اینترنت ملی از هم تفکیک و جدا میشن اما سیستم توزیع محتوا فقط سعی میکنه براساس موقعیت کاربر، تصمیم بگیره سایت از کدوم سرور فراخوانی بشه تا محتوا را سریعا تحویل بده.

geodns چطور کار میکنه؟ گام به گام
geodns روی سیستم DNS شما یک لایه اضافی هوشمند قرار میده و به جای اینکه دامنه شما با یک آدرس IP ثابت ساز و کار داشته باشه امکانی فراهم میکنه که بتونید از طریق چند IP مختلف فعالیت کنید و البته هر آی پی هم به نقطه جغرافیایی خاصی تعلق داره اگه بخواییم عملکرد geodns را قدم به قدم تشریح کنیم فرایند به این شکله:
- ارسال درخواست کاربر
- ارسال درخواست به سمت سرور
- ارسال درخواست به سرور geodns
- تشخیص موقعیت جغرافیایی یا Geolocation
- ارسال پاسخ براساس مناسب ترین سرور در موقعیت جغرافیایی کاربر (سیستم تصمیم میگیره درخواست کاربر به کدوم سرور هدایت بشه).
- تلاش مرورگر برای نمایش پاسخ سرور
1- ارسال درخواست کاربر
کاربر ابتدا نام دامنه را در مرورگر وارد میکنه و اصطلاحا یک Request ارسال میشه به عنوان مثال وقتی شما آدرس وبسایت میزبان فا یعنی mizbanfa.net را در مرورگر وارد میکنید یک درخواست به سرور میزبان ارسال میکنید.

2- ارسال درخواست به سمت سرور
این درخواست به سمت DNS server ارسال میشه تا بعد از پردازش مشخص بشه که از چه مسیری باید به سرور میزبان برسه و صفحه یا لینک مورد نظر شما فراخوانی بشه.
3- ارسال درخواست به سرور geodns
درخواست کاربر بررسی میشه اگه از dns معمولی استفاده شده باشه طبق روال این درخواست به سمت سرور میزبان میره اما اگر دامنه از geodns استفاده کرده باشه درخواست به سمت سرورهای geodns میره. البته اطلاعاتی مثل آی پی کاربر هم برای پردازش های بعدی استفاده میشه.
4- تشخیص موقعیت جغرافیایی یا Geolocation
سیستم geodns با استفاده از دیتابیسهای خاصی که در اختیار داره موقعیت جغرافیایی کاربر را براساس آی پی شناسایی میکنه مثلا تشخیص میده این کاربر از تهران درخواست ارسال کرده یا از شهر برلین.
5- ارسال بهترین پاسخ براساس نزدیک ترین موقعیت جغرافیایی
حالا براساس قوانین و رول های تعریف شده، سیستم geodns تصمیم میگیره که این درخواست به سمت کدوم سرور هدایت بشه؟ به عنوان مثال اگر کاربر از سمت تهران درخواستی ارسال کرد پس از سرورهای ایرانی پاسخ دریافت میکنه اما اگر کاربر در شهر برلین بود از سرورهای آلمان پاسخ میگیره.
6- تلاش مرورگر برای نمایش پاسخ سرور
حالا مرورگر سعی میکنه به صورت مستقیم به سرور انتخابی متصل بشه و پاسخ کاربر را دریافت و به او نمایش بده. این پاسخ میتونه در تهران، برلین یا هر نقطه ای که کاربر قرار داره فراخوانی بشه.
آیا geodns زمان ملی شدن اینترنت واقعا کاربرد داره؟
اگر به درستی کانفیگ بشه میتونه کاربردی باشه (برای تمامی وبسایت ها مناسب و کاربردی نیست) البته چند نکته بسیار مهم وجود داره که حتما باید بهشون توجه داشته باشید. زیرساخت geodns در داخل کشور باید به درستی مدیریت و کانفیگ بشه تا بتونه کاربران داخلی را به سرورهای داخل کشور هدایت کنه. این مساله در پایداری و دسترسی به وبسایت در داخل کشور نقش مهمی داره.
از طرفی اگر سیستم geodns که برای هدایت کاربران خارجی در نظر گرفته شده دچار اختلال بشه دیگه امکان نمایش وبسایت به کاربر خارجی میسر نیست این مساله در زمان ملی بودن اینترنت اهمیت زیادی داره پس هیچگونه قطعیتی وجود نداره که اگر geodns را پیاده سازی کردید سایتتون در همه جای دنیا در دسترس و قابل نمایش باشه.
به صورت کلی GeoDNS در زمان ملی شدن اینترنت به این بستگی داره که زیرساخت geodns چطور کنترل میشه و چه هدفی داره مثلا اگر با هدف پایداری پیاده سازی بشه میتونه براساس موقعیت جغرافیایی بازدیدکننده، دسترسی به سرور داخلی یا خارجی را تعیین کنه و منجر به پایداری وبسایت بشه اما اگر به منبعی وابستگی داشته میتونه محدودیت هایی هم به همراه داشته باشه که در حوصله این راهنما نیست و باید مفصلا در موردش مطالعه کنید.
معایب استفاده از سرویس geodns چیه؟
geodns خیلی فنی و قدرتمنده اما هیچ سیستم قدرتمندی خالی از نقص نیست در این بخش به گوشه ای از معایب استفاده از سرویس geodns اشاره میکنیم تا درک بهتری از این معماری داشته باشید.

همونطور که اشاره کردیم پیاده سازی و مدیریت geodns پیچیده هست و حتما باید یک متخصص کانفیگ و مدیریت اون رو برعهده بگیره چون به دانش فنی سطح بالایی در زمینه شبکه نیازه همین روی هزینه های سیستم تاثیر داره همچنین اگر مشکلی پیش بیاد این متخصصه که میتونه عیب یابی کنه، شما خودتون قادر به مدیریت نخواهید بود. مشکل دیگه اینه که دیتابیس های ذخیره موقعیت جغرافیایی گاها بروز نیستن و ممکنه IP اشتباه تشخیص داده بشه و پاسخی که از سمت سرور برای او ارسال میشه اصلا مناسب نباشه به عنوان مثال در زمان ملی شدن اینترنت اگر موقعیت کاربر آلمان تشخیص داده بشه، درخواست به سمت سرورهای آلمان میره و پاسخ برای کاربر ارسال میشه چون اینترنت ملی هست، او قادر به مشاهده این اطلاعات نیست از طرفی باعث کاهش سرعت لود میشه. بنابراین به خاطر بایجاد تجربه کاربری منفی، ممکنه بخشی از کاربرانمون رو از دست بدیم.
اطلاع از ساز و کار geodns به شما کمک میکنه تا درک بهتری از این سیستم و عملکرد اون داشته باشید و برای زیرساخت وبسایت و شبکه خودتون تصمیمات مناسب تری بگیرید.
سوالات متداول درباره سیستم GeoDNS
-
افزایش و بهبود وضعیت سایت بعد از استفاده geodns قطعی هست؟
باید بگیم که نه، همیشه اینطور نست. گاهی اوقات اگر سرورهایی که در نزدیکی موقعیت جغرافیایی کاربر هستن به درستی پیکربندی نشده geodns باشن ممکنه که درخواست کاربر مجددا به سرور دیگری ارسال بشه و این چرخه معیوب میتونه بازخورد بدی به دنبال بیاره.
-
geodns فقط روی سایت های بزرگ و پرترافیک پیاده سازی میشه؟
هر نوع سایتی فارغ از کیفیت و ترافیک، میتونه سرویس geodns را پیاده سازی کنه ولی هزینه راه اندازی این سیستم بالا هست و از طرفی پیاده سازی پیچیده ای داره بنابراین برای وبسایت های کوچک مقرون بهه صرفه نیست.
-
چطور متوجه بشیم سایتی از geodns استفاده میکنه؟
میتونید از ابزارهای آنلاین مثل traceroute یا nslookup کمک بگیرید تا متوجه بشید درخواست ها براساس موقعیت جغرافیایی کاربر پاسخ داده میشه یا نه.
سخن آخر
GeoDNS یک سیستم فنی هست که درخواست کاربر براساس موقعیت جغرافیایی وی به سمت چه سروری هدایت بشه به عنوان مثال به صورت حدودی تشخیص داده میشه که کاربر در تهران قرار داره پس پاسخ او از یکی از سرورهای داخل ایران برمیگرده ولی ممکنه کاربر دیگه ای در آلمان بخواد به وبسایت شما سر بزنه اینجاست که GeoDNS مجددا وارد عمل میشه و اینبار درخواست کاربر از یک سرور در آلمان پردازش میشه. در حقیقت GeoDNS مثل یک هدایتگر عمل میکنه و چک میکنه براساس موقعیت جغرافیایی حدودی کاربر بهتره پاسخ توسط کدام سرور پردازش بشه.











