مبانی DNS

DNS چیست؟

دفترچه تلفن اینترنت؛ سیستمی که نام‌های دامنه قابل فهم برای انسان را به آدرس‌های IP ترجمه کرده و تمام ترافیک وب و ایمیل را مسیریابی می‌کند.

۱. DNS چیست؟

سامانه نام دامنه (DNS) دفترچه تلفن اینترنت است. این سامانه نام‌های دامنه (مانند example.com) را به آدرس‌های IP (مانند 93.184.216.34) ترجمه می‌کند تا کامپیوترها بتوانند یکدیگر را در شبکه شناسایی کنند.

دامنهexample.com
آدرس IP93.184.216.34

۲. چرا DNS ساخته شد؟

در سال‌های اولیه، کامپیوترها فقط با آدرس IP شناسایی می‌شدند. یک فایل واحد به نام hosts.txt وظیفه نگاشت نام‌ها به IPها را بر عهده داشت، اما با رشد اینترنت، مدیریت این فایل دیگر ممکن نبود.

نام‌گذاری قابل فهم

مردم google.com را به 142.250.180.206 ترجیح می‌دهند

مقیاس‌پذیری

امکان وجود میلیاردها دامنه بدون نیاز به یک فایل مرکزی

مدیریت غیرمتمرکز

هر سازمان کنترل دامنه خود را در اختیار دارد

انعطاف‌پذیری

آدرس‌های IP می‌توانند بدون تغییر نام دامنه، تغییر کنند

اگر آدرس example.com از 93.184.216.34 به 203.0.113.10 تغییر کند، کاربران همچنان همان نام را تایپ می‌کنند و DNS به سادگی آدرس جدید را برمی‌گرداند.

۳. DNS واقعاً چه کاری انجام می‌دهد؟

DNS به یک سوال ساده پاسخ می‌دهد: با داشتن یک نام، IP یا اطلاعات مربوط به آن چیست؟ در عمل، این سامانه کارهای بسیار بیشتری از ترجمه نام به IP انجام می‌دهد.

نام به IP — ترجمه نام‌های دامنه به آدرس‌های IPv4/IPv6 (رکورد‌های A / AAAA)

سرویس‌های چندگانه — استفاده از www، mail، vpn و api زیر یک دامنه با نام‌های کارستی مختلف

مسیریابی ایمیل — رکوردهای MX به سرورهای ایمیل می‌گویند که پیام‌ها را کجا تحویل دهند

توزیع بار (Load Balancing) — بازگرداندن چندین IP برای یک نام جهت تقسیم ترافیک

کشف سرویس — رکوردهای SRV و TXT برای مکان‌یابی سرویس‌ها و ذخیره تنظیمات

۴. مسیریابی ایمیل با رکوردهای MX

هنگامی که یک سرور ایمیل می‌خواهد پیامی را به user@example.com ارسال کند، از DNS درباره رکوردهای MX مربوط به example.com سوال می‌کند.

1

سرور ایمیل از DNS می‌پرسد: سرور ایمیل برای example.com چیست؟

2

DNS با رکوردهای MX پاسخ می‌دهد (مثلاً 10 mail1.example.com و 20 mail2.example.com)

3

سرور ایمیل نام‌های میزبان را به IP تبدیل کرده و پیام را ارسال می‌کند

MX Records — example.com
MX اصلی10 mail1.example.com
MX پشتیبان20 mail2.example.com

۵. توزیع بار و افزونگی

DNS می‌تواند چندین آدرس IP را برای یک نام دامنه برگرداند تا ترافیک بین سرورها پخش شود و در صورت خرابی، سیستم همچنان در دسترس باشد.

DNS response — bigsite.com
پاسخ ۱192.0.2.10
پاسخ ۲192.0.2.11
پاسخ ۳192.0.2.12

کاربران مختلف IPهای متفاوتی دریافت می‌کنند. هیچ سروری تحت فشار قرار نمی‌گیرد و اگر یکی از کار بیفتد، بقیه همچنان در دسترس هستند.

۶. ساختار DNS چگونه است؟

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

Root Servers

می‌دانند کجا سرورهای TLD (.com, .net, .ir و غیره) را پیدا کنند

TLD Servers

می‌دانند کدام سرورهای نام برای هر دامنه معتبر هستند

Authoritative Name Servers

رکوردهای واقعی یک دامنه را نگه می‌دارند

Resolvers

از طرف شما در سلسله‌مراتب جستجو کرده و نتایج را کش (Cache) می‌کنند

مراحل گام‌به‌گام ترجمه

1

دستگاه شما از Resolver می‌پرسد: IP برای www.example.com چیست؟

2

Resolver از یک سرور Root می‌پرسد: سرورهای .com کجا هستند؟

3

سرور Root شما را به سرور TLD مربوط به .com ارجاع می‌دهد

4

سرور TLD شما را به سرور اصلی (Authoritative) دامنه example.com ارجاع می‌دهد

5

سرور اصلی پاسخ می‌دهد: 93.184.216.34

6

Resolver پاسخ را کش کرده و به دستگاه شما بازمی‌گرداند

۷. چرا DNS در عمل مهم است؟

DNS زیربنای تقریباً تمام فعالیت‌های اینترنتی است؛ از بازدید وب‌سایت‌ها و ارسال ایمیل گرفته تا هدایت ترافیک به نزدیک‌ترین سرور (CDN).

مرور وبهر بازدید از سایت با حداقل یک پرس‌وجوی DNS شروع می‌شود
ایمیلمسیریابی و امنیت ایمیل (SPF، DKIM، DMARC) به رکوردهای DNS وابسته هستند
APIها و میکروسرویس‌هاسرویس‌ها برای پیدا کردن یکدیگر از DNS استفاده می‌کنند
شبکه‌های توزیع محتوا (CDN)DNS برای هر منطقه IP متفاوتی برمی‌گرداند تا کاربران به سریع‌ترین سرور هدایت شوند

کاربری در اروپا که cdn.example.com را باز می‌کند ممکن است IP متفاوتی نسبت به کاربری در آسیا دریافت کند؛ دامنه یکی است، اما بهترین سرور برای هر موقعیت مکانی انتخاب می‌شود.

خلاصه

DNS لایه نام‌گذاری اینترنت است که برای جایگزینی فایل hosts.txt غیرمقیاس‌پذیر با یک سیستم سلسله‌مراتبی و توزیع‌شده طراحی شده است.

  • ترجمه نام‌های دامنه به آدرس‌های IP (رکورد‌های A / AAAA)
  • مسیریابی ایمیل از طریق رکوردهای MX
  • امکان توزیع بار و افزونگی با بازگرداندن چندین IP
  • پشتیبانی از کشف سرویس با رکوردهای SRV و TXT
  • ساختار سلسله‌مراتبی و توزیع‌شده — قابل مقیاس‌پذیری در کل اینترنت