همانطور که میدانید، یکی از قابلیتهای مهم CDNها شناسایی دقیق مکان جغرافیایی کاربران و توزیع ترافیک درخواستی آنها به نزدیکترین سرور است. این امر نقشی مهم و اساسی بر عملکرد صحیح شبکه توزیع محتوا دارد. اگر نقطهی دقیق جغرافیایی کاربران با ضریب خطای بسیار پایینی تشخیص داده نشود، در واقع CDN بهدرستی عمل نکرده است! در این مقاله، به انواع بررسی شیوههای شناسایی مکان جغرافیایی بازدیدکنندگان و تشریح عملکرد این روشها، مزایا، معایب آنها میپردازیم.
روش GeoDNS قدیمی
در روش GeoDNS قدیمی, مکان بازدیدگنندگان با استفاده از آدرس دیاناسی که تعریف کردهاند شناسایی میشود. کاربران برای دسترسی به اسم دامنه، (برای مثال test.com) درخواست DNS Queryشان را برای DNS سرور تنظیمشدهی خود می فرستند و DNS سرور، برای برگرداندن IP Address وبسایت، در خواست را به CDN هدایت میکند. حال این CDN است که باید تصمیم بگیرد، آدرس کدام یک از سرورهای خود را بر اساس نزدیکترین موقعیت مکانی، به بازدیدکننده برگرداند.
در CDNهایی که از این روش استفاده میکنند از آدرس DNS Server بهعنوان IP کاربر برای شناسایی مکان استفاده میشود. همانطور که میتوان حدس زد بزرگترین مشکل این روش، ضریب خطای بسیار بالا است که میتواند مکان جغرافیایی بازدیدکننده را به اشتباه پیشبینی کند. از آنجاییکه CDN، مکان جغرافیایی DNS سرور کاربر را برای شناسایی در نظر می گیرد، این روش فقط هنگامی بهدرستی عمل خواهد کرد که کاربران اینترنت از DNS سرورهای Local استفاده کنند.
برای مثال اگر کاربری در ایران، از DNS سرورهای Global استفاده کند، CDN مکان آن DNS سرور Global را بهعنوان مکان بازدیدکننده در نظر میگیرد.
روش GeoDNS جدید و فیلد EDNS Client Subnet
در روش GeoDNS جدید، از ماه اکتبر سال ۲۰۱۲ شرکت Google بههمراه OpenDNS با راهاندازی Community بهنام AFasterInternet و با ثبت rfc جدیدی با نام EDNS Client Subnet روش صحیحی را در خصوص شناسایی مکان جغرافیایی کاربران بهنام (EDNS Client Subnet (ECS فراهم کرد.
EDNS Client Subnet فیلدی در هدرDNS Query است که IP آدرس کاربری که درخواست DNS داده است را در خود بههمراه دارد. در CDNهایی که قابلیت استفاده از این روش را دارند و از این فیلد برای بررسی و شناسایی مکان جغرافیایی کاربر استفاده میشود. از آنجاییکه در بستهی DNS Query آدرس واقعی درخواستدهنده مشخص است، اگر CDN توانایی و درک استفاده از این قابلیت را داشته باشد، بهراحتی می تواند مکان جفرافیای کاربران را تشخیص داده و آنها را به نزدیکترین سرور هدایت کند.
در حال حاضر ابر آروان از این روش برای شناسایی مکان جغرافیایی کاربران در Backend و DNS Serverهای خود بهره میگیرد.