نظرسنجی

شما از چه طریق با این سایت آشنا شدید؟






پر بيننده ترين مطالب

بررسی تخصصی

جست‌وجوی نام دامنه در اینترنت



تعداد بازدیدکنندگان 2968 بازدید نسخه چاپی

  وقتی می‌خواهید وارد سایتی شوید، باید آدرس وب سرور آن را بدانید. آدرس وب سرور با
http://www.webkaran.com/essay/IP.html IP مشخص می‌شود. اما به خاطر سپردن آدرس IP دشوار است.

می‌توان به جای IP از Domain Name(نام دامنه)ها استفاده كرد. برای هر IP یك Domain Name درنظر گرفته شده است. مثلا IP آدرس گوگل 66.249.91.103 است. كه شما برای دسترسی به گوگل می‌توانید از IP ذكر شده یا آدرس www.google.com استفاده كنید.

DNS (یا Domain Name System) یا «سیستم نام‌گذاری حوزه» روشی سلسله مراتبی است كه بانك اطلاعاتی مربوط به نام‌های نمادین و معادل IP آنها را روی كل شبكه اینترنت توزیع كرده است و هر ایستگاه می‌تواند در یك روال منظم و سلسله مراتبی آدرس IP معادل با ایستگاه مورد نظرش را در نقطه‌ای از شبكه پیدا كند.

این سیستم در سال 1984 معرفی شد. در DNS، كل آدرس‌های اینترنت درون بانك‌های اطلاعاتی توزیع شده‌ای هستند كه هیچ تمركزی روی نقطه‌ای خاص از شبكه ندارند.

روش ترجمه نام بدین صورت است كه وقتی یك برنامه كاربردی مجبور است برای برقراری یك ارتباط، معادل آدرس IP از یك ماشین با نامی مثل CS.ucsb.edu را بدست بیاورد، قبل از هر كاری یك تابع كتابخانه‌ای (Library Function) را صدا می‌زند، به این تابع كتابخانه‌ای «تابع تحلیلگر نام» (Name Resolver) گفته می‌شود.

تابع تحلیلگر نام، یك آدرس نمادین را كه بایستی ترجمه شود، به عنوان پارامتر ورودی پذیرفته و سپس یك بسته درخواست (Query Packet) به روش UDP تولید كرده و به آدرس یك سرویس دهنده DNS (كه به صورت پیش فرض مشخص می‌باشد) ارسال می‌كند. همه ماشین‌های میزبان، حداقل باید آدرس IP از یك سرویس دهنده DNS را در اختیار داشته باشند. این «سرویس دهنده محلی» پس از جست‌وجو، آدرس IP معادل با یك نام نمادین را برمی‌گرداند. «تابع تحلیلگر نام» نیز آن آدرس IP را به برنامه كاربردی تحویل می‌دهد با پیدا شدن آدرس IP، برنامه كاربردی می‌تواند عملیات مورد نظرش را ادامه بدهد.

حوزه (Zone)
برای تحلیل یك نام حوزه، سطوح از سمت راست به چپ تفكیك می‌شوند و در یك روند سلسله مراتبی، سرویس دهنده متناظر با آن سطح پیدا می‌شود. نام‌های حوزه به هفت منطقه عمومی و حدود صد و اندی منطقه كشوری تقسیم‌بندی شده است. حوزه بدین معناست كه شما با یك نگاه ساده به انتهای آدرس نمادین، می‌توانید ماهیت آن نام و سرویس دهنده متناظر با آن را حدس بزنید. یعنی اگر انتهای نام‌های حوزه متفاوت باشد منطقه جست‌وجو برای یافتن آدرس IP معادل نیز متفاوت خواهد بود.
هفت حوزه عمومی كه همه آنها سه حرفی هستند عبارت است از:

com. صاحب این نام جزو موسسات اقتصادی و تجاری به شمار می‌آید. www.sony.com

