دانلود رایگان پروژه دانشجویی

*DNS چیست ؟ *

دوشنبه, ۱۸ خرداد ۱۳۹۴، ۱۰:۱۹ ق.ظ

*DNS چیست ؟ *

DNS

از کلمات Domain Name System اقتباس و  یک پروتکل شناخته شده در عرصه شبکه
های کامپیوتری خصوصا” اینترنت است . از پروتکل فوق به منظور ترجمه  اسامی
کامپیوترهای میزبان و Domain به آدرس های IP استفاده می گردد.
سیستم نامگذاری حوزه ( DNS) سیستمی است که طبق اصول ان کامپیوتر ها توانایی
برقراری ارتباط با یکدیگر و انجام فعالیتهایی از قبیل تبادل نامه های
الکترونیکی و یا نمایش صفحات وب را خواهند داشت. وقتی کاربری در اینترنت
قصد برقراری ارتباط با مکان خاصی را داشته باشد فرضا بازدید از یک وب سایت
ادرس اینترنتی ان را تایپ می کند مثل www.metahouse.com پروتکل اینترنت
(IP) از اطلاعات ادرس اینترنتی و DNS برای ارسال نامه الکترونیکی و سایر
اطلاعات از کامپیوتری به کامپیوتر دیگر استفاده میکند.به عنوان مثال DNS
متن کاملآ انگلیسی www.metahouse.com را به اعدادی تبدیل می کند که
کامپیوتر های متصل به اینترنت بتوانند ان را درک کنند مانند: 123.21.43.121
برای انکه این کار به خوبی انجام شود اینترنت به چندین حوزه اصلی سازماندهی
شده است. منظور از حوزه های اصلی همان حروف انتهایی یک ادرس هستند مانند
com. در ادرس فوق. تعدادی از حوزه های متداول عبارتند از : : com.  )تجاری:
edu./ ( )اموزشی) : gov./ (دولتی) : mil./ (نظامی) : net./ (مراکز خدمات
اینترنت و شبکه(و org. (سازمان). به دلیل افزایش تصاعدی تعداد سایت های
اینترنت سیستم نامگذاری حوزه در حال گسترش است و حداقل 7 حوزه دیگر نیز
مانند: web. (برای وب) به ان افزوده شده است. در خارج از امریکا برای مشخص
کردن حوزه ها فقط از 2 حرف استفاده میشود مانند :

 au. برای استرلیا   یا   ir. برای ایران



حوزه ها به صورت سلسه مراتبی سازماندهی می شوند در نتیجه حوزه های فرعی بسیاری به عنوان زیر مجموعه های حوزه های اصلی وجود دارند. به عنوان مثال برای انکه به چگونگی عملکرد DNS و حوزه ها پی ببرید به ادرس اینترنتی مربوط به سازمان فضایی امریکا (nasa) : یعنی spacelink.msfc.nasa.gov توجه کنید حوزه اصلی gov. است که نشان دهنده دولتی بودن سایت است. زیر حوزه مربوطه NASA. نشان دهنده حوزه NASA (سازمان ملی هوانوردی و فضانوردی امریکا) است و در زیر ان msfc. (مرکز هوانوردی مارشال) یکی از چندین شبکه کامپیوتری NASA قرار دارد. نهایتآ spacelink نشان دهنده کامپیوتری در NASA است که طرح spacelink را اجرا میکند. ادرس IP عددی مربوط به spacelink طی سالها تغییر کرده اما ادرس اینترنت ان ثابت باقی مانده است.
سیستم DNS این گونه تغییرات را (مانند انچه بدان اشاره کردیم) ثبت میکند بدین ترتیب حتی زمانی که ادرس IP تغییر کند در صورتی که ادرس اینترنتی مورد استفاده قرار گیرد نامه های الکترونیکی همیشه به ادرس صحیح ارسال خواهند شد. کامپیوتر هایی موسوم به سرورهای نام (Name Server) مسئول ردیابی چنین تغییراتی و ترجمه انها به ادرس IP و ادرس حوزه و بالعکس هستند. همچنین سرورهای نام برای اطمینان از ارسال نامه های الکترونیکی مورد نظر به ادرس صحیح با DNS همکاری میکنند. بعلاوه زمانی که ادرس وب (URL) را تایپ میکنید این سرورها تضمین می کنند که به مکان صحیح ارجاع داده شوید و در خاتمه انها مسئول مسیر یابی صحیح تمامی پیامها و ترافیک در اینترنت هستند.
اینترنت نمی تواند ادرس های اینترنتی حرفی- عددی مانند pgralla@ziff-devis.com را تجزیه و تحلیل کند در نتیجه سرورهای نام ان ادرس را به ادرس IP عددی مناسب مانند 163.52.128.72 تبدیل کند. سرورهای نام حاوی جدول هایی هستند که ادرس های اینترنتی حرفی- عددی را به ادرسهای IP عددی مطابقت میدهند.


Reverse DNS چیست ؟
در واقع عمل تبدیل یک IP به نام دامنه را عمل Reverse DNS میگویند ؛ این عمل دقیقا بر عکس کار DNS است ، همانگونه که همه میدانیم در عمل DNS ما نام دامنه را وارد کرده و با استفاده از این سرویس به شماره IP آن دسترسی پیدا میکنیم ، اما در Reverse DNS دقیقا کر بر عکس است .
مثلا : سیستمی با IP 192.2.4.86 برابر میشود با www.exmaple.com و البته شاید چندین نام را به ما باز گرداند که در اکثر مواقع اینگونه است . 

کاربرد :
کاملا واضح است اما ، این عمل بیشتر هنگامی مورد استفاده واقع میشود که ما بخواهیم ببینیم روی یک Host چند سایت وجود دارد و نام آن ها چیست ، و اطلاعاتی از این قبیل را بدست بیاوریم . برای بدست آوردن اطلاعات بیشتر میتوانید به اینجا مراجعه کنید .

تاریخچه :DNS
DNS ، زمانی که اینترنت تا به این اندازه گسترش پیدا نکرده بود و صرفا” در حد و اندازه یک شبکه کوچک بود ، استفاده می گردید . در آن زمان ، اسامی کامپیوترهای میزبان به صورت دستی در فایلی با نام HOSTS درج می گردید . فایل فوق بر روی یک سرویس دهنده مرکزی قرار می گرفت . هر سایت و یا کامپیوتر که نیازمند ترجمه اسامی کامپیوترهای میزبان بود ، می بایست از فایل فوق استفاده می نمود . همزمان با گسترش اینترنت و افزایش تعداد کامپیوترهای میزبان ، حجم فایل فوق نیز افزایش و  امکان استفاده از آن با مشکل مواجه گردید ( افزایش ترافیک شبکه). با توجه به مسائل فوق ، در سال ۱۹۸۴ تکنولوژی DNS معرفی گردید .

پروتکل DNS:
DNS ، یک “بانک اطلاعاتی توزیع شده ” است  که بر روی ماشین های متعددی مستقر می شود ( مشابه ریشه های یک درخت که از ریشه اصلی انشعاب می شوند ) . امروزه اکثر شرکت ها و موسسات دارای یک سرویس دهنده DNS کوچک در سازمان خود می باشند تا این اطمینان ایجاد گردد که کامپیوترها بدون بروز هیچگونه مشکلی ، یکدیگر را پیدا می نمایند . در صورتی که از ویندوز ۲۰۰۰ و اکتیو دایرکتوری استفاده می نمائید، قطعا” از DNS به منظور  ترجمه اسامی کامپیوترها به آدرس های IP ، استفاده می شود . شرکت مایکروسافت در ابتدا نسخه اختصاصی سرویس دهنده DNS خود را با نام  WINS (Windows Internet Name Service ) طراحی و پیاده سازی نمود . سرویس دهنده فوق مبتنی بر تکنولوژی های قدیمی بود و از پروتکل هائی استفاده می گردید که هرگز دارای کارائی مشابه DNS نبودند .  بنابراین طبیعی بود که شرکت مایکروسافت از WINS فاصله گرفته و به سمت DNS حرکت کند .
از پروتکل DNS در مواردی که کامپیوتر شما اقدام به ارسال یک درخواست مبتنی بر DNS برای یک سرویس دهنده نام به منظور یافتن آدرس Domain می نماید ، استفاده می شود .مثلا” در صورتی که در مرورگر خود آدرس www.srco.ir را تایپ نمائید ، یک درخواست مبتنی بر DNS از کامپیوتر شما و به مقصد یک سرویس دهنده DNS صادر می شود . ماموریت درخواست ارسالی ، یافتن آدرس IP وب سایت سخاروش است.

پروتکل DNS و مدل مرجع:OSI

پروتکل DNS معمولا” از پروتکل UDP به منظور حمل داده استفاده می نماید . پروتکل UDP نسبت به TCP دارای overhead کمتری می باشد. هر اندازه overhead یک پروتکل کمتر باشد ، سرعت آن بیشتر خواهد بود . در مواردی که حمل  داده با استفاده از پروتکل UDP با مشکل و یا بهتر بگوئیم خطاء مواجه گردد ، پروتکل DNS از پروتکل TCP به منظور حمل داده استفاده نموده تا این اطمینان ایجاد گردد که داده بدرستی و بدون بروز خطاء به مقصد خواهد رسید .

فرآیند ارسال یک درخواست DNS و دریافت پاسخ آن ، متناسب با نوع سیستم عامل نصب شده بر روی یک کامپیوتر است .برخی از سیستم های عامل اجازه  استفاده از پروتکل TCP برای DNS را نداده و صرفا”  می بایست از پروتکل UDP به منظور حمل داده استفاده شود . بدیهی است در چنین مواردی همواره این احتمال وجود خواهد داشت که با خطاهائی مواجه شده و عملا” امکان ترجمه نام یک کامپیوتر و یا Domain به آدرس IP وجود نداشته باشد .
پروتکل DNS از پورت ۵۳ به منظور ارائه خدمات خود استفاده می نماید . بنابراین  یک سرویس دهنده DNS به پورت ۵۳ گوش داده و این انتظار را خواهد داشت که هر سرویس گیرنده ای که تمایل به استفاده از سرویس فوق را دارد از پورت مشابه استفاده نماید . در برخی موارد ممکن است مجبور شویم از پورت دیگری استفاده نمائیم . وضعیت فوق به سیستم عامل و سرویس دهنده DNS نصب شده بر روی یک کامپیوتر بستگی دارد.

ساختار سرویس دهندگان نام دامنه ها در اینترنت:

امروزه بر روی اینترنت میلیون ها سایت با اسامی Domain ثبت شده  وجود دارد . شاید این سوال برای شما تاکنون مطرح شده باشد که این اسامی چگونه سازماندهی می شوند ؟ ساختار DNS بگونه ای طراحی شده است که یک سرویس دهنده DNS ضرورتی به آگاهی از تمامی اسامی Domain ریجستر شده نداشته و صرفا” میزان آگاهی وی به یک سطح بالاتر و یک سطح پائین تر  از خود محدود می گردد . شکل زیر بخش های متفاوت ساختار سلسله مراتبی DNS را نشان می دهد :

internic ، مسئولیت کنترل دامنه های ریشه را برعهده داشته که شامل تمامی Domain های سطح بالا می باشد ( در شکل فوق به رنگ  آبی نشان داده شده است) . در بخش فوق تمامی سرویس دهندگان DNS ریشه قرار داشته و آنان دارای آگاهی لازم در خصوص دامنه های موجود  در سطح پائین تر از خود می باشند ( مثلا” microsoft.com ) . سرویس دهندگان DNS ریشه مشخص خواهند کرد که کدام سرویس دهنده DNS در ارتباط با دامنه های microsoft.com و یا Cisco.com می باشد .
هر domain شامل یک Primary DNS و یک  Secondary DNS می باشد . Primary DNS ، تمامی اطلاعات مرتبط با Domain خود را نگهداری می نماید. Secondary DNS به منزله یک backup بوده و در مواردی که Primary DNS با مشکل مواجه می شود از آن استفاده می گردد . به فرآیندی که بر اساس آن یک سرویس دهنده Primary DNS اطلاعات خود را در سرویس دهنده Secondary DNS تکثیر می نماید ، Zone Transfer  گفته می شود .
امروزه صدها وب سایت وجود دارد که می توان با استفاده از آنان یک Domain را ثبت و یا اصطلاحا” ریجستر نمود . پس از ثبت یک Domain ، امکان مدیریت آن در اختیار شما گذاشته شده و می توان رکوردهای منبع (RR ) را در آن تعریف نمود.  Support, www و Routers  ، نمونه هائی از رکوردهای منبع در ارتباط با دامنه Cisco.com می باشد. به منظور ایجاد Subdomain می توان از یک برنامه مدیریتی DNS استفاده نمود . www و یا هر نوع رکورد منبع دیگری را  می توان با استفاده از اینترفیس فوق تعریف نمود . پس از اعمال تغییرات دلخواه خود در ارتباط با Domain ، محتویات فایل های خاصی که بر روی سرویس دهنده ذخیره شده اند  نیز تغییر نموده و در ادامه تغییرات فوق به سایر سرویس دهندگان تائید شده اطلاع داده می شود . سرویس دهندگان فوق ، مسئولیت Domain شما را برعهده داشته و در ادامه تمامی اینترنت که به این سرویس دهندگان DNS متصل می شوند از تغییرات ایجاد شده آگاه و قادر به برقراری ارتباط با هر یک از بخش های Domain می گردند.
مثلا” در صورتی که قصد ارتباط با  Support.Cisco.com را داشته باشید، کامپیوتر شما با سرویس دهنده DNS که مسئولیت مدیریت دامنه های Com. را دارد ، ارتباط برقرار نموده و سرویس دهنده فوق اطلاعات لازم در خصوص دامنه Cisco.com را در اختیار قرار خواهد داد . در نهایت سرویس دهنده DNS مربوط به Cisco.com ( سرویس دهنده فوق) ، تمامی اطلاعات مرتبط با دامنه Cisco.com را در خود نگهداری می نماید ، آدرس IP کامپیوتر مربوط به Support.Cisco.com را مشخص نموده تا امکان برقراری ارتباط با آن فراهم گردد .

نحوه ترجمه اسامی Domain توسط DNS :

آیا تاکنون این سوال برای شما مطرح شده است که پس از تایپ نام یک سایت در مرورگر وب، آدرس IP آن چگونه پیدا می شود؟ برای ارتباط با یک سایت ، می بایست قبل از هر چیز آدرس IP آن مشخص گردد . به منظور ترجمه اسامی کامپیوترهای میزبان و Domain به آدرس های IP از پروتکل DNS استفاده می گردد.

 

 

Resolution & Queries:

 یک سرویس گیرنده به منظور استفاده از DNS و اخذ پاسخ لازم از دو روش متفاوت استفاده می نماید :

در روش اول ، سرویس گیرنده با سرویس دهندگان نام ارتباط برقرار می نماید . فرآیند فوق مادامیکه سرویس دهنده مجاز شامل اطلاعات مورد نیاز پیدا نشود ، ادامه خواهد یافت روش. ( non Recursive query )

در روش دوم ، ماموریت ترجمه نام به آدرس به DNS واگذار می شود . در این روش سرویس گیرنده اقدام به ارسال درخواست خود برای DNS نموده و DNS پس از انجام عملیاتی خاص و یافتن آدرس IP سایت درخواستی ، آن را برای سرویس گیرنده ارسال می نماید روش ( Recursive query ) .

به منظور آشنائی با نحوه انجام عملیات فوق به بررسی یک نمونه مثال می پردازیم . زمانی که شما قصد مشاهده یک وب سایت نظیر وب سایت شرکت سیسکو ( www.cisco.com ) را داشته باشید ، پس از فعال نمودن مرورگر وب و تایپ آدرس http://www.cisco.com و یا www.cisco.com ، پس از مدت زمان کوتاهی ! صفحه اصلی وب سایت در مرورگر شما نمایش داده می شود . برای یافتن آدرس IP وب سایت درخواستی مراحل زیر دنبال می شود :

مرحله اول : فعال نمودن مرورگر و درج آدرس www.cisco.com در بخش آدرس آن . در این مقطع کامپیوتر شما دارای آگاهی لازم در خصوص آدرس IP وب سایت سیسکو نمی باشد. بنابراین یک درخواست DNS را برای سرویس دهنده DNS مربوط به مرکز ارائه دهنده سرویس های اینترنت ( ISP ) ارسال می نماید . حتما" این سوال برای شما مطرح شده است که کامپیوتر به چه صورت از آدرس IP سرویس دهنده DNS آگاهی می یابد تا درخواست خود را برای وی ارسال نماید ؟ در صورتی که شما از طریق Dial-up به اینترنت متصل شده اید ، این موضوع با استفاده از تنظیمات انجام شده ( ایستا و پویا ) پروتکل TCP/IP مرتبط با آداپتور مجازی Dial-up انجام خواهد شد . در صورتی که دارای یک اتصال دائم به اینترنت و از طریق یک شبکه محلی می باشید ، این موضوع با استفاده از تنظیمات انجام شده ( ایستا و پویا ) پروتکل TCP/IP مرتبط با آداپتور کارت شبکه انجام خواهد شد .

مرحله دوم : سرویس دهنده DNS مرکز ارائه دهنده خدمات اینترنت ( ISP ) شما ، آدرس IP مربوط به سایت سیسکو را نمی داند و بدین دلیل، آدرس سایت فوق را از یکی از سرویس دهندگان نام ریشه درخواست می نماید .

مرحله سوم : سرویس دهنده DNS ریشه ، بانک اطلاعاتی خود را بررسی نموده و از سرویس دهنده DNS اولیه Cisco.com آگاهی می یابد ( IP : 198.133.219.25 ) . پس از آگاهی از آدرس IP سرویس دهنده DNS مربوط به cisco.com ، پاسخ لازم برای سرویس دهنده ISP شما ارسال می گردد.

مرحله چهارم : در این مرحله سرویس دهنده DNS مرکز ISP شما دانش لازم به منظور ارتباط با سرویس دهنده DNS سیسکو را پیدا نموده و پس از برقراری ارتباط از وی آدرس IP وب سایت سیسکو   (www.cisco.com )  را جویا می شود. بدین منظور سرویس دهنده شما یک درخواست Recursive را برای سرویس دهنده DNS مربوط به Cisco.com  ارسال می نماید.

مرحله پنجم : سرویس دهنده DNS سیسکو، بانک اطلاعاتی خود را بررسی نموده و از وجود رکورد www.cisco.com در بانک آگاه می گردد. رکورد فوق دارای یک آدرس IP معادل IP:198.133.219.25 است . در این حالت خاص ، سرویس دهنده وب بر روی ماشین مشابهی است که سرویس دهنده DNS نصب شده است . در صورتی که سرویس دهنده وب و سرویس دهنده DNS بر روی یک ماشین مشابه نصب نشده باشند ، آدرس IP آنان متفاوت بوده و این موضوع از طریق رکوردهای منبع موجود در بانک اطلاعاتی سرویس دهنده DNS مشخص می گردد .

مرحله ششم : سرویس دهنده DNS مربوط به ISP شما از آدرس IP مربوط به www.cisco.com آگاهی پیدا نموده و نتایج را برای کامپیوتر شما ارسال می نماید .

مرحله هفتم : کامپیوتر شما در این مقطع دارای آگاهی لازم در خصوص آدرس IP وب سایت سیسکو بوده و می تواند با آن ارتباط برقرار نماید . بنابراین کامپیوتر شما یک درخواست http را مستقیما" برای سرویس دهنده وب سیسکو ارسال نموده و از وی درخواست یک صفحه وب را می نماید .

[ ] [ 20:47 ] [ افشین حامــــد ] [ نظر بدهید ]
۹۴/۰۳/۱۸
hadi momene

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی