نحوه عملکرد DNS

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

DNS از کلمات Domain Name System اقتباس و  يک پروتکل شناخته شده در عرصه شبکه های کامپيوتری خصوصا" اينترنت است . از پروتکل فوق به منظور ترجمه  اسامی کامپيوترهای ميزبان و Domain به آدرس های IP استفاده می گردد. زمانی که شما آدرس www.srco.ir را در مرورگر خود تايپ می نمائيد ، نام فوق به يک آدرس IP و بر اساس يک درخواست خاص ( query )  که از جانب کامپيوتر شما صادر می شود ، ترجمه می گردد . 

تاريخچه DNS
DNS ، زمانی که اينترنت تا به اين اندازه گسترش پيدا نکرده بود و صرفا" در حد و اندازه يک شبکه کوچک بود ، استفاده می گرديد . در آن زمان ، اسامی کامپيوترهای ميزبان به صورت دستی در فايلی با نام HOSTS درج می گرديد . فايل فوق بر روی يک سرويس دهنده مرکزی قرار می گرفت . هر سايت و يا کامپيوتر که نيازمند ترجمه اسامی کامپيوترهای ميزبان بود ، می بايست از فايل فوق استفاده می نمود . همزمان با گسترش اينترنت و افزايش تعداد کامپيوترهای ميزبان ، حجم فايل فوق نيز افزايش و  امکان استفاده از آن با مشکل مواجه گرديد ( افزايش ترافيک شبکه ). با توجه به مسائل فوق ، در سال 1984 تکنولوژی DNS معرفی گرديد .

پروتکل DNS
DNS  ، يک "بانک اطلاعاتی توزيع شده " است  که بر روی ماشين های متعددی مستقر می شود ( مشابه ريشه های يک درخت که از ريشه اصلی انشعاب می شوند ) . امروزه اکثر شرکت ها و موسسات دارای يک سرويس دهنده DNS کوچک در سازمان خود می باشند تا اين اطمينان ايجاد گردد که کامپيوترها بدون بروز هيچگونه مشکلی ، يکديگر را پيدا می نمايند . در صورتی که از ويندوز 2000 و اکتيو دايرکتوری استفاده می نمائيد، قطعا" از DNS به منظور  ترجمه اسامی کامپيوترها به آدرس های IP ، استفاده می شود . شرکت مايکروسافت در ابتدا نسخه اختصاصی سرويس دهنده DNS  خود را با نام ( WINS ( Windows Internet Name Service  طراحی و پياده سازی نمود . سرويس دهنده فوق مبتنی بر تکنولوژی های قديمی بود و از پروتکل هائی استفاده می گرديد که هرگز دارای کارائی مشابه DNS نبودند .  بنابراين طبيعی بود که شرکت مايکروسافت از WINS فاصله گرفته و به سمت DNS حرکت کند . 
از پروتکل
DNS  در مواردی که کامپيوتر شما اقدام به ارسال يک درخواست مبتنی بر DNS برای يک سرويس دهنده نام به منظور يافتن آدرس Domain  می نمايد ، استفاده می شود .مثلا" در صورتی که در مرورگر خود آدرس www.srco.ir  را تايپ نمائيد ،  يک درخواست مبتنی بر DNS از کامپيوتر شما و به مقصد يک سرويس دهنده DNS صادر می شود . ماموريت درخواست ارسالی ، يافتن آدرس IP وب سايت سخاروش است .

پروتکل DNS و مدل مرجع OSI
پروتکل
DNS معمولا" از پروتکل UDP به منظور حمل داده استفاده می نمايد . پروتکل UDP نسبت به TCP دارای overhead کمتری می باشد. هر اندازه overhead يک پروتکل کمتر باشد ، سرعت آن بيشتر خواهد بود . در مواردی که حمل  داده با استفاده از پروتکل UDP با مشکل و يا بهتر بگوئيم خطاء مواجه گردد ، پروتکل DNS از پروتکل TCP به منظور حمل داده استفاده نموده تا اين اطمينان ايجاد گردد که داده بدرستی و بدون بروز خطاء به مقصد خواهد رسيد .

فرآيند ارسال يک درخواست DNS و دريافت پاسخ آن ، متناسب با نوع سيستم عامل نصب شده بر روی يک کامپيوتر است .برخی از سيستم های عامل اجازه  استفاده از پروتکل TCP برای DNS را نداده و صرفا"  می بايست از پروتکل UDP  به منظور حمل داده استفاده شود . بديهی است در چنين مواردی همواره اين احتمال وجود خواهد داشت که با خطاهائی مواجه شده و عملا" امکان ترجمه نام يک کامپيوتر و يا Domain به آدرس IP وجود نداشته باشد .
پروتکل
DNS از پورت 53 به منظور ارائه خدمات خود استفاده می نمايد . بنابراين  يک سرويس دهنده DNS به پورت 53 گوش داده و اين انتظار را خواهد داشت که هر سرويس گيرنده ای که تمايل به استفاده از سرويس فوق را دارد از پورت مشابه استفاده نمايد . در برخی موارد ممکن است مجبور شويم از پورت ديگری استفاده نمائيم . وضعيت فوق به سيستم عامل و سرويس دهنده DNS نصب شده بر روی يک کامپيوتر بستگی دارد.

