مرکز آموزش

DNS - دی ان اس چیست؟

 

ساناد[۱] سرواژهٔ سامانهٔ نام دامنه[۲] (به انگلیسی: Domain Name System)، (به اختصار DNS , dns) خوانده می‌شود نظامی سلسله‌مراتبی برای نام‌گذاری رایانه‌ها و دیگر منابع متصل به اینترنت یا دیگر شبکه‌های که در سال ۱۹۸۴ معرفی شده‌است.

 

وقتی می‌خواهید وارد وبگاهی شوید، باید نشانی کارساز وبش را بدانید. نشانی کارساز وب با نشانی آی‌پی مشخص می‌شود. اما به خاطر سپردن نشانی آی‌پی دشوار است. می‌توان به جای نشانی آی‌پی از نام‌های دامنه استفاده کرد. برای هر نشانی آی‌پی یک نام دامنه در نظر گرفته شده‌است. مثلا نشانی آی‌پی وبگاه گوگل ۱۷۳٫۱۹۴٫۳۳٫۱۰۴ است. برای دسترسی به گوگل می‌توانید از این نشانی آی‌پی یا نام دامنه آن یعنی www.google.com استفاده کنید.

در ساناد، کل نشانی‌های اینترنت درون بانک‌های اطلاعاتی توزیع شده‌ای هستند که هیچ تمرکزی روی نقطه‌ای خاص از شبکه ندارند. روش ترجمهٔ نام بدین صورت است که وقتی یک برنامهٔ کاربردی مجبور است برای برقراری یک ارتباط، معادل نشانی آی‌پی از یک ماشین با نامی مثل cs.ucsb.edu را بدست بیاورد، قبل از هر کاری یک تابع کتابخانه‌ای (به انگلیسی: Library Function) را صدا می‌زند، به این تابع کتابخانه‌ای تابع تحلیلگر نام (به انگلیسی: Name Resolver) گفته می‌شود. تابع تحلیلگر نام، یک نشانی نمادین را که بایستی ترجمه شود، بعنوان پارامتر ورودی پذیرفته و سپس یک بستهٔ درخواست (به انگلیسی: Query Packet) به روش UDP تولید کرده و به نشانی یک کارساز DNS (که به صورت پیش فرض مشخص می‌باشد) ارسال می‌کند. همهٔ ماشین‌های میزبان، حداقل باید نشانی آی‌پی از یک سرویس دهندهٔ ساناد را در اختیار داشته باشند. این «سرویس دهندهٔ محلی» پس از جستجو، نشانی آی‌پی معادل با یک نام نمادین را بر می‌گرداند. «تابع تحلیلگر نام» نیز آن نشانی آی‌پی را به برنامهٔ کاربردی تحویل می‌دهد با پیدا شدن نشانی آی‌پی، برنامهٔ کاربردی می‌تواند عملیات مورد نظرش را ادامه بدهد.

 

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

 

پرس و جوی تکراری (به انگلیسی: Iterative Query)

پرس و جوی بازگشتی (به انگلیسی: Recursive Query)

پرس و جوی معکوس (به انگلیسی: Reverse Query)

پرس و جوی تکراری

در پرس و جوی تکراری قسمت اعظم تلاش برای تبدیل یک نام بر عهده سرویس دهنده محلی است؛ این DNS حداقل به نشانی ماشین Root، به عنوان نقطه شروع نیاز دارد. وقتی یک تقاضای ترجمه نشانی به سرویس دهنده محلی ارسال می‌شود در صورتی که قادر به ترجمه نام به معادل نشانی آی‌پی آن باشد، معادل نشانی آی‌پی نام مورد نظر را به تقاضا کننده برمی گرداند. (این حالت وقتی است که سرویس دهنده محلی قبلاً آن نام را ترجمه و در یک فایل ذخیره کرده باشد.) در غیر این صورت سرویس دهنده محلی خودش یک تقاضا برای DNS سطح بالا ارسال می‌کند. این سرویس دهنده، نشانی ماشینی را که می‌تواند برای ترجمه نام مورد نظر مفید باشد، به سرویس دهنده محلی معرفی می‌کند؛ سرویس دهنده محلی مجدداً یک تقاضا به ماشین معرفی شده در مرحله قبل ارسال می‌کند. در این حالت هم سرویس دهنده نام می‌تواند در صورت یافتن نشانی آی‌پی با آن نام حوزه، آنرا ترجمه کند و یا آنکه نشانی سرویس دهنده سطح پایینتری را به او برگرداند. این روند ادامه می‌یابد تا DNS نهایی نام مورد نظر را به نشانی آی‌پی ترجمه نماید. برای درک بهتر از روند کار به شکل زیر دقت کنید. در این مثال فرض شده‌است که یک برنامه کاربردی با فراخوانی «تابع تحلیلگر نام»، تقاضای ترجمه نام www.microsoft.com را می‌نماید. مراحلی که انجام می‌شود به شرح زیر است :

 

