تعریف DNS (Domain Name System)
DNS (سیستم نام دامنه) یک سیستم توزیعشده و سلسلهمراتبی است که نامهای دامنه (مانند google.com) را به آدرسهای IP (مانند 172.217.16.206) ترجمه میکند. این سیستم به کاربران اجازه میدهد به جای به خاطر سپردن اعداد پیچیدهی IP، از نامهای قابل فهم برای دسترسی به وبسایتها و سایر خدمات اینترنتی استفاده کنند.

جزئیات و ویژگیهای DNS
۱. ساختار سلسلهمراتبی
DNS یک سیستم سلسلهمراتبی دارد که شامل سطوح مختلفی از دامنهها است:
- Root Domain (دامنه ریشه): بالاترین سطح در سلسلهمراتب DNS است و با یک نقطه (
.
) نشان داده میشود (مثلاً.com.
). - Top-Level Domain (TLD): دامنههای سطح بالا مانند
.com
،.org
،.net
و دامنههای کشوری مانند.ir
یا.uk
. - Second-Level Domain (SLD): نام دامنه اصلی که کاربران ثبت میکنند (مانند
google
درgoogle.com
). - Subdomain: زیردامنههایی که به دامنه اصلی اضافه میشوند (مانند
mail.google.com
).
۲. توزیعشده بودن
DNS یک سیستم توزیعشده است، به این معنی که اطلاعات آن در سرورهای مختلفی در سراسر جهان ذخیره میشود. این ویژگی باعث افزایش کارایی، امنیت و مقاومت سیستم در برابر خرابیها میشود.
۳. کش (Cache)
سرورهای DNS از کش برای ذخیرهسازی موقت اطلاعات استفاده میکنند. این کار باعث کاهش زمان پاسخدهی و کاهش بار روی سرورها میشود.
۴. پشتیبانی از انواع رکوردها
DNS از انواع رکوردها پشتیبانی میکند که هر کدام کاربرد خاصی دارند:
- A Record: آدرس IPv4 مربوط به یک دامنه.
- AAAA Record: آدرس IPv6 مربوط به یک دامنه.
- CNAME Record: برای ایجاد نام مستعار (Alias) برای یک دامنه.
- MX Record: برای تعیین سرورهای ایمیل مرتبط با دامنه.
- TXT Record: برای ذخیره اطلاعات متنی مانند اطلاعات احراز هویت یا SPF.
- NS Record: برای تعیین سرورهای نام (Name Server) مسئول یک دامنه.
طرز کار DNS
۱. درخواست کاربر
وقتی شما نام دامنهای را در مرورگر خود وارد میکنید (مثلاً google.com
)، مرورگر شما یک درخواست به Recursive Resolver (معمولاً سرور DNS ارائهشده توسط ISP شما) ارسال میکند.
۲. جستوجو در کش
اگر Recursive Resolver اطلاعات مربوط به دامنه را در کش خود داشته باشد، بلافاصله آدرس IP را به کاربر برمیگرداند. در غیر این صورت، فرآیند جستوجو ادامه مییابد.
۳. ارسال درخواست به Root Nameserver
اگر اطلاعات در کش وجود نداشته باشد، Recursive Resolver به Root Nameserver مراجعه میکند. Root Nameserver اطلاعات مربوط به سرورهای TLD (مانند .com
) را ارائه میدهد.
۴. ارسال درخواست به TLD Nameserver
Recursive Resolver سپس به TLD Nameserver مراجعه میکند. این سرور اطلاعات مربوط به سرورهای نام (Name Server) مسئول دامنه مورد نظر (مانند google.com
) را ارائه میدهد.
۵. ارسال درخواست به Authoritative Nameserver
در نهایت، Recursive Resolver به Authoritative Nameserver مراجعه میکند. این سرور اطلاعات دقیق مربوط به دامنه (مانند آدرس IP) را در اختیار قرار میدهد.
۶. دریافت آدرس IP و نمایش وبسایت
پس از دریافت آدرس IP، Recursive Resolver آن را به مرورگر کاربر ارسال میکند. مرورگر سپس به سرور مورد نظر متصل شده و وبسایت را بارگذاری میکند.
مزایای DNS
- سهولت استفاده: کاربران نیازی به یادآوری آدرسهای IP ندارند.
- انعطافپذیری: تغییر آدرس IP سرورها بدون نیاز به تغییر نام دامنه امکانپذیر است.
- توزیع بار: DNS به توزیع بار ترافیک شبکه کمک میکند.
- مقاومت در برابر خرابی: به دلیل توزیعشده بودن، DNS در برابر خرابیها مقاوم است.
چالشها و امنیت DNS
- حملههای DNS Spoofing: مهاجمان ممکن است اطلاعات جعلی را به کاربران تزریق کنند.
- حملههای DDoS: سرورهای DNS ممکن است هدف حملات DDoS قرار گیرند.
- حریم خصوصی: برخی از سرورهای DNS ممکن است اطلاعات کاربران را ردیابی کنند.
برای مقابله با این چالشها، فناوریهایی مانند DNSSEC (امضای دیجیتال برای اطمینان از صحت اطلاعات) و DNS over HTTPS (DoH) (رمزنگاری ترافیک DNS) توسعه یافتهاند.