چطور سرور نامهای دامنه (DNS) کار میکند؟
وقتی برای چند دقیقه در اینترنت جستجو میکنید، چندین بار بدون اینکه بدانید از سرور نامهای دامنه یا DNS:DomainNameServer استفاده میکنید.
DNS بزرگترین بانک اطلاعاتی جهان است و بدون آن کار اینترنت تا حدودی مختل میشود. آدرسهایی مثل www.website.com برای کامپیوتر شما و اینترنت غیر قابل درک است! هر آدرسی به این صورت دارای یک آدرس IP است. IP آدرسی است که برای کامپیوتر و اینترنت قابل درک است و یک آدرس ??بیتی ? قسمتی است. در زیر نمونهای از آدرس IP را مشاهده میکنید:
?? . ??? . ?? .??
هر چهار رقم هشتایی یا Octet نام دارد. چون هر کدام مقداری بین ? تا ???(??) میتواند داشته باشد. هر کامپیوتری که در اینترنت است دارای یک آدرس 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 بپردازیم. وقتی در جستجوگر اینترنت خود www.website.com را تایپ میکنید؛ ابتدا سرور نام دامنه (DNS) شما از DNS دامنههای COM. سوال میکند که www.website.com را میشناسد یا نه.
سرور COM. این آدرس را میشناسد پس آدرس DNS مخصوص www.website.com را به DNS شما میدهد. سپس DNS شما یه DNS مخصوص www.website.com متصل میشود و IP مورد نظر را دریافت میکند و آن را به جستجوگر شما میدهد تا جستجوگر شما به آن سرور متصل شود.
هر کدام از این DNSها دارای چندین DNS جایگزین هستند تا در صورت بروز مشکل در یکی از آنها کار باقی آنها مختل نشود و شما بتوانید همچنان سایت مورد نظرتان را جستجو و دریافت کنید. کار دیگری که DNSها انجام میدهند ذخیره (Cache) کردن تمام درخواستها و پاسخهاست. به این ترتیب بعد از تعداد زیادی جستجو و درخواست دادن و گرفتن IPها، کار DNS سریعتر میشود و دیگر نیازی به مشغول کردن DNSهای دیگر ندارد.
این ذخیره (Cache) برای همیشه باقی نمیماند و شاخصهای برای اینکار به نام TTL:TimeToLive دارد که مشخص میکند هر درخواست و IP را تا چه مدت ذخیره کند.
TTL با هر IP دریافتی به DNS میرسد و اگر تنظیمات DNS به طوری باشد که از TTL برای تعیین زمان ذخیره استفاده کند طبق TTL از چند دقیقه تا چند روز IP را ذخیره میکند.
منبع : بانک مقالات فارسی