آنچه در این مقاله میخوانید
DNS به مرورگرها کمک میکند تا آدرس سایت تایپشده توسط کاربر را به آدرس آی پی قابلفهم برای خود، تبدیل کنند و صفحه موردنظر را برای او باز کنند. آدرسهای IP، مجموعهای از اعداد هستند که به هر دستگاه متصل به اینترنت اختصاص داده میشود تا توسط دستگاههای دیگر بهراحتی پیدا شوند. DNS کاربران را از به خاطر سپردن این مجموعه اعداد، بینیاز میکنند، چراکه ذهن انسان در به خاطر سپردن کلمات با قدرت بیشتری عمل میکند.
DNS چیست؟
کلمه DNS، از عبارت Domain Name System گرفته شده که به معنای «سامانه نام دامنه» است که نام دامنه قابلخواندن برای انسان را به آدرسهای IP قابلخواندن برای کامپیوتر، ترجمه میکند. به عنوان مثال، ترجمه نام دامنه سایتی مثل www.amazon.com برای کامپیوتر، عبارت 192.0.2.44 است.
DNS در حقیقت دفترچه تلفنی برای اینترنت محسوب میشود. انسانها برای دسترسی به اطلاعات در اینترنت، از نام دامنه (آدرس سایت) استفاده میکنند و این در حالی است که مرورگرهای وب، برای تعامل به آدرس آی پی نیاز دارند. DNS تبدیل نام سایت به آدرس آی پی را برای مرورگرها انجام میدهد.
DNS چگونه کار میکند؟
پروسه عملکرد DNS شامل تبدیل کردن نام هاست (Hostname) به یک IP قابلتشخیص برای کامپیوتر است و همانطور که در بالا خواندید، به هر دستگاهی هنگام اتصال به اینترنت، یک آدرس IP مخصوص اختصاص داده میشود و بدون این آدرس IP نمیتوان دستگاه موردنظر را پیدا کرد؛ همانند آدرس یک خیابان که دانستن آن برای رسیدن به خانه موردنظر، ضروری است.
زمانی که سرور DNS آدرس IP صحیح را پیدا میکند، آن را به مرورگر میدهد و مرورگر نیز از این آدرس برای فرستادن دادهها به سرورهای اصلی یا سرورهای تحویل محتوا (content delivery network (CDN) edge servers) استفاده میکنند. پس از این فرایند، کاربر به اطلاعات موجود در سایت موردنظرش دسترسی خواهد داشت.
برای درک بهتر نحوه عملکرد DNS، شناختن قطعات سختافزاری مختلفی که یک پرسمان (کوئری) DNS باید از میان آنها بگذرد، ضروری است. فرایند جستجوی DNS، در پشتصحنه و دور از چشم کاربر اتفاق میافتد و به همین دلیل است که شما به جز تایپ کردن آدرس سایت موردنظر، نیاز به انجام کار دیگری برای دسترسی به آن ندارید.
تفاوت میان DNS معتبر (Authoritative DNS) و DNS بازگشتی (Recursive DNS) چیست؟
هر دو مفهوم Authoritative DNS و Recursive DNS به گروهی از سرورها اطلاق میشود که همگی بخشی از زیرساخت DNS هستند اما نقشی متفاوت را در مسیر حرکت یک کوئری DNS بازی میکنند و در بخش خاصی از این مسیر قرار دارند. بهترین راه برای درک تفاوت این دو مفهوم، در نظر گرفتن Recursive DNS به عنوان بخش آغازین مسیر حرکت کوئری DNS وAuthoritative DNS به عنوان بخش پایانی این مسیر است.
Authoritative DNS یا DNS معتبر چیست؟
Authoritative DNS سروری است که مسئول نگهداری سوابق مربوط به منبع DNS است. این سرور در انتهای مسیر جستجوی DNS قرار گرفته و بر اساس سوابق منبع جستجو شده عمل میکند. سرور Authoritative به مرورگر اجازه میدهد تا درخواست خود برای دستیابی به آدرس IP موردنیاز را ثبت کند و به سایت موردنظر کاربر دسترسی داشته باشد. همچنین مرورگر میتواند بدون جستجوی منابع دیگر، با استفاده از اطلاعات خود به کوئریهای جستجو شده پاسخ دهد؛ چراکه این اطلاعات منبع نهایی مورد اعتماد برای برخی از سوابق DNS خاص است.
Recursive DNS یا DNS بازگشتی چیست؟
کاربران جستجویهای مربوط به DNS خود را مستقیماً از طریق سرورهای Authoritative انجام نمیدهند و به جای آن، به یک نوع سرور DNS دیگر با نام Recursive DNS یا Resolver متصل میشوند. این سرور همانند دربان یک هتل عمل میکند؛ با وجود این که مالک سوابق DNS نیست، اما به عنوان یک میانجی عمل میکند که میتواند اطلاعات DNS را از طرف شما دریافت کند. اگر یک سرور Recursive اطلاعات مربوط به منبع DNS را بهصورت موقت یا دائم ذخیره کرده باشد، خود میتواند کوئری مربوط به جستجوی DNS را با فراهم کردن منبع یا اطلاعات IP پاسخ دهد. در غیر این صورت، کوئری مربوطه را برای سرور Authoritative ارسال میکند.
در مسیر حرکت کوئری DNS از سرور اولیه Recursive تا سرور نهایی Authoritative، دو سرور دیگر با نامهای Root nameserver و TLD nameserver وجود دارند که اولی، همانند فهرست راهنمای یک کتابخانه است و دومی، همانند قفسه خاصی که حاوی کتاب موردنظر است، عمل میکند. سرورهای Authoritative هم همان فرهنگ لغات موجود در آن قفسه خاص هستند که میتوانید معنی لغت موردنظرتان (آدرس IP سایت) را در آن پیدا کنید.
ذخیرهسازی یا کَش DNS چیست؟
مرورگرهای امروزی به نحوی طراحی شدهاند که بهصورت پیشفرض، سوابق مربوط به کوئریهای DNS را برای مدتزمان مشخصی ذخیره میکنند. هدف از این کار هم واضح است؛ هر چه زمان ذخیرهسازی سوابق DNS به زمان جستجو برای آن نزدیکتر باشد، مدتزمان کمتری صرف جستجو در کش (Cache) مرورگر و پیدا کردن آدرس IP درست میشود. وقتیکه درخواستی برای یک سابقه DNS مطرح میشود، کش مرورگر اولین جایی است که برای پاسخ به آن درخواست بررسی خواهد شد.
برای مشاهده وضعیت کش DNS خود در مرورگر کروم میتوانید به این آدرس مراجعه کنید.
نقش DNS در امنیت وب
یکی از جنبههای مهم DNS، نقشی است که در تأمین امنیت اینترنت بازی میکند. با اینکه DNS عمدتاً برای تبدیل نام دامنه به آدرس IP طراحی شده است، اما حملات متعددی میتوانند از این سیستم سوءاستفاده کنند. حملات معروفی مانند DNS Spoofing یا DNS Hijacking به مهاجمان اجازه میدهد تا کاربران را به سایتهای جعلی هدایت کنند، جایی که ممکن است اطلاعات حساس مانند نام کاربری و رمز عبور سرقت شود.
برای مقابله با این تهدیدات، پروتکلهایی مثل DNSSEC (امنیت سیستم نام دامنه) توسعه یافتهاند. DNSSEC اطلاعات مربوط به DNS را با استفاده از امضاهای دیجیتال تأیید میکند تا اطمینان حاصل شود که دادهها دستکاری نشدهاند و معتبر هستند. بهکارگیری DNSSEC توسط سازمانها و ارائهدهندگان خدمات DNS میتواند خطرات امنیتی را بهشدت کاهش دهد.
همچنین استفاده از DNSهای امن مانند DNSهای رمزنگاریشده (DoH و DoH) به کاربران کمک میکند تا حریم خصوصی و امنیت خود را در هنگام مرور اینترنت حفظ کنند. این تکنولوژیها دادههای DNS را رمزنگاری میکنند و از شنود یا دستکاری توسط مهاجمان جلوگیری میکنند.
بهترین ارائهدهندگان خدمات DNS در جهان
جمع بندی
در پاسخ به سوال DNS چیست بهطور مفصل توضیح دادیم که سیستم یا سامانهای است که نامهای دامنه (آدرس سایت) را به آدرس IP تبدیل میکند. عملیات تبدیل نام دامنه به آدرس IP، توسط ثبت یک کوئری و عبور آن از چهار نوع سرور Recursive، Root nameserver، TLD nameserver و Authoritative انجام میشود که این فرایند در پشتصحنه اتفاق میافتد و مرورگر آن را برای پیدا کردن سرور سایت یا صفحه موردنظر کاربر، انجام میدهد.
منابع:
https://www.cloudflare.com/learning/dns/what-is-dns/
https://aws.amazon.com/route53/what-is-dns/
https://www.fortinet.com/resources/cyberglossary/what-is-dns
این مقاله را به اشتراک بگذارید