در مرحله اول برنامه کاربردی با فراخوانی «تابع تحلیل نام»، تقاضای ترجمه نشانی www.microsoft.com را برای سرویس دهنده محلی ارسال کرده و منتظر می‌ماند.

در مرحله دوم، سرویس دهنده محلی از سرویس دهنده Root (که حوزه‌های متفاوت را تفکیک می‌کند) نشانی ماشین یک DNS که متولی حوزه.com است را سؤال می‌کند.

در مرحله سوم، نشانی سرویس دهنده مربوط به حوزه. com بر می‌گردد.

در مرحله چهارم، سرویس دهنده محلی، از ماشین معرفی شده در مرحله قبلی، نشانی سرویس دهنده مربوط به حوزه Microsoft.com را سؤال می‌نماید

در مرحله پنجم فهرستی از سرویس دهنده‌های DNS مربوط به Microsoft.com بر می‌گردد.

در مرحله ششم، سرویس دهنده محلی تقاضای ترجمه نشانی نمادین www.microsoft.com را از DNS متعلق به حوزه Microsoft.com می‌کند.

در مرحله هفتم، معادل نشانی آی‌پی نام www.microsoft.com برمی گردد.

در مرحله هشتم، نشانی آی‌پی خواسته شده در اختیار برنامه کاربردی قرار می‌گیرد.

پرس و جوی بازگشتی

در این روش هر گاه برنامه‌ای بخواهد نشانی آی‌پی معادل یک نام مثل cs.yale.edu را بدست آورد بگونه‌ای که قبلاً اشاره شد، «تابع سیستمی تحلیل نام» را فراخوانی می‌کند. این تابع یک ماشین را بعنوان سرویس دهنده محلی از قبل می‌شناسد و بنابراین تقاضای تبدیل نام را به روش UDP برای آن ارسال کرده و منتظر جواب می‌ماند (پاسخ نهایی DNS طبیعتاً باید یک نشانی ۳۲ بیتی معادل نشانی آی‌پی یک ماشین باشد) دو حالت ممکن است اتفاق بیفتد:

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

ممکن است در بانک اطلاعاتی سرویس دهنده محلی، معادل نشانی آی‌پی آن نام وجود نداشته باشد. مثلاً سرویس دهنده محلی در بانک اطلاعاتی خودش معادل نشانی آی‌پی نام cs.mit.edu را نداشته و طبیعتاً نمی‌تواند آن را ترجمه کند. در چنین حالتی سرویس دهنده محلی موظف است بدون آنکه به تقاضا دهنده خبر بدهد، خودش رأساً به سرویس دهنده سطح بالاتر تقاضای ترجمه نشانی بدهد. در این حالت هم DNS سطح بالاتر به همین نحو ترجمه نشانی را پیگیری می‌کند یعنی اگر معادل نشانی آی‌پی آن نام را داشته باشد آنرا برمی گرداند و در غیر اینصورت خودش از سرویس دهنده سطح پایینتر تقاضای ترجمه آن نام را می‌نماید و این مراحل تکرار می‌شود. در روش پرس و جوی بازگشتی ماشین سرویس دهنده محلی این مراحل متوالی را نمی‌بیند و هیچ کاری جز ارسال تقاضای ترجمه یک نشانی بر عهده ندارد و پس از ارسال تقاضا برای سرویس دهنده سطح بالا منتظر خواهد ماند. بازهم تکرار می‌کنیم، روشی که DNS برای ترجمه نشانی بکار می‌برد می‌تواند بدون اتصال (UDP) باشد که این کار به سرعت عمل ترجمه نشانی می‌افزاید.

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

 

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

