آشنائی با پروتکل DNS
DNS از کلمات Domain Name System اقتباس
و یک پروتکل
شناخته شده در عرصه شبکه های کامپیوتری خصوصا" اینترنت است
. از پروتکل فوق به منظور ترجمه اسامی کامپیوترهای میزبان و Domain به آدرس های IP
استفاده می گردد. زمانی که شما آدرس asm-it.blog.ir را در مرورگر خود تایپ می نمائید ، نام فوق به یک
آدرس IP و بر اساس یک درخواست خاص ( query
) که از جانب کامپیوتر شما صادر می شود، ترجمه می گردد . هر سایت و یا کامپیوتر که
نیازمند ترجمه اسامی کامپیوترهای میزبان بود ، می بایست از فایل فوق استفاده
می نمود . همزمان با گسترش اینترنت و افزایش تعداد کامپیوترهای میزبان ، حجم فایل
فوق نیز افزایش و امکان استفاده از آن با مشکل مواجه گردید ( افزایش ترافیک
شبکه ). با توجه به مسائل فوق ، در سال 1984 تکنولوژی
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 و دریافت پاسخ آن
، متناسب با نوع سیستم
عامل نصب شده بر روی یک کامپیوتر است .برخی از سیستم های عامل
اجازه استفاده از پروتکل
TCP برای DNS را نداده و
صرفا" می بایست از پروتکل UDP به منظور حمل
داده استفاده شود . بدیهی است در چنین مواردی همواره این احتمال وجود خواهد داشت که
با خطاهائی مواجه شده و عملا" امکان ترجمه نام یک کامپیوتر و یا
Domain به آدرس IP وجود
نداشته باشد .
ساختار
سرویس دهندگان
نام دامنه ها در اینترنت
internic
، مسئولیت کنترل
دامنه های ریشه را برعهده داشته که
شامل تمامی Domain های سطح بالا
می باشد ( در شکل فوق به رنگ آبی نشان داده شده است) . در بخش فوق تمامی
سرویس دهندگان
DNS ریشه قرار داشته و آنان دارای آگاهی
لازم در خصوص دامنه های موجود در سطح پائین تر از خود می باشند ( مثلا"
microsoft.com ) . سرویس دهندگان DNS
ریشه مشخص خواهند کرد که کدام سرویس دهنده DNS در ارتباط
با دامنه های microsoft.com و یا
Cisco.com می باشد .
امروزه صدها وب سایت وجود دارد که می توان با استفاده از آنان یک Domain
را ثبت و یا اصطلاحا" ریجستر نمود . پس از ثبت یک Domain
، امکان مدیریت آن در اختیار شما گذاشته شده و می توان رکوردهای منبع (RR
) را در آن تعریف نمود. Support, www و Routers
، نمونه هائی از رکوردهای منبع در ارتباط با دامنه Cisco.com
می باشد. به منظور ایجاد Subdomain می توان از یک برنامه
مدیریتی DNS استفاده نمود . www
و یا هر نوع رکورد منبع دیگری را می توان با استفاده از اینترفیس فوق تعریف
نمود . پس از اعمال تغییرات دلخواه خود در ارتباط با
Domain ، محتویات فایل های خاصی که بر روی سرویس دهنده ذخیره شده اند
نیز تغییر نموده و در ادامه تغییرات فوق به سایر سرویس دهندگان تائید شده اطلاع
داده می شود . سرویس دهندگان فوق ، مسئولیت Domain شما
را برعهده داشته و در ادامه تمامی اینترنت که به این سرویس دهندگان
DNS متصل می شوند از تغییرات ایجاد شده آگاه و قادر به
برقراری ارتباط با هر یک از بخش های Domain می
گردند. منبع: srco.ir
تاریخچه
DNS
DNS ، زمانی که اینترنت
تا به این اندازه گسترش پیدا نکرده بود و صرفا" در حد و اندازه یک شبکه کوچک بود ،
استفاده می گردید . در آن زمان ، اسامی کامپیوترهای میزبان به صورت دستی در فایلی با نام
HOSTS درج می گردید . فایل فوق بر روی یک سرویس دهنده مرکزی قرار می گرفت.
DNS ، یک
"بانک اطلاعاتی توزیع شده " است
که بر روی ماشین های متعددی مستقر می شود ( مشابه ریشه های یک درخت که از ریشه اصلی انشعاب می شوند). امروزه اکثر شرکت ها و موسسات دارای یک سرویس دهنده
DNS کوچک در سازمان خود می باشند تا این اطمینان ایجاد گردد که کامپیوترها
بدون بروز هیچگونه مشکلی، یکدیگر را پیدا می نمایند .
پروتکل DNS معمولا" از پروتکل UDP به منظور
حمل داده استفاده می نماید .
پروتکل UDP نسبت به TCP
دارای overhead کمتری می باشد. هر
اندازه overhead یک پروتکل کمتر باشد ، سرعت آن بیشتر خواهد
بود . در مواردی که حمل داده با استفاده از پروتکل
UDP با مشکل و یا بهتر بگوئیم خطاء مواجه گردد ، پروتکل
DNS از پروتکل TCP به منظور
حمل داده استفاده نموده تا این اطمینان ایجاد گردد که داده بدرستی و بدون بروز خطاء
به مقصد خواهد رسید .
پروتکل
DNS از پورت 53 به منظور ارائه
خدمات خود استفاده می نماید
. بنابراین یک سرویس دهنده DNS به پورت 53 گوش
داده و این انتظار را خواهد داشت که هر سرویس گیرنده ای که تمایل به استفاده از
سرویس فوق را دارد از پورت مشابه استفاده نماید .
در برخی موارد ممکن است مجبور شویم از پورت دیگری استفاده نمائیم . وضعیت فوق به
سیستم عامل و سرویس دهنده DNS نصب شده بر روی یک
کامپیوتر بستگی دارد.
امروزه بر روی اینترنت میلیون ها سایت با اسامی
Domain ثبت شده وجود دارد . شاید این سوال برای
شما تاکنون مطرح شده باشد که این اسامی چگونه سازماندهی می شوند ؟ ساختار
DNS بگونه ای طراحی شده است که یک سرویس دهنده
DNS ضرورتی به آگاهی از تمامی اسامی
Domain ریجستر شده نداشته و صرفا" میزان آگاهی وی به یک سطح بالاتر و یک سطح
پائین تر از خود محدود می گردد . شکل زیر بخش های متفاوت
ساختار سلسله مراتبی DNS
را نشان می دهد :
هر
domain شامل یک Primary DNS و
یک
Secondary DNS می باشد . Primary DNS ، تمامی اطلاعات مرتبط با Domain
خود را نگهداری می نماید. Secondary DNS به منزله یک backup
بوده و در مواردی که Primary DNS با مشکل مواجه می شود
از آن استفاده می گردد . به فرآیندی که بر اساس آن یک
سرویس دهنده Primary DNS اطلاعات خود را در سرویس دهنده Secondary DNS تکثیر می
نماید ، Zone Transfer گفته می شود .
مثلا" در صورتی که قصد ارتباط با Support.Cisco.com
را داشته باشید، کامپیوتر شما با سرویس دهنده DNS که
مسئولیت مدیریت دامنه های Com. را دارد ، ارتباط برقرار
نموده و سرویس دهنده فوق اطلاعات لازم در خصوص دامنه Cisco.com
را در اختیار قرار خواهد داد . در نهایت سرویس دهنده DNS
مربوط به Cisco.com ( سرویس دهنده فوق ، تمامی
اطلاعات مرتبط با دامنه Cisco.com را در خود نگهداری می
نماید ) ، آدرس IP کامپیوتر مربوط به
Support.Cisco.com را مشخص نموده تا امکان برقراری ارتباط با آن فراهم گردد
.