بررسی عمیق مفهوم DNS
اگر فردا صبح بیدار شوید و با نوشتن نامهایی مانند google.com ، نتوانید به وبسایتها دسترسی پیدا کنید چه احساسی خواهید کرد؟ اگر مجبور شوید به جای آن، یک سری از اعداد مثلاً 172.217.16.206 برای چک کردن Gmail را حفظ کرده و تایپ کنید تا بتوانید به اینترنت وصل شوید ،در این حالت مرور اینترنت به شدت خستهکننده خواهد شد!
خوشبختانه، این سناریوی وحشتناک اینترنت هیچ وقت رخ نخواهد داد تا زمانی که سیستم نام دامنه (Domain Name System) به خوبی در پسزمینه کار کند. DNS، که مخفف عبارت سیستم نام دامنه است، سرویس اساسیست که ما را از زحمت بزرگ حفظ آدرسهای IP عددی نجات میدهد. این مساله به طور کارآمد نامهای دامنهای که حفظ کردن آنها آسان است، با آدرسهای IP متناظرشان متصل میکند تا ما بتوانیم به راحتی در اینترنت بگردیم.
در این مقاله، ما به بررسی عمیق این مفهوم اساسی در اینترنت میپردازیم.
DNS: دفترچه آدرس اینترنت
DNS به عنوان یک سرویس لایه برنامهنویسی پیادهسازی شدهاست. این سرویس به جای روترها و سوئیچهای در داخل شبکه، توسط سرورهایی پیادهسازی میشود که در لبه شبکه قرار دارند . این نشان دهنده فلسفه طراحی اینترنت است که میخواهد مرکز شبکه را ساده نگه دارد و پیچیدگی را در لبه شبکه قرار دهد.
خدمات کلیدی ارائه شده توسط DNS
ما قصد داریم برخی از مهمترین خدمات DNS را توضیح دهیم:
نگاشت میزبان به آدرس IP
به عنوان مثال، نام دامنه "www.example.com." را در نظر بگیرید. نگاشت میزبان به آدرس IP شامل تعیین آدرس IP مرتبط با این دامنه مانند "93.184.216.34" میشود.
نام مستعار میزبان
به عنوان مثال، فرض کنید دامنه اصلی "example.com" باشد. ممکن است بخواهید وبسایت شما علاوه بر آدرس "example.com" از طریق نامهای مستعار مختلفی مانند "www.example.com"، "web.example.com" و "blog.example.com" نیز در دسترس باشد. با تنظیم رکوردهای CNAME مناسب در DNS، همه این نامهای مستعار میتوانند به دامنه اصلی "example.com" اشاره کنند. در نتیجه کاربران میتوانند از هر یک از این نامهای دامنه استفاده کنند، که همگی به همان آدرس IP مقصد اشاره میکنند.
مسیریابی ایمیل
به عنوان مثال، فرض کنید سرور اصلی ایمیل مسئول دریافت ایمیلها برای دامنه "example.com" سرور "mail.example.com" باشد. ممکن است بخواهید آدرسهای ایمیل خاصی داشته باشید، مانند آنهایی که با "@sales.example.com" یا "@support.example.com" پایان مییابند، اما همچنان تمام ایمیلهای وارد برای این آدرسها را به سرور "mail.example.com" هدایت کنید. با پیکربندی رکوردهای MX به درستی، ایمیلهای ارسال شده به هر یک از این آدرسها به سرور اصلی ایمیل تعیینشده هدایت خواهند شد.
نگاشت آدرس IP به میزبان (IP-to-host)
توازن بار
سلسله مراتب DNS
سرورهای اصلی دیاناس (Root DNS Servers)
سرورهای ریشه همچون سیستم عصبی مرکزی اینترنت عمل میکنند و به همین دلیل امنیت بسیار مهم است. بسیاری از زیرساختهای مرتبط با سرورهای ریشه، تحت مسئولیت ICANN (شرکت اینترنت برای اختصاص نامها و شمارهها) است. در سراسر جهان 13 سرور ریشه منطقی وجود دارد، اما هرکدام از این سرورهای ریشه منطقی در واقع تکرار شدهاند، بنابراین به ازای این 13 سرور ریشه منطقی، در واقع نزدیک به هزار سرور فیزیکی در سراسر جهان وجود دارد.
سرورهای دامنه در سطح بالا (Top-Level Domain - TLD)
تمامی دامنههای سطح بالا استفاده شده در اینترنت در اختیار شرکت اینترنت برای اختصاص نامها و شمارهها (ICANN) می باشد و این شرکت مسئولیت این دامنهها را به انجمنها و سازمانهای مختلف انتقال میدهد. افراد یا نهادهایی که میخواهند یک دامنه جدید زیر این دامنهها ثبت کنند، معمولاً به ثبتکنندگان نام دامنه مراجعه میکنند که نهادهای مجوزدار هستند که با رجیسترها برای مدیریت فرآیند ثبت ارتباط دارند.
سرورهای DNS اختصاصی
سرورهای DNS بازگشتی
تصویر زیر را بررسی کنید، این تصویر موقعیت برخی از اصلیترین سرورهای DNS درون مسیر یک درخواست DNS نشان میدهد.
چگونه تبدیل DNS کار میکند
-
تبدیل پرسوجوهای مکرر (Iterative query resolution)
-
تبدیل پرسوجوهای بازگشتی (Recursive query resolution)
این روشها نحوه تعامل سرورهای DNS با یکدیگر برای پیدا کردن آدرس IP مرتبط با یک نام دامنه را تعیین میکنند. در زیر یک مرور مختصر از هر یک ارائه شدهاست.
تبدیل پرسوجوهای مکرر (Iterative Query Resolution)
در تبدیل پرسوجوهای مکرر، سرور DNS درخواستی را که دریافت میکند، ارجاعاتی به سرور پرسشکننده ارائه میدهد و آن را از طریق سلسله مراتب DNS هدایت میکند. سرور پرسشکننده به فعالیت فعال در این فرآیند میپردازد و بر اساس ارجاعات دریافتی پرسشهای پسین را ارسال میکند.
بیایید با استفاده از مثالی که در تصویر زیر نشان داده شده است، روش کار تبدیل پرسوجوهای مکرر را درک کنیم.
فرض کنید که میزبان درخواستی برای تبدیل نام example.com دارد. این چگونه اتفاق میافتد:
-
ابتدا میزبان یک پیام درخواست به تبدیل دهنده DNS محلی ارسال میکند. پیام درخواست شامل نام میزبان برای ترجمه example.com می باشد
-
اگر تبدیل دهنده این آدرس IP را در حافظه نهان خود نداشته باشد، یک درخواست به یک سرور DNS روت ارسال میکند.
-
سرور DNS روت با شناسایی پسوند .com، ارجاعی به سرورهای TLD که مسئول .com هستند، ارائه میدهد
-
سپس تبدیل دهنده یک درخواست جدید به یکی از این سرورهای TLD ارسال میکند.
-
سرور TLD ارجاعی به سرور DNS اختصاصی مسئول example.com میدهد.
-
تبدیل دهنده یک درخواست دیگر به سرور DNS اختصاصی ارسال میکند.
-
سرور DNS اختصاصی با آدرس آی پی example.com پاسخ میدهد.
-
تبدیل دهنده DNS این آدرس IP را در حافظه نهان قرار میدهد و سپس آن را به میزبان درخواستکننده باز میگرداند.
-
اکنون، میزبان درخواستکننده یک درخواست HTTP به آدرس IP سرور وب http://www.example.com ارسال میکند.
-
سرور وب صفحه وب را برای www.example.com برمیگرداند
تبدیل پرسوجوهای بازگشتی
آدرس آی پی example.com با استفاده از روش تبدیل پرسوجوهای بازگشتی به عنوان نشانی در تصویر زیر نشان داده شده است