
DNS چیست و چگونه کار میکند؟
دی ان اس چیست؟ DNS سیستمی است که نام دامنه را به آدرس IP مرتبط میکند تا مرورگر بتواند سرور مربوط به سایت را پیدا کند. هر بار که آدرس یک سایت را در مرورگر وارد میکنید، چند اتفاق در پشت صحنه رخ میدهد که احتمالا هیچکدام را نمیبینید. یکی از مهمترین آنها پیدا کردن […]
DNS چیست و چگونه کار میکند؟
دی ان اس چیست؟ DNS سیستمی است که نام دامنه را به آدرس IP مرتبط میکند تا مرورگر بتواند سرور مربوط به سایت را پیدا کند. هر بار که آدرس یک سایت را در مرورگر وارد میکنید، چند اتفاق در پشت صحنه رخ میدهد که احتمالا هیچکدام را نمیبینید. یکی از مهمترین آنها پیدا کردن آدرس سروری است که سایت روی آن قرار دارد. اینجا DNS وارد ماجرا میشود.
DNS یا سیستم نام دامنه نامهایی مثل example.com را به آدرس IP مرتبط با سرویس موردنظر تبدیل میکند. در واقع کامپیوترها برای پیدا کردن مقصد در شبکه به اطلاعاتی مثل IP نیاز دارند، اما حفظ کردن نام دامنه برای ما خیلی سادهتر از رشتهای از اعداد است.
اگر بخواهیم خیلی ساده به سوال «DNS چیست» جواب بدهیم، دی ان اس همان سیستمی است که کمک میکند با وارد کردن نام دامنه به سرویس اینترنتی مورد نظر برسید، بدون اینکه لازم باشد IP آن را حفظ کنید. در این مقاله از وبلاگ پارس هاست به سوال dns چیست پرداختیم، در ادامه با ما همراه باشید.
DNS چیست؟
DNS مخفف Domain Name System و بهمعنی «سیستم نام دامنه» است. این سیستم یک ساختار توزیعشده و سلسله مراتبی دارد و اطلاعات مربوط به دامنهها را نگهداری و بازیابی میکند.
به نقل از Cloudflare، یکی از شناختهشدهترین شرکتهای فعال در حوزه زیرساخت وب، CDN و DNS:
“The Domain Name System (DNS) is the phonebook of the Internet.” «سیستم نام دامنه (DNS)، دفترچه تلفن اینترنت است.» منبع: Cloudflare
فرض کنید یک سایت روی IP زیر قرار دارد:
۱۹۲٫۰٫۲٫۱۰
قطعا حفظ کردن یک نام مثل example.com راحتتر از چنین عددی است. تازه ماجرا فقط یک سایت نیست؛ میلیاردها کاربر، دستگاه، دامنه و سرویس اینترنتی در این شبکه حضور دارند. DNS فاصله میان نامهای قابل فهم برای انسان و اطلاعات مورد نیاز شبکه را پر میکند.

البته این تعریف را نباید بیش از حد ساده کنیم. DNS فقط برای مرتبط کردن نام سایت با IP کاربرد ندارد. اطلاعات دیگری مثل سرور ایمیل، تایید مالکیت دامنه و مقصد بعضی سرویسها نیز در رکوردهای DNS قرار میگیرند. برای آشنایی بیشتر با ساختار و انواع پسوند دامنه میتوانید مقاله «دامنه چیست» را بخوانید.
DNS از کجا به وجود آمد؟
قبل از DNS، نگهداری نام و آدرس میزبانهای شبکه تا حد زیادی به فایلهای متمرکزی مثل HOSTS.TXT وابسته بود. با بزرگتر شدن شبکه، مدیریت چنین روشی دشوارتر شد و نیاز به یک سیستم توزیع شده برای مدیریت نامها افزایش پیدا کرد.
در سال ۱۹۸۳، Paul Mockapetris طراحی اولیه سیستم نام دامنه را در RFC 882 و RFC 883 ارائه کرد. این معماری بعدها توسعه پیدا کرد و مشخصات اصلی DNS در RFC 1034 و RFC 1035 تکمیل شد.
امروزه همان ایده اصلی، یعنی استفاده از یک سیستم سلسله مراتبی و توزیع شده برای مدیریت نام دامنهها، یکی از پایههای اصلی اینترنت است. برای راهاندازی یک سایت، بعد از خرید دامنه و انتخاب هاست مناسب، نوبت اتصال دامنه به هاست است؛ تنظیم صحیح DNS بخشی از این فرایند است.
برای راهاندازی سایت، پس از ثبت دامنه و تهیه هاست باید تنظیمات اتصال آنها را انجام دهید. مراحل این کار را در آموزش اتصال دامنه به هاست در سی پنل دنبال کنید.
DNS چگونه کار میکند؟
وقتی یک دامنه را در مرورگر تایپ میکنید، مرورگر باید بفهمد درخواست را به کدام مقصد بفرستد. فرایند پیدا کردن این اطلاعات را DNS Lookup یا DNS Resolution مینامند.