edu. صاحب این نام جزو موسسات علمی یا دانشگاهی به شمار می‌آید. www.sharif.edu
gov. این مجموعه از نام‌ها برای آژانس‌های دولتی آمریكا اختصاص داده شده است. www.whitehouse.gov
int. صاحب این نام یكی از سازمان‌های بین‌المللی (مثل یونسكو ، فائو ، ...) محسوب می‌شود. www.unicef.int
mil. صاحب این نام یكی از سازمان‌های نظامی دنیا به شمار می‌آید.
net. صاحب این نام جزو یكی از «ارائه دهندگان خدمات شبكه» به شمار می‌رود. www.pegah.net
org. صاحب این نام جزو یكی از سازمان‌های عام‌المنفعه و غیرانتفاعی محسوب می‌شوند. www.ieee.org
نام‌های حوزه بسیار زیادی در اینترنت تعریف شده‌اند كه هیچیك از حوزه‌های سه حرفی هفتگانه را در انتهای آنها نمی‌بینید. معمولا در انتهای این آدرس‌ها یك رشته دو حرفی وجود دارد كه شامل مخفف نام كشوری است كه آن آدرس و ماشین صاحب آن، در آن كشور واقع است.
هر حوزه می‌تواند به زیر حوزه‌های كوچك‌تری تقسیم شود. به عنوان مثال نام‌های مربوط به حوزه ژاپن با مخفف .jp به دو حوزه كوچك‌تر تقسیم می‌شود: ac.jp و co.jp كه اولی یك موسسه علمی و دانشگاهی و دومی یك موسسه بازرگانی یا تجاری را در ژاپن تعیین می‌نماید. یعنی محل جست‌وجو برای ترجمه یك نام متفاوت خواهد بود.
به عنوان مثال: Cs.keio.ac.jp
كشور: ژاپن
هویت: دانشگاهی
نام دانشگاه: Keio
نام دانشكده: كامپیوتر Computer science


Zoneها با دامنه‌ها (Domain) یكسان نبوده و یك Zone می‌تواند شامل ركوردهایی در رابطه با چندین دامنه باشد. مثلاً فرض كنید، دامنه www.microsoft.com دارای دو زیر دامنه با نام West ، East باشد. (West.microsoft.com , East.microsoft.com). مایكروسافت دارای دامنه اختصاصی msn.com بوده كه خود شامل یك زیر دامنه با نام mail.microsoft.com است.

روش‌های جست‌وجو در سرویس دهنده‌های نام
همانگونه كه اشاره شد اسامی نمادین در شبكه اینترنت كه خود در قالب حوزه‌ها و زیر حوزه‌ها سازماندهی شده‌اند در یك فایل متمركز ذخیره نمی‌شوند بلكه روی كل شبكه اینترنت توزیع شده‌اند، به همین دلیل برای ترجمه یك نام به آدرس IP ممكن است چندین مرحله «پرس‌وجو» صورت بگیرد تا یك آدرس پیدا شود. طبیعی است كه یك پرس‌وجو برای تبدیل یك نام حوزه همیشه موفقیت‌آمیز نباشد و ممكن است به پرس‌و‌جوهای بیشتری نیاز شود یا حتی ممكن است یك آدرس نمادین اشتباه باشد و هیچ معادل IP نداشته باشد. سه روش برای پرس‌وجوی نام در سرویس دهنده‌های نام وجود دارد:
پرس‌وجوی تكراری (Iterative Query)
پرس‌وجوی بازگشتی (Recursive Query)
پرس‌وجوی معكوس (Reverse Query) این سه روش را بررسی می‌كنیم.

پرس‌وجوی تكراری
در پرس‌وجوی تكراری قسمت اعظم تلاش برای تبدیل یك نام بر عهده سرویس دهنده محلی است؛ این DNS حداقل به آدرس ماشین Root، به عنوان نقطه شروع نیاز دارد.

