X
تبلیغات
نماشا
رایتل


دوشنبه 25 شهریور 1387

DNS


سرویس دهندۀ نامهای حوزه(Domain Name System)

در بخش گذشته صحبت از آدرسهای IP وکلاس های آن شد،و لیکن آدرسهائی که در دنیای واقعی بعنوان آدرسهای اینترنت دیده میشود ، نمادی متفاوت و شبیه به www.ibm.com دارد.
آنچه مسلم است از آدرسهائی با قالب و ساختار بالا فقط بخاطر راحتی کاربرد و سادگی در بخاطر سپردن استفاده شده است و قطعاً در هنگام برقراری یک ارتباط و مبادلۀ داده ، این آدرسهای نمادین بایستی به معادلِ عددی آن(عدد 32 بیتی آدرس IP)ترجمه شود؛ به این آدرسهای نمادین ” نام حوزه“ گفته میشود

آدرسهای نمادین فوق میتواند با مقدار آدرسIP آن تعویض شود؛ یعنی آدرسهای زیر نیز در دنیای اینترنت معتبرند ولی به دلیل سختی در به خاطرسپردن و استفاده از آنها ، به ندرت استفاده میشود:

http://131.11.70.14

alavi@203.41.3.81

حال وقتی ماشینی تمایل دارد داده  هایی را به ماشین دیگری با آدرس :cs.rayan.ir بفرستد چگونه میتواند قبل از ارسال پیام ، آدرسIP معادل با این آدرس نمادین را پیدا کند در حالی که دهها میلیون از این گونه آدرسها روی اینترنت تعریف شده اند.

در سالهای نخستین راه اندازی شبکۀ ARPANet راه حلی بسیار ساده برای ترجمۀ  نامهای نمادین به آدرس IP  وجود داشت و آن تعریف تمام نامها و آدرسهای IP معادل ، در یک فایل بنام hosts.txt بود.در آن تاریخ تعداد ماشینهای میزبان زیاد نبود  و حجم چنین فایلی ، چندان بزرگ نمیشد. هر ماشین میزبان ساعت 24.00 هر شب این فایل را تازه سازی و بهروز میکرد تا هر گونه تغییر احتمالی و تعریف آدرسهای جدید اعمال شود. تابع مترجم نام روی هر ماشین میزبان برای ترجمۀ یک نام نمادین مستقیماً به این فایل مراجعه میکرد و معادل IP آن را استخراج کرده و به برنامۀ کاربردی برمیگرداند.

اما این کار امروزه با حجم میلیونی آدرسها در اینترنت امکان پذیر نیست.

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

DNُُS یا ”سیستم نامگذاری حوزه“ ، روشی سلسله مراتبی است که بانک اطلاعاتی مربوط به نامهای نمادین و معادلIP آنها را روی کل شبکۀ اینترنت توزیع کرده است و هر ایستگاه میتواند در یک روال منظم و سلسله مراتبی آدرس IP معادل با ایستگاه مورد نظرش را در نقطهای از شبکه پیدا کند؛ این سیستم در سال 1984 معرفی شد.

در DNS کلّ آدرسهای اینترنت درون بانکهای اطلاعاتی توزیع شده ای هستند که هیچ تمرکزی روی نقطهای خاصّ از شبکه ندارند. روش ترجمۀ نام بدین صورت است که وقتی یک برنامۀ کاربردی مجبور است برای برقراری یک ارتباط ، معادل آدزس IP از یک ماشین با نامی مثلcs.ucsb.edu را بدست بیاورد ، قبل از هر کاری یک تابع کتابخانهای(Library Function) را صدا میزند؛ به این تابع کتابخانهای ”تابع تحلیلگر نام“ (Name Resolver) گفته میشود. تابع تحلیلگر نام ، یک آدرس نمادین را که بایستی ترجمه شود ، بعنوان پارامتر ورودی پذیرفته و سپس یک بستۀ درخواست  به روش UDP (بعدا توضیح میدم) تولید کرده و به آدرس یک سرویس دهندۀ DNS ( به صورت پیش فرض مشخص میباشد) ارسال میکند. همۀ ماشینهای میزبان ، حداقل باید آدرس IP از یک سرویس دهندۀ DNS را در اختیار داشته باشند. این ”سرویس دهندۀ محلی“  پس از جستجو، آدرس IP معادل با یک نام نمادین را بر میگرداند. ”تابع تحلیلگر نام“ نیز آن آدرس IP را به برنامۀ کاربردی تحویل میدهد. با پیدا شدن آدرس IP برنامۀ کاربردی میتواند عملیات مورد نظرش را ادامه بدهد.

منابع:


اصول مهندسی اینترنت تالیف مهندس احسان ملکیان