بیایید مسیر را با یک مثال دنبال کنیم. فرض کنید example.com را در مرورگر وارد میکنید.
- سیستم ابتدا بررسی میکند که اطلاعات این دامنه را در کش خود دارد یا نه.
- اگر پاسخ در کش نباشد، درخواست به DNS Resolver میرسد.
- Resolver برای پیدا کردن مسیر دامنه با Root DNS Server ارتباط برقرار میکند.
- Root Server مسیر سرور مربوط به پسوند دامنه یا همان TLD را مشخص میکند.
- برای دامنهای با پسوند .com، درخواست به سرورهای TLD مربوط به .com میرسد.
- TLD اطلاعات سرورهای معتبر دامنه را در اختیار Resolver قرار میدهد.
- Resolver از Authoritative DNS Server درباره رکورد موردنظر سوال میکند.
- پاسخ، مثلا IP مرتبط با دامنه، به Resolver و سپس دستگاه شما برمیگردد.
- مرورگر حالا مقصد را میشناسد و ارتباط با وب سرور را آغاز میکند.
شاید این مسیر طولانی بهنظر برسد، اما بخش زیادی از آن در مدت بسیار کوتاهی اتفاق میافتد. از طرف دیگر، وجود DNS Cache جلوی تکرار بسیاری از این درخواستها را میگیرد.
کش DNS چه کاری انجام میدهد؟
اگر Resolver برای هر بار بازدید از یک سایت مجبور بود کل مسیر DNS را از ابتدا طی کند، درخواستهای بسیار بیشتری میان سرورها ردوبدل میشد.
DNS Cache پاسخ بعضی درخواستهای قبلی را برای مدت مشخصی نگه میدارد. مدت اعتبار این اطلاعات با مقداری به نام TTL یا Time To Live ارتباط دارد.
مثلا اگر رکورد مورد نظر هنوز در کش اعتبار داشته باشد، Resolver پاسخ را مستقیما از همان اطلاعات قبلی برمیگرداند و دیگر لازم نیست تمام مراحل جستوجو تکرار شود. برای بررسی رکوردهای فعلی دامنه و وضعیت انتشار تغییرات، راهنمای تست DNS را بخوانید.
نکته: همین کش یکی از دلایلی است که تغییر DNS دامنه همیشه در همان لحظه در همه نقاط اینترنت دیده نمیشود. تا زمانی که بعضی اطلاعات قبلی از کش خارج نشوند، احتمال دارد کاربران برای مدتی پاسخ قبلی را دریافت کنند.
تفاوت DNS و سرور DNS چیست؟
DNS و سرور DNS به هم مرتبط هستند، اما مفهوم یکسانی ندارند. DNS یا Domain Name System نام کل سیستم و سازوکاری است که اطلاعات مربوط به دامنهها را مدیریت میکند و برای پیدا کردن اطلاعاتی مثل IP یک دامنه به کار میرود.

