مهدی شلاهی
من رو در اینستاگرام ، آپارات و یوتیوب کافه آموزش دنبال کنید Cafe.Amuzesh@

سرویس DNS چیست ؟ روش کار DNS

در دنیای شبکه و اینترنت ، مبنای ارتباطات آدرس های IP هستن ، حالا یا آدرس IPv4 و یا آدرس IPv6 و همیشه برای آغاز شدن ارتباط باید بتونید آدرس آیپی سیستم هدف رو پیدا کنید تا با استفاده از اون آدرس به سراغ سیستم هدف برید و ارتباط رو آغاز کنید ، درست مثل اینکه میخواید با کسی تماس تلفنی بگیرید و پیامی رو بهش بدید یا ازش بگیرید و طبعا برای شروع ارتباط لازمه که شماره تلفن اون فرد رو بدست بیارید تا بتونید باش تماس بگیرید.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

حالاموضوعی که مطرح میشه اینه توی شبکه داخلی و شبکه اینترنت که تعداد سیستم ها زیاده ما با آدرس های آیپی زیادی روبرو هستیم باید با هرکدوم که کار داریم آدرس IP اون رو به خاطر بسپریم ؟؟!!! جواب اینه که طبعا برای ذهن انسان به خاطر سپردن آدرس های IP سخت تر از به خاطر سپردن یک نام هست و قطعا نمیتونیم همه اون آدرس هارو به ذهن بسپریم و با هرکدوم که کار داشتیم توی ذهنمون آدرسشو پیدا کنیم و بریم سراغش !!!

پس چکار باید کرد ؟

پس تا اینجا با من موافقید که استفاده از نام بسیار بهتر و راحت تره اما موضوع اینه که اول و آخرش یک ارتباط با آدرس IP برقرار میشه پس الان که ما هر سایتی رو که کار داشته باشیم اسمش رو توی مرورگر مینویسیم و ارتباط برقرار میشه ماجراش چیه و آدرس IP کجای ماجراست ؟؟؟!!!!

جواب اینه که اون اسم قطعا باید به آدرس IP مقصدی که صداش کردیم تبدیل بشه تا در ادامه کار با استفاده از اون آدرس IP بتونیم ارتباطمون رو شروع کنیم،پس باید مرجعی باشه که بریم و ازش بپرسیم که این نامی که من باهاش کار دارم آدرس آیپیش چیه و جواب رو بگیرم و برم سراغ اون آدرس تا ارتباط برقرار بشه.


در سالهای گذشته راهکارهای مختلفی به کار بسته شد مثل استفاده از یک فایل بنام Host File که در همه سیستم ها قرار میگیره و در این لیست همه آدرس های IP سیستم های شبکه، همراه با نامشون نوشته میشه تا وقتی از اون سیستم یک نام رو صدا میکنیم، سیستم بتونه از توی Host File چک کنه تا ببینه آیا این نام توی Host file وجود داره و اگر وجود داره آدرس آیپیش چی  هست.

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

همزمان با روش بالا از یک روش جالب برای تبدیل شدن نام به آدرس آیپی به صورت خودکار استفاده میشد تا اگر در Host File نام و IP مد نظر نبود ، کاربر بتونه به صورت خودکار نام مد نظرش رو به IP تبدیل کنه و ارتباطش رو آغاز کنه .

به این روش تبدیل نام به IP مدل NetBIOS میگن که مبنای کارش ارسال پیام Broadcast در شبکست تا با ارسال این پیام برودکست در کل شبکه داد بزنه و بپرسه ، صاحب این نام کیه و آدرس IP خودش رو اعلام کنه !!! و چون این پیام فراگیر به همه ی اعضای شبکه میرسید طبعا اگر یکی از شنوندگان این Broadcast همون دستگاهی باشه که نامش صدا زده شده، پاسخ میده و آدرس IP خودش رو به ارسال کننده پیام فراگیر تحویل میده .

خوب دیگه ، مامورت انجام شده چون اون کسی که با استفاده از پروتکل NetBIOS پیام Broadcast ارسال کرده بود و خواستش بدست اوردن آدرس IP مقصد بوده الان نتیجه گرفته و آدرس رو بدست اورده و میتونه با استفاده از این آدرس IP ارتباط مد نظرش رو شروع کنه. خدا بده برکت !!

