عناوین مطلب:

آیا تا به حال بــه این فکر کرده اید که پشت پرده DNS چه خبر است؟


ابتدا باید بگویم DNS سرویسی است که اسم را به IP و IP را به اسم تبدیل میکند.در ضمن لازم به ذکر است بگوییم که آدرس های URLی مانند WWW.ITPRO.IR که ما می نویسیم با یک نقطه آخر آن به DNS تحویل داده می شود.یعنی آدرس به .WWW.ITPRO.IR تبدیل می شود.
حالا میخواهیم کار را از شروع درخواست کاربر برای مشاهده سایت WWW.ITPRO.IR تقسیم بندی کنیم و به جزئیات آن بپردازیم :


1. کامپیوتر:


Image


کاربر روی کامپیوتر خود آدرس WWW.ITPRO.IR را وارد می کند.پس در اینجا کامپیوتر باید یک سری اقدامات را انجام بدهد که عبارتند از :

1.1. CACHE :


کامپیوتر باید در ابتدا به CACHE خود که همان حافظه داخلی اش است نگاهی بیندازد که اگر شخصی ، قبلا این آدرس را درخواست کرده است در همان جا بایستد و IP آدرس خواسته شده را به کاربر بازگراند.پس دیگر احتیاجی به ادامه پروسه نیست و این کار باعث افزایش سرعت عمل میشود.اماااااا اگر کسی روی کامپیوتر گفته شده آدرس .WWW.ITPRO.IR را قبلا درخواست نکرده باشد چه میشود؟در اینجا باید به مرحله بعد برویم .

2.1. HOST :


زمانی که آدرس خواسته شده در CACHE نباشد کامپیوتر به این مرحله می آید که در درایو C یک فایل با نام HOST وجود دارد و با NOTEPAD قابل خواندن است و کلیه آدرس ها به همراه IP هایشان در آن است که مانند یک دفترچه تلفنی است که در آن نام افراد و روبروی آن شماره تماس آنها درج شده است.که کامپیوتر به فایل HOST خود نگاه می کند.اگر در فایل HOST خود IP آدرس خواسته شده وجود داشت ، که IP را معرفی میکند و شخص می تواند سایت .WWW.ITPRO.IR را مشاهده کند.اما اگر IP آدرس مورد نظر وجود نداشت آدرس را به DNSی که برای کامپیوتر تعریف شده است می فرستد که معمولا DNS شبکه داخلی است.پس در اینجا کار کامپیوتر تمام شده و ادامه کار را به DNS داخلی شبکه واگذار می کند.

2. DNS SERVER :


Image


بعد از آنکه آدرس خواسته شده در کامپیوتر با انجام مراحل مربوط به آن ، یافت نشد ، به این مرحله که DNS است می آییم.در اینجا آدرس فرستاده شده به همراه نقطه مرجع است.پس آدرس به صورت .WWW.ITPRO.IR فرستاده می شود.در اینجا هم وظایف به چند قسمت تقسیم می شوند که عبارتند از:

1.2. CACHE :


در اینجا هم DNS به CACHE خود نگاهی میکند که آیا کامپیوتر های عضو DNS قبلا آدرس .WWW.ITPRO.IR را درخواست کرده اند.اگر آدرس درون CACHE ، موجود باشد که IP آدرس خواسته شده را بر میگرداند و کار به پایان میرسد.اما اگر در CACHE مربوط به DNS وجود نداشت باید به مرحله بعد برویم.

2.2. HOST :


بعد از اینکه DNS به CACHE خود مراجعه کرد و به نتیجه ای نرسید به فایل HOST خود نگاهی می اندازد.که اگر IP سایت خواسته شده در آن وجود داشته باشد آن را برمیگرداند و کار به پایان میرسد.اما اگر IP سایت خواسته شده در HOST هم نباشد باید ادامه جستجو اش را به مرحله بعد ببرد.

3.2. ZONE :


بعد از آنکه از چک کردن فایل HOST نتیجه ای دریافت نشد به سراغ ZONE می آید.در اینجا به محدوده خود نگاه می کند .مفهوم ZONE را در مقاله مفاهیم DNS گفته ایم. پس به دفترچه تلفن کلی خود نگاه میکند و به ZONE هایی که در DNS تعریف شده اند نگاه می کند و اگر IP خواسته شده را یافت ، آن را برمیگرداند ، اما اگر آن را نیافت ، به مرحله بعد می رود.

4.2. FORWARDERS :


در اینجا آدرس باید بنا به شرایطش به یکی از دوقسمت زیر هدایت شود که عبارت است از :

1.4.2. CONDITIONAL FORWARDER :


همانگونه که از معنی CONDITIONAL معلوم است ، شرط بر سر راه گذاشته شده است.یعنی اگر آدرس درخواست شده با آدرسی که قبلا در CONDITIONAL FORWAEDER ، خودمان تعریف کرده ایم ، یکی باشد آنگاه آن را به یک IP از قبل تعریف شده بفرستد.پس IP گفته شده فقط برای این آدرس خاص است.

