سامانه نام دامنه

سیستمی برای نام‌گذاری و شناسایی رایانه‌ها و منابع متصل به یک شبکه

نسخه‌ای که می‌بینید نسخه‌ای قدیمی از صفحه است که توسط Fatemibot (بحث | مشارکت‌ها) در تاریخ ‏۱۰ مهٔ ۲۰۱۸، ساعت ۰۹:۰۱ ویرایش شده است. این نسخه ممکن است تفاوت‌های عمده‌ای با نسخهٔ فعلی داشته باشد.

ساناد[۱] سرواژهٔ سامانهٔ نام دامنه[۱] (به انگلیسی: Domain Name System)، (به اختصار DNS) خوانده می‌شود.[۲] DNS یک سیستم سلسه‌مراتبی نام‌گذاری برای کامپیوترها، سرویس‌ها، یا هر منبع دیگری که به شبکه اینترنت یا یک شبکه خصوصی (LAN) متصل بوده، می‌باشد. وقتی می‌خواهید وارد وبگاهی شوید، باید نشانی کارساز وبش را بدانید. نشانی کارساز وب با نشانی آی‌پی مشخص می‌شود. اما به خاطر سپردن نشانی آی‌پی، دشوار است. می‌توان به جای نشانی آی‌پی، از نام‌های دامنه استفاده کرد. برای هر نشانی آی‌پی یک نام دامنه در نظر گرفته شده‌است. مثلاً نشانی آی‌پی وبگاه گوگل ۱۷۳٫۱۹۴٫۳۳٫۱۰۴ است. برای دسترسی به گوگل، می‌توانید از این نشانی آی‌پی یا نام دامنه آن یعنی www.google.com استفاده کنید.

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

تابع تحلیلگر، نام یک نشانی نمادین را که بایستی ترجمه شود، به عنوان پارامتر ورودی پذیرفته و سپس یک بستهٔ درخواست (به انگلیسی: Query Packet) به روش UDP تولید کرده و به نشانی یک کارساز DNS (که به صورت پیش‌فرض مشخص می‌باشد) ارسال می‌کند. همهٔ ماشین‌های میزبان، حداقل باید یک نشانی آی‌پی از یک سرویس دهندهٔ ساناد را در اختیار داشته باشند. این «سرویس دهندهٔ محلی» پس از جستجو، نشانی آی‌پی معادل با یک نام نمادین را برمی‌گرداند.

«تابع تحلیلگر نام» نیز آن نشانی آی‌پی را به برنامهٔ کاربردی تحویل می‌دهد با پیدا شدن نشانی آی‌پی، برنامهٔ کاربردی می‌تواند عملیات مورد نظرش را ادامه دهد.

کاربرد حوزه‌ها

برای تحلیل یک نام حوزه، سطوح از سمت راست به چپ تفکیک می‌شوند و در یک روند سلسله مراتبی، سرویس دهندهٔ متناظر با آن سطح پیدا می‌شود.

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

هفت حوزه عمومی که همه آن‌ها سه حرفی هستند عبارتند از:

  • com. صاحب این نام جزو موسسات اقتصادی و تجاری به‌شمار می‌آید.
  • edu. صاحب این نام جزو موسسات علمی یا دانشگاهی به‌شمار می‌آید.
  • gov. این مجموعه از نام‌ها برای آژانس‌های دولتی آمریکا اختصاص داده شده‌است.
  • int. صاحب این نام یکی از سازمان‌های بین‌المللی (مثل یونسکو، فائو، ...) است.
  • mil. صاحب این نام یکی از سازمان‌های نظامی دنیا به‌شمار می‌آید.
  • net. صاحب این نام جزو یکی از «ارائه دهندگان خدمات شبکه» به‌شمار می‌رود.
  • org. صاحب این نام جزو یکی از سازمان‌های غیرانتفاعی محسوب می‌شوند.

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

 
ساختار سلسله مراتبی DNS

هر حوزه می‌تواند به زیر حوزه‌های کوچکتری تقسیم شود، که به آن دامنه سطح دوم نیز گفته می‌شود.

به عنوان مثال، نام‌های مربوط به حوزه ایران، که با مخفف ir. مشخص می‌شود، به ۷ زیرحوزه، به شرح زیر تقسیم می‌شود:

  • ac.ir. : فقط برای دانشگاه‌ها یا موسسه‌های آموزشی
  • co.ir. : فقط برای شرکت‌های سهامی خاص، سهامی عام، مسوولیت محدود و تضامنی
  • gov.ir. : فقط برای مؤسسه‌ها یا سازمان‌های دولتی
  • id.ir. : فقط برای افراد دارای ملیت ایرانی
  • net.ir. : فقط برای سرویس دهندگان رسمی اینترنت
  • org.ir. : فقط برای مؤسسه‌ها و سازمان‌های خصوصی
  • sch.ir. : فقط برای مدارس

بعنوان مثال: http://eng.ut.ac.ir

  • کشور: ایران
  • هویت: دانشگاه
  • نام دانشگاه: ut مخففی برای نام دانشگاه تهران
  • نام دانشکده: eng مخففی برای بخش فنی مهندسی

حوزه‌ها با دامنه‌ها یکسان نبوده و یک حوزه می‌تواند شامل مقادیری در رابطه با چندین دامنه باشد.

برفرض، دامنه www.google.com دارای زیردامنه‌ای به نام news است (news.google.com)،

درصورتی‌که زیردامنه mail آن (mail.google.com) از دامنه اختصاصی www.gmail.com نیز قابل دسترسی می‌باشد.

روش‌های جستجو

 
نحوه دسترسی به یک سرور از طریق سامانه DNS

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

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

سه روش برای پرس و جوی نام در سرویس دهنده‌های نام وجود دارد:

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

در پرس و جوی تکراری قسمت اعظم تلاش برای تبدیل یک نام بر عهده سرویس دهنده محلی است؛ این 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 در اختیار کشور فرانسه می‌باشد.

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

پی‌نوشت

  1. ۱٫۰ ۱٫۱ واژهٔ مصوب فرهنگستان زبان و ادب فارسی، دفتر نخست تا چهارم، ۱۳۷۶ تا ۸۵
  2. <klensin+srch>, John C Klensin. "Role of the Domain Name System (DNS)" (به انگلیسی). Retrieved 2018-03-03. {{cite web}}: Unknown parameter |وب‌گاه= ignored (help)