تبلیغات

ابزار هدایت به بالای صفحه

مهندسی کامپیوتر - مقالات و آموزش - دانلود مقالات معتبر isi - معرفی سرویس DNS و شیوه کارکرد آن
 
مهندسی کامپیوتر - مقالات و آموزش - دانلود مقالات معتبر isi
چهارشنبه 30 تیر 1395 :: نویسنده : ایمان باقری
فرض کنید شخصی با هویت Unity به دنبال آدرس شخصی به نام مهران طریحی می گشت و در نهایت با طی کردن یک سری مراحل به نتیجه رسید . در این مقاله همین مبحث را به سمت معرفی سرویس DNS می بریم ، داستان قبلی را کاملا در ذهن داشته باشید اما اینبار شخصیت اصلی داستان ما یک کامپیوتر است که در داخل یک شبکه قرار گرفته است و قرار است آدرس IP یک وب سایت اینترنتی را پیدا کند ، می خواهیم بدانیم چه مراحلی طی می شود تا این کامپیوتر در نهایت آدرس IP مربوط به وب سایت مورد نظر را پیدا کند ؟ کامپیوتری که در تصویر زیر مشاهده می کنید آدرس وب سایتی به نام www.itpro.ir را در مرورگر خود وارد می کند به محض اینکه کلید Enter فشرده شد مراحل زیر در کامپیوتر یک که ما آن را به عنوان ITPRO-Client نامگذاری کرده ایم انجام می شود : 
 

