NO. 0108
فناوری و اینترنت اینترنت و وب

DNS

DNS — Domain Name System

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

مسیر یک پرس‌وجو

وقتی نام سایتی را وارد می‌کنید، این زنجیره طی می‌شود — معمولاً در چند صدم ثانیه:

  1. حافظهٔ محلی. مرورگر و سیستم‌عامل اول بررسی می‌کنند که آیا پاسخ را اخیراً ذخیره کرده‌اند.
  2. سرور بازگشتی. اگر نه، پرسش به سروری فرستاده می‌شود که معمولاً متعلق به ارائه‌دهندهٔ اینترنت شماست. این سرور مسئول است پاسخ را پیدا کند.
  3. سرور ریشه. اگر پاسخ را نداشته باشد، از سرورهای ریشه می‌پرسد کدام سرور مسئول پسوند موردنظر است.
  4. سرور دامنهٔ سطح بالا. این سرور می‌گوید سرور معتبر آن دامنهٔ خاص کدام است.
  5. سرور معتبر. پاسخ نهایی — نشانی عددی سرور — را می‌دهد.
  6. ذخیره‌سازی. پاسخ در مسیر بازگشت در چند نقطه ذخیره می‌شود تا دفعات بعد سریع‌تر باشد.
چرا معمولاً سریع است؟

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

انواع رکورد

در تنظیمات دامنه با انواع رکورد روبه‌رو می‌شوید. مهم‌ترین‌ها:

رکوردکارش چیست
Aدامنه را به نشانی عددی نسخهٔ چهار وصل می‌کند
AAAAهمان کار برای نشانی‌های نسخهٔ شش
CNAMEیک نام را به نام دیگری ارجاع می‌دهد
MXتعیین می‌کند ایمیل‌های این دامنه به کدام سرور بروند
TXTمتن دلخواه؛ برای تأیید مالکیت و تنظیمات امنیتی ایمیل
NSمشخص می‌کند کدام سرورها مرجع این دامنه‌اند

نکتهٔ کاربردی: رکوردهای MX و رکوردهای وب کاملاً مستقل‌اند. می‌توانید سایت را روی یک سرویس و ایمیل را روی سرویس دیگری داشته باشید — و این کار کاملاً رایج است.

TTL و انتشار تغییرات

هر رکورد یک مقدار TTL دارد: مدتی که سایر سرورها اجازه دارند پاسخ را در حافظه نگه دارند، معمولاً بر حسب ثانیه.

این عدد توضیح می‌دهد چرا وقتی تنظیمات دامنه را عوض می‌کنید، تغییر فوراً برای همه اعمال نمی‌شود. برخی کاربران نسخهٔ تازه را می‌بینند و برخی هنوز نسخهٔ قدیمی را — چون سرور آن‌ها هنوز پاسخ قبلی را در حافظه دارد.

ترفند عملی مهاجرت

اگر قصد دارید سایت را به سرور تازه‌ای منتقل کنید، چند روز پیش از مهاجرت مقدار TTL را به عدد کوچکی کاهش دهید. این‌طور هنگام جابه‌جایی، تغییر خیلی سریع‌تر منتشر می‌شود. پس از پایان مهاجرت، دوباره آن را بالا ببرید تا فشار روی سرورها کم شود.

مشکلات رایج و نکات امنیتی

خطای عدم یافتن سرور. معمولاً یعنی نام دامنه قابل ترجمه نیست: یا اشتباه تایپ شده، یا دامنه منقضی شده، یا سرورهای مرجع درست تنظیم نشده‌اند.

سایت برای من باز نمی‌شود اما برای دیگران می‌شود. اغلب مشکل از حافظهٔ موقت محلی است. پاک‌کردن حافظهٔ DNS سیستم یا تغییر موقت سرور DNS معمولاً حل می‌کند.

مسائل امنیتی:

  • مسمومیت حافظه. مهاجم پاسخ جعلی در حافظهٔ سرور می‌نشاند تا کاربران را به سایت جعلی هدایت کند. سازوکارهای امضای دیجیتال DNS برای مقابله با همین طراحی شده‌اند.
  • پرس‌وجوهای رمزنگاری‌نشده. به‌طور سنتی، درخواست‌های DNS بدون رمزنگاری منتقل می‌شوند؛ یعنی هر کسی در مسیر می‌تواند ببیند چه سایت‌هایی را باز می‌کنید — حتی اگر خود سایت‌ها HTTPS باشند. پروتکل‌های تازه‌تر این پرس‌وجوها را رمزنگاری می‌کنند.
  • ربودن دامنه. اگر کسی به حساب مدیریت دامنهٔ شما دسترسی پیدا کند، می‌تواند ترافیک را به هر جایی هدایت کند. ورود دومرحله‌ای را حتماً فعال کنید.

پرسش‌های متداول دربارهٔ DNS

تغییر DNS چقدر طول می‌کشد؟

بستگی به مقدار TTL رکورد قبلی دارد — از چند دقیقه تا چند ده ساعت. عبارت رایج «تا ۴۸ ساعت» یک تخمین محافظه‌کارانه است و معمولاً تغییرات خیلی زودتر منتشر می‌شوند.

آیا تغییر سرور DNS سرعت اینترنت را بیشتر می‌کند؟

پهنای باند شما را تغییر نمی‌دهد، اما می‌تواند زمان پاسخ اولیه هنگام باز کردن سایت‌ها را کوتاه کند. اگر سرور پیش‌فرض ارائه‌دهنده کند باشد، تفاوت محسوس است؛ وگرنه تأثیر ناچیزی دارد.

DNS عمومی امن‌تر است؟

بستگی دارد به اینکه از چه چیزی نگرانید. سرورهای عمومی معتبر معمولاً از پروتکل‌های رمزنگاری‌شده پشتیبانی می‌کنند و برخی فیلترینگ بدافزار دارند. اما در عوض، تاریخچهٔ پرس‌وجوهای شما نزد آن شرکت می‌رود. انتخاب، یک مبادله میان دو نوع اعتماد است.