2.4.2. FORWARDER :


در اینجا تعریف می کنیم که اگر آدرس خواسته شده را نشناختی آن را به یک IP از قبل تعریف شده بفرستد.

5.2. ROOT DNS SERVER :


اگر در کلیه مراحل بالا به هیچ نتیجه ای نرسیدیم آدرس را به ROOT DNS SERVER میفرستد.و ادامه کار را به این SERVER واگذار می کند.

3. ROOT DNS SERVER :


Image


موقعی به این مرحله می آید که از هیچ کدام از مراحل بالا نتیجه ای نگرفته باشد.پس آدرس .WWW.ITPRO.IR به ROOT DNS SERVER که یک سرور مرجع است فرستاده می شود .این سرور همه را می شناسد و به شناخته شده ترین جا ارجاع می دهد. دلیل گذاشتن نقطه پایانی درون آدرس ، برای این سرور است. به نقطه پایانی آدرس ، نقطه مرجع می گویند.پس نقطه را میگذاریم و آدرس را از سمت راست به چپ بررسی می کنیم تا به WWW برسیم که همان مقصدمان است.البته ممکن است در میان راه به جوابمان برسیم که جلوتر به طور کامل توضیح خواهم داد.


1.3. CACHE :


در این مرحله هم مانند مراحل قبل ROOT DNS ابتدا CACHE خود را چک میکند و اگر در CACHE اش IP آدرس خواسته وجود داشت ، IP را برمی گرداند.اما اگر وجود نداشت به مرحله بعد می رود.

2.3. HOST :


بعد از اینکه از چک کردن CACHE هیچ جوابی را دریافت نکرد به این مرحله می آید و فایل HOST خودش را چک میکند که اگر آدرس در HOST اش وجود داشت IP را برمی گرداند.اما اگر باز هم به جواب نرسید به مرحله بعد می رود.

3.3. ZONE :


به دلیل آنکه این سرور یک سرور مرجع است و از همه جا با خبر است ، به تمام محدوده DOMAIN ای که در دست خودش است نگاه می کند و در صورت یافتن IP آدرس خواسته شده ،IP را بر میگرداند.در غیر این صورت به مرحله بعد می رود.

4.3. FORWARDERS :


در اینجا آدرس باید بنا به شرایطش به یکی از دوقسمت زیر هدایت شود که عبارت است از :

1.4.3. CONDITIONAL FORWARDER :


همانگونه که از معنی CONDITIONAL معلوم است ، شرط بر سر راه گذاشته شده است.یعنی اگر آدرس درخواست شده با آدرسی که قبلا در CONDITIONAL FORWAEDER ، خودمان تعریف کرده ایم ، یکی باشد آنگاه آن را به یک IP از قبل تعریف شده بفرستد.پس IP گفته شده فقط برای این آدرس خاص است.

2.4.3. FORWARDER :


در اینجا تعریف می کنیم که اگر آدرس خواسته شده را نشناختی آن را به یک IP از قبل تعریف شده بفرستد.
نکته: در این سرور دیگر مرحله 5 ای وجود ندارد.یعنی دیگر به ROOT DNS SERVER ارجاع نمی دهد.چون یک حلقه ایجاد می شود که دیگر به جوابی نمیرسد.پس این سرور نقطه ها است و میداند سرور .IR. ها کجا است.و درخواستی که به او میشود اینگونه است که آیا آدرس .WWW.ITPRO.IR را میشناسی؟ و سرور ROOT به دلیل اینکه سرور نقطه ها است ، در جوابش میگه ، آدرس .WWW.ITPRO.IR رو نمیدونم کجاست.اما آدرس .IR. رو بلدم.و درخواست را با دادن IP سرور .IR. ها ارجاع میدهد.که ادامه کار را در سرور .IR. دنبال می کنیم.

4. TOP LEVEL DNS :


Image


سرور .IR. در اینجا همان سرور TOP LEVEL DNS است. بعد از دریافت IP مربوط به.IR. که همان TOP LEVEL DNS است به سراغ آن می آید.و از سرو .IR. سوال میکند که آیا آدرس .WWW.ITPRO.IR را میشناسی؟ که در جوابش مراحل زیر را طی می کند.

1.4. CACHE :


سرور .IR. به CACHE خود مراجعه میکند.که اگر IP آدرس خواسته شده در CACHE اش وجود داشت آنگاه IP آدرس خواسته شده را بر میگرداند.اما در صورتیکه IP در CACHE وجود نداشت به مرحله بعد می رود.

2.4. HOST :


بعد از اینکه از CACHE جوابی نیافت به فایل HOST خود مراجعه می کند.و در صورتیکه IP آدرس خواسته شده را نداشت به مرحله بعد می رود.

3.4. ZONE :


این سرور هم دارای محدوده خودش است.پس به محدوده خود نگاه می کند و اگر IP آدرس خواسته شده را یافت آن را برمی گرداند.در غیر ایتصورت به مرحله بعد می رود.

