DNS یا همان Domain Name Service را میتوان دفترچه تلفن اینترنت دانست! یعنی با استفاده از DNS شما کافیست بجای وارد کردن IP هر وب سایت، نام آن را ...
دفترچه تلفن!
DNS یا همان Domain Name Service را میتوان دفترچه تلفن اینترنت دانست! شما در زندگی روزمره خود، برای برقراری ارتباط تلفنی با دوستانتان دو راه دارید:
- شماره تلفن تمامی دوستان و آشنایان را به خاطر بسپارید
- یک دفترچه تلفن تهیه کنید و هر بار که میخواهید با کسی تماس بگیرید، به دفترچه تلفن بروید و نام او را جستجو کنید تا به شماره فرد مورد نظر برسید
طبیعی است که روش اول بسیار سخت و دشوار است و کسی آن را انتخاب نمیکند!
در دنیای اینترنت نیز شرایط مشابهی وجود دارد. شما برای پیدا کردن وب سایت مورد نظرتون دو راه دارید:
- IP تک تک وب سایتها را به خاطر بسپارید و هر بار در مرورگر خود آدرس IP وب سایت مورد نظر رو وارد کنید
- از یک دفترچه تلفن استفاده کنید و بجای وارد کردن آدرس IP، نام وب سایت مورد نظرتون رو وارد کنید
باز هم طبیعی است که هیچ کس به جز در موارد خاص، مورد اول را انتخاب نمیکند!
ولی در نظر داشته باشید فرقی نمیکند کدام یک از دو مورد را در مرورگر خود وارد کنید. در هر دو صورت یک صفحه یکسان برای شما نمایش داده میشود.
دفترچه تلفن اینترنت
پس متوجه شدیم که به یک دفترچه تلفن تو دنیای اینترنت نیاز داریم. اما این دفترچه تلفن کجاست؟ یعنی وقتی وارد مرورگر میشویم و آدرس https://www.google.com/ را جستجو میکنیم، توی کدوم دفترچه تلفن ثبت شده که IP گوگل بصورت زیر هستش؟
جواب خیلی ساده است. در دنیا تعداد زیادی DNS Server داریم که وظیفه اصلی آن ها عملیات ترجمه است. به این عملیات ترجمه عملیات Resolve کردن هم میگویند. همچنین سروری که درخواست را ترجمه میکند، DNS Resolver نام دارد.
یعنی وقتی شما در مرورگر خود وارد میکنید: Google.com ، از این سرورها درخواست میکنید که IP گوگل را به شما بدهند.
اما یک DNS Server چگونه این عملیات را انجام میدهد؟ ساختار آن به شکل است و از چه اجزایی تشکیل شده است؟
ساختار DNS Serverها
به زبان ساده...
وقتی یک درخواست Resolve شدن یک آدرس از مرورگر یک کاربر اینترنت صادر میشود، اولین سروری که آن را دریافت میکند، اگر بتواند آن را ترجمه کند، این کار را میکند وگرنه از دیگر سرورها برای ترجمه آن کمک میگیرد.
پس درخواست کاربر آنقدر بین سرورهای مختلف میچرخد تا بلاخره یک DNS Server بتواند جواب آن را پیدا کند.
اما به زبان فنیتر...
بطور کلی 4 سرور با وظایف مختلف هستند که در کنار یکدیگر درخواستهای مرتبط با DNS را رسیدگی میکنند:
- Recursice Resolver
- Root Nameservers
- TLD Nameservers
- Authorative Nameservers
وقتی یک DNS Resolver (مثلا سرور A) با درخواست یک کاربر روبرو میشود، آنگاه خود سرور A نیز همانند یک کاربر اینترنت شناخته میشود که به دنبال ترجمه کردن یک آدرس است و از دیگر سرورها (موارد دو، سه و چهار) درخواست ترجمه یک آدرس را دارد.
حال کمی دقیقتر به مساله نگاه کنیم. فرض کنید مطابق شکل بالا، از طریق یک لپ تاپ وب سایت example.com را در مرورگر خود جستجو کردهایم.
مراحل زیر برای ترجمه این آدرس طی میشود:
مطابق شکل:
- یک درخواست از سمت کامپیوتر ما به یک DNS Resolver ارسال میشود.
- DNS Resolver که حالا یک درخواست دریافت کرده، از Root Server در این باره پرس و جو میکند!
- Root Server در جواب پرس و جوی DNS Resolver، آدرس یک سرور Top Level Domain یا همان TLD Server را میدهد.
- حالا که آدرس TLD به DNS Resolver رسیده است، یک پرس و جو به سمت TLD ارسال میکند.
- TLD در جوابِ درخواست DNS Resolver، آدرس یک Authoritative Nameserver را میدهد.
- سپس DNS Resolver یک پرس و جو به سمت Authoritative Nameserver ارسال میکند.
- سپس آدرس IP وب سایت example.com از Authoritative Nameserver به DNS Resolver داده میشود.
- در مرحله آخر، IP بدست آمده برای کاربر ابتدایی ارسال میشود.
علت استفاده از ساختار سلسله مراتبی
اما شاید برای شما این سوال پیش آمده باشد که چرا در همان مرحله اول آدرس دریافت نمیشود؟
دلیل آن این است که دفترچه تلفن اینترنت بسیار بسیار بزرگ است!
برای مثال، فرض کنید وارد یک کتابخانه بزرگ شدهاید و به دنبال یک کتاب در حوزه امنیت شبکه میگردید.
یک روش برای پیدا کردن کتاب مورد نظر شما این است که تک تک کتابها را از قفسه بیرون بکشیم و بررسی کنیم که آیا کتاب مورد نظر شما هست یا خیر!
این کار در یک کتابخانه بزرگ ممکن است چند ماه و یا حتی چند سال طول بکشد!
اما روش دیگر این است که ابتدا از بین دسته بندیهای:
- پزشکی
- علوم انسانی
- فنی و مهندس
- ادبی
- دایره المعارف
- و..
به سراغ بخش فنی مهندسی بروید.
سپس از بین بخشهای:
- مکانیک
- عمران
- کامپیوتر
- صنایع
- پتروشیمی
- و...
به سراغ بخش کامپیوتر بروید. به همین ترتیب به سراغ قفسه کتابهای شبکه و سپس امنیت شبکه بروید و در نهایت کتاب خود را پیدا کنید!
این روش شاید تنها 30 دقیقه به طول انجامد که در مقایسه با روش قبل که چند سال طول میکشید بسیار بهینه تر است.
در رابطه با DNS Resolving نیز، به همین علت از سیستم سلسله مراتبی استفاده میشود. چرا برای پیدا کردن آدرس یک وب سایت مجبور به جستجوی همه آدرسها نباشیم.