به عنوان یک کاربر اینترنت، احتمالاً قبلاً نام "DNS" را شنیده اید. اما آیا می دانید که به معنای چیست یا در واقع چه کاری انجام می دهد؟ در این پست وبلاگ، توضیح خواهیم داد که DNS چیست، چگونه کار میکند و چرا اهمیت دارد.
DNS چیست؟
DNS مخفف Domain Name System است. به عبارت ساده، این سیستمی است که نام دامنههای قابل خواندن برای انسان (مانند google.com) را به آدرس های IP (مانند 172.217.1.238) که رایانهها برای برقراری ارتباط با یکدیگر در اینترنت استفاده میکنند، ترجمه میکند. در اصل، DNS مانند یک دفترچه تلفن برای اینترنت است.
چرا DNS مهم است؟
بدون DNS، باید آدرسهای IP را برای هر وب سایتی که بازدید میکنید به خاطر بسپارید و تایپ کنید. آیا می توانید تصور کنید که هر بار که میخواهید به گوگل مراجعه کنید مجبور باشید 172.217.1.238 را تایپ کنید؟ حرکت در اینترنت بدون DNS تقریبا غیرممکن خواهد بود.
DNS چگونه کار می کند؟
هنگامی که یک نام دامنه را در مرورگر وب خود (مانند google.com) تایپ می کنید، رایانه شما درخواستی به یک DNS Resolver (که به عنوان سرور DNS نیز شناخته می شود) میفرستد تا آدرس IP مرتبط با آن نام دامنه را جستجو کند. سپس DNS Resolver آدرس IP را در پایگاه داده خود جستجو میکند و در صورتی که در یک پایگاه داده مورد مورد نظر خود را پیدا نکند، درخواست را تا زمانی که آدرس IP را پیدا کند به یک DNS Resolver دیگر ارسال میکند.
فرآیند جستجوی نام دامنه و بازگرداندن آدرس IP، به اصطلاح DNS resolution نامیده میشود. DNS resolution برای برقراری ارتباط بین رایانهها در اینترنت حیاتی است. هنگامی که رایانه شما آدرس IP مرتبط با نام دامنه را میداند، میتواند درخواستهایی را برای بازیابی محتوای وب سایت به سرور مناسب ارسال کند.
DNS همچنین از سیستمی از نامهای دامنه سلسله مراتبی استفاده میکند، که در آن، سمت راست نام دامنه بالاترین سطح سلسله مراتب را نشان میدهد. به عنوان مثال، ".com" یک دامنه سطح بالا (TLD) است، در حالی که "google.com" یک دامنه سطح دوم است. این سیستم امکان مدیریت آسانتر نام های دامنه را فراهم میکند و به جلوگیری از تکرار نامها در سایتهای مختلف کمک می کند.
انواع سرورهای DNS
انواع مختلفی از سرورهای DNS وجود دارد که با هم کار می کنند تا DNS resolution کارآمد را تضمین کنند:
- حلکننده بازگشتی یا Recursive resolver: این نوع سرور DNS درخواستهایی را از رایانههای سرویس گیرنده دریافت میکند و نام دامنه را بصورت بازگشتی در دیگر سرورهای DNS تا زمانی که آدرس IP را پیدا کند، جستجو میکند.
- Root nameserver: تنها 13 سرور نام ریشه در جهان وجود دارد و آنها مسئول پاسخگویی به سوالات مربوط به دامنه های سطح بالا (مانند ".com" یا ".org") هستند. هنگامی که یک Recursive Recursive Query برای TLD دریافت میکند، درخواست را به یک Root nameserver ارسال میکند.
- TLD nameserver: هر TLD مجموعهای از nameserver های خود را دارد که مسئول حل پرس و جو برای نام های دامنه در آن TLD هستند. به عنوان مثال، TLD ".com" مجموعه ای از nameserver های خود را دارد.
- Authoritative nameserver: در واقع Authoritative nameserver مسئول ذخیره آدرس IP مرتبط با یک نام دامنه خاص است. هنگامی که یک Recursive Recursive Query برای یک نام دامنه خاص دریافت میکند، درخواستی را به nameserver معتبر آن دامنه ارسال می کند.
امنیت DNS
DNS بخش مهمی از زیرساخت اینترنت است و به همین دلیل در برابر انواع مختلف حملات آسیب پذیر است. یکی از حملات متداول، مسمومیت کش DNS یا DNS cache poisoning است، که در آن مهاجم اطلاعات نادرست را به حافظه پنهان یک DNS resolver تزریق میکند. این میتواند باعث شود که resolver آدرسهای IP نادرست را برای نام های دامنه بازگرداند و کاربران را به وب سایت های مخرب هدایت کند.
برای جلوگیری از این نوع حملات، DNSSEC (DNS Security Extensions) توسعه داده شد. DNSSEC از امضای دیجیتال برای تأیید صحت پاسخهای DNS استفاده میکند و اطمینان میدهد که آنها دستکاری نشدهاند.
نتیجه گیری
DNS بخش مهمی از زیرساخت اینترنت است که امکان دسترسی آسان به وب سایتها و سایر خدمات اینترنتی را فراهم میکند. بدون DNS، پیمایش در اینترنت کار بسیار دشوارتری خواهد بود. درک اینکه چگونه DNS کار میکند و انواع مختلف سرورهای DNS می تواند به شما کمک کند تا پیچیدگی اینترنت و نقش DNS را بهتر درک کنید.