سامانهٔ نام دامنه (Domain Name System) که به اختصار DNS خوانده میشود روشی سلسله مراتبی است که بانک اطلاعاتی مربوط به نام های نمادین و معادل IP آنها را روی کل شبکه اینترنت توزیع کرده است. این سیستم در سال 1984 ایجاد و طی سال های بعد توسعه یافت.
وقتی میخواهید وارد سایتی شوید، می بایست آدرس وب سرور آنرا بدانید.آدرس وب سرور با آدرس IP مشخص میشود، اما به خاطر سپردن آدرس IP دشوار است، لذا می توان به جای IP از Domin Name ها (که در ابتدای این مقاله با عبارت نام نمادین از آن یاد کردیم ) استفاده کرد. برای هر IP یک Domin Name در نظر گرفته شده است. مثلا IP آدرس گوگل 66.249.91.103 است. که شما برای دسترسی به گوگل میتوانید از IP یا آدرس www.google.com استفاده کنید.
در DNS ، کل آدرس های اینترنت درون بانک های اطلاعاتی توزیع شده ای هستند که هیچ تمرکزی روی نقطه ای خاص از شبکه ندارند . روش ترجمه نام بدین ترتیب است که وقتی یک برنامه کاربردی مجبور است برای برقراری یک ارتباط ، معادل آدرس IP از یک ماشین با نامی مثل CS.ucsb.edu را بدست بیاورد ، قبل از هر کاری یک تابع کتابخانه ای (Library Function) را صدا می زند ، به این تابع کتابخانه ای «تابع تحلیلگر نام » (Name Resolver) گفته می شود.
تابع تحلیلگر نام ، یک آدرس نمادین را که بایستی ترجمه شود ، بعنوان پارامتر ورودی پذیرفته و سپس یک بسته ی درخواست (Query Packet) به روش UDP تولید کرده و به آدرس یک سرویس دهنده ی DNS (که به صورت پیش فرض مشخص می باشد) ارسال می کند . همه ی ماشین های میزبان ، می بایست حداقل باید آدرس IP از یک سرویس دهنده ی DNS را در اختیار داشته باشند .
این «سرویس دهنده ی محلی» پس از جستجو ، آدرس IP معادل با یک نام نمادین را بر می گرداند . (تابع تحلیلگر نام) نیز آن آدرس IP را به برنامه ی کاربردی تحویل می دهد با پیدا شدن آدرس IP ، برنامه ی کاربردی می تواند عملیات مورد نظرش را ادامه بدهد . روش های جستجو در سیستم DNS برای تحلیل یک نام حوزه ، سطوح از سمت راست به چپ تفکیک می شوند و در یک روند سلسله مراتبی ، سرویس دهنده ی متناظر با آن سطح پیدا می شود .
نام های حوزه به هفت منطقه ی عمومی و حدود صد و اندی منطقه ی کشوری تقسیم بندی شده است .حوزه بدین معناست که شما با یک نگاه ساده به انتهای آدرس نمادین ، می توانید ماهیت آن نام و سرویس دهنده ی متناظر با آن را حدس بزنید . یعنی اگر انتهای نام های حوزه متفاوت باشد منطقه ی جستجو برای یافتن آدرس IP معادل نیز متفاوت خواهد بود.
نام حوزه های بسیار زیادی در اینترنت تعریف شده اند که هیچیک از حوزه های سه حرفی هفتگانه را در انتهای آنها نمی بینید . معمولا در انتهای این آدرس ها یک رشته دو حرفی مخفف نام کشوری است که آن آدرس و ماشین صاحب آن ، در آن کشور واقع است .
هر حوزه می تواند به زیر حوزه های کوچکتری تقسیم شود که به آن دامنه سطح دوم نیز گفته می شود. به عنوان مثال نام های مربوط به حوزه ایران که با ir. مشخص می شود به ۷ زیرحوزه به شرح زیر تقسیم می شود:
مثلا" برای دامین http://eng.ut.ac.ir اطلاعات زیر را داریم:
حوزهها (Zone) با دامنهها (Domain) یکسان نبوده و یک حوزه میتواند شامل مقادیری در رابطه با چندین دامنه باشد. به عنوان مثال دامنه www.google.com دارای زیردامنه ای به نام news است (news.google.com) , درصورتیکه زیردامنه mail آن (mail.google.com) از دامنه اختصاصی www.gmail.com نیز قابل دسترسی می باشد.
همانگونه که اشاره شد اسامی نمادین در شبکه اینترنت که خود در قالب حوزه ها و زیر حوزه ها سازماندهی شده اند در یک فایل متمرکز ذخیره نمی شوند بلکه روی کل شبکه اینترنت توزیع شده اند ، به همین دلیل برای ترجمه یک نام به آدرس IP ممکن است چندین مرحله "پرس و جو" صورت بگیرد تا یک آدرس پیدا شود. طبیعی است که یک پرس و جو برای تبدیل یک نام حوزه همیشه موفقیت آمیز نباشد و ممکن است به پرس و جوهای بیشتری نیاز شود یا حتی ممکن است یک آدرس نمادین اشتباه باشد و هیچ معادل IP نداشته باشد.
3 روش برای پرس و جوی نام در سرویس دهنده های نام وجود دارد :
» حال به بررسی این سه روش می پردازیم :
1) پرس و جوی تکراری
در پرس و جوی تکراری قسمت اعظم تلاش برای تبدیل یک نام بر عهده سرویس دهنده محلی است؛ این DNS حداقل به آدرس ماشین Root ، به عنوان نقطه شروع نیاز دارد . وقتی یک تقاضای ترجمه آدرس به سرویس دهنده محلی ارسال می شود در صورتی که قادر به ترجمه نام به معادل IP آن باشد ، معادل آدرس IP نام مورد نظر را به تقاضا کننده برمی گرداند. (این حالت وقتی است که سرویس دهنده محلی قبلاً آن نام را ترجمه و در یک فایل ذخیره کرده باشد.) در غیر این صورت سرویس دهنده محلی خودش یک تقاضا برای DNS سطح بالا ارسال می کند. این سرویس دهنده ، آدرس ماشینی را که می تواند برای ترجمه نام مورد نظر مفید باشد ، به سرویس دهنده محلی معرفی می کند؛ سرویس دهنده محلی مجدداً یک تقاضا به ماشین معرفی شده در مرحله قبل ارسال می کند. در این حالت هم سرویس دهنده نام می تواند در صورت یافتن آدرس IP با آن نام حوزه ، آنرا ترجمه کند و یا آنکه آدرس سرویس دهنده سطح پایینتری را به او برگرداند .این روند ادامه می یابد تا DNS نهایی نام مورد نظر را به آدرس IP ترجمه نماید. برای درک بهتر از روند کار به شکل زیر دقت کنید. در این مثال فرض شده است که یک برنامه کاربردی با فراخوانی "تابع تحلیلگر نام"، تقاضای ترجمه نام www.microsoft.com را می نماید.
مراحلی که انجام می شود به شرح زیر است:
2) پرس و جوی بازگشتی
در این روش هر گاه برنامه ای بخواهد آدرس IP معادل یک نام مثل cs.yale.edu را بدست آورد بگونه ای که قبلاً اشاره شد ، "تابع سیستمی تحلیل نام" را فراخوانی می کند. این تابع یک ماشین را بعنوان سرویس دهنده محلی از قبل می شناسد و بنابراین تقاضای تبدیل نام را به روش UDP برای آن ارسال کرده و منتظر جواب می ماند
(پاسخ نهایی DNS طبیعتاً باید یک آدرس 32 بیتی معادل آدرس IP یک ماشین باشد)
دو حالت ممکن است اتفاق بیفتد:
دقت کنید که در روش پرس و جوی تکراری نسبت به روش پرس و جوی بازگشتی ، حجم عمده عملیات بر عهده سرویس دهنده DNS محلی است و مدیریت خطاها و پیگیری روند کار ساده تر خواهد بود و روش منطقی تری برای بکارگیری در شبکه اینترنت محسوب می شود. روش پرس و جوی بازگشتی برای شبکه های کوچک کاربرد دارد.
3) پرس و جوی معکوس:
فرض کنید حالتی بوجود بیاید که یک سرویس دهنده DNS ، آدرس IP یک ماشین را بداند ولی نام نمادین معادل با آن را نداند. بعنوان مثال DNS مایل است بداند که چه نامی در شبکه اینترنت معادل با 195.13.42.7 می باشد. در چنین حالتی مسئله کمی حادتر به نظر می رسد ، چرا که برای ترجمه نامهای نمادین ، چون این نامها دارای حوزه و زیرحوزه هستند ، تحلیل آدرسها ساده است ولی ترجمه آدرس IP به معادل نام حوزه ، از چنین روابطی تبعیت نمی کند ؛ بعبارت بهتر هیچ ارتباط مستقیم و متناظری بین آدرسهای IP و اسامی انتخاب شده در اینترنت وجود ندارد. برای یافتن نامهای متناظر با یک آدرس IP باید یک جستجوی کامل و در عین حال وقتگیر انجام بشود.
روش کار بدین صورت است که سرویس دهنده محلی یک تقاضا برای DNS متناظر با شبکه ای که مشخصه آن در آدرس IP ، مشخص شده ، ارسال می کند. بعنوان مثال آدرس IP شبکه ای را 138.14.7.13 در نظر بگیرید ، آدرس کلاس B و مشخصه آن 138.14.0.0 است . زمانی که مؤسسه ای یک کلاس IP ثبت می دهد یک سرویس دهنده DNS ، متناظر با شبکه خود ایجاد کرده و آنرا نیز معرفی می کند.
سرویس دهنده محلی بایستی آدرس DNS متناظر با شبکه 138.14.0.0 را پیدا کرده و سپس برای آن یک تقاضا ارسال کند. DNS مربوط به این شبکه ، براساس زیر شبکه هایی که دارد این سؤال را از طریق سرویس دهنده های متناظر با هر زیر شبکه پیگیری می کند. (چون هر زیر شبکه یک سرویس دهنده DNS مخصوص به خود دارد) نهایتاً یک نام نمادین حوزه معادل با آن آدرس IP بر خواهد گشت.
لیست جزئیات بیشتر به همراه معرفی انواع رکوردهای DNS و روش تنظیم DNS بر روی سرور
منبع : مشاهده