نویسندگی در بایت گیت

DNS چیست؟

همه ما با آدرس‌ها و دامنه‌های اینترنتی مثل www.google.com و ... آشنا هستیم. این عبارات کاربر پسند، در سطوح پایین تر شبکه کاربردی نداشته و همه ارتباطات از طریق آدرس IP سرور وبسایت مورد نظر انجام می‌شود. DNS در این میان، وظیفه دارد تا این عبارات ساده و قابل فهم (دامنه) را به آدرس IP ـشان تبدیل کند.

درواقع کار DNS بسیار شبیه به دفترچه تلفن هوشمند است که کار مطابقت نام دامنه‌ها با آدرس آی پی نظیر آن‌ها را انجام می‌دهد. البته این دفترچه تلفن کمی بزرگتر است 🙂

 

 

DNS چیست؟

DNS مخفف عبارت "Domain Name System" به معنای "سامانه نام دامنه" است. DNS همچنین طبق تصویب فرهنگستان فارسی "ساناد" نیز خوانده می‌شود.

دی ان اس سیستم جهانی است که از یک دیتابیس بسیار بسیار بزرگ به صورت توزیع شده تشکیل شده و وظیفه تطابق دادن آدرس دامنه‌ها (google.com) به آدرس IP آن‌ها را دارد. دلیل این تبدیل این است که در پروتکل TCP/IP که در ارتباطات اینترنت از آن استفاده می‌شود، برای برقراری ارتباط بین دو طرف به آدرس IP آن‌ها نیاز است. درواقع سامانه DNS بسیار شبیه به دفترچه تلفن هوشمند است که نام را به شماره تلفن تبدیل کرده و در مواقعی می‌توان شماره تلفن را به نام تبدیل کرد.

برای مثال، زمانی که به دامنه google.com می‌رویم، ما درواقع به آدرس IP سروری که سایت بر روی آن قرار دارد وصل می‌شویم. یکی از آدرس‌های آی پی گوگل ۲۱۶.۵۸.۲۱۰.۲۰۶ است. درواقع اگر به این آی پی به صورت مستقیم برویم، سایت گوگل را مشاهده خواهیم کرد. اما حفظ کردن کدام یک آسان تر است؟ دامنه یا آی پی؟ قاعدتا پاسخ این سوال نام دامنه است. حفظ کردن این نام‌ها بسیار آسان تر از آدرس‌های آی پی بوده و به اصطلاح User Friendly هستند.

هدف از پیدایش سرویس DNS هم همین است. ما آدرس دامنه را وارد می‌کنیم، مرورگر ما در پشت پرده با یکی از سرورهای DNS تنظیم شده یا پیشفرض ارتباط برقرار کرده و آدرس آی پی نظیر آن دامنه را دریافت می‌کند. پس از آن، مرورگر قادر خواهد بود تا به پورت ۸۰ (پیشفرض) آن آی پی وصل شده و صفحات وب را به کاربر نشان دهد.

 

DNS چگونه کار می‌کند؟

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

مرورگر، بازی‌ها و در کل هر برنامه کاربردی که برای برقراری ارتباط نام دامنه را دریافت می‌کند، از طریق توابع تحلیلگر نام (Name Resolver) ابتدا آن را به سرور DNS مشخص یا سرور DNS پیشفرض شرکت ارائه دهنده خدمات اینترنتی (ISP) می‌فرستد. در سمت سرور DNS دو امکان وجود دارد:

۱- آدرس IP نظیر آن دامنه در پایگاه داده آن سرور DNS وجود دارد.

۲- این آدرس آی پی در آن سرور DNS خاص وجود ندارد.

اگر مورد اول باشد، سرور DNS آدرس آی پی را به کاربر برمی‌گرداند ولی اگر آی پی نظیر آن وجود نداشته باشد، سرور DNS دیگری را مطلع کرده و آی پی را از آن جا درخواست می‌کند. به همین دلیل است که دیتابیس DNSها به صورت توزیع شده است. حال اگر آدرس آی پی پیدا شد، به برنامه کاربردی کاربر بر گردانده می‌شود ولی اگر معادل آن پیدا نشد، سرور DNS به کاربر اطلاع می‌دهد که آی پی نظیر آن ثبت نشده است.

حال برنامه آدرس آی پی را در اختیار داشته و می‌تواند به آن وصل شده و اقدام به تبادل داده کند. دقت کنید که آی پی خود کاربر از طریق هدرهایی پکت‌ها به سرور ارسال می‌شود بنابراین در راه برگشت مشکلی وجود نخواهد داشت.

بگذارید مثالی واقعی از پروسه انجام شدن این کار را بگوئیم:

قصد داریم به دامنه http://bytegate.ir وصل شویم. مرورگر تاحالا آدرس آی پی این دامنه را نشناخته و بنابراین در حافظه کش (Cache) خود ندارد. به همین دلیل به سرور DNS مشخص شده یا سرور DNS شرکت ISP وصل شده و از آن‌ها درخواست می‌کند تا آدرس آی پی دامنه bytegate.ir را بازگردانند.

حال در سمت سرور DNS اگر مقدار آی پی نظیر این دامنه وجود داشت بازگردانده می‌شود وگرنه از یک سرور دیگر پرسیده و مقدار دریافتی را به مرورگر کاربر ارسال می‌کند.

حال مرورگر آدرس آی پی دامنه را داشته و اقدام به ذخیره کردن آن می‌کند تا در اتصالات بعدی دوباره نیاز به درخواست از سرور DNS نداشته باشد. اگر دقت کنید ما به پروتکل HTTP وصل می‌شویم (این پرتکل در مرورگرها پیشفرض بوده و حتی اگر اقدام به تایپ کردن آن نکنید، مرورگر این پروتکل را انتخاب خواهد کرد) و پورت پیشفرض پروتکل HTTP مقدار ۸۰ است. پس مرورگر به آدرس آی پی دریافت شده با پورت ۸۰ وصل شده و درخواست صفحات وب را می‌کند.

حمایت مالی از سایت

مبلغ مورد نظر:
نام:
ایمیل:
دلیل حمایت:
* فیلدهای نام، ایمیل و دلیل حمایت اختیاری اند.
* پرداخت با کمک پورتال زرین پال و با کارت‌های عضو شتاب انجام می‌پذیرد.

دیدگاه ها بسته شده است.