آموزش مبانی شبکه قسمت سوم - سرویس نامگذاری دامنه یا DNS سرور
در ادامه مجموعه مقالات مبانی شبکه های کامپیوتری و در قسمت سوم از این سری مقالات به بررسی شیوه فعالیت DNS سرور بصورت مقدماتی می پردازیم . در قسمت قبلی از این سری مقالات به این مسئله اشاره کردیم که چگونه تمامی کامپیوترهایی که در یک شبکه قرار گرفته اند یک محدوده آدرس IP مشترک را استفاده می کنند . و همچنین به این مسئله اشاره کردیم که در صورتیکه کامپیوترها بخواهند با کامپیوتری در شبکه ای دیگر ارتباط برقرار کرده و تبادل اطلاعات بکنند ، این وظیفه مسیریاب است که داده ها را از یک شبکه به شبکه دیگر منتقل کند و برای مثال تبادل اطلاعات بین کامپیوتر شما و اینترنت را توسط یک مسیریاب یا روتر اینترنتی خانگی توضیح دادیم.
اگر مقالات قبلی را مطالعه کرده باشید متوجه شدید که در یکی از مثال های مقاله من به عنوان آدرس IP مقصد ، آدرس IP وب سایت انجمن حرفه ای های فناوری اطلاعات ایران را مثال زدم .برای اینکه مرورگر اینترنت یا بهتر بگوییم همان Browser شما بتواند به یک وب سایت دسترسی پیدا کند می بایست آدرس IP مورد نظر آن وب سایت را بداند و پس از اینکه آدرس IP مقصد را پیدا کرد توسط مسیریاب یا همان روتر مراحل مسیریابی انجام شده تا به مقصد مورد نظر دست بیابد . توجه داشته باشید با اینکه همه وب سایت هایی که در اینترنت هستند دارای آدرس IP هستند و شما در طی روز ممکن است چندین بار از وب سایت های مختلف بازدید کنید ، اما شاید یکبار هم مجبور نشوید آدرس IP مربوط به آن وب سایت را حفظ کنید و یا حتی بدانید . من در این مقاله قصد دارم به شما بگویم که چگونه اینکار انجام می شود و مشاده وب سایت ها بدون دانستت آدرس IP آنها چگونه ممکن است .
همانطوری که قبلا هم اشاره کردیم ، آدرس IP مانند آدرس خیابان است . قسمت شبکه آدرس IP نمایانگر قطعه شبکه ای است که کامپیوتر در آن قرار دارد و قسمت آدرس آن نمایانگر آدرس یک کامپیوتر منحصر بفرد در شبکه است . دانستن آدرس IP و شناخته شدن توسط پروتکل TCP/IP در حقیقت پایه و اساس برقراری ارتباط بین دو کامپیوتر در شبکه است .وقتی شما صفحه مرورگر اینترنت خود را باز میکنید و آدرس یک وب سایت ( URL ، اسم سایت یا Universal Resource Locator ) را وارد می کنید ، مرورگر بدون اینکه شما آدرس IP وب سایت مورد نظر را وارد کنید آن صفحه وب را برای شما باز می کند . خوب با توجه به حرفهایی که قبلا زدیم آدرس IP را در اینجا با آدرس پستی مقایسه می کنیم . شما نمی توانید صرف اسم یک شخص را بر روی کاغذ نامه بنویسید و آنرا درون صندوق پست بیندازید و انتظار داشته باشید که به مقصد برسد !! اداره پست تا زمانی که یک آدرس دقیق از مقصد نداشته باشید نمی تواند بسته پستی شما را به مقصد برساند . همی مفهوم ساده در خصوص بازدید از وب سایت ها نیز مصداق دارد .کامپیوتر شما تا زمانی که نتواند آدرس IP وب سایت مقصد را بدست بیاورد نمی تواند به آن دسترسی پیدا کند .
خوب کمی فکر کنیم ، اگر کامپیوتر ما بدون آدرس IP نمیتواند به مقصد مورد نظر برسد و همچنین ما در مرورگر خود آدرس IP را وارد نمی کنیم پس چگونه ارتباط برقرار می شود ؟ تبدیل نام های اینترنتی یا همان دامین ها به آدرس IP وظیفه اصلی DNS سرور است . در چندین مقاله ای که در این سری از مقالات آموزش شبکه در وب سایت قرار داده ام در مورد مسائلی همچون انجام تنظیمات مربوط به TCPIP مانند آدرس IP ، Subnet Mask ، و Default Gateway صحبت کردم .
تنظیمات DNS سرور به عنوان قسمتی از تنظیمات TCP/IP مربوط به کارت شبکه محسوب می شود . این بدین معناست که کامپیوتر همیشه باید آدرس DNS سرور را داشته باشد. این آدرس IP که مربوط به DNS سرور است بسیار مهم است زیرا هیچ کامپیوتری بدون داشتن آدرس IP نمیتواند با کامپیوتر دیگری در شبکه ارتباط برقرار کند .
همه چیزهایی که گفته شد را در خاطر داشته باشید و ببینید که وقتی به یک وب سایت مراجعه می کنید چه اتفاقی می افتد . فرآیند از زمانی شروع می شود که شما مرورگر خود را باز می کنید و نام یا همان URL وب سایت را وارد می کنید . وقتی این نام را وارد می کنید مرورگر شما متوجه می شود که به تنهایی و تنها از روی نام وارد شده قادر به شناسایی مقصد مورد نظر نخواهد بود . بنابراین مرورگر نام درخواست داده شده را به آدرس DNS سروری که در تنظیمات TCP/IP به کارت شبکه اختصاص داده ایم منتقل می کند تا فرآیند تبدیل نام به IP انجام شود . DNS سرور برای خود دارای یک جدول مانند جدول دفترچه تلفن است که آدرس IP متناظر با هر نام وارد شده در آن قرار دارد. پس از دریافت نام DNS آدرس IP متناظر با آن نام را برای مرورگر ارسال کرده و پس از آن مرورگر قادر خواهد بود تا با وب سایت درخواست داده شده مورد نظر ارتباط برقرار کند .
خوب مراحلی رو که در بالا توضیح دادم خیلی خیلی ساده شده این مسئله بود برای اینکه شما درک اولیه رو پیدا کنید . DNS سرور در حالت معمول اگر آدرس مقصد رو در رکوردهای خودش داشته باشه برمیگردونه اگر نداشته باشه که معمولا همینطور هست نمی تونه آدرس رو برگردونه و مرحله دیگه ای رو برای پیدا کردن آدرس مقصد در پی میگیره. در 99 درصد موارد DNS سرور شما آدرس IP مقصد رو نداره و دلیلش هم کاملا منطقی هست ، اینترنت دنیای بسیار بسیار بزرگیه . میلیون ها وب سایت در اینترنت وجود دارند که ه روز هم به این تعداد اضافه میشه . تقریبا این امکان محاله که یک DNS سرور رکوردهای مربوط به تمامی وب سایت های دنیا رو در خودش داشته باشه که شما نیاز نداشته باشید به DNS سرور دیگه ای مراجعه کنید .
بیایید یک لحظه تصور کنیم که DNS سروری وجود دارد که تمامی رکوردهایی را که فکرش را بکنیم در خود جای داده است . فرض را بر این میگیری م که این سرور نه مشکل فضا و نه مشکل پهنای باند دارد و کاملا یک سرور فرضی است . اما یک نکته اینجا باز هم خود را نمایان میکند ، یک سرور چند درخواست تبدیل نام به آدرس IP را همزمان می تواند پاسخگو باشد ؟ آن هم تمامی درخواست هایی که در سطح اینترنت وجود دارد !!! نکته بعدی در اینجاست که وجود یک و تنها یک DNS سرور باعث می شد هکر های آن را مورد هجوم و حمله خود قرار دهند و تنها یک نقطه برای این همه هکر در دنیا کافیست تا اختیار کل اینترنت را در دست بگیرند !!
به همین دلایلی که گفتیم کمی فکر کنید و خواهید دید که دلایل منطقی و مناسبی برای توزیع شدن سرورهای DNS بر روی چندین سرور در اینترنت و تقسیم وظایف و همچنین عدم استفاده از یک DNS سرور تنها وجود دارد . یک سازمان بین المللی به نام ICANN وجود دارد که وظیفه مدیریت و ثبت نامهای اینترنتی را بر عهده دارد . به دلیل پیچیدگی . گستردگی مدیریت این نام ها و سرورها سازمان ICANN را وادار کرده است که وظیفه نگهداری از این دامنه های اینترنتی را بصورت توزیع شده در سراسر دنیا و بر روی سرورهای مختلف در بیاورد . برای مثال www.nic.ir وظیفه مدیریت و نگهداری کلیه دامنه هایی که دارای پسوند .ir میباشند را بر عهده دارد . در این حالت کلیه رکوردهایی که مربوط به پسوند .ir هستند توسط سرورهای شرکت یا سازمان www.nic.ir مدیریت و نگهداری می شوند .
برای اینکه روش کار را به درستی متوجه بشویم فرض را بر این بگیرید که وب سایت www.itpro.ir را می خواهید بازدید کنید . وقتی شما نام دامنه مربوطه یا همان URL را وارد می کنید مرورگر شما نام دامنه را به آدرس IP سرور DNS که در تنظیمات TCP/IP کارت شبکه به آن اشاره شده است انتقال می دهد . در بیشتر مواقع DNS سرور آدرس دقیق IP مقصد مورد نظر را در اختیار ندارد ، بنابراین درخواست شما را به سرورهای DNS مربوط به ICANN منتقل می کند . سرورهای ICANN هم ممکن است آدرس IP دامنه مورد نظر شما را در اختیار نداشته باشند اما میدانند که کدام DNS سرور آدرس IP دامنه مورد نظر شما را میزبانی می کند و شما را به سمت آن سرور هدایت می کنند . در اینجا سرورهای ICANN شما را به سرور میزبان دامنه هایی با پسوند .ir منتقل می کنند . سرور DNS مورد نظر آدرس IP مقصد درخواست شده را به سمت مرورگر شما ارسال می کند و شما می توانید وارد وب سایت مورد نظر شوید .
همانطوری که مشاهده کردید مراحل زیادی باید طی شود تا آدرس IP دامنه درخواست داده شده توسط کاربر توسط DNS سرور های مختلف بدست بیاید . برای اینکه هر بار که کاربر تقاضای دامنه ای تکراری را داد همین مراحل مجددا طی نشود ، کامپیوتر شما آدرس IP دامنه مورد نظر را در خود کش و ذخیره میکند و در مرحله دومی که درخواست همان وب سایت را از طریق مرورگر بدهید دیگر مراحل بالا طی نشده و مستقیما توسط آدرس IP به مقصد مورد نظر هدایت می شود و طبیعتا سرعت کار شما نیز بالاتر میرود . کش کردن آدرس IP مقصد برای تمامی آدرس ها و دامنه های اینترنتی انجام می شود و باعث کاهش استفاده از پهنای باند و کم شدن درخواست های DNS می شود .
نتیجه : در این مقاله به شما آموزش دادیم که روش کارکرد DNS و تبدیل نامها به آدرس IP به چه شکل است . همینطور در مورد فرایند تبدیل شدن نام به IP هم در ساده ترین شکل ممکن توضیحاتی را ارائه دادیم . این نکته مهم است که بدانیم ICANN و سرورهای DNS که میزبان دامنه های Top Level هستند برای اینکه ترافیک کاری را در بین خود تقسیم کنند از قابلیت های تقسیم کار بین سرورهای مختلف استفاده می کنند ، همانطوریکه اشاره کردیم که www.nic.ir میزبان دامنه هایی با پسوند .ir هستند که در ایران وجود دارند و کلیه دامنه هایی که دارای پسوند .ir هستند بر روی آن قرار گرفته اند . این فرآیند تقسیم کار باعث کاهش و سرویس دهی بهتر به درخواست های کاربران در خصوص تبدیل آدرس و نام به IP می شود .
نویسنده : محمد نصیری
منبع : انجمن حرفه ای های فناوری اطلاعات ایران