فرض کنید حالتی بوجود بیاید که یک سرویس دهنده DNS، نشانی آی‌پی یک ماشین را بداند ولی نام نمادین معادل با آن را نداند. بعنوان مثال DNS مایل است بداند که چه نامی در شبکه اینترنت معادل با ۱۹۵٫۱۳٫۴۲٫۷ می‌باشد. در چنین حالتی مسئله کمی حادتر به نظر می‌رسد، چرا که برای ترجمه نامهای نمادین، چون این نامها دارای حوزه و زیرحوزه هستند، تحلیل نشانیها ساده‌است ولی ترجمه نشانی آی‌پی به معادل نام حوزه، از چنین روابطی تبعیت نمی‌کند؛ بعبارت بهتر هیچ ارتباط مستقیم و متناظری بین نشانیهای نشانی آی‌پی و اسامی انتخاب شده در اینترنت وجود ندارد. برای یافتن نامهای متناظر با یک نشانی آی‌پی باید یک جستجوی کامل و در عین حال وقتگیر انجام بشود. روش کار بدین صورت است که سرویس دهنده محلی یک تقاضا برای DNS متناظر با شبکه‌ای که مشخصه آن در نشانی آی‌پی، مشخص شده، ارسال می‌کند. بعنوان مثال نشانی آی‌پی شبکه‌ای را ۱۳۸٫۱۴٫۷٫۱۳ در نظر بگیرید، نشانی کلاس B و مشخصه آن ۱۳۸٫۱۴٫۰٫۰ است. زمانی که مؤسسه‌ای یک کلاس نشانی آی‌پی ثبت می‌دهد یک سرویس دهنده DNS، متناظر با شبکه خود ایجاد کرده و آنرا نیز معرفی می‌کند. سرویس دهنده محلی بایستی نشانی DNS متناظر با شبکه ۱۳۸٫۱۴٫۰٫۰ را پیدا کرده و سپس برای آن یک تقاضا ارسال کند. DNS مربوط به این شبکه، براساس زیر شبکه‌هایی که دارد این سؤال را از طریق سرویس دهنده‌های متناظر با هر زیر شبکه پیگیری می‌کند. (چون هر زیر شبکه یک سرویس دهنده DNS مخصوص به خود دارد) نهایتاً یک نام نمادین حوزه معادل با آن نشانی آی‌پی بر خواهد گشت.

 

ساختار دامنه

 

نام دامنه از ارقام و حروفی تشکیل شده‌است. یکی قسمت نام کارساز است، دیگری نام دامنه و دیگری زیر دامنه است. مثلا http://www.google.com را در نظر بگیرید. http پروتکل انتقال اطلاعات در وب است. نشانه‌های //: جهت جداسازی پروتکل از دامنه استفاده می‌شود. //:http جزء سامانه نام دامنه قرار نمی‌گیرد. قسمت www نام زیر دامنه‌است. قسمت google نام دامنه و قسمت com کارساز می‌باشد. هر زیردامنه می‌تواند آدرس IP متفاوتی با نام دامنه داشته باشد.

نام دامنه و زیر دامنه را صاحب دامنه انتخاب و ثبت می‌کند. این قسمت‌ها شامل حروف و اعداد انگلیسی و علامت منقی (-) نیز می‌تواند در میان اعداد و حروف (و نه در ابتدا و انتها) قرار گیرد. کارسازهای مختلف، توسط آیکان (به انگلیسی: Icann) تصویب و در دسترس قرار می‌گیرد و شامل ۲ تا ۶ حرف انگلیسی می‌باشد. ثبت دامنه در بسیاری از کارسازها نیاز به مجوزهای مخصوص دارد. کارسازهای ۲ حرفی، در اختیار کشورهای صاحب آنها قرار می‌گیرد و قوانین ثبت در این کارسازها، توسط حکومت‌ها تعیین می‌گردد. مثلا us در اختیار کشور آمریکا، ir در اختیار کشور ایران و fr در اختیار کشور فرانسه می‌باشد.

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

 

 


آیا این پاسخ به شما کمک کرد؟  پرینت این مقاله

در همین زمینه


مفاهیم اولیه دامنه و هاست

  دامنه - Domain دامنه یا دامین که نام یک سایت در اینترنت بوده و می تواند پسوندهای مختلف را...

FTP - اف تی پی چیست؟

  FTP يکي از قديمي ترين پروتکل هاي اينترنت مي باشد که هنوز هم کاربرد زيادي دارد و در سال 1970 در...