سامانه نام دامنه کیست؟ توضیح بده.
سامانهٔ نام دامنه با کوته‌نوشت دی‌اِن‌اِس یا ساناد، یک سیستم فضای نام سلسه‌مراتبی نام‌گذاری برای کامپیوترها، سرویس‌ها، یا منابع دیگر است که به شبکه اینترنت یا یک شبکه خصوصی (LAN) متصل هستند. این سامانه نامتمرکز امکان ترجمه (یا نگاشت) یک نام دامنه (مثلا به یک نشان آی‌پی) را فراهم می‌کند. در واقع سامانهٔ نام دامنه، پروتکل اینترنتی است که نام های وب‌سایت‌ های قابل خواندن برای انسان را به آدرس‌ های عددی قابل خواندن توسط ماشین تبدیل می‌کند.برای مثال، وقتی می‌خواهید وارد وبگاهی شوید، باید نشانی کارساز وبش را بدانید. نشانی کارساز وب با نشانی آی‌پی مشخص می‌شود. اما به خاطر سپردن نشانی آی‌پی، دشوار است. می‌توان به جای نشانی آی‌پی، از نام‌های دامنه استفاده کرد. مثلاً یکی از نشانی‌های آی‌پی وبگاه گوگل codice_1 است.برای دسترسی به گوگل، می‌توانید از این نشانی آی‌پی یا نام دامنه آن یعنی www.google.com استفاده کنید.ساختار نام.مشخصات فنی اولیه ساناد ساختاری مشخص برای نام‌ها در این فضا تعریف می‌کند. هر نام شامل یک یا چند برچسب (انگلیسی: label) است که با نقطه (.) از یکدیگر جدا می‌شوند. برچسب‌ها محدود به اعداد، حروف و یا خط پیوند (با کدگذاری اسکی) هستند. این قوانین نامگذاری در فرم باکوس نائور به شرح زیر تعریف می‌شوند: &lt;domain&gt; ::= &lt;subdomain&gt; | " "&lt;subdomain&gt; ::= &lt;label&gt; | &lt;subdomain&gt; "." &lt;label&gt;&lt;label&gt; ::= &lt;letter&gt; [ [ &lt;ldh-str&gt; ] &lt;let-dig&gt; ]&lt;ldh-str&gt; ::= &lt;let-dig-hyp&gt; | &lt;let-dig-hyp&gt; &lt;ldh-str&gt;&lt;let-dig-hyp&gt; ::= &lt;let-dig&gt; | "-"&lt;let-dig&gt; ::= &lt;letter&gt; | &lt;digit&gt;&lt;letter&gt; ::= any one of the 52 alphabetic characters A through Z inupper case and a through z in lower case&lt;digit&gt; ::= any one of the ten digits 0 through 9تنها برچسب خالی، نام دامنه ریشه (انگلیسی: root domain name) است (رجوع شود به خط شماره یک در تعریف بالا). برچسب بعدی نام یکی از دامنه‌های سطح‌بالا (مثلا codice_2)، برچسب بعدی نام دامنه سطح‌دوم (مثلا codice_3) است و غیره. به صورت کلی هر برچسب نام یک «زیر‌دامنه» را مشخص می‌کند، ولی در استفاده عام معمولا به برچسبی که دامنه بعد از سطح‌دوم را مشخص می‌کند (مثال در تصویر بالا) زیر‌دامنه و به دامنه سطح‌دوم به طور خلاصه «دامنه» می‌گویند. کاربرد.در ساناد، کل نشانی‌های اینترنت درون بانک‌های اطلاعاتی توزیع شده‌ای هستند که هیچ تمرکزی روی نقطه‌ای خاص از شبکه ندارند.روش ترجمهٔ نام بدین صورت است که وقتی یک برنامهٔ کاربردی مجبور است برای برقراری یک ارتباط، معادل نشانی آی‌پی از یک ماشین با نامی مثل 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 در اختیار کشور فرانسه می‌باشد.آیکان پروژه‌ای را در دست دارد تا ثبت نام‌های دامنه را به زبان‌های مختلف بین‌المللی امکان‌پذیر نماید.این پروژه هم‌اکنون در حالت آزمایش و بررسی قرار دارد.