وقتی آدرس یک سایت را در مرورگر وارد می‌کنید، مرورگر باید ابتدا بفهمد این سایت روی کدام سرور قرار دارد. برای این کار از DNS کمک می‌گیرد. DNS را می‌توان مانند دفترچه تلفنی اینترنت در نظر گرفت که نام سایت‌ها را به آدرس‌های IP تبدیل می‌کند.

این فرایند معمولاً بسیار سریع انجام می‌شود، اما هنگام باز کردن یک سایت ممکن است ده‌ها درخواست DNS برای دامنه‌های مختلف ارسال شود. تصاویر، تبلیغات، ویدیوها و سرویس‌های مختلف یک صفحه می‌توانند هرکدام به سرورهای متفاوتی متصل باشند. اینجاست که DNS caching یا کش کردن DNS می‌تواند مفید باشد. با ساده‌گو همراه باشید تا در مورد فعال کردن کش DNS در مودم و اثر آن بیشتر بدانیم.

DNS caching چگونه کار می‌کند؟

DNS caching یعنی ذخیره کردن موقت پاسخ‌های DNS تا در صورت درخواست دوباره، نیازی به پرسیدن همان سؤال از سرور DNS وجود نداشته باشد.

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

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

این فرایند ممکن است فقط چند میلی‌ثانیه زمان ذخیره کند، اما وقتی یک صفحه به تعداد زیادی درخواست DNS نیاز داشته باشد، مجموع این زمان‌ها می‌تواند بیشتر شود.

چرا کش DNS روی روتر مفید است؟

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

کش DNS روی روتر یک مزیت دیگر دارد: همه دستگاه‌های شبکه می‌توانند از آن استفاده کنند.

به عنوان مثال، اگر یک کامپیوتر قبلاً آدرس یک سایت را از روتر دریافت کرده باشد، گوشی یا لپ‌تاپ دیگری که کمی بعد همان سایت را درخواست می‌کند، ممکن است بتواند پاسخ ذخیره‌شده را مستقیماً از روتر دریافت کند.

قابلیت DNS Caching چیست؟ آیا کش DNS سرعت اینترنت را بیشتر می‌کند؟

در یک شبکه خانگی که چند دستگاه به صورت هم‌زمان از سایت‌ها و سرویس‌های مشابه استفاده می‌کنند، این موضوع می‌تواند تعداد درخواست‌های تکراری DNS را کاهش دهد.

آیا DNS caching واقعاً اینترنت را سریع‌تر می‌کند؟

اگر منظور سرعت دانلود باشد، خیر! اما سرعت شروع باز شدن سایت‌ها بیشتر می‌شود.

DNS caching سرعت اتصال اینترنت یا سرعت سرورهای سایت را افزایش نمی‌دهد. این قابلیت فقط زمان لازم برای پیدا کردن آدرس سرور را در برخی درخواست‌ها کاهش می‌دهد.

برای درک بهتر، فرض کنید باز شدن یک صفحه وب چند مرحله دارد. ابتدا باید آدرس سرور پیدا شود، سپس اتصال برقرار شود و بعد اطلاعات صفحه دانلود شود.

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

به همین دلیل، تأثیر کش DNS در بعضی سایت‌ها محسوس است و در بعضی سایت‌ها ممکن است تقریباً متوجه تفاوت آن نشوید.

کش DNS چقدر در زمان صرفه‌جویی می‌کند؟

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

اما در شبکه‌هایی که ارتباط با DNS بالادستی تأخیر بیشتری دارد، پاسخ ذخیره‌شده می‌تواند بسیار سریع‌تر ارائه شود. به‌خصوص زمانی که چند دستگاه شبکه مرتباً به دامنه‌های مشابه دسترسی پیدا می‌کنند.

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

آیا فعال کردن DNS caching ارزش دارد؟

برای بیشتر شبکه‌های خانگی، DNS caching یک بهینه‌سازی ساده و کم‌دردسر است. اگر روتر یا سیستم شبکه چنین قابلیتی را در اختیار داشته باشد، فعال کردن آن می‌تواند تعداد درخواست‌های تکراری DNS را کاهش دهد.

مزیت اصلی این روش زمانی بیشتر مشخص می‌شود که چند کامپیوتر، گوشی و دستگاه دیگر از یک اتصال اینترنتی استفاده کنند. در این شرایط، پاسخ‌های DNS می‌توانند بین دستگاه‌های مختلف شبکه به اشتراک گذاشته شوند.

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

دقیقاً؛ برای همین مقاله بهتر است یک بخش ساده و عمومی برای فعال‌کردن DNS caching روی مودم/روتر داشته باشیم، نه آموزش تخصصی OpenWrt. نکته مهم این است که در بسیاری از مودم‌ها گزینه‌ای با عنوان مستقیم «DNS Cache» وجود ندارد و روتر به‌صورت خودکار پاسخ‌های DNS را کش می‌کند؛ کافی است دستگاه‌های شبکه از خود روتر به‌عنوان DNS استفاده کنند. برای نمونه، مستندات MikroTik صراحتاً امکان استفاده از روتر به‌عنوان DNS cache را توضیح می‌دهد و در برخی مودم‌ها نیز تنظیمات DNS در بخش DHCP قرار دارد.

این بخش را می‌توان مستقیماً به مقاله قبلی اضافه کرد:

چگونه DNS caching را روی مودم فعال کنیم؟

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

