مفهوم و نحوه عملکرد DNS به زبان ساده
DNS چیست؟
DNS (Domain Name System) به معنی سیستم نام دامنه، یک سرویس اینترنتی است که نامهای دامنه (مثل google.com
) را به آدرسهای IP عددی (مثل 142.250.74.238
) تبدیل میکند.
✅ مثال ساده:
تصور کنید دفترچه تلفنی دارید که اسامی دوستانتان را همراه با شماره تلفنهایشان ذخیره کردهاید. برای تماس با “علی”، لازم نیست شماره او را حفظ کنید؛ فقط نام او را در دفترچه جستجو میکنید. DNS هم همین کار را برای اینترنت انجام میدهد، یعنی نام دامنههای قابل خواندن برای انسان را به آدرسهای عددی قابل استفاده برای کامپیوترها تبدیل میکند.
چرا DNS مهم است؟
بدون DNS، باید برای دسترسی به هر وبسایتی، آدرس IP دقیق آن را حفظ کنید. به جای اینکه google.com
را تایپ کنید، باید 142.250.74.238
را به خاطر بسپارید! اما DNS این کار را بهطور خودکار انجام میدهد و زندگی را آسانتر میکند.
نحوه عملکرد DNS
هنگامی که شما یک نام دامنه (مثلاً www.example.com
) را در مرورگر خود وارد میکنید، چندین مرحله برای یافتن و برگرداندن آدرس IP اتفاق میافتد:
1️⃣ درخواست به کش مرورگر (Browser Cache)
مرورگر ابتدا بررسی میکند که آیا آدرس IP این دامنه قبلاً ذخیره شده است یا نه. اگر در حافظه کش مرورگر باشد، مستقیماً از آن استفاده میکند.
2️⃣ درخواست به کش سیستمعامل (OS Cache)
اگر مرورگر آدرس را نداشته باشد، سیستمعامل بررسی میکند که آیا در حافظه کش خودش ذخیره شده است یا نه.
3️⃣ درخواست به DNS Resolver (سرور DNS محلی)
اگر سیستمعامل هم آدرس را نداشته باشد، درخواست را به DNS Resolver ارسال میکند که معمولاً توسط ISP (ارائهدهنده خدمات اینترنت) شما ارائه شده است.
4️⃣ ارتباط با Root Name Server
اگر سرور DNS محلی نتواند آدرس IP را پیدا کند، درخواست را به سرورهای روت (Root Name Servers) ارسال میکند. این سرورها ۱۳ عدد هستند و پایه و اساس سیستم DNS محسوب میشوند.
5️⃣ ارتباط با TLD Name Server
سرور روت، درخواست را به TLD Name Server مربوطه ارسال میکند. مثلاً اگر دامنه www.example.com
باشد، درخواست به سرور دامنههای .com
ارسال میشود.
6️⃣ ارتباط با Authoritative Name Server
سرور TLD، درخواست را به Authoritative Name Server (سرور معتبر دامنه) هدایت میکند. این سرور اطلاعات دقیق مربوط به دامنه موردنظر را دارد و در نهایت، آدرس IP را برمیگرداند.
7️⃣ ارسال پاسخ به کاربر
بعد از اینکه آدرس IP پیدا شد، این اطلاعات به مرورگر ارسال شده و وبسایت بارگذاری میشود.
✅ کل این فرآیند فقط در چند میلیثانیه اتفاق میافتد!
مثال عملی
فرض کنید میخواهید به www.google.com
دسترسی پیدا کنید. این مراحل طی میشود:
1️⃣ مرورگر بررسی میکند که آیا آدرس www.google.com
در حافظه کش هست یا نه.
2️⃣ اگر نبود، درخواست را به سرور DNS محلی ISP ارسال میکند.
3️⃣ اگر سرور DNS محلی هم نداشته باشد، درخواست را به یکی از 13 سرور روت ارسال میکند.
4️⃣ سرور روت مشخص میکند که .com
مربوط به چه TLD Name Server است.
5️⃣ TLD Name Server مشخص میکند که درخواست باید به سرور دامنهی google.com
ارسال شود.
6️⃣ سرور معتبر دامنهی گوگل (Authoritative DNS Server) آدرس IP را برمیگرداند، مثلاً 142.250.74.238
.
7️⃣ مرورگر از این آدرس استفاده کرده و وبسایت گوگل را باز میکند.
انواع سرورهای DNS
1️⃣ Recursive DNS Server (سرورهای بازگشتی)
این سرورها درخواستهای کاربران را دریافت میکنند و مراحل لازم برای پیدا کردن آدرس IP را انجام میدهند.
2️⃣ Root DNS Server (سرورهای روت)
این سرورها درخواست را دریافت کرده و به سرورهای سطح بالاتر (TLD Name Servers) ارجاع میدهند.
3️⃣ TLD DNS Server (سرورهای سطح دامنه)
این سرورها دامنههای سطح بالا مانند .com
، .net
و .org
را مدیریت میکنند.
4️⃣ Authoritative DNS Server (سرورهای معتبر)
این سرورها اطلاعات دقیق مربوط به نام دامنه را نگهداری کرده و در نهایت، آدرس IP را ارائه میدهند.
انواع رکوردهای DNS
DNS اطلاعات مختلفی را نگهداری میکند که به آنها DNS Records (رکوردهای DNS) میگویند. برخی از مهمترین رکوردها عبارتند از:
نوع رکورد | توضیح |
---|---|
A Record | آدرس IPv4 دامنه را نگهداری میکند. |
AAAA Record | آدرس IPv6 دامنه را نگهداری میکند. |
CNAME Record | یک نام مستعار (Alias) را به یک دامنه دیگر هدایت میکند. |
MX Record | مشخص میکند ایمیلهای یک دامنه باید به کدام سرور ارسال شوند. |
TXT Record | برای ذخیره اطلاعات متنی، مثل تأیید هویت دامنه استفاده میشود. |
کش (Cache) در DNS چیست؟
کش کردن باعث میشود که DNS نیازی به طی کردن تمام مراحل بالا برای هر درخواست جدید نداشته باشد. وقتی آدرس یک دامنه یکبار پیدا شد، برای مدت زمان مشخصی در کش ذخیره میشود تا سرعت بارگذاری افزایش یابد.
📌 مثال:
اگر شما امروز به google.com
مراجعه کنید، آدرس IP آن در حافظه کش ذخیره شده و برای بازدیدهای بعدی سریعتر بارگذاری میشود.
DNS چگونه بر سرعت اینترنت تأثیر میگذارد؟
- اگر سرورهای DNS کند باشند، باز شدن سایتها طول میکشد.
- استفاده از DNS سریعتر (مانند Google DNS یا Cloudflare DNS) میتواند عملکرد اینترنت را بهبود ببخشد.
✅ برخی از DNS های عمومی محبوب:
- Google DNS →
8.8.8.8
و8.8.4.4
- Cloudflare DNS →
1.1.1.1
- OpenDNS →
208.67.222.222
و208.67.220.220
جمع بندی :
✔️ DNS نام دامنهها را به آدرسهای IP تبدیل میکند.
✔️ فرآیند جستجوی DNS شامل چندین مرحله است که فقط چند میلیثانیه طول میکشد.
✔️ کش DNS به بهبود سرعت اینترنت کمک میکند.
✔️ سرورهای مختلفی در فرآیند DNS نقش دارند (Recursive, Root, TLD, Authoritative).
✔️ استفاده از DNS سریعتر میتواند تجربه وبگردی را بهتر کند.