حالا این خوبه یا بد ؟؟ قطعا در زمان خودش عالی بوده اما در شبکه های امروزی که تعداد سیستم ها زیاده تصور کنید که چه حجمی از پیام های Broadcast در شبکه تولید میشه !!!! و چه کندی میتونه ایجاد کنه ، و چه امنیتی رو کاهش میده ، بازم بگم ؟؟ باشه میگم ، و اینکه این مدل تبدیل نام فقط میتونه نامهای NetBIOS ای رو به IP تبدیل کنه و نام های سلسله مراتبی یا همون DNS ای که در اینترنت استفاده میشن رو نمیتونه به آدرس IP نبدیل کنه .

خوووب وقتشه مشکل رو در شبکه ها حل کنیم !!!

برای حل این مشکل سرویسی بنام DNS که مخفف Domain Name System هست ارائه شد که مثل Host File  در دل خودش میتونست لیستی از همه نام ها و IP های شبکه رو نگهداری کنه با این تفاوت که سیستم ها خودشون به صورت خودکار میتونن نام و آدرس IP شون رو در DNS ثبت کنن که به این کار میگن Dynamic Update و اینجوری دیگه لازم نیست ادمین مداوم بخواد تغییرات رو بروز کنه و اصلا هم لازم نیست که فایلی روی سیستم ها باشه بلکه همه چیز در سرور DNS اتوماتیک ثبت و نگهداری میشه .

علاوه بر این ، سرویس DNS میتونه نام های سلسله مراتبی رو به IP تبدیل کنه پس تبدیل نام های اینترنتی براش مثل آب خوردنه و همه این فرایند تبدیل نام داره به صورت پیام های Unicast انجام میشه یعنی اینکه کاربر وقتی میخواد نامی رو به آدرس IP تبدیل کنه خیلی شیک و مجلسی پیامش رو به صورت Unicast به DNS میفرسته و از DNS میخواد که آدرس آیپی این نام رو بهش برگردونه (به این فرآیند درخواست دادن و جواب دادن DNS میگن DNS Name Resolution ) و جالبه بدونید توی DNS مکانیزم های مختلف و جذابی بکار گرفته شده تا این نام رو هرطور شده به IP تبدیل کنه ، راهکارهایی مثل استفاده از Zone ، Forwarders , Conditional Forwarders , Root Hints , Secondary Zines , Stub Zunes .  

تازه این همه چیز نیست و DNS این قابلیت رو داره که حتی تقسیم بار کاری یا همون Load Balance ایجاد کنه توی شبکه که این موضوع خودش یه مبحث دیگست و توی حوصله ی این مقاله نمیگنجه.


پس اگر بخوایم خلاصه کنیم باید بگم که :

DNS سرویس تبدیل کننده نام به آدرس IP است

DNS میتواند نام های اینترنتی یا همان نامهای سلسله مراتبی رو به IP نبدیل کنه

دستگاه های شبکه میتوانند به صورت خودکار نام و آدرس IP خودشون رو در DNS ثبت کنند ( Dynamic Update)

DNS میتواند عمل Load Balance در شبکه انجام بدهد.

سیستم تبدیل نام به IP در DNS بر مبنای پیام های Unicast است.

همه زورش رو با روشهای مختلف میزنه که نام رو به IP تبدیل کنه و همه چیز فقط به اطلاعات توی Database ختم نمیشه.


به زودی در مقاله های دیگه در مورد بخش های مختلف DNS براتون مطالب مفیدی رو قرار میدم.

شاد باشید و توی مسیر موفقیت استوار پیش برید.

پیج اینستاگرام من با نام @Cafe.Amuzesh رو دنبال کنید که ویدیوهای فوق العاده ای اونجا میذارم

ارادتمند شما ، مهدی شلاهی



مهدی شلاهی
مهدی شلاهی

من رو در اینستاگرام ، آپارات و یوتیوب کافه آموزش دنبال کنید Cafe.Amuzesh@

عاشق یادگیری و یاد دادن / مدرس و مجری پروه های مایکروسافت، مجازی سازی و ... از سال 1387 / خلاصه اینکه یا در حال یادگیریم یا در حال یاد دادن و هیچ چیزی از این زیباتر نیست / تنها پناه آینده ی تو ، تلاش الانته پس کم نذار برای خودت

نظرات