در بسیاری از روترها، زمانی که دستگاه‌های متصل به شبکه از خود روتر به عنوان DNS استفاده می‌کنند، روتر پاسخ‌های DNS را به صورت خودکار کش می‌کند. بنابراین ممکن است برای فعال کردن این قابلیت فقط لازم باشد تنظیمات DNS و DHCP مودم را بررسی کنید.

۱. وارد پنل تنظیمات مودم شوید

ابتدا دستگاه را به مودم وصل کنید و آدرس پنل مدیریت روتر را در مرورگر وارد کنید. آدرس‌های رایج شامل موارد زیر هستند:

192.168.1.1

192.168.0.1

سپس نام کاربری و رمز عبور پنل مدیریت را وارد کنید.

قابلیت DNS Caching چیست؟ آیا کش DNS سرعت اینترنت را بیشتر می‌کند؟

۲. بخش DNS یا DHCP را پیدا کنید

پس از ورود به پنل، به دنبال بخش‌هایی با نام‌هایی مانند DNS یا DHCP یا LAN یا Internet بگردید. محل این گزینه در مودم‌های مختلف یکسان نیست.

به عنوان مثال، در برخی روترها تنظیمات DNS در بخش DHCP قرار دارد و در بعضی مدل‌ها نیز باید آن را در تنظیمات LAN یا Internet پیدا کنید.

قابلیت DNS Caching چیست؟ آیا کش DNS سرعت اینترنت را بیشتر می‌کند؟

۳. مطمئن شوید دستگاه‌ها از خود روتر به عنوان DNS استفاده می‌کنند

این مهم‌ترین قسمت کار است. اگر در تنظیمات DHCP مودم، DNS به یک سرور خارجی مانند 1.1.1.1 یا 8.8.8.8 تنظیم شده باشد، ممکن است دستگاه‌های شبکه مستقیماً از همان سرورها استفاده کنند و از کش DNS خود روتر بهره نبرند.

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

برای مثال، اگر آدرس مودم 192.168.1.1 باشد، ممکن است تنظیمات شبکه به این شکل باشد:

DNS Server: 192.168.1.1

در برخی مودم‌ها نیز کافی است فیلد DNS را خالی بگذارید تا خود روتر درخواست‌های DNS دستگاه‌ها را پردازش کند. برای نمونه، ASUS در مستندات خود توضیح می‌دهد که اگر DNS Server در تنظیمات DHCP خالی باشد، درخواست DNS توسط خود روتر پردازش می‌شود.

۴. اگر گزینه DNS Cache داشتید، آن را فعال کنید

بعضی روترهای پیشرفته‌تر گزینه‌ای برای فعال کردن DNS Server یا DNS Cache دارند. اگر چنین گزینه‌ای در پنل مودم وجود داشت، آن را فعال کنید.

ممکن است این گزینه با نام‌های مختلفی مانند موارد زیر دیده شود:

  • DNS Cache
  • DNS Server
  • DNS Proxy
  • DNS Relay
  • Enable DNS Server
  • Allow DNS Requests

نام دقیق گزینه به سازنده و مدل روتر بستگی دارد. به عنوان مثال، در MikroTik باید قابلیت پاسخ‌گویی DNS برای کلاینت‌های شبکه فعال باشد تا روتر بتواند به عنوان DNS cache برای آن‌ها عمل کند.

۵. تنظیمات را ذخیره و مودم را در صورت نیاز راه‌اندازی مجدد کنید

پس از تغییر تنظیمات، روی گزینه‌ای مانند Save یا Apply کلیک کنید. بعضی مودم‌ها برای اعمال کامل تغییرات به راه‌اندازی مجدد نیاز دارند.

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

یک نکته مهم درباره DNS caching

اگر در پنل مودم هیچ گزینه‌ای با عنوان DNS Cache پیدا نکردید، لزوماً به این معنی نیست که مودم شما از کش DNS پشتیبانی نمی‌کند. بسیاری از روترها این قابلیت را به صورت داخلی ارائه می‌کنند و فقط کافی است DNS دستگاه‌های شبکه از طریق خود روتر مدیریت شود.

همچنین تغییر DNS به 1.1.1.1 یا 8.8.8.8 با فعال کردن DNS caching یکسان نیست. این آدرس‌ها مربوط به سرور DNS بالادستی هستند؛ در حالی که هدف DNS caching این است که روتر پاسخ‌های دریافت‌شده را موقتاً ذخیره کند تا درخواست‌های تکراری را سریع‌تر پاسخ دهد.

بنابراین اگر هدف فقط فعال کردن کش DNS است، بهتر است قبل از تغییر DNS اصلی مودم، ابتدا بررسی شود که آیا روتر خودش به عنوان DNS Server یا DNS Proxy برای دستگاه‌های شبکه عمل می‌کند یا خیر.

جمع‌بندی

DNS caching یکی از ساده‌ترین روش‌ها برای کاهش درخواست‌های تکراری DNS است. در این روش، پاسخ DNS برای مدت مشخصی ذخیره می‌شود تا در درخواست‌های بعدی نیازی به دریافت دوباره آن از سرور DNS نباشد.

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

بنابراین DNS caching قرار نیست اینترنت را سریع‌تر کند؛ بلکه فقط کمک می‌کند دستگاه‌ها برای پیدا کردن آدرس سایت‌هایی که قبلاً درخواست شده‌اند، کمتر منتظر بمانند.