ساختار سرويس دهندگان نام دامنه ها در اينترنت
امروزه بر روی اينترنت ميليون ها سايت با اسامی
Domain ثبت شده  وجود دارد . شايد اين سوال برای شما تاکنون مطرح شده باشد که اين اسامی چگونه سازماندهی می شوند ؟ ساختار DNS بگونه ای طراحی شده است که يک سرويس دهنده DNS ضرورتی به آگاهی از تمامی اسامی Domain ريجستر شده نداشته و صرفا" ميزان آگاهی وی به يک سطح بالاتر و يک سطح پائين تر  از خود محدود می گردد . شکل زير بخش های متفاوت ساختار سلسله مراتبی DNS را نشان می دهد :

internic ، مسئوليت کنترل دامنه های ريشه را برعهده داشته که شامل تمامی Domain های سطح بالا می باشد ( در شکل فوق به رنگ  آبی نشان داده شده است) . در بخش فوق تمامی سرويس دهندگان DNS  ريشه قرار داشته و آنان دارای آگاهی لازم در خصوص دامنه های موجود  در سطح پائين تر از خود می باشند ( مثلا" microsoft.com ) . سرويس دهندگان DNS ريشه مشخص خواهند کرد که کدام سرويس دهنده DNS در ارتباط با دامنه های microsoft.com و يا Cisco.com می باشد .
هر domain شامل يک Primary DNS  و يک  Secondary DNS می باشد . Primary DNS ، تمامی اطلاعات مرتبط با Domain خود را نگهداری می نمايد. Secondary DNS به منزله يک backup بوده و در مواردی که Primary DNS با مشکل مواجه می شود از آن استفاده می گردد . به فرآيندی که بر اساس آن يک سرويس دهنده Primary DNS اطلاعات خود را در سرويس دهنده Secondary DNS تکثير می نمايد ، Zone Transfer  گفته می شود .
امروزه صدها وب سايت وجود دارد که می توان با استفاده از آنان يک
Domain  را ثبت و يا اصطلاحا" ريجستر نمود . پس از ثبت يک Domain ، امکان مديريت آن در اختيار شما گذاشته شده و می توان رکوردهای منبع (RR ) را در آن تعريف نمود.  Support, www و Routers  ، نمونه هائی از رکوردهای منبع در ارتباط با دامنه Cisco.com می باشد. به منظور ايجاد Subdomain می توان از يک برنامه مديريتی DNS استفاده نمود . www و يا هر نوع رکورد منبع ديگری را  می توان با استفاده از اينترفيس فوق تعريف نمود . پس از اعمال تغييرات دلخواه خود در ارتباط با Domain ، محتويات فايل های خاصی که بر روی سرويس دهنده ذخيره شده اند  نيز تغيير نموده و در ادامه تغييرات فوق به ساير سرويس دهندگان تائيد شده اطلاع داده می شود . سرويس دهندگان فوق ، مسئوليت Domain شما را برعهده داشته و در ادامه تمامی اينترنت که به اين سرويس دهندگان DNS متصل می شوند از تغييرات ايجاد شده آگاه و قادر به برقراری ارتباط با هر يک از بخش های Domain  می گردند.
مثلا" در صورتی که قصد ارتباط با  Support.Cisco.com را داشته باشيد، کامپيوتر شما با سرويس دهنده DNS که مسئوليت مديريت دامنه های Com. را دارد ، ارتباط برقرار نموده و سرويس دهنده فوق اطلاعات لازم در خصوص دامنه Cisco.com را در اختيار قرار خواهد داد . در نهايت سرويس دهنده DNS مربوط به Cisco.com  ( سرويس دهنده فوق ، تمامی اطلاعات مرتبط با دامنه Cisco.com را در خود نگهداری می نمايد ) ، آدرس IP کامپيوتر مربوط به Support.Cisco.com را مشخص نموده تا امکان برقراری ارتباط با آن فراهم گردد .

نحوه ترجمه اسامی Domain توسط DNS
آيا تاکنون اين سوال برای شما مطرح شده است  که پس از تايپ نام يک سايت در مرورگر وب، آدرس IP  آن چگونه پيدا می شود؟ برای ارتباط با يک سايت ، می بايست قبل از هر چيز آدرس IP آن مشخص گردد . به منظور ترجمه  اسامی کامپيوترهای ميزبان و Domain به آدرس های IP از پروتکل DNS استفاده می گردد.

Queries و Resolution
يک سرويس گيرنده به منظور استفاده از
DNS و اخذ پاسخ لازم از دو روش متفاوت استفاده می نمايد :

  • در روش اول ، سرويس گيرنده با سرويس دهندگان نام ارتباط برقرار می نمايد . فرآيند فوق ماداميکه سرويس دهنده مجاز شامل اطلاعات مورد نياز پيدا نشود ، ادامه خواهد يافت ( روش  non Recursive query  ) .

  • در روش دوم ، ماموريت ترجمه نام به آدرس به DNS واگذار می شود . در اين روش سرويس گيرنده اقدام به ارسال درخواست خود  برای DNS نموده و DNS پس از انجام عملياتی خاص و يافتن آدرس IP سايت درخواستی ، آن را برای سرويس گيرنده ارسال می نمايد (روش  Recursive query  ) .

شکل زير نحوه انجام کار در روش دوم را نشان می دهد :

به منظور آشنائی با نحوه انجام عمليات فوق به بررسی يک نمونه مثال می پردازيم . زمانی که شما قصد مشاهده يک وب سايت نظير وب سايت شرکت سيسکو  (  www.cisco.com  ) را داشته باشيد ، پس از فعال نمودن مرورگر وب و تايپ آدرس   http://www.cisco.com  و يا www.cisco.com  ، پس از مدت زمان کوتاهی ! صفحه اصلی وب سايت در مرورگر شما نمايش داده می شود . برای يافتن آدرس IP وب سايت درخواستی مراحل زير دنبال می شود : 

  • مرحله اول : فعال نمودن مرورگر و درج آدرس www.cisco.com در بخش آدرس آن . در اين مقطع کامپيوتر شما دارای آگاهی لازم در خصوص آدرس IP وب سايت سيسکو نمی باشد. بنابراين يک درخواست DNS را برای سرويس دهنده DNS مربوط به مرکز ارائه دهنده سرويس های اينترنت ( ISP ) ارسال می نمايد .  حتما" اين سوال برای شما مطرح شده است که کامپيوتر به چه صورت از آدرس IP  سرويس دهنده DNS آگاهی می يابد تا درخواست خود را برای وی ارسال نمايد ؟  در صورتی که شما از طريق Dial-up به اينترنت متصل شده ايد ، اين موضوع با استفاده از تنظيمات انجام شده ( ايستا و پويا ) پروتکل TCP/IP مرتبط با آداپتور مجازی Dial-up انجام خواهد شد . در صورتی که دارای يک اتصال دائم به اينترنت و از طريق يک شبکه محلی می باشيد ، اين موضوع با استفاده از  تنظيمات انجام شده ( ايستا و پويا ) پروتکل TCP/IP مرتبط با آداپتور کارت شبکه انجام خواهد شد .

    مرحله دوم : سرويس دهنده DNS مرکز ارائه دهنده خدمات اينترنت ( ISP ) شما ، آدرس IP مربوط به سايت سيسکو را نمی داند و بدين دليل، آدرس سايت فوق را از يکی از سرويس دهندگان نام ريشه درخواست می نمايد .

  • مرحله سوم : سرويس دهنده DNS ريشه ، بانک اطلاعاتی خود را بررسی نموده و از سرويس دهنده DNS اوليه Cisco.com  آگاهی می يابد ( IP  : 198.133.219.25 ) . پس از آگاهی از آدرس IP  سرويس دهنده DNS مربوط به cisco.com ، پاسخ لازم برای سرويس دهنده ISP شما ارسال می گردد.

  • مرحله چهارم : در اين مرحله سرويس دهنده DNS مرکز ISP شما دانش لازم به منظور ارتباط با سرويس دهنده DNS سيسکو را پيدا نموده و پس از برقراری ارتباط از وی آدرس IP وب سايت سيسکو (  www.cisco.com ) را جويا می شود. بدين منظور سرويس دهنده شما يک درخواست Recursive را برای سرويس دهنده DNS مربوط به Cisco.com ارسال می نمايد.

  • مرحله پنجم : سرويس دهنده DNS سيسکو، بانک اطلاعاتی خود را بررسی نموده و از وجود رکورد www.cisco.com در بانک آگاه می گردد. رکورد فوق دارای يک آدرس IP معادل IP:198.133.219.25 است . در اين حالت خاص ، سرويس دهنده وب بر روی ماشين مشابهی است که سرويس دهنده DNS نصب شده است . در صورتی که سرويس دهنده وب و سرويس دهنده DNS بر روی يک ماشين مشابه نصب نشده باشند ، آدرس IP آنان متفاوت بوده و اين موضوع از طريق رکوردهای منبع موجود در بانک اطلاعاتی سرويس دهنده DNS مشخص می گردد .

  • مرحله ششم : سرويس دهنده DNS مربوط به ISP شما از آدرس IP مربوط به www.cisco.com آگاهی پيدا نموده و نتايج را برای کامپيوتر شما ارسال می نمايد .

  • مرحله هفتم : کامپيوتر شما در اين مقطع دارای آگاهی لازم در خصوص آدرس IP وب سايت سيسکو بوده و می تواند با آن ارتباط برقرار نمايد . بنابراين کامپيوتر شما يک درخواست http را مستقيما" برای سرويس دهنده وب سيسکو ارسال نموده و از وی درخواست يک صفحه وب را می نمايد  .

پشتیبانی