در مقابل، سرور DNS یکی از اجزای این سیستم است که درخواستهای دی ان اس را پردازش میکند یا اطلاعات موردنیاز را در اختیار بخشهای دیگر قرار میدهد. Recursive Resolver، Root Server، TLD Server و Authoritative DNS Server نمونههایی از سرورهایی هستند که هرکدام نقش مشخصی در این فرایند دارند.
به زبان ساده، DNS کل سیستم است و DNS Server یکی از اجزایی است که این سیستم برای پاسخ به درخواستها از آن استفاده میکند.
سرور DNS چیست؟
سرور DNS سیستمی است که در فرایند پاسخگویی به درخواستهای DNS نقش دارد. البته وقتی درباره «سرور DNS» حرف میزنیم، منظور همیشه یک نوع سرور مشخص نیست.
چند سرور با وظایف متفاوت در فرایند DNS فعالیت میکنند و هرکدام بخشی از مسیر را جلو میبرند.
Recursive DNS Resolver
Recursive Resolver معمولا اولین مقصد درخواست DNS کاربر است. این سرور اطلاعات موردنیاز را از کش خودش پیدا میکند یا برای رسیدن به پاسخ سراغ بخشهای دیگر زیرساخت DNS میرود.
Resolverهای شرکت ارائهدهنده اینترنت و سرویسهای Public DNS نمونههایی از این بخش هستند.
Root DNS Server
روت سرور در بالاترین بخش سلسلهمراتب دی ان اس قرار دارد. برخلاف یک تصور رایج، Root Server آدرس IP تمام سایتهای اینترنت را نگه نمیدارد.
وظیفه آن بیشتر شبیه نشان دادن مسیر است. روت سرور مشخص میکند Resolver برای ادامه جستوجو باید سراغ کدام TLD Server برود.
TLD Name Server
TLD مخفف Top-Level Domain است و به بخش انتهایی دامنه اشاره دارد؛ .com، .org و .net نمونههایی از انواع پسوند دامنه هستند.
TLD Server اطلاعات لازم برای هدایت Resolver به Authoritative Name Server دامنه را در اختیار آن قرار میدهد.
Authoritative DNS Server
اینجا دیگر به آخر مسیر نزدیک میشویم!
Authoritative DNS Server اطلاعات معتبر رکوردهای DNS یک دامنه را نگهداری میکند و پاسخ نهایی مرتبط با آن رکورد را در اختیار Resolver قرار میدهد.
مثلا اگر Resolver دنبال رکورد A دامنه باشد، Authoritative DNS Server مقدار تعریفشده برای آن را پاسخ میدهد.
انواع DNS چیست؟
عبارت «انواع DNS» کمی کلی است؛ چون دی ان اس را از چند زاویه دسته بندی میکنند.
اگر منظور انواع سرورهای درگیر در فرایند Resolution باشد، چهار بخش اصلی عبارتاند از:
- Recursive DNS Resolver
- Root DNS Server
- TLD Name Server
- Authoritative DNS Server
اما DNS را از نظر نوع سرویس هم دسته بندی میکنند. برای نمونه، Public DNS برای استفاده عمومی در دسترس کاربران قرار دارد، در حالی که Private DNS بیشتر برای محیطهای خصوصی و شبکههای داخلی کاربرد دارد.
در شبکههای سازمانی، Private DNS کمک میکند نامها و منابع داخلی بدون انتشار عمومی در اینترنت مدیریت شوند.
Public DNS چیست؟
بیشتر کاربران به صورت پیش فرض از DNS Resolver شرکت ارائه دهنده اینترنت خود استفاده میکنند، اما این تنها انتخاب موجود نیست.
Public DNS یا دی ان اس عمومی، Resolverی است که کاربران مختلف اینترنت میتوانند از آن برای پردازش درخواستهای DNS استفاده کنند.
برای مثال، Google Public DNS آدرسهای IPv4 زیر را ارائه میدهد:
۸٫۸٫۸٫۸
۸٫۸٫۴٫۴
Cloudflare نیز سرویس عمومی ۱٫۱٫۱٫۱ را با این آدرسها ارائه میکند:
۱٫۱٫۱٫۱
۱٫۰٫۰٫۱
استفاده از Public DNS در بعضی شبکهها میتواند از نظر زمان پاسخ، پایداری یا امکانات حریم خصوصی تفاوت ایجاد کند، اما نمیتوانیم یک DNS را در تمام کشورها، اپراتورها و شرایط شبکه سریعترین گزینه بدانیم؛ نتیجه به موقعیت جغرافیایی، مسیر شبکه و زیرساخت ارائه دهنده وابسته است.
کاربرد DNS چیست؟
اولین کاربرد DNS که به ذهن میرسد، اتصال نام دامنه به IP است؛ اما کار دی ان اس به همین مورد ختم نمیشود.
برخی از کاربردهای مهم DNS عبارتاند از:
- هدایت دامنه به سرور وب
- تعیین مقصد سرویس ایمیل
- مدیریت زیردامنهها
- تایید مالکیت دامنه برای بعضی سرویسها
- تعریف اطلاعات متنی از طریق TXT Record
- کمک به توزیع درخواستها میان زیرساختهای مختلف
- مدیریت سرویسهای اینترنتی بدون وابستگی کاربران به یک IP مشخص
مثال: سایت شما روی یک سرور قرار دارد، اما ایمیل سازمانی را شرکت دیگری میزبانی میکند. رکوردهای DNS اجازه میدهند ترافیک وب به یک مقصد و ایمیلها به مقصد دیگری بروند.
اینجاست که مشخص میشود دی ان اس فقط یک دفترچه تلفن ساده نیست.
مهم ترین رکوردهای DNS
اطلاعات DNS داخل Recordها قرار میگیرند و هر نوع رکورد وظیفه خاص خودش را دارد.
| رکورد | کاربرد | مثال |
| A | اتصال Hostname به آدرس IPv4 | example.com → ۱۹۲٫۰٫۲٫۱۰ |
| AAAA | اتصال Hostname به آدرس IPv6 | example.com → یک آدرس IPv6 |
| CNAME | ایجاد ارتباط یک نام با نام دامنه دیگر | www.example.com → example.com |
| MX | مشخص کردن سرورهای دریافت ایمیل | mail.example.com |
| TXT | ذخیره اطلاعات متنی، تایید مالکیت و بعضی تنظیمات امنیت ایمیل | SPF یا اطلاعات Verification |
| NS | مشخص کردن Name Serverهای مرتبط با Zone | ns1.example.com |
| SOA | نگهداری اطلاعات مدیریتی اصلی DNS Zone | اطلاعات اصلی Zone و مقادیر زمانی |
هنگام مدیریت دی ان اس باید نوع رکورد را متناسب با سرویس انتخاب کنید. مثلا تغییر MX روی مسیر دریافت ایمیل اثر میگذارد، در حالی که رکورد A معمولا برای اتصال Hostname به IPv4 کاربرد دارد.
یک اشتباه کوچک در رکوردها ممکن است فقط یک سرویس خاص را مختل کند. برای مثال، تنظیم اشتباه MX میتواند روی دریافت ایمیل اثر بگذارد، حتی اگر خود سایت همچنان در دسترس باشد.
تفاوت DNS و نیم سرور چیست؟
DNS و Name Server یا نیم سرور به هم ارتباط نزدیکی دارند، اما یک مفهوم نیستند. DNS کل سیستم و سازوکاری است که نامهای دامنه و اطلاعات مرتبط با آنها را مدیریت و Resolve میکند. Name Server یکی از اجزای این ساختار است و به درخواستهای دی ان اس مربوط به Zoneهایی که برای آنها مسئولیت دارد پاسخ میدهد.