4.4. FORWARDERS :


در اینجا آدرس باید بنا به شرایطش به یکی از دوقسمت زیر هدایت شود که عبارت است از :

1.4.4. CONDITIONAL FORWARDER :


همانگونه که از معنی CONDITIONAL معلوم است ، شرط بر سر راه گذاشته شده است.یعنی اگر آدرس درخواست شده با آدرسی که قبلا در CONDITIONAL FORWAEDER ، خودمان تعریف کرده ایم ، یکی باشد آنگاه آن را به یک IP از قبل تعریف شده بفرستد.پس IP گفته شده فقط برای این آدرس خاص است.

2.4.4. FORWARDER :


در اینجا تعریف می کنیم که اگر آدرس خواسته شده را نشناختی آن را به یک IP از قبل تعریف شده بفرستد.
نکته: در این سرور هم مرحله 5 نداریم.که باز هم دلیلش مانند قبلی ، ایجاد حلقه است.پس از این سرور سوال میشود که آیا آدرس .WWW.ITPRO.IR را می شناسی؟ و TOP DNS SERVER در جواب میگوید ، آدرس را نمی شناسم ، اما من سرور .IR. هستم و IP آدرس .ITPRO.IR. را بلدم.و شماره IP مربوط به سرور .ITPRO.IR. را میدهد.و در خواست به IP داده شده ارجاع می شود.

5. SECOND LEVEL DNS :


Image


بعد از دریافت IP مربوط به .ITPRO.IR. که همان SECOND LEVEL DNS است به سراغ آن می آید.و از سرور .ITPRO.IR. سوال میکند که آیا آدرس .WWW.ITPRO.IR را میشناسی؟ که در جوابش مراحل زیر را طی می کند.

1.5. CACHE :


در اینجا CACHE مربوط به سرور SECOND LEVEL DNS چک میشود.و اگر IP آدرس خواسته شده را یافت آن را بر میگرداند.اما اگر در CACHE نتوانست IP آدرس خواسته شده را پیدا کند به مرحله بعد می رود.

2.5. HOST :


بعد از اینکه از چک کردن CACHE هیچ جوابی را دریافت نکرد به این مرحله می آید و فایل HOST خودش را چک میکند که اگر آدرس در HOST اش وجود داشت IP را برمی گرداند.اما اگر باز هم به جواب نرسید به مرحله بعد می رود.

3.5. ZONE :


این سرور هم دارای محدوده خودش است.پس به محدوده خود نگاه می کند و اگر IP آدرس خواسته شده را یافت آن را برمی گرداند.نکته ای که باید توجه شود این اسن که در اینجا دیگر مرحله 4 و 5 را نداریم.بدلیل اینکه نهایتا IP خواسته شده در ZONE مربوط به SECOND LEVEL DNS موجود می باشد.پس IP آدرس خواسته شده که اصطلاحا به آن HOST گفته می شود را به DNS SERVER بر می گرداند.

6. FINISH :


Image


در اینجا DNS SERVER آدرس را در CACHE خود ذخیره میکند که دفعه های بعد نیازی به طی مراحل بالا نداشته باشد.و در آخر هم IP آدرس خواسته شده را به کامپیوتر درخواست کننده ارسال می کند.




در پایان چند نکته را می گوییم که خالی از لطف نمی باشد :


1. همانگونه که در مقاله مفاهیم DNS از RECURSION نام بردیم ، سعی شد در اینجا با چگونگی پیاده سازی این مفهوم به خوبی آشنا شوید .به کلیه پروسه رفت و برگشت ها از شروع درخواست کاربر تا زمانی که IP آدرس خود را دریافت می کند RECURSION می گویند.

2. دستور IPCONFIG /DISPLAYDNS برای نمایش CACHE مربوط به DNS است.

3. دستور IPCONFIG /FLUSHDNS برای پاک کردن CACHE مربوط به DNS می باشد.

4. هدف از اینکه دستور بالا را گفتیم این بود که در بعضی مواقع آدرس IP سایت خواسته شده بنا به دلایلی تغییر می کند.یعنی اگر کاربر برای اولین بار آدرسی را درخواست کند که آن مراحل RECURSION بالایی را انجام می دهد.اما اگر قبلا سایت را مشاهده و مطالعه کرده باشد اما در یک روزی آدرس IP سایت تغییر کرد چه می شود؟ در اینجا کاربر هر چه آدرس سایت را وارد کند در مرورگر او ERROR نشان می دهد.چون در CACHE مربوط به DNS او آدرس IP قبلی ذخیره شده.پس باید با دستور بالا CACHE را پاک کند و دوباره درخواستIP سایت مورد نظر خود را بدهد تا آدرس جدید سایت درونCACHE مربوط به DNS ذخیره شود.



تاريخ : سه شنبه سی و یکم اردیبهشت ۱۳۹۲ | 8:1 | نویسنده : حمید مقصودی |
.: Weblog Themes By Bia2skin :.