در گذشته دسترسی به اطلاعات یک سیستم در شبکه، تنها از طریق IPها امکان پذیر بود. در یک شبکه ارتباط میان کلاینتها و سرورها توسط IPها برقرار میشود. البته به خاطر سپردن IPهای مربوط به هر سایت یا سیستم در شبکه کار آسانی نیست. در عوض، به خاطر سپردن یک نام برای هر IP سادهتر است. بنابراین برای IP مربوط به هر سایت یا سیستم یک نام اختصاصی در نظر گرفتند. به این منظور پروتکلی به نام DNS یا Domain Name System توسعه داده شد. این پروتکل با هدف ترجمه نام سیستمهای ميزبان یا دامنه آنها به IPها استفاده میشود. در ادامه این مطلب با این پروتکل بیشتر آشنا خواهیم شد.
DNS چیست؟
DNS یکی از پرکاربردترین پروتکلهای مورد استفاده در شبکه اینترنت است که در سال 1984 معرفی شد. همانطور که اشاره شد، به منظور ساده کردن فرآیند دسترسی به اطلاعات هر سایت، برای هر یک از آنها یک نام دامنه (Domain Name) در نظر گرفته شد. هر وب سایت در اینترنت دامنه منحصر به فرد خود را دارد و از طریق آن شناخته میشود. برای مثال وب سایت سون لرن را در نظر بگیرید که دسترسی به اطلاعات آن تحت دامنه 7learn.com برای کاربران امکان پذیر است.
البته در یک شبکه ارتباط میان کلاینتها و سرورها از طریق IP برقرار میشود. بنابراین از DNSها برای تبدیل نام دامنهها به IP استفاده شد. DNS پایگاه داده توزیع شده ای است که نام دامنهها و IPهای سایتها در آن ذخیره میشوند. نحوه عملکرد DNS مانند یک دفترچه تلفن است. در دفترچههای تلفن نام هر شخص و شماره تلفن مربوط به آن ذکر شده است. در DNSها نام دامنهها حکم نام اشخاص در دفترچه تلفن دارند و شمارههای تلفن به منزله IPهای سایتها هستند. اگر از این پروتکل در اینترنت برای ترجمه دامنهها استفاده نمیشد، باید برای هر بار دسترسی به سایتهای مختلف IP آنها وارد میشد.
DNS چگونه کار میکند؟
شايد اين سوال در ذهن شما شکل گیرد که DNS دامنهها را چگونه ساماندهی و شناسایی میکند؟ ساختار این پروتکل به صورتی طراحی شده است که ضرورتی به آگاهی از تمامی دامنههای ثبت شده نداشته باشد. به عبارتی ساده تر، این پروتکل دامنه را الزاما حفظ نمیکند بلکه آنها را پردازش و در نهایت شناسایی میکند. به این منظور دامنههای وب سایتها از یک ساختار سلسله مراتبی پیروی میکنند. در این پروتکل به صورت مرحله به مرحله از راست به چپ دامنه سایتها بررسی و در نهایت شناسایی میشوند. ساختار هر دامنه شامل 5 بخش اصلی است که عبارتند از :
Top Level Domain یا دامنههای سطح بالا به 7 دسته عمومی و بیش از 100 منطقه کشوری تقسیم بندی شده اند. البته تاکنون دامنههای بسیار زیادی در اینترنت تعریف شده اند. این دامنهها در انتهای هر آدرس استفاده میشوند و نشان دهنده نوع و ماهیت سایت استفاده کننده هستند. DNSها بر اساس این دامنهها منطقه جستجو را برای یافتن IP معادل با آنها شناسایی میکنند. دامنههای عمومی که سه حرفی هستند، عبارتند از:
com. سایت هایی که از این دامنه استفاده میکنند به عنوان موسسات اقتصادی و تجاری شناسایی میشوند.
edu. صاحبان این دامنه موسسات علمی یا دانشگاهی در نظر گرفته میشوند.
gov. این مجموعه از دامنهها برای آژانسهای دولتی آمریکا اختصاص داده شده است.
int. صاحب این دامنه یکی از سازمانهای بین المللی (مثل یونسکو، فائو، ...) است.
mil. این دامنه برای سازمانهای نظامی دنیا استفاده میشود.
net. سایتهای که از این دامنه استفاده میکنند، یکی از ارائه دهندگان خدمات شبکه به شمار می روند.
org. صاحب این دامنه جزو یکی از سازمان های غیرانتفاعی محسوب می شود.
هر دامنه می تواند به زیر شاخههای کوچکتری تقسیم شود، که به آن دامنه سطح دوم نیز گفته می شود. به عنوان مثال، دامنههای مربوط به کشور ایران، با مخفف ir. از سایر دامنههای دیگر متمایز میشوند. برخی از دامنههای عمومی در کشور ایران به صورت زیر تقسیم میشوند:
ac.ir. : این دامنه برای دانشگاهها یا موسسههای آموزشی به کار گرفته میشود.
co.ir. : فقط برای شرکت های سهامی خاص، سهامی عام، مسئولیت محدود و تضامنی از این دامنه استفاده میشود.
gov.ir. : این دامنه مربوط موسسهها یا سازمانهای دولتی است.
تصور کنید آدرس سایت دانشگاه تهران را (http://eng.ut.ac.ir) در مرورگر خود وارد کنید. پروتکل DNS، این آدرس را از سمت راست به چپ و به ترتیب مورد بررسی قرار میدهد و اطلاعات زیر را برای به دست آوردن IP به دست میآورد. همانطور که اشاره شد آدرس سایتها در اینترنت به صورت متمرکز ذخیره نمی شوند و روی کل شبکه اینترنت توزیع هستند. بنابراین برای ترجمه یک دامنه به IP ممکن است چندین Query ارسال گردد تا آن IP پیدا شود. البته امکان دارد این فرآیند موفقیت آمیز نباشد و یا حتی ممکن است یک دامنه اشتباه باشد و هیچ IP برای آن به دست نیاید.
ببخشید در خصوص این قسمت " بنابراین برای ترجمه یک دامنه به IP ممکن است چندین Query ارسال گردد تا آن IP پیدا شود." یه سوالی برام پیش آمد این اطلاعات توسط مروگر به چند جا ارسال میشه یا مرورگر دامنه رو به مثلا یک سرور ارسال میکنه وبعد اون سرور شروع به ترجمه و پیدا کردن IP میکنه .
مهدی علامه۰۱ خرداد ۱۳۹۸، ۱۲:۲۵
سلام محمد عزیز
این فرآیند جزییات زیادی دارد. اما به صورت کلی DNS سرورهای زیادی وجود دارد و معمولا درخواستها به نزدیکترین سرورها ارسال میشوند. ولی اینکه این درخواست به صورت همزمان به چند سرور ارسال میشود یا خیز، اطلاعی ندارم.
اما فکر میکنم به این صورت باشد که به نزدیکترین DNS SERVER درخواست ارسال میشود و در صورت دریافت نکردن پاسخ مناسب، درخواست را به سرورهای دیگر میفرستد.