پس وقتی دی ان اس یک دامنه را مدیریت میکنید، با رکوردهایی مثل A، MX و TXT سروکار دارید. Name Server مشخص میکند برای دریافت اطلاعات معتبر دی ان اس یک دامنه باید سراغ کدام سرورها رفت. جزئیات این موضوع را در مقاله «نیم سرور چیست» توضیح دادهایم.
DNS ابری چیست؟
DNS ابری یا Cloud DNS سرویسی است که مدیریت و پاسخگویی DNS را روی زیرساخت ابری انجام میدهد. در این مدل، بهجای راهاندازی و نگهداری DNS Server توسط خودتان، شرکت ارائهدهنده سرویس زیرساخت مورد نیاز را مدیریت میکند.
سرویسهای Cloud DNS معمولا از شبکهای توزیعشده از سرورها استفاده میکنند. در نتیجه درخواست کاربران از نقاط مختلف جغرافیایی لازم نیست همگی به یک سرور واحد وابسته باشند.
بسته به ارائهدهنده و نوع سرویس، DNS ابری قابلیتهایی مثل این موارد دارد:
- زیرساخت توزیع شده
- مدیریت متمرکز DNS Zone و Recordها
- مقیاسپذیری برای حجم بالای Query
- امکان استفاده از Public و Private DNS
- API برای مدیریت رکوردها
- افزونگی زیرساخت
البته استفاده از واژه «ابری» بهتنهایی بهمعنی سریعتر یا امنتر بودن هر سرویس DNS نیست. کیفیت شبکه ارائهدهنده، معماری سرویس، تعداد نقاط حضور و تنظیمات DNS هم روی نتیجه اثر دارند.
DNS چه تاثیری روی سرعت سایت دارد؟
قبل از اینکه مرورگر به وبسرور درخواست HTTP یا HTTPS بفرستد، باید مقصد را پیدا کند. DNS Lookup بخشی از این مسیر است. اگر پاسخ DNS با تاخیر برسد، شروع اتصال کاربر به سرور هم عقب میافتد. کش مناسب، زیرساخت DNS سریع و سرورهای توزیعشده در کاهش این زمان نقش دارند.