روش کار DNS


  • 1- ابتدا کامپیوتر بررسی می کند که آیا قبلا به این آدرس دسترسی پیدا کرده است و در حافظه خود آدرس IP این سرور وب را دارد یا خیر ؟ این دقیقا مشابه موردی است که در داستان قبلی اشاره کردیم ، Unity قبل از هر چیزی به حافظه خود مراجعه می کند. اگر در این لحظه کامپیوتر مورد نظر آدرس IP را در حافظه Cache خود داشته باشد یکراست به سراغ وب سایت مورد نظر خواهد رفت همانطور که در سناریوی قبلی اگر Unity آدرس فرد مورد نظر را در حافظه داشت بلافاصله مستقیما به وی مراجعه می کرد . ما فرض می کنیم که در اینجا آدرس وب سرور مورد نظر در Cache سیستم وجود نداشت.

  • 2-مرحله بعدی بررسی کردن فایلی به نام Hosts می باشد که بر روی سیستم قرار دارد ، سیستم کلاینت بررسی می کند که آیا در این فایل آدرس وب سرور مورد نظر قرار دارد یا خیر ؟ اگر قرار داشته باشد بلافاصله به وب سایت مورد نظر مراجعه می کند و اگر نداشته باشد مرحله بعدی انجام می شود ، این دقیقا مشابه چیزی است که در سناریوی قبلی اشاره کردیم Unity به دنبال یادداشتی بود که در آن آدرس دقیق نوشته شده باشد ، باز هم فرض را بر این می گذاریم که آدرس مورد نظر در فایل Hosts وجود نداشت ، برای کسب اطلاعات بیشتر در خصوص فایل Hosts می توانید به مقاله مهندس سعید خلیفی که بصورت کامل در خصوص فایل Hosts توضیح داده اند در همین لینک مراجعه کنید.

  • 3-در مرحله سوم کامپیوتر با توجه به اینکه هیچ اطلاعاتی از آدرس IP وب سایت مورد نظر در Cache و Hosts فایل خود پیدا نکرد آنرا برای آدرس DNS سروری که روی کارت شبکه آن تعریف شده است ارسال می کند ، این دقیقا مشابه مثال ما در مقاله قبلی است که زمانیکه Unity نتوانست از حافظه و یادداشت های دستی آدرس را پیدا کند از اولین نفری که می شناخت در خصوص آدرس مورد نظر سئوال کرد ، بنابراین درخواست Client به سمت سرور DNS ارسال می شود. در واقع کلاینت از سرور به این شکل سئوال می کنید : آیا شما www.itpro.ir. می شناسید ؟

  • 4-در مرحله بعدی درخواست بصورت کامل به DNS سرور ارسال می شود یعنی کامپیوتر از DNS سرور سئوال می کند که آیا شما آدرس IP مربوط به سرور www.itpro.ir. را می شناسید ؟ دقت کنید همیشه در انتهای اسم وب سایت یک نقطه قرار دارد این نقطه نمایانگر DNS سرورهای ریشه یا نقطه هستند که در واقع مرجع اصلی DNS در دنیا هستند ، خوب در این قسمت DNS سرور نیز یک سری مراحل را برای پیدا کردن آدرس IP اسم مورد نظر شما انجام می دهد ، ابتدا DNS سرور در Zone های خود بررسی می کند که آیا در Zone های خود چنین آدرس ای وجود دارد یا خیر ؟ اگر وجود داشته باشد بلافاصله به کلاینت پاسخ می دهد اگر نداشت به مرحله بعدی می رود ، مرحله بعدی بعد از بررسی Zone ها Cache سرور DNS است ، به یک نکته مهم توجه کنید که در ساختار DNS سرور ابتدا اطلاعات Zone ها بررسی می شود و سپس به سراغ Cache سرور می رویم این دقیقا نکته بسیار مهمی در اولویت بندی کارهای DNS می باشد.

  • 5-اگر در Zone های DNS نیز اطلاعات مورد نیاز وجود نداشت DNS سرور به سراغ مرحله بعدی می رود ، در این مرحله DNS سرور بررسی می کند که آیا برای این اسم Domain یک سرور DNS بصورت دستی تعریف شده است یا خیر ؟ اگر تعریف شده باشد درخواست DNS را یکراست به سمت سرور مورد نظر می فرستد ، در این مثال اگر در این سرور DNS تعریف شده باشد که هر درخواستی که برای Domain ای به شکل itpro.ir دریافت شد را به سرور مورد نظر خاصی ارجاع دهید عملیات به این شکل انجام می شد ، به این حالت در اصطلاح فنی Conditional Forwarding یا ارجاع دستی گفته می شود ، یعنی برای سرور تعریف شده است که در صورت دریافت درخواست Domain خاص ، درخواست را به یک سرور مشخص ارسال کند. این دقیقا مثل این است که هر کدام از افرادی که Unity در مرحله قبلی از آنها سئوال می کرد دقیقا شخص مهندس مهران طریحی را می شناختند ، خوب در چنین شرایطی به نوعی یک Shortcut برای پیدا کردن آدرس ایجاد شده است. فرض را بر این می گذاریم که حتی در سرور DNS یک Conditional Forwarder هم ایجاد نشده است و DNS سرور مجبور است به مرحله بعدی برود.

  • 6-بعد از اینکه Conditional Forwarder ها بررسی شدند و موجودیتی برای مقصد مورد نظر ما وجود نداشت DNS سرور به سراغ Forwarder ها می رود ، تفاوت forwarder و Conditional Forwarder در این است که در Conditional Forwarder شما برای درخواست های خود شرط تعیین می کنید اما در Forwarder شما هر در خواستی که DNS سرور نتواند پاسخگویی کند را به سمت آدرسی که در Forwarder تعیین شده است ارسال می کند ، این مشابه آن است که در سئوال قبلی Unity شخصی که از آن سئوال می کنیم بدون توجه به اینکه درخواست شما چه چیزی است درخواست شما را به سمت فرد دیگری ارسال می کند ، در اینجا باز هم فرض را بر این می گذاریم که Forwarder ای نیز در DNS سرور شما وجود ندارد و DNS سرور به سراغ مرحله بعدی خواهد رفت .

  • 7-در نهایت بعد از اینکه DNS سرور شما نتوانست آدرس مورد نظر شما را با توجه به طی کردن همه مراحل بالا پیدا کند درخواست شما را به سمت DNS سرور های ریشه در اینترنت ارسال می کند ، در واقع DNS سرور اولی شما به کاربر اینگونه پاسخ می دهد ، من www.itpro.ir. را نمی شناسم اما سروری را می شناسم که میزبانی دامین های ریشه یا نقطه را دارد ، آدرس IP آن را دارم از او سئوال می کنم ، و بدین صورت در خواست شما از طریق DNS سرور شبکه داخلی شما به سمت DNS سرور ریشه ارسال می شود ، در واقع DNS سرور شما از DNS سرور ریشه این سئوال را می پرسد : آیا شما www.itpro.ir. می شناسید ؟ در پاسخ به این سئوال Root DNS سرور هم همانند مرحله قبلی موارد را به ترتیب بررسی می کند : آیا در Zone های من وجود دارد ؟ آیا در Cache من وجود دارد ؟ آیا در Conditional Forwarder های من وجود دارد ؟ آیا در Forwarder های من وجود دارد ؟ در این مرحله Root DNS به درخواست به این شکل پاسخ می دهد : من www.itpro.ir. را نمی شناسم اما خودم سرور نقطه ها هستم و آدرس IP سروری را دارم که میزبان دامنه های ir است و به DNS سرور شبکه داخلی شما آدرس IP سرور DNS میزبان دامنه های ir را بر می گرداند.

  • 8-DNS سرور داخلی شما که اکنون آدرس IP سرورهای دامنه های .ir را دارد به این سرور میزبان مراجعه می کند و از آن سئوال می کند که آیا شما www.itpro.ir. می شناسید ؟ این DNS سرور مشابه عملیات قبلی را انجام می دهد ، ابتدا اطلاعات Zone هایش را بررسی می کند ، سپس به سراغ Cache سرور می رود ، سپس Conditional forwarder و بعد از آن هم Forwarder ها را بررسی می کند ، DNS سرور دامنه های ir به وی پاسخ می دهد که من www.itpro.ir. را نمی شناسم اما خودم سرور ir. هستم و سرور DNS ای را می شناسم که دامنه های itpro.ir را میزبانی می کند ، در این زمان آدرس سرور میزبان دامنه های itpro.ir را در اختیار ما قرار می دهد و DNS سرور شبکه داخلی شما با دارا بودن آدرس سرور جدید به سرور itpro.ir مراجعه می کند .

  • 9-در این زمان ما به سرور itpro.ir رسیده ایم و از این سرور سئوال می کنیم که آیا شما www.itpor.ir. می شناسید ؟ سرور در پاسخ ابتدا Zone هایش را بررسی می کند ، در اینجا قطعا پاسخ را دریافت می کنید زیرا سرور به شما می گوید که بله می شناسم این سرور که ما آن را در Zone خود به نام www می شناسیم در فلان آدرس IP قرار دارد و آدرس IP سروری که میزبان این وب سایت است را در اختیار DNS سرور شبکه داخلی شما قرار می دهد و در آخر هم DNS سرور آدرس IP را به کلاینت می دهد و کلاینت وب سایت مورد نظر را باز می کند.

