Skip to main content

سرویس نام دامنه (Domain Name Service) که به اختصار DNS نامیده می شود در واقع دفترچه تلفن اینترنت است. افراد با وارد کردن عبارتی مانند zaminhost.com به اطلاعات سایت و صفحات آن سایت در اینترنت دسترسی پیدا می کنند. از طرفی مرورگرهای وب نیز از طریق آدرس های پروتکل اینترنت (IP) با هم تعامل دارند. در این میان DNSها نام دامنه یا عبارتی که ما سرچ می کنیم را به آدرس های IP ترجمه می کنند و مرورگرها از آن برای بارگذاری صفحات اینترنتی استفاده می کنند. در واقع این ماشین ها فقط اعداد را می شناسند و DNS این وظیفه را به عهده می گیرد تا آدرس های اینترنتی را به اعداد قابل فهم برای مرورگرها، تبدیل نماید.

DNS چیست؟

ضرورت وجود DNS به این دلیل است که ماشین ها مانند انسان ها، نام سایت را درک نمی کنند؛ بلکه آن را با اعداد ذخیره می کنند. در نتیجه DNS نام دامنه وب سایت (نام میزبان) را به مقادیر عددی (آدرس IP) تبدیل می کند، تا مرورگر بتواند آنها را پیدا کرده و بارگذاری کند.

هر دستگاهی که به اینترنت متصل است آدرس IP مخصوص به خود را دارد که توسط سایر دستگاه ها برای تعیین مکان آن دستگاه استفاده می شود. سرورهای DNS نیاز انسان را به حفظ آدرس های IP مانند 192.168.1.1 (در IPv4) یا آدرس های IP پیچیده تر الفبایی و عددی مانند 2400:cb00:2048:1::c629:d7a2 (در IPv6) از بین می برند.

DNS در پس زمینه کار می کند و این یعنی کاربران عادی اینترنت خیلی با آن درگیر نخواهند بود. بدون DNS، پیدا کردن اطلاعات مورد نیاز فرایند، بسیار دشوارتر خواهد بود و مرورگر شما نمی داند که چطور صفحه وب درخواست شده را نشان دهد.

وظیفه DNS
DNS نام دامنه وب سایت (نام میزبان) را به مقادیر عددی (آدرس IP) تبدیل می کند، تا مرورگر بتواند سایت مربوطه را پیدا کرده و بارگذاری کند.

Domain Name Service چطور کار می کند؟

هنگامی که آدرس یک وب سایت مانند youtube.com را در نوار آدرس مرورگر خود تایپ می کنید، سرور برای پیدا کردن صفحه مناسب، آدرس IP مربوط به وب سایت را جستجو می کند. وب سایت های محبوبی مانند Google چندین آدرس IP دارند که می توان از آنها به طور هم زمان برای جلوگیری از انباشت ترافیک وب استفاده کرد.

طبق گفته شرکت نرم افزار شبکه Cloudflare، چهار سرور اصلی در تبدیل نام میزبان به آدرس IP نقش دارند. این سرورها رزولوشن DNS نیز نامیده می شوند. فرایند رزولوشن DNS شامل تبدیل یک نام میزبان به یک آدرس IP مناسب برای رایانه است. برای درک بهتر فرایند رزولوشن DNS، باید در مورد اجزای سخت افزاری مختلفی که یک کوئری DNS باید از بین آنها عبور کند، اطلاعات داشته باشید.

  • سرور DNS بازگشتی: معمولاً اولین توقف درخواست شما در این مرحله انجام می شود. ابتدا کوئری اولیه دریافت می شود، سپس آدرس هایی که اخیراً کش شده اند، بررسی می شوند. اگر سیستم نتواند IP مناسب را برای وب سایت درخواستی پیدا کند، این درخواست به سرورهای پایین تر ارسال می شود.
  • سرور نام ریشه: این سرور با ارسال درخواست شما به مناطق خاص تر، به فرایند تبدیل نام سایت به IP کمک می کند.
  • سرور نام دامنه سطح بالا (TLD): این سرور با میزبانی آخرین بخش از نام دامنه وب سایت مانند .com، .org یا .edu که دامنه های سطح بالا و خاص هستند، جستجو را محدودتر می کند. برای مثال، جستجوی zaminhost.com به سرور نام دامنه سطح بالا .com ختم می شود. در سراسر جهان، بانک هایی از سرورهای نام TLD برای بهبود سرعت رسیدگی به درخواست ها وجود دارند.
  • سرور نام معتبر: آخرین توقف درخواست شما در این مرحله انجام می شود. هنگامی که سیستم درخواست را دریافت کرد، رکورد DNS مربوطه را برمی گرداند تا صفحه وب، بارگیری شود. اگر سرور رکورد را نداشته باشد، یک پیغام خطا برمی گرداند. در واقع این سرور، IP را برای نام دامنه میزبانی می کند.

بعد از پیدا کردن آدرس IP مناسب، اطلاعات به مرورگر شما ارسال می شود و صفحه وب بارگیری خواهد شد. سرور DNS بازگشتی، از چند ثانیه تا یک هفته، IP را در حافظه کش خود نگه می دارد. این کار به این دلیل انجام می شود که در دفعات بعدی، سرور بتواند به سرعت و بدون پرس و جو از سرورهای دیگر، آدرس را بازگرداند. این کار، شبیه به فرایندی است که رم در رایانه شما انجام می دهد.

چطور مشکلات DNS را برطرف کنیم؟

DNS معمولاً بدون مشکل کار می کند، اما مطمئناً ایراداتی هم خواهد داشت. مثلاً اگر وب سایتی که نام آن را جستجو می کنید، آدرس آی پی سرورهایش را تغییر دهد، ممکن است به سایت مورد نظر خود هدایت نشوید. از طرفی ممکن است سرورهایی که بررسی را انجام می دهند کندتر از حد انتظار باشند. اما برای همه این مشکلات راه حل هایی وجود دارد. مشکلات DNS می توانند باعث بروز خطای 401 و خطای 400 در سمت کاربر شوند.

اگر مشکلی در کش وجود دارد، می توانید ابتدا، کش DNS خود را پاک کنید تا رایانه شما آدرس های وب را دوباره در سرور DNS جستجو کند. برای پاک کردن کش کافی است به Command Prompt در ویندوز یا ترمینال در macOS مراجعه کنید و یک فرمان ساده را انجام دهید. با این کار به رایانه خود فرمان می دهید که وب سایت های کش شده خود را برای یافتن سرورهای صحیح حذف کند.

اگر مشکل از سرورها باشد، شاید سرورهای DNS ارائه شده توسط ISP، به درستی پیکربندی نشده اند. برای سرعت بخشیدن به این فرایند و حل مشکل، می توانید سرورها را تغییر دهید تا جستجوهای وب بهینه شود. برای اتصال به سرور DNS مورد نظر، تنظیمات شبکه دستگاه خود را وارد کنید و آدرس IP را به صورت دستی اضافه کنید (مانند 1.1.1.1 برای Cloudflare یا 8.8.8.8 برای Google). همچنین می توانید این کار را در سطح روتر انجام دهید، اما روند دقیق فرایند بر اساس نوع روتر شما متفاوت خواهد بود.

گاهی هکرها از سیستم های امنیتی ضعیف، سوءاستفاده کرده و برای اهداف مخرب از DNS استفاده می کنند. یکی از نمونه های آن مسمومیت کش DNS است که با ورود داده های نادرست به حافظه نهان DNS، افراد به وب سایت های مخربی هدایت می شوند که میزبان نرم افزارهای مخرب هستند.

استفاده از ضعف دی ان اس برای حملات هکرها

مهاجمان سایبری می توانند نوعی حمله به نام تونل سازی DNS را انجام دهند. در این نوع حمله، از DNS به عنوان راهی برای ارسال بسته های داده با نرم افزارهای مخرب به یک سیستم استفاده می کنند. در این حمله نرم افزار مخرب، پشت ترافیک DNS به ظاهر ایمن، پنهان می شود که اغلب برای برقراری ارتباط فرمان و کنترل با یک شبکه هدف استفاده می شود.

داده های کش DNS مخرب، تا زمانی که منقضی شده و یا به صورت دستی حذف شوند، اغلب روی سرور باقی می مانند و درخواست های جدید را هدایت می کنند. این موضوع نشان می دهد که اگر نظارت منظمی روی ترافیک DNS وجود نداشته باشد، ممکن است بسیاری از افراد به اشتباه، به صفحات مخرب هدایت شوند.