بااینحال نباید سرعت سایت را فقط گردن دی ان اس انداخت! زمان پاسخ سرور، حجم صفحه، تصاویر، کدهای JavaScript، CDN و عوامل متعدد دیگری نیز روی سرعت نهایی اثر میگذارند.
اگر قصد دارید از CDN برای سایت خود استفاده کنید، پارس هاست با بیش از ۲۰ سال سابقه، CDN رایگان نیز در اختیار کاربران قرار میدهد. میتوانید از این سرویس برای توزیع محتوا از طریق شبکه CDN و بهبود نحوه دسترسی کاربران به محتوای سایت استفاده کنید.
آیا DNS روی امنیت هم تاثیر دارد؟
DNS یکی از بخشهای مهم زیرساخت اینترنت است و طبیعتا مهاجمان هم سراغ آن میروند. حملاتی مثل DNS Spoofing یا Cache Poisoning تلاش میکنند پاسخ دی ان اس را دستکاری کنند تا کاربر به مقصد اشتباهی هدایت شود.
برای درک اینکه DNSSEC چیست، باید نقش آن را در اعتبارسنجی پاسخهای DNS بشناسید. این فناوری با امضای دیجیتال به Resolver کمک میکند اصالت و یکپارچگی دادههای DNS را بررسی کند.
البته DNSSEC اطلاعات دی ان اس را رمزگذاری نمیکند؛ وظیفه اصلی آن بررسی اصالت و یکپارچگی پاسخ DNS است. این تفاوت مهمی است که گاهی در توضیحات DNSSEC نادیده میماند.
چرا دی ان اس بخش مهمی از اینترنت است؟
DNS یکی از پایههای اصلی ارتباط در اینترنت است. وقتی نام یک سایت را در مرورگر وارد میکنید، سیستم DNS مسیر رسیدن از نام دامنه به اطلاعات مقصد را مشخص میکند و اجازه نمیدهد برای ورود به هر سایت مجبور به حفظ کردن IP آن باشید.
در این مسیر بخشهایی مثل Recursive Resolver، Root Server، TLD Server و Authoritative DNS Server با نقشهای متفاوت فعالیت میکنند. رکوردهای A، AAAA، MX، CNAME، TXT و NS نیز اطلاعات موردنیاز سرویسهای مختلف را در DNS نگه میدارند.
اگر مدیریت سایت یا سرور را برعهده دارید، شناخت DNS دیگر یک بحث صرفا تئوری نیست. یک رکورد اشتباه گاهی سایت را از دسترس خارج میکند، ایمیلها را مختل میکند یا کاربران را به مقصد نادرستی میفرستد.
پس تنظیمات DNS را باید با دقت انجام دهید؛ چند حرف و عدد کوچک در این بخش، گاهی کل سرویس را تحت تاثیر قرار میدهد.
سوالات متداول درباره دی ان اس چیست
۱. دی ان اس چیست و چه کاربردی دارد؟
DNS یا Domain Name System سیستمی است که نام دامنه را به اطلاعاتی مثل آدرس IP مرتبط میکند. این سیستم در دسترسی به وبسایتها، مسیریابی ایمیل، مدیریت زیردامنهها و سرویسهای مختلف اینترنتی نقش دارد.
۲. DNS چگونه کار میکند؟
وقتی آدرس یک سایت را وارد میکنید، DNS Resolver برای پیدا کردن اطلاعات دامنه ابتدا کش را بررسی میکند. اگر پاسخ در کش نباشد، فرایند جستوجو از طریق Root Server، سرور TLD و Authoritative DNS Server ادامه پیدا میکند تا اطلاعات موردنیاز، مثل IP دامنه، پیدا شود.
۳. تفاوت DNS و نیم سرور چیست؟
DNS نام کل سیستم نام دامنه و سازوکار مدیریت و پیدا کردن اطلاعات دامنهها است. نیم سرور یا Name Server یکی از اجزای این سیستم است و اطلاعات DNS مربوط به Zoneهای تحت مدیریت خود را در اختیار درخواستکننده قرار میدهد.
۰