DNS، مخفف سرویس Domain Name System (سیستم نام دامنه) است. هنگامیکه به وب سایتی دسترسی پیدا میکنید، از این سرویس برای تعیین سروری که وب سایت دامنه در آن قرار دارد استفاده میشود.
هنگام جستجو در وب، معمولاً یک نام دامنه مانند www.google.com را در مرورگر خود تایپ مینمایید. این شما را از حفظ کردن آدرس IP متصل به سرور Google بی نیاز میکند. در پشت صحنه، تبدیل نام دامنه به IP با استفاده از سرویس DNS صورت میگیرد که www.google.com را به آدرس 172.217.12.46 تبدیل مینماید.
آدرس IP، محل سرور را در اینترنت مشخص میکند. این فرآیند تبدیل که یک کوئری نامیده میشود، یک بخشی جدایی ناپذیر از نحوه ارتباط دستگاهها با یکدیگر برای برقراری ارتباط از طریق اینترنت است.
به منظور درک روند کوئری، در ادامه، نحوه عملکرد این کوئری شرح داده شده است.
نحوه علمکرد فرآیند DNS
مرحله 1: درخواست اطلاعات وب سایت
زمانی که یک وب سایت را با تایپ کردن یک نام دامنه (مانند www.jeyserver.com) در مرورگر وب بازدید میکنید، رایانه شما شروع به نگاشت hostname میکند. در این نگاشت، رایانه شما به دنبال آدرس IP مرتبط با نام دامنه در حافظه نهان (cache) DNS محلی خود میگردد. در این حافظه، اطلاعات نام دامنههایی که اخیراً جستجو کردهاید ذخیره شده است. چنانچه نگاشت مربوط به نام دامنه مورد نظر شما به صورت محلی وجود داشته باشد، وب سایت نمایش داده میشود؛ در غیر این صورت، برای بازیابی اطلاعات صحیح، یک جستجوی DNS انجام میدهد.
مرحله 2: ارتباط با سرورهای Recursive DNS
اگر اطلاعات در حافظه نهان محلی رایانه شما نباشد، رایانه شما به سرور دیگری کوئری ارسال میکند. سرورهای Recursive DNS، حافظه نهان محلی خود را دارند، دقیقاً مانند رایانه شما. بسیاری از ISPها از همان سرورهای Recursive DNS استفاده میکنند؛ چراکه ممکن است نام دامنه را در حافظه پنهان خود داشته باشند. در این صورت اگر دامنه ذخیره شده باشد، درخواست در اینجا پایان یافته و وب سایت به کاربر نمایش داده میشود.
مرحله 3: ارسال کوئری به سرورهای معتبر DNS
چنانچه یک سرور یا سرورهای DNS، اطلاعاتی را در حافظه نهان خود ذخیره نکرده باشند، آن کوئری را در جای دیگری جستجو میکند. بنابراین، کوئری زنجیره سرورهای DNS معتبر را ادامه میدهد تا زمانی که سرور نام دامنه را پیدا کند. این سرورهای DNS، وظیفه ذخیره این رکوردها را برای نام دامنه مربوطه دارند.
مرحله 4: دسترسی به رکورد DNS
برای یافتن آدرس IP دامنه مورد نظر (به عنوان مثال liquidweb.com)، کوئری برای رکورد آدرس (رکورد A) به سرور DNS معتبر ارسال میشود.
یک سرور Recursive DNS از سرورهای نام معتبر به رکورد A برای liquidweb.com دسترسی پیدا میکند. سپس رکورد را در حافظه نهان محلی خود ذخیره مینماید. در این صورت، چنانچه کوئری دیگری، رکورد A برای liquidweb.com را درخواست کند، سرور بازگشتی جواب خواهد داد.
تمام رکوردهای DNS دارای یک مقدار time-to-live هستند که نشان میدهد چه زمانی رکورد منقضی میشود. بدین ترتیب بعد از گذشت مدتی، سرور Recursive DNS از شما یک نسخه به روز شده از رکوردهای را درخواست میکند.
مرحله 5: مرحله نهایی DNS
سرور Recursive DNS دارای اطلاعات مربوط به نام دامنهها است و رکورد A مربوطه را به کامپیوتر شما برمیگرداند. سپس رایانه شما، رکورد را در حافظه نهان محلی خود ذخیره میکند. پس از آن، آدرس IP را از رکورد DNS خوانده و به مرورگر شما منتقل مینماید. مرورگر وب به وب سرور مرتبط با IP رکورد A متصل شده و وب سایت را نمایش میدهد.
کل مراحل جستجو، از ابتدا تا انتها، تنها چند میلی ثانیه طول میکشد. برای درک بهتر، در ادامه اجزای سازنده روند جستجو شرح داده شده است.
سرورهای DNS
سرور DNS معتبر
سرور نام معتبر، سروری است که رکوردهای DNS (یعنی A، CNAME، MX،TXT و ...) را برای نامهای دامنه ذخیره میکند. این سرورها، تنها به کوئریهای مربوط به فایلهای DNS Zone محلی پاسخ میدهند. به عنوان مثال، اگر یک سرور در شبکه شما یک رکورد A برای example.com ذخیره کرده باشد؛ آن سرور، یک سرور معتبر برای نام دامنه example.com است.
Nameserver بازگشتی
سرور نام بازگشتی، یک سرور DNS است که به منظور بدست آوردن اطلاعات، درخواستهایی را دریافت میکند. این نوع سرورها رکوردهای DNS را ذخیره نمینمایند. هنگامیکه یک کوئری دریافت میشود، حافظه پنهان را برای آدرس پیوند داده شده به آن آدرس IP جستجو میکند. اگر سرور نام بازگشتی دارای اطلاعات باشد، پاسخ را به ارسال کننده کوئری باز میگرداند؛ ولیکن اگر رکورد نداشته باشد، کوئری به سایر سرورهای نام بازگشتی ارسال میشود. این کار تا رسیدن به یک سرور DNS معتبر که میتواند آدرس IP را ارائه کند، ادامه مییابد.
DNS Zone
DNS Zone، یک فضای مدیریتی در سیستم نام دامنه است. یک zone، بخشی از فضای نام DNS را که به مدیران یا نهادهای خاص تفویض شده تشکیل میدهد. هر zone شامل رکوردهای منابع برای تمام نام دامنههای خود است.
فایل DNS Zone
فایل DNS zone، یک فایل متنی است که در یک سرور ذخیره میشود. این فایل، شامل تمام رکوردهای مربوط به هر دامنه در آن منطقه است. تعیین مقدار TTL قبل از هرگونه اطلاعات دیگر برای فایل zone الزامی است. TTL مشخص میکند که چه مدت یک رکورد DNS در حافظه نهان سرور خواهد بود.
فایل zone تنها میتواند یک رکورد در هر سطر لیست کند. در ابتدای این فایل یک رکورد Start of Authority (SOA) وجود دارد. رکورد SOA شامل اطلاعات ضروری نام دامنه از جمله سرور DNS معتبر اصلی برای DNS Zone است.
عیب یابی DNS
در انتهای یادگیری سرویسها و مؤلفههای DNS لازم است با نحوه عیب یابی DNS آشنا شوید. در ادامه، لیستی از روشهای معمول عیب یابی DNS آورده شده است.
- اگر وب سایت شما خطای “Server IP address could not be found” را نشان دهد، ممکن است رکورد A نظیر وبسایت وجود نداشته باشد. بنابراین برای رفع این مشکل، شما باید یک رکورد A به DNS Zone خود اضافه نمایید.
- بررسی کنید که آیا رکوردهای DNS به درستی پیکربندی شدهاند یا اینکه در پیکربندی آنها مشکلی وجود دارد.
- وقتی سرورهای نام خود را تغییر میدهید، باید مدتی منتظر انتشار سرورهای نام باشید. این انتشار در سراسر اینترنت ممکن است 24 تا 48 ساعت طول بکشد.
- دقت کنید که مقادیر TTL را زیاد نداده باشید. چرا که مقدار TTL یک رکورد به طور پیش فرض 86400 ثانیه (24 ساعت) است، در حالی که اگر رکورد A را به روز کنید، انتشار آن 24 تا 48 ساعت طول میکشد. بنابراین بهتر است مقدار TTL را به 300 ثانیه که 5 دقیقه است تغییر دهید.
- اگر از سرور پروکسی شخص ثالث استفاده میکنید و وب سایت شما نمایش داده نمیشود، شما میتوانید از فایل میزبان محلی خود استفاده نمایید تا ببینید این مسئله در کجا رخ میدهد.
فرض کنید وب سایت شما، dnswebtest.com نام دارد. این دامنه از سرور پروکسی شخص ثالث استفاده مینماید. در صورت بروز خطای اتصال، معمولاً میتوانید محل وقوع خطا را تعیین کنید. به منظور عیبیابی، شما باید فایل میزبان محلی خود را دهید؛ بدین صورت که وب سایت dnswebtest.com را به عنوان ورودی به فایل میزبان اضافه کرده و سپس، آن را به آدرس IP شرکت میزبان وب، به عنوان مثال 98.129.229.4، نگاشت نمایید. اکنون اگر وب سایت به درستی نمایش داده شود، متوجه خواهید شد که مشکل از سرور پروکسی شخص ثالث است.
اگرچه DNS میتواند یک مسئله پیچیده باشد، اما درک بهتر فرآیند آن همیشه مفید است. این نکات عیب یابی میتواند شما را برای کار با DNS آماده کند.
علاوه بر این، ابزارهای زیر هنگام بررسی انتشار رکوردهای DNS کاملاً مفید هستند.
- https://www.whatsmydns.net/ برای انتشار DNS
- https://www.whoishostingthis.com/، برای نشان دادن اینکه آدرس وب سایت به چه آدرس IP نگاشت شده است.
منبع:
liquidweb
0 دیدگاه
نوشتن دیدگاه