آنچه در این مقاله میخوانید
DNS یا همان (Domain Name System) سیستمی است که نامهای دامنه قابلخوانش برای انسان را به آدرسهای IP قابلفهم برای کامپیوترها تبدیل میکند و برعکس. بهطور کلی چهار نوع سرور DNS داریم که به این صورت است:
Recursive Resolvers، Root Nameservers، TLD Nameservers و Authoritative Nameservers. در یک جستجوی معمولی DNS (اگر هیچ کشی وجود نداشته باشد)، این چهار سرور با هماهنگی یکدیگر کار میکنند تا وظیفه ارائه آدرس IP برای یک دامنه مشخص به کلاینت را انجام دهند (کلاینت معمولاً یک Stub Resolver است که در سیستمعامل ساخته میشود.)
DNS Recursive Resolver چیست؟
Recursive Resolver که به عنوان DNS recursor نیز شناخته میشود اولین مرحله در جستجوی دیاناس است. این سیستم بهعنوان واسطهای بین کلاینت و سیستم نام دامنه عمل میکند.
وقتی کلاینت درخواست دی ان اس ارسال میکند، Recursive Resolver یا از دادههای کششده پاسخ میدهد یا درخواست را به Root Nameserver میفرستد. سپس به ترتیب از TLD Nameserver و Authoritative Nameserver اطلاعات لازم را دریافت میکند. در نهایت، پس از گرفتن آدرس IP از Authoritative Nameserver، پاسخ را به کلاینت برمیگرداند.
در این فرآیند، Recursive Resolver اطلاعات دریافتشده از Authoritative Nameservers را در حافظه کش ذخیره میکند. اگر کلاینت دیگری آدرس IP همان دامنه را که بهتازگی درخواست شده، بخواهد؛ Recursive Resolver میتواند بدون ارتباط مجدد با نام دامنه، رکورد موردنظر را مستقیماً از کش به کلاینت ارائه دهد.
بیشتر کاربران اینترنت از Recursive Resolver ارائهشده توسط ISP خود استفاده میکنند، اما گزینههای دیگری نیز در دسترس هستند.
DNS Root Nameserver چیست؟
۱۳ مورد DNS Root Nameservers برای Recursive Resolver شناخته شدهاند و اولین مرحله در جستجوی رکوردهای DNS توسط Recursive Resolver هستند. یک Root Server درخواست Recursive Resolver را که شامل نام دامنه است، دریافت میکند و با هدایت آن به یک TLD Nameserver براساس پسوند دامنه مانند com، .net، .org و غیره پاسخ میدهد.
مدیریت این Root Nameserver بر عهده یک سازمان غیرانتفاعی به نام آیکان یا همان Internet Corporation for Assigned Names and Numbers (ICANN) است.
توجه داشته باشید که عدد ۱۳، به این معنا نیست که فقط ۱۳ دستگاه در کل سیستم وجود دارد. در واقع ۱۳ نوع Root Nameserver موجود است اما نسخههای متعددی از هرکدام در سراسر جهان مستقر شدهاند. این سرورها از Anycast Routing که یک روش مسیریابی در شبکه است استفاده میکنند تا پاسخهای سریع و کارآمدی ارائه دهند. در واقع، اگر تمام نسخههای موجود را جمع کنیم، تعدادشان به چیزی بیش از ۶۰۰ سرور مختلف میرسد.
TLD Nameserver چیست؟
TLD Nameserver اطلاعات مربوط به تمام دامنههایی که یک پسوند مشترک دارند، مانند com ،.net یا هر چیزی که بعد از آخرین نقطه در URL بیاید را نگهداری میکند.
برای مثال، یک com TLD Nameserver. اطلاعات تمام وبسایتهایی که با com. پایان مییابند را در خود دارد. اگر کاربری به دنبال google.com باشد، پس از دریافت پاسخ از Root Nameserver، Recursive Resolver یک درخواست به com TLD Nameserver. ارسال میکند. این سرور با هدایت درخواست به Authoritative Nameserver مربوط به آن دامنه، پاسخ میدهد.
مدیریت TLD Nameservers توسط Internet Assigned Numbers Authority (IANA) انجام میشود که یکی از زیرمجموعههای آیکان است. این سرورها به دو گروه اصلی تقسیم میشوند:
- دامنههای سطح بالای عمومی (Generic Top-Level Domains):
اینها دامنههایی هستند که به کشور خاصی تعلق ندارند. برخی از معروفترین آنها شامل .com، .org، .net، .edu. و .gov هستند.
- دامنههای سطح بالای کد کشوری (Country Code Top-Level Domains):
این دسته شامل دامنههایی است که مختص یک کشور یا منطقه هستند. نمونههایی از این دامنهها عبارتند از .uk، .us، .ru و .jp
در واقع، یک دستهبندی سوم نیز برای دامنههای زیرساختی وجود دارد، اما تقریباً هیچوقت استفاده نمیشود. این دسته برای دامنه arpa. ایجاد شده بود؛ که یک دامنه انتقالی در زمان ایجاد سیستم مدرن DNS بود و امروزه بیشتر اهمیت تاریخی دارد.
Authoritative Nameserver چیست؟
هنگامی که یک Recursive Resolver پاسخی را از TLD Nameserver دریافت میکند، آن پاسخ، Resolver را به سمت یک Authoritative Nameserver هدایت میکند. Authoritative Nameserver معمولاً آخرین مرحله در مسیر جستجوی یک Resolver برای یافتن آدرس IP است.
Authoritative Nameserver اطلاعات مرتبط با نام دامنهای که مدیریت میکند مانند google.com را در خود ذخیره دارد و میتواند آدرس IP سرور را از رکورد DNS A به Recursive Resolver ارائه دهد. اگر دامنه یک رکورد CNAME (نام مستعار) داشته باشد، Authoritative Nameserver نام مستعار دامنه را به Recursive Resolver میدهد. در این حالت، Recursive Resolver باید یک جستجوی DNS جدید انجام دهد تا رکورد مرتبط را از یک Authoritative Nameserver دیگر به دست آورد (که معمولاً رکورد A شامل آدرس IP است).
جمعبندی
در فرآیند جستجوی DNS، چهار نوع سرور اصلی وجود دارند که بهطور هماهنگ برای ارائه آدرس IP به کلاینت کار میکنند: Recursive Resolver که درخواستها را هدایت کرده و پاسخهای کششده را ذخیره میکند، Root Nameserver که درخواستها را به TLD Nameserver مناسب ارجاع میدهد، TLD Nameserver که اطلاعات دامنهها با پسوند مشابه را ذخیره و به Authoritative Nameserver هدایت میکند، و Authoritative Nameserver که اطلاعات نهایی مربوط به دامنه را ارائه میدهد. این سرورها به ترتیب از کشف آدرس IP گرفته تا ارجاع به سرورهای مختلف، فرآیند جستجو را تکمیل میکنند.
- DNS چیست؟
DNS (Domain Name System) سیستمی است که نامهای دامنه مانند “google.com” را به آدرسهای IP (مثلاً 172.217.14.206) تبدیل میکند. این سیستم به کاربران این امکان را میدهد که بهجای حفظ آدرسهای عددی، با استفاده از نام دامنهها به سایتها دسترسی پیدا کنند
- چه زمانی به DNS نیاز داریم؟
زمانی که شما یک نام دامنه مانند “example.com” را در مرورگر وارد میکنید، مرورگر از سیستم DNS برای پیدا کردن آدرس IP مربوط به آن دامنه استفاده میکند تا بتواند به سرور وب متصل شود و سایت را بارگذاری کند.
- چه تفاوتی بین Recursive Resolver و Authoritative Nameserver وجود دارد؟
Recursive Resolver مسئول هدایت درخواستهای DNS از کلاینت به سرورهای مختلف است و در صورت نیاز، از کش خود برای پاسخدهی سریعتر استفاده میکند. در حالی که Authoritative Nameserver سروری است که اطلاعات دقیق درباره دامنهها را ذخیره کرده و آدرس IP نهایی را به درخواستکننده باز میگرداند.
این مقاله را به اشتراک بگذارید