وقتی یك تقاضای ترجمه آدرس به سرویس دهنده محلی ارسال می‌شود در صورتی كه قادر به ترجمه نام به معادل IP آن باشد، معادل آدرس IP نام مورد نظر را به تقاضا كننده برمی‌گرداند. (این حالت وقتی است كه سرویس دهنده محلی قبلاً آن نام را ترجمه و در یك فایل ذخیره كرده باشد.) در غیر این صورت سرویس دهنده محلی خودش یك تقاضا برای DNS سطح بالا ارسال می‌كند.

این سرویس دهنده، آدرس ماشینی را كه می‌تواند برای ترجمه نام مورد نظر مفید باشد، به سرویس دهنده محلی معرفی می‌كند؛ سرویس دهنده محلی مجدداً یك تقاضا به ماشین معرفی شده در مرحله قبل ارسال می‌كند.

در این حالت هم سرویس دهنده نام می‌تواند در صورت یافتن آدرس IP با آن نام حوزه، آن را ترجمه كند و یا آنكه آدرس سرویس دهنده سطح پایین‌تری را به او برگرداند. این روند ادامه می‌یابد تا DNS نهایی نام مورد نظر را به آدرس IP ترجمه نماید. برای درك بهتر از روند كار به شكل زیر دقت كنید. در این مثال فرض شده است كه یك برنامه كاربردی با فراخوانی «تابع تحلیلگر نام»، تقاضای ترجمه نام www.microsoft.com را می‌نماید.

مراحلی كه انجام می‌شود به شرح زیر است:
1) در مرحله اول برنامه كاربردی با فراخوانی «تابع تحلیل نام»، تقاضای ترجمه آدرس www.microsoft.com را برای سرویس دهنده محلی ارسال كرده و منتظر می‌ماند.
2) در مرحله دوم، سرویس دهنده محلی از سرویس دهنده Root (كه حوزه‌های متفاوت را تفكیك می‌كند) آدرس ماشین یك DNS كه متولی حوزه .com است را سؤال می‌كند.
3) در مرحله سوم، آدرس سرویس دهنده مربوط به حوزه .com بر می‌گردد.
4) در مرحله چهارم، سرویس دهنده محلی، از ماشین معرفی شده در مرحله قبلی، آدرس سرویس دهنده مربوط به حوزه Microsoft.com را سؤال می‌نماید.
5) در مرحله پنجم فهرستی از سرویس دهنده‌های DNS مربوط به Microsoft.com بر می‌گردد.
6) در مرحله ششم، سرویس دهنده محلی تقاضای ترجمه آدرس نمادین www.microsoft.com را از DNS متعلق به حوزه Microsoft.com می‌كند.
7) در مرحله هفتم، معادل آدرس IP نام www.microsoft.com برمی‌گردد.
8) در مرحله هشتم، آدرس IP خواسته شده در اختیار برنامه كاربردی قرار می‌گیرد.

پرس‌وجوی بازگشتی
در این روش هر گاه برنامه‌ای بخواهد آدرس IP معادل یك نام مثل cs.yale.edu را بدست آورد بگونه‌ای كه قبلاً اشاره شد، «تابع سیستمی تحلیل نام» را فراخوانی می‌كند.
این تابع یك ماشین را به عنوان سرویس دهنده محلی از قبل می‌شناسد و بنابراین تقاضای تبدیل نام را به روش UDP برای آن ارسال كرده و منتظر جواب می‌ماند (پاسخ نهایی DNS طبیعتاً باید یك آدرس 32 بیتی معادل آدرس IP یك ماشین باشد) دو حالت ممكن است اتفاق بیافتد: ممكن است در بانك اطلاعاتی مربوط به سرویس دهنده محلی، آدرس IP معادل با آن نام از قبل وجود داشته و بالطبع به سرعت مقدار معادل IP آن بر می‌گردد.

ممكن است در بانك اطلاعاتی سرویس دهنده محلی، معادل IP آن نام وجود نداشته باشد. مثلاً سرویس دهنده محلی در بانك اطلاعاتی خودش معادل IP نام cs.mit.edeu را نداشته و طبیعتاً نمی‌تواند آن را ترجمه كند.

در چنین حالتی سرویس دهنده محلی موظف است بدون آنكه به تقاضا دهنده خبر بدهد، خودش رأساً به سرویس دهنده سطح بالاتر تقاضای ترجمه آدرس بدهد.
در این حالت هم DNS سطح بالاتر به همین نحو ترجمه آدرس را پیگیری می‌كند یعنی اگر معادل IP آن نام را داشته باشد آن را برمی‌گرداند و در غیر اینصورت خودش از سرویس دهنده سطح پایین‌تر تقاضای ترجمه آن نام را می‌نماید و این مراحل تكرار می‌شود.
در روش پرس‌وجوی بازگشتی ماشین سرویس دهنده محلی این مراحل متوالی را نمی‌بیند و هیچ كاری جز ارسال تقاضای ترجمه یك آدرس بر عهده ندارد و پس از ارسال تقاضا برای سرویس دهنده سطح بالا منتظر خواهد ماند. باز هم تكرار می‌كنیم، روشی كه DNS برای ترجمه آدرس بكار می‌برد می‌تواند بدون اتصال (UDP) باشد كه این كار به سرعت عمل ترجمه آدرس می‌افزاید.
دقت كنید كه در روش پرس‌وجوی تكراری نسبت به روش پرس‌وجوی بازگشتی، حجم عمده عملیات بر عهده سرویس دهنده DNS محلی است و مدیریت خطاها و پیگیری روند كار ساده‌تر خواهد بود و روش منطقی‌تری برای بكارگیری در شبكه اینترنت محسوب می‌شود. روش پرس‌وجوی بازگشتی برای شبكه‌های كوچك كاربرد دارد. برای درك بیشتر این روش به شكل زیر دقت كنید.

پرس‌وجوی معكوس
فرض كنید حالتی به وجود بیاید كه یك سرویس دهنده DNS، آدرس IP یك ماشین را بداند ولی نام نمادین معادل با آن را نداند. به عنوان مثال DNS مایل است بداند كه چه نامی در شبكه اینترنت معادل با 195.13.42.7 می‌باشد.
در چنین حالتی مسئله كمی حادتر به نظر می‌رسد، چرا كه برای ترجمه نام‌های نمادین، چون این نام‌ها دارای حوزه و زیرحوزه هستند، تحلیل آدرس‌ها ساده است ولی ترجمه آدرس IP به معادل نام حوزه، از چنین روابطی تبعیت نمی‌كند؛ به عبارت بهتر هیچ ارتباط مستقیم و متناظری بین آدرس‌های IP و اسامی انتخاب شده در اینترنت وجود ندارد.

برای یافتن نام‌های متناظر با یك آدرس IP باید یك جست‌وجوی كامل و در عین حال وقت‌گیر انجام بشود. روش كار بدین صورت است كه سرویس دهنده محلی یك تقاضا برای DNS متناظر با شبكه‌ای كه مشخصه آن در آدرس IP، مشخص شده، ارسال می‌كند.

به عنوان مثال آدرس IP شبكه‌ای را 138.14.7.13 در نظر بگیرید، آدرس كلاس B و مشخصه آن 138.14.0.0 است. زمانی كه مؤسسه‌ای یك كلاس IP ثبت می‌دهد یك سرویس دهنده DNS، متناظر با شبكه خود ایجاد كرده و آن را نیز معرفی می‌كند.

سرویس دهنده محلی بایستی آدرس DNS متناظر با شبكه 138.14.0.0 را پیدا كرده و سپس برای آن یك تقاضا ارسال كند. DNS مربوط به این شبكه ، براساس زیر شبكه‌هایی كه دارد این سؤال را از طریق سرویس دهنده‌های متناظر با هر زیر شبكه پیگیری می‌كند. (چون هر زیر شبكه یك سرویس دهنده DNS مخصوص به خود دارد) نهایتاً یك نام نمادین حوزه معادل با آن آدرس IP بر خواهد گشت