آشنائی با پروتکل DNS
آشنائی با پروتکل DNS
DNS
از کلمات Domain Name System
اقتباس و يک پروتکل شناخته شده در عرصه شبکه های کامپيوتری خصوصا" اينترنت
است . از پروتکل فوق به منظور ترجمه اسامی کامپيوترهای ميزبان و Domain
به آدرس های IP استفاده می گردد. زمانی که شما
آدرس /http://www.yahoo.com را در مرورگر خود تايپ می نمائيد ، نام فوق به
يک آدرس 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
می نمايد ، استفاده می شود .مثلا" در صورتی که در مرورگر خود آدرسhttp://www.yahoo.com/را تايپ نمائيد ، يک
درخواست مبتنی بر 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 ريجستر شده نداشته و صرفا" ميزان آگاهی وی به يک سطح بالاتر
و يک سطح پائين تر از خود محدود می گردد .
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 را مشخص نموده تا امکان
برقراری ارتباط با آن فراهم گردد .