۰
plusresetminus
دوشنبه ۲۶ مهر ۱۳۸۹ ساعت ۱۱:۱۱

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

بررسی تخصصی جست‌وجوی نام دامنه در اینترنت محمد كرامتي- دنياي كامپيوتر و ارتباطات وقتی می‌خواهید وارد سایتی شوید، باید آدرس وب سرور آن را بدانید. آدرس وب سرور با 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 بر خواهد گشت.
کد مطلب: 14871
نام شما
آدرس ايميل شما

مهمترين اقدام برای پيشگیری از تکرار امثال کوروش کمپانی؟
اصلاح قوانين
برخورد قاطع
اصلاح گمرکات
آزاد کردن بازار
آگاه سازی مردم
هيچکدام