معرفی فرآیند Recursion در DNS


حالا کلاینت آدرس IP سرور مورد نظر را دارد و اگر قرار باشد بار دیگر به این آدرس وب سایت مراجعه کند دیگر نیازی به این فرآیند رفت و برگشتی برای پیدا کردن آدرس IP سرور مورد نظر نخواهد داشت ، دقت کنید که به این فرآیند رفت و برگشتی که انجام می شود در اصطلاح فنی Recursion گفته می شود ، حالا اگر آدرس IP سرور مورد نظر عوض شود چه اتفاقی می افتد ؟ کلاینت با توجه به اینکه از Cache خود برای رسیدن به مقصد استفاده می کند دیگر فرآیند Recursion را انجام نمی دهد ، شما باید در چنین مواقعی Cache کلاینت را حذف کنید تا مجددا فرآیند Recursion انجام شود. از طرفی به این مسئله دقت کنید که در هر بار پرسیدن سئوال از DNS سرورها سئوال ما بصورت کامل سئوال می شود یعنی می پرسیم www.itpro.ir. چه آدرسی دارد ؟ این دقیقا مشابه داستانی است که Unity در هر بار پرسش سئوال خود را از طرف مورد نظر بصورت کامل می پرسید . کلیات DNS سرور و مفهوم آن به همین شکل است کافیست فقط روال کاری آن را یاد بگیرید تا بتوانید براحتی آن را رفع ایراد کنید و طراحی های لازم خود را انجام دهید ، امیدوارم مورد توجه شما قرار گرفته باشد ، اگر سئوالی دارید می توانید در ادامه مطرح کنید. ITPRO باشید 

نویسنده : محمد نصیری



نوع مطلب : شبکه های کامپیوتری، 
برچسب ها : dns، تبدیل نام به آدرس ip، ip address، آدرس آی پی،
لینک های مرتبط :
جمعه 10 شهریور 1396 02:31 ب.ظ
Hi there! This blog post could not be written much better!
Looking through this article reminds me of my previous roommate!
He constantly kept preaching about this. I will send this information to him.

Fairly certain he's going to have a good read.
Thank you for sharing!
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر


آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :