چطور سرور نامهای دامنه (DNS) کار میکند؟



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


وقتیبرای چند دقیقه در اینترنت جستجو میکنید، چندین بار بدون اینکه بدانید ازسرور نامهای دامنه یا DNSomainNameServer استفاده میکنید.


DNS بزرگترین بانک اطلاعاتی جهان است و بدون آن کار اینترنت تا حدودی مختل میشود. آدرسهایی مثل [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]برای کامپیوتر شما و اینترنت غیر قابل درک است! هر آدرسی به این صورتدارای یک آدرس IP است. IP آدرسی است که برای کامپیوتر و اینترنت قابل درکاست و یک آدرس 32بیتی 4 قسمتی است. در زیر نمونهای از آدرس IP را مشاهدهمیکنید:


42 . 251 . 42 .70


هر چهار رقم هشتایی یاOctet نام دارد. چون هر کدام مقداری بین 0 تا 256(28) میتواند داشتهباشد. هر کامپیوتری که در اینترنت است دارای یک آدرس IP مخصوص است. سرورهادارای آدرسIP ثابت هستند ولی کامپیوترهایی که به ISP متصل میشوند هر باریک آدرس جدید از ISP دریافت میکنند.


در ویندوزXP میتوانید آدرس IP کامپیوترتان را در قسمت Run با تایپ IPCONFIG ببینید.


همان طور که گفتیم کامپیوتر شما تنها آدرسهای IP را میشناسد و اگر به جای آدرس سایت IP آن را بنویسید فرقی نمیکند.


در کل انسانها در حفظ کردن شمارهها و عددها مهارتی ندارند و حفظ کردن آدرس سایتها به جای آدرس IP آنها برای ما آسانتر است.


قسمتاول نام دامنه مثل www یا mail در mail.website.com نام یک قسمت از سروررا مشخص میکند. هر قسمت از نام یک دامنه در همان سرور باید یکتا باشد وهر دامنه نیز باید یکتا باشد. برای مثال نمیتوانیم دو website در com.داشته باشیم و نمیتوانیم دو mail در website.com داشته باشیم. شرکتی بهنام NetworkSolutions مسئول ثبت دامنهها است. نام تمام دامنهها در ليستيبه نام whois list موجود است.


هر دامنهای دارای یک سرورنامهای دامنه (DNS) در جایی است. تمام این سرورها روی هم DNS را تشکیلمیدهند ولی تماماً به صورت یک بانک اطلاعاتی واحد رفتار میکنند.


DNSها همواره دو کار را انجام میدهند:


• در خواستهای کامپیوترها و کاربران برای ترجمه آدرسها به IP را پاسخ میدهند.
• درخواستهای DNSهای دیگر برای ترجمه آدرسها را پاسخ میدهند.


هنگامی که یکی از این نوع درخواستها به DNS میرسد یکی از چهار کار زیر را انجام میدهد:


• اگر IP مورد نظر را داشته باشد به درخواست جواب ميدهد
• اگر آن آدرس را نداشته باشد با DNSهاي ديگر ارتباط برقرار ميكند تا IP مورد نظر را بدست آورد
• ممكن است بگويد «من این آدرس را نمیشناسم ولی نام آدرس DNS را به شما میدهم که ممکن است این آدرس را بشناسد»
• میتواند پیغام خطای را بدهد و بگوید که آدرس غیر معتبر است و وجود ندارد.


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


وقتی به ISP خود متصل میشوید، DNSمورد نظر از طرف ISP مشخص میشود. در Run IPCONFIG را تایپ کنید تا DNSخود را ببینید. هر برنامهای که نیاز به دریافت IP و ارسال آن به سروردارد IP مورد نیاز را از DNS مشخص شده اینترنت شما دریافت میکند.


هنگامپاسخ دادن به درخواست؛ اگر IP مورد نظر در DNS وجود نداشته باشد ولی قبلاز شما کسی همان IP را درخواست کرده باشد، DNS دیگر نیازی به فرستادن درخواست به باقی سرور نامهای دامنه ندارد و درخواستهای تکراری را ذخیره یاCache میکند.


بیایید به یک مثال واقعی از کار DNS بپردازیم. وقتی در جستجوگر اینترنت خود [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] را تایپ میکنید؛ ابتدا سرور نام دامنه (DNS) شما از DNS دامنههای COM. سوال میکند که [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] را میشناسد یا نه.


سرور COM. این آدرس را میشناسد پس آدرس DNS مخصوص [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] را به DNS شما میدهد. سپس DNS شما یه DNS مخصوص [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] متصل میشود و IP مورد نظر را دریافت میکند و آن را به جستجوگر شما میدهد تا جستجوگر شما به آن سرور متصل شود.


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


این ذخیره (Cache)برای همیشه باقی نمیماند و شاخصهای برای اینکار به نام TTL:TimeToLiveدارد که مشخص میکند هر درخواست و IP را تا چه مدت ذخیره کند.


TTLبا هر IP دریافتی به DNS میرسد و اگر تنظیمات DNS به طوری باشد که از TTLبرای تعیین زمان ذخیره استفاده کند طبق TTL از چند دقیقه تا چند روز IP راذخیره میکند.