سامانه نام دامنه
ساناد سرواژهٔ سامانهٔ نام دامنه ترجمه صفحات وب ، که به اختصار DNS خوانده می‌شود یک سیستم سلسه‌مراتبی نام‌گذاری برای کامپیوترها، سرویس‌ها، یا منابع دیگر است که به شبکه اینترنت یا یک شبکه خصوصی (LAN) متصل هستند. وقتی می‌خواهید وارد وبگاهی شوید، باید نشانی کارساز وبش را بدانید. نشانی کارساز وب با نشانی آی‌پی مشخص می‌شود. اما به خاطر سپردن نشانی آی‌پی، دشوار است. می‌توان به جای نشانی آی‌پی، از نام‌های دامنه استفاده کرد. برای هر نشانی آی‌پی یک نام دامنه در نظر گرفته شده‌است. مثلاً نشانی آی‌پی وبگاه گوگل ۱۷۳٫۱۹۴٫۳۳٫۱۰۴ است. برای دسترسی به گوگل، می‌توانید از این نشانی آی‌پی یا نام دامنه آن یعنی www.google.com استفاده کنید.
در ساناد، کل نشانی‌های اینترنت درون بانک‌های اطلاعاتی توزیع شده‌ای هستند که هیچ تمرکزی روی نقطه‌ای خاص از شبکه ندارند. روش ترجمهٔ نام بدین صورت است که وقتی یک برنامهٔ کاربردی مجبور است برای برقراری یک ارتباط، معادل نشانی آی‌پی از یک ماشین با نامی مثل cs.ucsb.edu را بدست بیاورد، قبل از هر کاری یک تابع کتابخانه‌ای را صدا می‌زند، به این تابع کتابخانه‌ای تابع تحلیلگر، نام گفته می‌شود.
تابع تحلیلگر، نام یک نشانی نمادین را که بایستی ترجمه شود، به عنوان پارامتر ورودی پذیرفته و سپس یک بستهٔ درخواست به روش UDP تولید کرده و به نشانی یک کارساز DNS (که به صورت پیش‌فرض مشخص می‌باشد) ارسال می‌کند. همهٔ ماشین‌های میزبان، حداقل باید یک نشانی آی‌پی از یک سرویس دهندهٔ ساناد را در اختیار داشته باشند. این «سرویس دهندهٔ محلی» پس از جستجو، نشانی آی‌پی معادل با یک نام نمادین را برمی‌گرداند.
«تابع تحلیلگر نام» نیز آن نشانی آی‌پی را به برنامهٔ کاربردی تحویل می‌دهد با پیدا شدن نشانی آی‌پی، برنامهٔ کاربردی می‌تواند عملیات مورد نظرش را ادامه دهد.
برای تحلیل یک نام حوزه، سطوح از سمت راست به چپ تفکیک می‌شوند و در یک روند سلسله مراتبی، سرویس دهندهٔ متناظر با آن سطح پیدا می‌شود.
نام‌های حوزه به هفت منطقهٔ عمومی و حدود صد و اندی منطقهٔ کشوری تقسیم‌بندی شده‌است. حوزه بدین معناست که شما با یک نگاه ساده به انتهای نشانی نمادین، می‌توانید ماهیت آن نام و سرویس دهندهٔ متناظر با آن را حدس بزنید. یعنی اگر انتهای نام‌های حوزه متفاوت باشد منطقهٔ جستجو برای یافتن نشانی آی‌پی معادل نیز متفاوت خواهد بود.
هفت حوزه عمومی که همه آن‌ها سه حرفی هستند عبارتند از:
نام‌های حوزهٔ بسیار زیادی در اینترنت تعریف شده‌اند که هیچ‌یک از حوزه‌های سه حرفی هفتگانه را در انتهای آن‌ها نمی‌بینید. معمولاً در انتهای این نشانی‌ها یک رشتهٔ دو حرفی مخفف نام کشوری است که آن نشانی و ماشین صاحب آن، در آن کشور واقع است.
هر حوزه می‌تواند به زیر حوزه‌های کوچکتری تقسیم شود، که به آن دامنه سطح دوم نیز گفته می‌شود.
به عنوان مثال، نام‌های مربوط به حوزه ایران، که با مخفف ir. مشخص می‌شود، به ۷ زیرحوزه، به شرح زیر تقسیم می‌شود:
بعنوان مثال: http://eng.ut.ac.ir
حوزه‌ها با دامنه‌ها یکسان نبوده و یک حوزه می‌تواند شامل مقادیری در رابطه با چندین دامنه باشد.
همانگونه که اشاره شد، اسامی نمادین در شبکه اینترنت که خود در قالب حوزه‌ها و زیر حوزه‌ها سازماندهی شده‌اند، در یک فایل متمرکز ذخیره نمی‌شوند بلکه روی کل شبکه اینترنت توزیع شده‌اند، به همین دلیل برای ترجمه یک نام به نشانی آی‌پی ممکن است چندین مرحله «پرس و جو» صورت بگیرد تا یک نشانی پیدا شود.
طبیعی است که یک پرس و جو برای تبدیل یک نام حوزه همیشه موفقیت‌آمیز نباشد و ممکن است به پرس و جوهای بیشتری نیاز شود یا حتی ممکن است یک نشانی نمادین اشتباه باشد و هیچ معادل نشانی آی‌پی نداشته باشد.
سه روش برای پرس و جوی نام در سرویس دهنده‌های نام وجود دارد:در پرس و جوی تکراری قسمت اعظم تلاش برای تبدیل یک نام بر عهده سرویس دهنده محلی است؛ این DNS حداقل به نشانی ماشین Root، به عنوان نقطه شروع نیاز دارد. وقتی یک تقاضای ترجمه نشانی به سرویس دهنده محلی ارسال می‌شود در صورتی که قادر به ترجمه نام به معادل نشانی آی‌پی آن باشد، معادل نشانی آی‌پی نام مورد نظر را به تقاضاکننده برمی‌گرداند. در غیر این صورت سرویس دهنده محلی خودش یک تقاضا برای DNS سطح بالا ارسال می‌کند. این سرویس دهنده، نشانی ماشینی را که می‌تواند برای ترجمه نام مورد نظر مفید باشد، به سرویس دهنده محلی معرفی می‌کند؛ سرویس دهنده محلی مجدداً یک تقاضا به ماشین معرفی شده در مرحله قبل ارسال می‌کند.
در این حالت هم سرویس دهنده نام می‌تواند در صورت یافتن نشانی آی‌پی با آن نام حوزه، آن را ترجمه کند یا آنکه نشانی سرویس دهنده سطح پایینتری را به او برگرداند.
این روند ادامه می‌یابد تا DNS نهایی نام مورد نظر را به نشانی آی‌پی ترجمه نماید. برای درک بهتر از روند کار به شکل زیر دقت کنید. در این مثال فرض شده‌است که یک برنامه کاربردی با فراخوانی «تابع تحلیلگر نام»، تقاضای ترجمه نام 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 متفاوتی با نام دامنه داشته باشد.
نام دامنه و زیر دامنه را صاحب دامنه انتخاب و ثبت می‌کند.
این قسمت‌ها شامل حروف و اعداد انگلیسی و علامت منفی (-) نیز می‌تواند در میان اعداد و حروف (و نُه در ابتدا و انتها) قرار گیرد.
کارسازهای مختلف، توسط آیکان تصویب و در دسترس قرار می‌گیرد و شامل ۲ تا ۶ حرف انگلیسی می‌باشد.
ثبت دامنه در بسیاری از کارسازها نیاز به مجوزهای مخصوص دارد.
کارسازهای ۲ حرفی، در اختیار کشورهای صاحب آن‌ها قرار می‌گیرد و قوانین ثبت در این کارسازها، توسط حکومت‌ها تعیین می‌گردد.
مثلاً us در اختیار کشور آمریکا، .ir در اختیار کشور ایران و .fr در اختیار کشور فرانسه می‌باشد.
آیکان پروژه‌ای را در دست دارد تا ثبت نام‌های دامنه را به زبان‌های مختلف بین‌المللی امکان‌پذیر نماید. این پروژه هم‌اکنون در حالت آزمایش و بررسی قرار دارد.