M.A.H.S.A
08-22-2011, 11:06 AM
http://parsidoc.ir/images/stories/doc/dns.jpg
DNS مسئولیت حل مشکل اسامی کامپیوترها (ترجمه نام به آدرس) در یک شبکه و مسائل مرتبط با برنامه های Winsock را بر عهده دارد. بمنظور شناخت برخی از مفاهیم کلیدی و اساسی DNS ، لازم است که سیستم فوق را با سیستم دیگر نامگذاری در شبکه های مایکروسافت(NetBIOS ) مقایسه نمائیم .
قبل از عرضه ویندوز ۲۰۰۰ تمامی شبکه های مایکروسافت از مدل NetBIOS برای نامگذاری ماشین ها و سرویس ها ی موجود بر روی شبکه استفاده می کردند. NetBIOS در سال ۱۹۸۳ به سفارش شرکت IBM طراحی گردید. پروتکل فوق در ابتدا بعنوان پروتکلی در سطح لایه " حمل " ایفای وظیفه می کرد.در ادامه مجموعه دستورات NetBIOS بعنوان یک اینترفیس مربوط به لایه Session نیز مطرح تا از این طریق امکان ارتباط با سایر پروتکل ها نیز فراهم گردد. NetBEUI مهمترین و رایج ترین نسخه پیاده سازی شده در این زمینه است . NetBIOS برای شیکه های کوچک محلی با یک سگمنت طراحی شده است . پروتکل فوق بصورت Broadcast Base است . سرویس گیرندگان NetBIOS می توانند سایر سرویس گیرندگان موجود در شبکه را از طریق ارسال پیامهای Broadcast بمنظور شناخت و آگاهی از آدرس سخت افزاری کامپیوترهای مقصد پیدا نمایند. شکل زیر نحوه عملکرد پروتکل فوق در یک شبکه و آگاهی از آدرس سخت افزاری یک کامپیوتر را نشان می دهد. کامپیوتر ds۲۰۰۰ قصد ارسال اطلاعات به کامپیوتری با نام Exeter را دارد. یک پیام Broadcast برای تمامی کامپیوترهای موجود در سگمنت ارسال خواهد شد. تمامی کامپیوترهای موجود در سگمنت مکلف به بررسی پیام می باشند. کامپیوتر Exeter پس از دریافت پیام ،آدرس MAC خود را برای کامپیوتر ds۲۰۰۰ ارسال می نماید.
همانگونه که اشاره گردید استفاده از پروتکل فوق برای برطرف مشکل اسامی ( ترجمه نام یک کامپیوتر به آدرس فیزیکی و سخت افزاری ) صرفا" برای شبکه های محلی با ابعاد کوچک توصیه شده و در شبکه های بزرگ نظیر شبکه های اترنت با ماهیت Broadcast Based با مشکلات عدیده ای مواجه خواهیم شد.در ادامه به برخی از این مشکلات اشاره شده است .
بموازات افزایش تعداد کامپیوترهای موجود در شبکه ترافیک انتشار بسته های اطلاعاتی بشدت افزایش خواهد یافت .
پروتکل های مبتنی بر NetBIOS ( نظیر NetBEUI) دارای مکانیزمهای لازم برای روتینگ نبوده و دستورالعمل های مربوط به روتینگ در مشخصه فریم بسته های اطلاعاتی NetBIOS تعریف نشده است .
در صورتیکه امکانی فراهم گردد که قابلیت روتینگ به پیامهای NetBIOS داده شود ( نظیر Overlay نمودن NetBIOS بر روی پروتکل دیگر با قابلیت روتینگ ، روترها بصورت پیش فرض بسته های NetBIOS را منتشر نخواهند کرد.
ماهیت BroadCast بودن پروتکل NetBIOS یکی از دو فاکتور مهم در رابطه با محدودیت های پروتکل فوق خصوصا" در شبکه های بزرگ است . فاکتور دوم ، ساختار در نظر گرفته شده برای نحوه نامگذاری است . ساختار نامگذاری در پروتکل فوق بصورت مسطح (Flat) است .
● Flat NetBios NameSpace
بمنظور شناخت و درک ملموس مشکل نامگذاری مسطح در NetBIOS لازم است که در ابتدا مثال هائی در این زمینه ذکر گردد. فرض کنید هر شخص در دنیا دارای یک نام بوده و صرفا" از طریق همان نام شناخته گردد. در چنین وضعیتی اداره راهنمائی و رانندگی اقدام به صدور گواهینمامه رانندگی می نماید. هر راننده دارای یک شماره سریال خواهد شد. در صورتیکه از اداره فوق سوالاتی نظیر سوالات ذیل مطرح گردد قطعا" پاسخگوئی به آنها بسادگی میسر نخواهد شد.
- چند نفر با نام احمد دارای گواهینامه هستند؟
- چند نفر با نام رضا دارای گواهینامه هستند؟
در چنین حالی اگر افسر اداره راهنمائی و رانندگی راننده ای را بخاطر تخلف متوقف نموده و از مرکز و بر اساس نام وی استعلام نماید که آیا " راننده ای با نام احمد قبلا" نیز مرتکب تخلف شده است یا خیر ؟" در صورتیکه از طرف مرکز به وی پاسخ مثبت داده شود افسر مربوطه هیچگونه اطمینانی نخواهد داشت که راننده در مقابل آن همان احمد متخلف است که قبلا" نیز تخلف داشته است .
یکی از روش های حل مشکل فوق، ایجاد سیستمی است که مسئولیت آن ارائه نام بصورت انحصاری و غیرتکراری برای تمامی افراد در سطح دنیا باشد. در چنین وضعیتی افسر اداره راهنمائی و رانندگی در برخورد با افراد متخلف دچار مشکل نشده و همواره این اطمینان وجود خواهد داشت که اسامی بصورت منحصر بفرد استفاده شده است . در چنین سیستمی چه افراد و یا سازمانهائی مسئله عدم تکرار اسامی را کنترل و این اطمینان را بوجود خواهند آورند که اسامی بصورت تکراری در سطح دنیا وجود نخواهد داشت؟. بهرحال ساختار سیستم نامگذاری می بایست بگونه ای باشد که این اطمینان را بوجود آورد که نام انتخاب شده قبلا" در اختیار دیگری قرار داده نشده است . در عمل پیاده سازی اینچنین سیستم هائی غیر ممکن است.مثال فوق محدودیت نامگذاری بصورت مسطح را نشان می دهد.
سیستم نامگذاری بر اساس NetBIOS بصورت مسطح بوده و این بدان معنی است که هر کامپیوتر بر روی شبکه می بایست دارای یک نام متمایز از دیگران باشد. در صورتیکه دو کامپیوتر موجود بر روی شبکه های مبتنی بر NetBIOS دارای اسامی یکسانی باشند پیامهای ارسالی از یک کامپیوتر به کامپیوتر دیگر که دارای چندین نمونه ( نام تکراری ) در شبکه است، می تواند باعث بروز مشکلات در شبکه و عدم رسیدن پیام ارسال شده به مقصد درست خود باشد.
● اینترفیس های NetBIOS و WinSock
DNS مسائل فوق را بسادگی برطرف نموده است . سیستم فوق از یک مدل سلسله مراتبی برای نامگذاری استفاده کرده است . قبل از پرداختن به نحوه عملکرد و جزئیات سیستم DNS لازم است در ابتدا با نحوه دستیابی برنامه ها به پروتکل های شبکه و خصوصا" نحوه ارتباط آنها با پروتکل TCP/IP آشنا شویم .
برنامه های با قابلیت اجراء بر روی شبکه هائی با سیستم های عامل مایکروسافت، با استفاده از دو روش متفاوت با پروتکل TCP/IP مرتبط می گردنند.
▪ اینترفیس سوکت های ویندوز (WinSock)
▪ اینترفیس NetBIOS
اینترفیس های فوق یکی از مسائل اساسی در نامگذاری و ترجمه اسامی در شبکه های مبتنی بر TCP/IP را به چالش می کشانند.برنامه های نوشته شده که از اینترفیس NetBIOS استفاده می نمایند از نام کامپیوتر مقصد بعنوان " نقطه آخر" برای ارتباطات استفاده می نمایند در چنین مواردی برنامه های NetBIOS صرفا" مراقبت های لازم را در خصوص نام کامپیوتر مقصد بمنظور ایجاد یک session انجام خواهند داد. در حالیکه پروتکل های TCP/IP )IP,TCP) هیچگونه آگاهی از اسامی کامپیوترهای NetBIOS نداشته و در تمامی موارد مراقبت های لازم را انجام نخواهند داد.
بمنظور حل مشکل فوق( برنامه هائی که از NetBIOS بکمک اینترفیس NetBIOS با پروتکل TCP/IP مرتبط خواهند شد) از اینترفیس netBT و یا NetBIOS over TCP/IP استفاده می نمایند. زمانیکه درخواستی برای دستیابی به یک منبع در شبکه از طریق یک برنامه با اینترفیس NetBIOS ارائه می گردد و به لایه Application می رسد از طریق اینترفیس NetBT با آن مرتبط خواهد شد.در این مرحله نام NetBIOS ترجمه و به یک IP تبدیل خواهد شد. زمانیکه نام NetBIOS کامپیوتر به یک آدرس فیزیکی ترجمه می گردد درخواست مربوطه می تواند لایه های زیرین پروتکل TCP/IP را طی تا وظایف محوله دنبال گردد. شکل زیر نحوه انجام عملیات فوق را نشان می دهد.
● اینترفیس Winsock
اغلب برنامه هائی که براساس پروتکل TCP/IP نوشته می گردنند، از اینترفیس Winsock استفاده می نمایند. این نوع برنامه ها نیازمند آگاهی از نام کامپیوتر مقصد برای ارتباط نبوده و با آگاهی از آدرس IP کامپیوتر مقصد قادر به ایجاد یک ارتباط خواهند بود.
کامپیوترها جهت کار با اعداد ( خصوصا" IP ) دارای مسائل و مشکلات بسیار ناچیزی می باشند.در صورتیکه انسان در این رابطه دارای مشکلات خاص خود است . قطعا" بخاطر سپردن اعداد بزرگ و طولانی برای هر شخص کار مشکلی خواهد بود. هر یک از ما طی روز به وب سایت های متعددی مراجعه و صرفا" با تایپ آدرس مربوطه که بصورت یک نام خاص است (www.test.com) از امکانات سایت مربوطه بهره مند می گردیم. آیا طی این نوع ملاقات ها ما نیازمند آگاهی از آدرس IP سایت مربوطه بوده ایم؟ بهرحال بخاطر سپردن اسامی کامپیوترها بمراتب راحت تر از بخاطر سپردن اعداد ( کد ) است . از آنجائیکه برنامه های Winsock نیازمند آگاهی از نام کامپیوتر و یا Host Name نمی باشند می توان با رعایت تمامی مسائل جانبی از روش فوق برای ترجمه اسامی استفاده کرد. فرآیند فوق را ترجمه اسامی (Host Name Resoulation) می گویند.
● موارد اختلاف بین NetBIOS و WinSock
برنامه های مبتنی بر NetBIOS می بایست قبل از ایجاد ارتباط با یک کامپیوتر، نام NetBIOS را به یک IP ترجمه نمایند.( قبل از ایجاد ارتباط نام NetBIOS به IP تبدیل خواهد شد.) در برنامه های مبتنی بر WinSock می توان از نام کامپیوتر (Host name) در مقابل IP استفاده کرد. قبل از عرضه ویندوز ۲۰۰۰ تمامی شبکه های کامپیوتری که توسط سیستم های عامل ویندوز پیاده سازی می شدند از NetBIOS استفاده می کردند. بهمین دلیل در گذشته زمان زیادی صرف ترجمه اسامی می گردید. ویندوز وابستگی به NetBIOS نداشته و در مقابل از سیستم DNS استفاده می نماید.
● DNS NameSpace
همانگونه که اشاره گردید DNS از یک ساختار سلسله مراتبی برای سیستم نامگذاری خود استفاده می نماید. با توجه به ماهیت سلسله مراتبی بودن ساختار فوق، چندین کامپیوتر می توانند دارای اسامی یکسان بر روی یک شبکه بوده و هیچگونه نگرانی از عدم ارسال پیام ها وجود نخواهد داشت. ویژگی فوق درست نقطه مخالف سیستم نامگذاری NetBIOS است . در مدل فوق قادر به انتخاب دو نام یکسان برای دو کامپیوتر موجود بر روی یک شبکه یکسان نخواهیم نبود.
بالاترین سطح در DNS با نام Root Domain نامیده شده و اغلب بصورت یک “.” و یا یک فضای خالی “” نشان داده می شود. بلافاصله پس از ریشه با اسامی موجود در دامنه بالاترین سطح (Top Level) برخورد خواهیم کرد. دامنه های .Com , .net , .org , .edu نمونه هائی از این نوع می باشند. سازمانهائی که تمایل به داشتن یک وب سایت بر روی اینترنت دارند، می بایست یک دامنه را که بعنوان عضوی از اسامی حوزه Top Level می باشد را برای خود اختیار نماید. هر یک از حوزه های سطح بالا دارای کاربردهای خاصی می باشند. مثلا" سازمان های اقتصادی در حوزه .com و موسسات آموزشی در حوزه .edu و ... domain خود را ثبت خواهند نمود.شکل زیر ساختار سلسله مراتبی DNS را نشان می دهد.
در هر سطح از ساختار سلسله مراتبی فوق می بایست اسامی با یکدیگر متفاوت باشد. مثلا" نمی توان دو حوزه .com و یا دو حوزه .net را تعریف و یا دو حوزه Microsoft.com در سطح دوم را داشته باشیم .استفاده از اسامی تکراری در سطوح متفاوت مجاز بوده و بهمین دلیل است که اغلب وب سایت ها دارای نام www می باشند.
حوزه های Top Level و Second level تنها بخش هائی از سیستم DNS می باشند که می بایست بصورت مرکزی مدیریت و کنترل گردنند. بمنظور ریجستر نمودن دامنه مورد نظر خود می بایست با سازمان و یا شرکتی که مسئولیت ریجستر نمودن را برعهده دارد ارتباط برقرار نموده و از آنها درخواست نمود که عملیات مربوط به ریجستر نمودن دامنه مورد نظر ما را انجام دهند. در گذشته تنها سازمانی که دارای مجوز لازم برای ریجستر نمودن حوزه های سطح دوم را در اختیار داشت شرکت NSI)Network Solutions Intcorporated) بود. امروزه امتیاز فوق صرفا" در اختیار شرکت فوق نبوده و شرکت های متعددی اقدام به ریجستر نمودن حوزه ها می نمایند.
● مشخصات دامنه و اسم Host
هر کامپیوتر در DNS بعنوان عضوی از یک دامنه در نظر گرفته می شود. بمنظور شناخت و ضرورت استفاده از ساختار سلسله مراتبی بهمراه DNS لازم است در ابتدا با FQDN آشنا شویم .
● معرفی FQDN)Fully Qualified Domain Names)
یک FQDN محل یک کامپیوتر خاص را در DNS مشخص خواهد نمود. با استفاده از FQDN می توان بسادگی محل کامپیوتر در دامنه مربوطه را مشخص و به آن دستیابی نمود. FQDN یک نام ترکیبی است که در آن نام ماشین (Host) و نام دامنه مربوطه قرار خواهد گرفت . مثلا" اگر شرکتی با نام TestCorp در حوزه سطح دوم دامنه خود را ثبت نماید (TestCorp.com) در صورتیکه سرویس دهنده وب بر روی TestCorp.com اجراء گردد می توان آن را www نامید و کاربران با استفاده از www.testCorp.com به آن دستیابی پیدا نمایند.
دقت داشته باشید که www از نام FQDN مثال فوق نشاندهنده یک شناسه خدماتی نبوده و صرفا" نام host مربوط به ماشین مربوطه را مشخص خواهد کرد. یک نام FQDN از دو عنصر اساسی تشکیل شده است :
۱) Label : شامل نام حوزه و یا نام یک host است .
۲) Dots : نقطه ها که باعت جداسازی بخش های متفاوت خواهد شد.
هر lable توسط نقطه از یکدیگر جدا خواهند شد. هر lable می تواند حداکثر دارای ۶۳ بایت باشد. دقت داشته باشید که طول ( اندازه ) هر lable بر حسب بایت مشخص شده است نه بر حسب طول رشته . علت این است که DNS در ویندوز ۲۰۰۰ از کاراکترهای UTF-۸ استفاده می نماید. بر خلاف کاراکترهای اسکی که قبلا" از آنان استفاده می گردید. بهرحال FQDN می بایست دارای طولی به اندازه حداکثر ۲۵۵ بایت باشد.
طراحی نام حوزه برای یک سازمان
قبل از پیاده سازی سیستم ( مدل ) DNS برای یک سازمان ، می بایست به نمونه سوالات ذیل بدرستی پاسخ داد:
- آیا سازمان مربوطه در حال حاضر برای ارتباط اینترانتی خود از DNS استفاده می نماید؟
- آیا سازمان مربوطه دارای یک سایت اینترنتی است ؟
- آیا سازمان مربوطه دارای یک حوزه( دامنه ) ثبت شده ( ریجستر شده ) است ؟
- آیا سازمان مربوطه از اسامی حوزه یکسان برای منابع مربوطه موجود بر روی اینترنت / اینترانت استفاده می نماید؟
● استفاده از نام یکسان دامنه برای منابع اینترنت و اینترانت
استفاده از اسامی یکسان برای نامگذاری دامنه بمنظور استفاده از منابع موجود داخلی و منابع اینترنتی در مرحله اول بسیار قابل توجه و جذاب خواهد بود. تمامی ماشین ها بعنوان عضو یک دامنه یکسان محسوب و کاربران نیاز به بخاطر سپردن دامنه های متفاوت بر اساس نوع منبع که ممکن است داخلی و یا خارجی باشد نخواهند داشت ..با توجه به وجود مزایای فوق، بکارگیری این روش می تواند باعث بروز برخی مشکلات نیز گردد. بمنظور حفاظت از ناحیه (Zone) های DNS از دستیابی غیر مجاز نمی بایست هیچگونه اطلاعاتی در رابطه با منابع داخلی بر روی سرویس دهنده DNS نگهداری نمود. بنابراین می بایست برای یک دامنه از دو Zone متفاوت استفاده نمود. یکی از Zone ها منابع داخلی را دنبال و Zone دیگر مسئولیت پاسخگوئی به منابعی است که بر روی اینترنت قرار دارند. عملیات فوق قطعا" حجم وظایف مدیریت سایت را افزایش خواهد داد.
● پیاده سازی نام یکسان برای منابع داخلی و خارجی
یکی دیگر از عملیاتی که می بایست در زمان پیاده سازی دامنه های یکسان برای منابع داخلی و خارجی مورد توجه قرار دارد Mirror نمودن منابع خارجی بصورت داخلی است . مثلا" فرض نمائید که Test.com نام انتخاب شده برای دستیابی به منابع داخلی ( اینترانت) و منابع خارجی ( اینترنت ) است.درچنین وضعیتی دارای سرویس دهنده وب برا یاینترانت باشیم که پرسنل سازمان از آن بمنظور دستیابی به اطلاعات اختصاصی و سایر اطلاعات داخلی سازمان استفاده می نمایند.در این مدل دارای سرویس دهندگانی خواهیم بود که بمنظور دستیابی به منابع اینترنت مورد استفاده قرار خواهند گرفت . ما می خواهیم از اسامی یکسان برای سرویس دهندگان استفاده نمائیم . در مدل فوق اگر درخواستی برای www.test.com صورت پذیرد مسئله به کامپیوتری ختم خواهد شد که قصد داریم برای کاربران اینترنت قابل دستیابی باشد. در چنین وضعیتی ما نمی خواهیم کاربران اینترنت قادر به دستیابی به اطلاعات شخصی و داخلی سازمان باشند. جهت حل مشکل فوق Mirror نمودن منابع اینترنت بصورت داخلی است و ایجاد یک zone در DNS برای دستیابی کاربران به منابع داخلی ضروری خواهد بود. زمانیکه کاربری درخواست www.test.com را صادر نمائید در ابتدا مسئله نام از طریق سرویس دهنده داخلی DNS برطرف خواهد شد که شامل zone داخلی مربوطه است . زمانی که یک کاربر اینترنت قصد دستیابی به www.test.com را داشته باشد درخواست وی به سرویس دهنده اینترنت DNS ارسال خواهدشد که در چنین حالتی آدرس IP سرویس دهنده خارجی DNS برگردانده خواهد شد.
● استفاده از اسامی متفاوت برای دامنه ها ی اینترنت و اینترانت
در صورتیکه سازمانی به اینترنت متصل و یا در حال برنامه ریزی جهت اتصال به اینترنت است می توان از دو نام متفاوت برای دستیابی به منابع اینترانتی و اینترنتی استفاده نمود. پیاده سازی مدل فوق بمراتب از مدل قبل ساده تر است . در مدل فوق نیازی به نگهداری Zone های متفاوت برای هر یک از آنها نبوده و هریک از آنها دارای یک نام مجزا و اختصاصی مربوط به خود خواهند بود. مثلا" می توان نام اینترنتی حوزه را Test.com و نام اینترانتی آن را TestCorp.com قرار داد.
برای نامگذاری هر یک از زیر دامنه ها می توان اسامی انتخابی را براساس نوع فعالیت و یا حوزه جفرافیائی انتخاب نمود.
● Zones of Authority
DNS دارای ساختاری است که از آن برای گروه بندی و دنبال نمودن ماشین مربوطه براساس نام host در شبکه استفاده خواهد شد. بمنظور فعال نمودن DNS در جهت تامین خواسته ای مورد نظر می بایست روشی جهت ذخیره نمودن اطلاعات در DNS وجود داشته باشد.اطلاعات واقعی در رابطه با دامنه ها در فایلی با نام Zone database ذخیره می گردد. این نوع فایل ها، فایل های فیزیکی بوده که بر روی سرویس دهنده DNS ذخیره خواهند شد. آدرس محل قرار گیری فایل های فوق %systemroot%system۳۲dns خواهد بود. در این بخش هدف بررسی Zone های استاندارد بوده که به دو نوع عمده تقسیم خواهند شد.
▪ Forward Lookup Zone
▪ Reverse Lookup Zone
در ادامه به تشریح عملکرد هر یک از Zone های فوق خواهیم پرداخت .
● Forward Lookup Zone
از این نوع Zone برای ایجاد مکانیزمی برای ترجمه اسامی host به آدرس IP برای سرویس گیرندگان DNS استفاده می گردد. Zone ها دارای اطلاعاتی هستند که بصورت رکوردهای خاص در بانک اطلاعاتی مربوطه ذخیره خواهند شد. این نوع رکوردها را " رکوردهای منبع Resource Record " می گویند. رکوردهای فوق اطلاعات مورد نیاز در رابطه با منابع قابل دسترس در هر Zone را مشخص خواهند کرد.
● تفاوت بین Domain و Zone
در ابتدا می بایست به این نکته اشاره نمود که Zone ها با دامنه ها (Domain) یکسان نبوده و یک Zone می تواند شامل رکوردهائی در رابطه با چندین دامنه باشد. مثلا" فرض کنید ، دامنه www.microsoft.com دارای دو زیر دامنه با نام East , West باشد. (West.microsoft.com , East.microsoft.com ). مایکروسافت دارای دامنه اختصاصی msn.com بوده که خود شامل دارای یک زیردامنه با نام mail.microsoft.com است
دامنه های همجوار و غیر همجوار در شکل فوق نشان داده شده است . دامنه های همجوار همدیگر را حس خواهند کرد ( برای یکدیگر ملموس خواهند بود ) . در رابطه با مثال فوق دامنه های موجود در Zone Microsoft.com همجوار و دامنه های Msn.com و Microsoft.com غیر همجوار هستند.
Zone ها مجوز واگذاری مسئولیت برای پشتیبانی منابع موجود در Zone را فراهم خواهند کرد. Zone ها روشی را بمنظور واگذاری مسئولیت پشتیبانی و نگهداری بانک اطلاعاتی مربوطه فراهم خواهند کرد. فرض کنید شرکتی با نام TACteam وجودداشته باشد. شرکت فوق از دامنه ای با نام tacteam.net استفاده می نماید. شرکت فوق دارای شعباتی در San Francisco, Dallas, and Boston است . شعبه اصلی در Dallas بوده که مدیران متعددی برای مدیریت شبکه در آن فعالیت می نمایند. شعبه San Francisco نیز دارای چندین مدیر ورزیده بمنظور نظارت بر سایت است . شعبه Boston دارای مدیریتی کارآمد برای مدیریت DNS نمی باشد. بنابراین همواره نگرانی های مربوط به واگذاری مسئولیت نگهداری بانک اطلاعاتی به یک فرد در Boston خواهیم بود. منابع موجود بر روی سایت Dallas در حوزه tacteam.net بوده و منابع موجود در San Francisco در سایت west.tacteam.net و منابع موجود در Boston در سایت east.tacteam.net نگهداری می گردنند. در چنین وضعیتی ما صرفا" دو Zone را برای مدیریت سه دامنه ایجاد خواهیم کرد. یک Zone برای tacteam.net که مسئولیت منابع مربوط به tacteam.net و east.tacteam.net را برعهده داشته و یک Zone دیگر برای west.tacteam.net که منابع موجود بر روی سایت San Francisco را برعهده خواهد گرفت . اسامی مورد نظر برای هر Zone به چه صورت می بایست انتخاب گردنند؟ هر Zone نام خود را از طریق ریشه و یا بالاترین سطح دامنه اقتباس خواهند شد. زمانیکه درخواستی برای یک منبع موجود بر روی دامنه west.tacteam.net برای DNS واصل گردد ( سرویس دهنده DNS مربوط به tacteam.net ) سرویس دهنده tacteam.net صرفا" شامل یک Zone نخواهد بود.در چنین وضعینی سرویس دهنده فوق دارای یک Delegation ( واگذاری مسئولیت ) بوده که به سرویس دهنده DNS مربوط به west.tacteam.net اشاره خواهد کرد. بنابراین درخواست مربوطه برای ترجمه اسامی به آدرس بدرستی به سرویس دهنده مربوطه هدایت تا مشکل برطرف گردد.
● Reverse Lookup Zones
Zoneها ی از نوع Forward امکان ترجمه نام یک کامپیوتر به یک IP را فراهم می نمایند..یک Reverse Lookup این امکان را به سرویس گیرندگان خواهد داد که عملیات مخالف عملیات گفته شده را انجام دهند: ترجمه یک آدرس IP به یک نام . مثلا" فرض کنید شما می دانید که آدرس IP مربوط به کامپیوتر مقصد ۱۹۲.۱۶۸.۱.۳ است اما علاقه مند هستیم که نام آن را نیز داشته باشیم . بمنظور پاسخگوئی به این نوع درخواست ها سیستم DNS از این نوع Zone ها استفاده می نماید. Zone های فوق بسادگی و راحتی Forward Zone ها رفتار نمی نمایند. مثلا" فرض کنید Forward Lookup Zone مشابه یک دفترچه تلفن باشد ایندکس این نوع دفترچه ها بر اساس نام اشخاص است . در صورتیکه قصد یافتن یک شماره تلفن را داشته باشید با حرکت بر روی حرف مربوطه و دنبال نمودن لیست که بترتیب حروف الفباء است قادر به یافتن نام شخص مورد نظر خواهید بود. اگر ما شماره تلفن فردی را بدانیم و قصد داشته باشیم از نام وی نیز آگاهی پیدا نمائیم چه نوع فرآیندی را می بایست دنبال نمود؟. از آنجائیکه دفترچه تلفن بر اساس نام ایندکس شده است تنها راه حرکت و جستجو در تمام شماره تلفن ها و یافتن نام مربوطه است .قطعا" روش فوق روش مناسبی نخواهد بود. بمنظور حل مشکل فوق در رابطه با یافتن نام در صورتیکه IP را داشته باشیم از یک دامنه جدید با نام in-addr.arpa استفاده می گردد. دامنه فوق اسامی مربوطه به دامنه ها را بر اساس شناسه شبکه (Network ID) ایندکس و باعث افزایش سرعت و کارآئی در بازیابی اطلاعات مورد نظر با توجه به نوع درخواست ها خواهد شد.
با استفاده از برنامه مدیریتی DNS می توان براحتی اقدام به ایجاد این نوع Zone ها نمود. مثلا" اگر کامپیوتری دارای آدرس ۱۹۲.۱۶۸.۱.۰ باشد یک آدرس معکوس ایجاد و Zone مربوطه بصورت زیر خواهد بود :
۱.۱۶۸.۱۹۲.in-addr.arpa.dns
منبع : آموزش فناوری اطلاعات
DNS مسئولیت حل مشکل اسامی کامپیوترها (ترجمه نام به آدرس) در یک شبکه و مسائل مرتبط با برنامه های Winsock را بر عهده دارد. بمنظور شناخت برخی از مفاهیم کلیدی و اساسی DNS ، لازم است که سیستم فوق را با سیستم دیگر نامگذاری در شبکه های مایکروسافت(NetBIOS ) مقایسه نمائیم .
قبل از عرضه ویندوز ۲۰۰۰ تمامی شبکه های مایکروسافت از مدل NetBIOS برای نامگذاری ماشین ها و سرویس ها ی موجود بر روی شبکه استفاده می کردند. NetBIOS در سال ۱۹۸۳ به سفارش شرکت IBM طراحی گردید. پروتکل فوق در ابتدا بعنوان پروتکلی در سطح لایه " حمل " ایفای وظیفه می کرد.در ادامه مجموعه دستورات NetBIOS بعنوان یک اینترفیس مربوط به لایه Session نیز مطرح تا از این طریق امکان ارتباط با سایر پروتکل ها نیز فراهم گردد. NetBEUI مهمترین و رایج ترین نسخه پیاده سازی شده در این زمینه است . NetBIOS برای شیکه های کوچک محلی با یک سگمنت طراحی شده است . پروتکل فوق بصورت Broadcast Base است . سرویس گیرندگان NetBIOS می توانند سایر سرویس گیرندگان موجود در شبکه را از طریق ارسال پیامهای Broadcast بمنظور شناخت و آگاهی از آدرس سخت افزاری کامپیوترهای مقصد پیدا نمایند. شکل زیر نحوه عملکرد پروتکل فوق در یک شبکه و آگاهی از آدرس سخت افزاری یک کامپیوتر را نشان می دهد. کامپیوتر ds۲۰۰۰ قصد ارسال اطلاعات به کامپیوتری با نام Exeter را دارد. یک پیام Broadcast برای تمامی کامپیوترهای موجود در سگمنت ارسال خواهد شد. تمامی کامپیوترهای موجود در سگمنت مکلف به بررسی پیام می باشند. کامپیوتر Exeter پس از دریافت پیام ،آدرس MAC خود را برای کامپیوتر ds۲۰۰۰ ارسال می نماید.
همانگونه که اشاره گردید استفاده از پروتکل فوق برای برطرف مشکل اسامی ( ترجمه نام یک کامپیوتر به آدرس فیزیکی و سخت افزاری ) صرفا" برای شبکه های محلی با ابعاد کوچک توصیه شده و در شبکه های بزرگ نظیر شبکه های اترنت با ماهیت Broadcast Based با مشکلات عدیده ای مواجه خواهیم شد.در ادامه به برخی از این مشکلات اشاره شده است .
بموازات افزایش تعداد کامپیوترهای موجود در شبکه ترافیک انتشار بسته های اطلاعاتی بشدت افزایش خواهد یافت .
پروتکل های مبتنی بر NetBIOS ( نظیر NetBEUI) دارای مکانیزمهای لازم برای روتینگ نبوده و دستورالعمل های مربوط به روتینگ در مشخصه فریم بسته های اطلاعاتی NetBIOS تعریف نشده است .
در صورتیکه امکانی فراهم گردد که قابلیت روتینگ به پیامهای NetBIOS داده شود ( نظیر Overlay نمودن NetBIOS بر روی پروتکل دیگر با قابلیت روتینگ ، روترها بصورت پیش فرض بسته های NetBIOS را منتشر نخواهند کرد.
ماهیت BroadCast بودن پروتکل NetBIOS یکی از دو فاکتور مهم در رابطه با محدودیت های پروتکل فوق خصوصا" در شبکه های بزرگ است . فاکتور دوم ، ساختار در نظر گرفته شده برای نحوه نامگذاری است . ساختار نامگذاری در پروتکل فوق بصورت مسطح (Flat) است .
● Flat NetBios NameSpace
بمنظور شناخت و درک ملموس مشکل نامگذاری مسطح در NetBIOS لازم است که در ابتدا مثال هائی در این زمینه ذکر گردد. فرض کنید هر شخص در دنیا دارای یک نام بوده و صرفا" از طریق همان نام شناخته گردد. در چنین وضعیتی اداره راهنمائی و رانندگی اقدام به صدور گواهینمامه رانندگی می نماید. هر راننده دارای یک شماره سریال خواهد شد. در صورتیکه از اداره فوق سوالاتی نظیر سوالات ذیل مطرح گردد قطعا" پاسخگوئی به آنها بسادگی میسر نخواهد شد.
- چند نفر با نام احمد دارای گواهینامه هستند؟
- چند نفر با نام رضا دارای گواهینامه هستند؟
در چنین حالی اگر افسر اداره راهنمائی و رانندگی راننده ای را بخاطر تخلف متوقف نموده و از مرکز و بر اساس نام وی استعلام نماید که آیا " راننده ای با نام احمد قبلا" نیز مرتکب تخلف شده است یا خیر ؟" در صورتیکه از طرف مرکز به وی پاسخ مثبت داده شود افسر مربوطه هیچگونه اطمینانی نخواهد داشت که راننده در مقابل آن همان احمد متخلف است که قبلا" نیز تخلف داشته است .
یکی از روش های حل مشکل فوق، ایجاد سیستمی است که مسئولیت آن ارائه نام بصورت انحصاری و غیرتکراری برای تمامی افراد در سطح دنیا باشد. در چنین وضعیتی افسر اداره راهنمائی و رانندگی در برخورد با افراد متخلف دچار مشکل نشده و همواره این اطمینان وجود خواهد داشت که اسامی بصورت منحصر بفرد استفاده شده است . در چنین سیستمی چه افراد و یا سازمانهائی مسئله عدم تکرار اسامی را کنترل و این اطمینان را بوجود خواهند آورند که اسامی بصورت تکراری در سطح دنیا وجود نخواهد داشت؟. بهرحال ساختار سیستم نامگذاری می بایست بگونه ای باشد که این اطمینان را بوجود آورد که نام انتخاب شده قبلا" در اختیار دیگری قرار داده نشده است . در عمل پیاده سازی اینچنین سیستم هائی غیر ممکن است.مثال فوق محدودیت نامگذاری بصورت مسطح را نشان می دهد.
سیستم نامگذاری بر اساس NetBIOS بصورت مسطح بوده و این بدان معنی است که هر کامپیوتر بر روی شبکه می بایست دارای یک نام متمایز از دیگران باشد. در صورتیکه دو کامپیوتر موجود بر روی شبکه های مبتنی بر NetBIOS دارای اسامی یکسانی باشند پیامهای ارسالی از یک کامپیوتر به کامپیوتر دیگر که دارای چندین نمونه ( نام تکراری ) در شبکه است، می تواند باعث بروز مشکلات در شبکه و عدم رسیدن پیام ارسال شده به مقصد درست خود باشد.
● اینترفیس های NetBIOS و WinSock
DNS مسائل فوق را بسادگی برطرف نموده است . سیستم فوق از یک مدل سلسله مراتبی برای نامگذاری استفاده کرده است . قبل از پرداختن به نحوه عملکرد و جزئیات سیستم DNS لازم است در ابتدا با نحوه دستیابی برنامه ها به پروتکل های شبکه و خصوصا" نحوه ارتباط آنها با پروتکل TCP/IP آشنا شویم .
برنامه های با قابلیت اجراء بر روی شبکه هائی با سیستم های عامل مایکروسافت، با استفاده از دو روش متفاوت با پروتکل TCP/IP مرتبط می گردنند.
▪ اینترفیس سوکت های ویندوز (WinSock)
▪ اینترفیس NetBIOS
اینترفیس های فوق یکی از مسائل اساسی در نامگذاری و ترجمه اسامی در شبکه های مبتنی بر TCP/IP را به چالش می کشانند.برنامه های نوشته شده که از اینترفیس NetBIOS استفاده می نمایند از نام کامپیوتر مقصد بعنوان " نقطه آخر" برای ارتباطات استفاده می نمایند در چنین مواردی برنامه های NetBIOS صرفا" مراقبت های لازم را در خصوص نام کامپیوتر مقصد بمنظور ایجاد یک session انجام خواهند داد. در حالیکه پروتکل های TCP/IP )IP,TCP) هیچگونه آگاهی از اسامی کامپیوترهای NetBIOS نداشته و در تمامی موارد مراقبت های لازم را انجام نخواهند داد.
بمنظور حل مشکل فوق( برنامه هائی که از NetBIOS بکمک اینترفیس NetBIOS با پروتکل TCP/IP مرتبط خواهند شد) از اینترفیس netBT و یا NetBIOS over TCP/IP استفاده می نمایند. زمانیکه درخواستی برای دستیابی به یک منبع در شبکه از طریق یک برنامه با اینترفیس NetBIOS ارائه می گردد و به لایه Application می رسد از طریق اینترفیس NetBT با آن مرتبط خواهد شد.در این مرحله نام NetBIOS ترجمه و به یک IP تبدیل خواهد شد. زمانیکه نام NetBIOS کامپیوتر به یک آدرس فیزیکی ترجمه می گردد درخواست مربوطه می تواند لایه های زیرین پروتکل TCP/IP را طی تا وظایف محوله دنبال گردد. شکل زیر نحوه انجام عملیات فوق را نشان می دهد.
● اینترفیس Winsock
اغلب برنامه هائی که براساس پروتکل TCP/IP نوشته می گردنند، از اینترفیس Winsock استفاده می نمایند. این نوع برنامه ها نیازمند آگاهی از نام کامپیوتر مقصد برای ارتباط نبوده و با آگاهی از آدرس IP کامپیوتر مقصد قادر به ایجاد یک ارتباط خواهند بود.
کامپیوترها جهت کار با اعداد ( خصوصا" IP ) دارای مسائل و مشکلات بسیار ناچیزی می باشند.در صورتیکه انسان در این رابطه دارای مشکلات خاص خود است . قطعا" بخاطر سپردن اعداد بزرگ و طولانی برای هر شخص کار مشکلی خواهد بود. هر یک از ما طی روز به وب سایت های متعددی مراجعه و صرفا" با تایپ آدرس مربوطه که بصورت یک نام خاص است (www.test.com) از امکانات سایت مربوطه بهره مند می گردیم. آیا طی این نوع ملاقات ها ما نیازمند آگاهی از آدرس IP سایت مربوطه بوده ایم؟ بهرحال بخاطر سپردن اسامی کامپیوترها بمراتب راحت تر از بخاطر سپردن اعداد ( کد ) است . از آنجائیکه برنامه های Winsock نیازمند آگاهی از نام کامپیوتر و یا Host Name نمی باشند می توان با رعایت تمامی مسائل جانبی از روش فوق برای ترجمه اسامی استفاده کرد. فرآیند فوق را ترجمه اسامی (Host Name Resoulation) می گویند.
● موارد اختلاف بین NetBIOS و WinSock
برنامه های مبتنی بر NetBIOS می بایست قبل از ایجاد ارتباط با یک کامپیوتر، نام NetBIOS را به یک IP ترجمه نمایند.( قبل از ایجاد ارتباط نام NetBIOS به IP تبدیل خواهد شد.) در برنامه های مبتنی بر WinSock می توان از نام کامپیوتر (Host name) در مقابل IP استفاده کرد. قبل از عرضه ویندوز ۲۰۰۰ تمامی شبکه های کامپیوتری که توسط سیستم های عامل ویندوز پیاده سازی می شدند از NetBIOS استفاده می کردند. بهمین دلیل در گذشته زمان زیادی صرف ترجمه اسامی می گردید. ویندوز وابستگی به NetBIOS نداشته و در مقابل از سیستم DNS استفاده می نماید.
● DNS NameSpace
همانگونه که اشاره گردید DNS از یک ساختار سلسله مراتبی برای سیستم نامگذاری خود استفاده می نماید. با توجه به ماهیت سلسله مراتبی بودن ساختار فوق، چندین کامپیوتر می توانند دارای اسامی یکسان بر روی یک شبکه بوده و هیچگونه نگرانی از عدم ارسال پیام ها وجود نخواهد داشت. ویژگی فوق درست نقطه مخالف سیستم نامگذاری NetBIOS است . در مدل فوق قادر به انتخاب دو نام یکسان برای دو کامپیوتر موجود بر روی یک شبکه یکسان نخواهیم نبود.
بالاترین سطح در DNS با نام Root Domain نامیده شده و اغلب بصورت یک “.” و یا یک فضای خالی “” نشان داده می شود. بلافاصله پس از ریشه با اسامی موجود در دامنه بالاترین سطح (Top Level) برخورد خواهیم کرد. دامنه های .Com , .net , .org , .edu نمونه هائی از این نوع می باشند. سازمانهائی که تمایل به داشتن یک وب سایت بر روی اینترنت دارند، می بایست یک دامنه را که بعنوان عضوی از اسامی حوزه Top Level می باشد را برای خود اختیار نماید. هر یک از حوزه های سطح بالا دارای کاربردهای خاصی می باشند. مثلا" سازمان های اقتصادی در حوزه .com و موسسات آموزشی در حوزه .edu و ... domain خود را ثبت خواهند نمود.شکل زیر ساختار سلسله مراتبی DNS را نشان می دهد.
در هر سطح از ساختار سلسله مراتبی فوق می بایست اسامی با یکدیگر متفاوت باشد. مثلا" نمی توان دو حوزه .com و یا دو حوزه .net را تعریف و یا دو حوزه Microsoft.com در سطح دوم را داشته باشیم .استفاده از اسامی تکراری در سطوح متفاوت مجاز بوده و بهمین دلیل است که اغلب وب سایت ها دارای نام www می باشند.
حوزه های Top Level و Second level تنها بخش هائی از سیستم DNS می باشند که می بایست بصورت مرکزی مدیریت و کنترل گردنند. بمنظور ریجستر نمودن دامنه مورد نظر خود می بایست با سازمان و یا شرکتی که مسئولیت ریجستر نمودن را برعهده دارد ارتباط برقرار نموده و از آنها درخواست نمود که عملیات مربوط به ریجستر نمودن دامنه مورد نظر ما را انجام دهند. در گذشته تنها سازمانی که دارای مجوز لازم برای ریجستر نمودن حوزه های سطح دوم را در اختیار داشت شرکت NSI)Network Solutions Intcorporated) بود. امروزه امتیاز فوق صرفا" در اختیار شرکت فوق نبوده و شرکت های متعددی اقدام به ریجستر نمودن حوزه ها می نمایند.
● مشخصات دامنه و اسم Host
هر کامپیوتر در DNS بعنوان عضوی از یک دامنه در نظر گرفته می شود. بمنظور شناخت و ضرورت استفاده از ساختار سلسله مراتبی بهمراه DNS لازم است در ابتدا با FQDN آشنا شویم .
● معرفی FQDN)Fully Qualified Domain Names)
یک FQDN محل یک کامپیوتر خاص را در DNS مشخص خواهد نمود. با استفاده از FQDN می توان بسادگی محل کامپیوتر در دامنه مربوطه را مشخص و به آن دستیابی نمود. FQDN یک نام ترکیبی است که در آن نام ماشین (Host) و نام دامنه مربوطه قرار خواهد گرفت . مثلا" اگر شرکتی با نام TestCorp در حوزه سطح دوم دامنه خود را ثبت نماید (TestCorp.com) در صورتیکه سرویس دهنده وب بر روی TestCorp.com اجراء گردد می توان آن را www نامید و کاربران با استفاده از www.testCorp.com به آن دستیابی پیدا نمایند.
دقت داشته باشید که www از نام FQDN مثال فوق نشاندهنده یک شناسه خدماتی نبوده و صرفا" نام host مربوط به ماشین مربوطه را مشخص خواهد کرد. یک نام FQDN از دو عنصر اساسی تشکیل شده است :
۱) Label : شامل نام حوزه و یا نام یک host است .
۲) Dots : نقطه ها که باعت جداسازی بخش های متفاوت خواهد شد.
هر lable توسط نقطه از یکدیگر جدا خواهند شد. هر lable می تواند حداکثر دارای ۶۳ بایت باشد. دقت داشته باشید که طول ( اندازه ) هر lable بر حسب بایت مشخص شده است نه بر حسب طول رشته . علت این است که DNS در ویندوز ۲۰۰۰ از کاراکترهای UTF-۸ استفاده می نماید. بر خلاف کاراکترهای اسکی که قبلا" از آنان استفاده می گردید. بهرحال FQDN می بایست دارای طولی به اندازه حداکثر ۲۵۵ بایت باشد.
طراحی نام حوزه برای یک سازمان
قبل از پیاده سازی سیستم ( مدل ) DNS برای یک سازمان ، می بایست به نمونه سوالات ذیل بدرستی پاسخ داد:
- آیا سازمان مربوطه در حال حاضر برای ارتباط اینترانتی خود از DNS استفاده می نماید؟
- آیا سازمان مربوطه دارای یک سایت اینترنتی است ؟
- آیا سازمان مربوطه دارای یک حوزه( دامنه ) ثبت شده ( ریجستر شده ) است ؟
- آیا سازمان مربوطه از اسامی حوزه یکسان برای منابع مربوطه موجود بر روی اینترنت / اینترانت استفاده می نماید؟
● استفاده از نام یکسان دامنه برای منابع اینترنت و اینترانت
استفاده از اسامی یکسان برای نامگذاری دامنه بمنظور استفاده از منابع موجود داخلی و منابع اینترنتی در مرحله اول بسیار قابل توجه و جذاب خواهد بود. تمامی ماشین ها بعنوان عضو یک دامنه یکسان محسوب و کاربران نیاز به بخاطر سپردن دامنه های متفاوت بر اساس نوع منبع که ممکن است داخلی و یا خارجی باشد نخواهند داشت ..با توجه به وجود مزایای فوق، بکارگیری این روش می تواند باعث بروز برخی مشکلات نیز گردد. بمنظور حفاظت از ناحیه (Zone) های DNS از دستیابی غیر مجاز نمی بایست هیچگونه اطلاعاتی در رابطه با منابع داخلی بر روی سرویس دهنده DNS نگهداری نمود. بنابراین می بایست برای یک دامنه از دو Zone متفاوت استفاده نمود. یکی از Zone ها منابع داخلی را دنبال و Zone دیگر مسئولیت پاسخگوئی به منابعی است که بر روی اینترنت قرار دارند. عملیات فوق قطعا" حجم وظایف مدیریت سایت را افزایش خواهد داد.
● پیاده سازی نام یکسان برای منابع داخلی و خارجی
یکی دیگر از عملیاتی که می بایست در زمان پیاده سازی دامنه های یکسان برای منابع داخلی و خارجی مورد توجه قرار دارد Mirror نمودن منابع خارجی بصورت داخلی است . مثلا" فرض نمائید که Test.com نام انتخاب شده برای دستیابی به منابع داخلی ( اینترانت) و منابع خارجی ( اینترنت ) است.درچنین وضعیتی دارای سرویس دهنده وب برا یاینترانت باشیم که پرسنل سازمان از آن بمنظور دستیابی به اطلاعات اختصاصی و سایر اطلاعات داخلی سازمان استفاده می نمایند.در این مدل دارای سرویس دهندگانی خواهیم بود که بمنظور دستیابی به منابع اینترنت مورد استفاده قرار خواهند گرفت . ما می خواهیم از اسامی یکسان برای سرویس دهندگان استفاده نمائیم . در مدل فوق اگر درخواستی برای www.test.com صورت پذیرد مسئله به کامپیوتری ختم خواهد شد که قصد داریم برای کاربران اینترنت قابل دستیابی باشد. در چنین وضعیتی ما نمی خواهیم کاربران اینترنت قادر به دستیابی به اطلاعات شخصی و داخلی سازمان باشند. جهت حل مشکل فوق Mirror نمودن منابع اینترنت بصورت داخلی است و ایجاد یک zone در DNS برای دستیابی کاربران به منابع داخلی ضروری خواهد بود. زمانیکه کاربری درخواست www.test.com را صادر نمائید در ابتدا مسئله نام از طریق سرویس دهنده داخلی DNS برطرف خواهد شد که شامل zone داخلی مربوطه است . زمانی که یک کاربر اینترنت قصد دستیابی به www.test.com را داشته باشد درخواست وی به سرویس دهنده اینترنت DNS ارسال خواهدشد که در چنین حالتی آدرس IP سرویس دهنده خارجی DNS برگردانده خواهد شد.
● استفاده از اسامی متفاوت برای دامنه ها ی اینترنت و اینترانت
در صورتیکه سازمانی به اینترنت متصل و یا در حال برنامه ریزی جهت اتصال به اینترنت است می توان از دو نام متفاوت برای دستیابی به منابع اینترانتی و اینترنتی استفاده نمود. پیاده سازی مدل فوق بمراتب از مدل قبل ساده تر است . در مدل فوق نیازی به نگهداری Zone های متفاوت برای هر یک از آنها نبوده و هریک از آنها دارای یک نام مجزا و اختصاصی مربوط به خود خواهند بود. مثلا" می توان نام اینترنتی حوزه را Test.com و نام اینترانتی آن را TestCorp.com قرار داد.
برای نامگذاری هر یک از زیر دامنه ها می توان اسامی انتخابی را براساس نوع فعالیت و یا حوزه جفرافیائی انتخاب نمود.
● Zones of Authority
DNS دارای ساختاری است که از آن برای گروه بندی و دنبال نمودن ماشین مربوطه براساس نام host در شبکه استفاده خواهد شد. بمنظور فعال نمودن DNS در جهت تامین خواسته ای مورد نظر می بایست روشی جهت ذخیره نمودن اطلاعات در DNS وجود داشته باشد.اطلاعات واقعی در رابطه با دامنه ها در فایلی با نام Zone database ذخیره می گردد. این نوع فایل ها، فایل های فیزیکی بوده که بر روی سرویس دهنده DNS ذخیره خواهند شد. آدرس محل قرار گیری فایل های فوق %systemroot%system۳۲dns خواهد بود. در این بخش هدف بررسی Zone های استاندارد بوده که به دو نوع عمده تقسیم خواهند شد.
▪ Forward Lookup Zone
▪ Reverse Lookup Zone
در ادامه به تشریح عملکرد هر یک از Zone های فوق خواهیم پرداخت .
● Forward Lookup Zone
از این نوع Zone برای ایجاد مکانیزمی برای ترجمه اسامی host به آدرس IP برای سرویس گیرندگان DNS استفاده می گردد. Zone ها دارای اطلاعاتی هستند که بصورت رکوردهای خاص در بانک اطلاعاتی مربوطه ذخیره خواهند شد. این نوع رکوردها را " رکوردهای منبع Resource Record " می گویند. رکوردهای فوق اطلاعات مورد نیاز در رابطه با منابع قابل دسترس در هر Zone را مشخص خواهند کرد.
● تفاوت بین Domain و Zone
در ابتدا می بایست به این نکته اشاره نمود که Zone ها با دامنه ها (Domain) یکسان نبوده و یک Zone می تواند شامل رکوردهائی در رابطه با چندین دامنه باشد. مثلا" فرض کنید ، دامنه www.microsoft.com دارای دو زیر دامنه با نام East , West باشد. (West.microsoft.com , East.microsoft.com ). مایکروسافت دارای دامنه اختصاصی msn.com بوده که خود شامل دارای یک زیردامنه با نام mail.microsoft.com است
دامنه های همجوار و غیر همجوار در شکل فوق نشان داده شده است . دامنه های همجوار همدیگر را حس خواهند کرد ( برای یکدیگر ملموس خواهند بود ) . در رابطه با مثال فوق دامنه های موجود در Zone Microsoft.com همجوار و دامنه های Msn.com و Microsoft.com غیر همجوار هستند.
Zone ها مجوز واگذاری مسئولیت برای پشتیبانی منابع موجود در Zone را فراهم خواهند کرد. Zone ها روشی را بمنظور واگذاری مسئولیت پشتیبانی و نگهداری بانک اطلاعاتی مربوطه فراهم خواهند کرد. فرض کنید شرکتی با نام TACteam وجودداشته باشد. شرکت فوق از دامنه ای با نام tacteam.net استفاده می نماید. شرکت فوق دارای شعباتی در San Francisco, Dallas, and Boston است . شعبه اصلی در Dallas بوده که مدیران متعددی برای مدیریت شبکه در آن فعالیت می نمایند. شعبه San Francisco نیز دارای چندین مدیر ورزیده بمنظور نظارت بر سایت است . شعبه Boston دارای مدیریتی کارآمد برای مدیریت DNS نمی باشد. بنابراین همواره نگرانی های مربوط به واگذاری مسئولیت نگهداری بانک اطلاعاتی به یک فرد در Boston خواهیم بود. منابع موجود بر روی سایت Dallas در حوزه tacteam.net بوده و منابع موجود در San Francisco در سایت west.tacteam.net و منابع موجود در Boston در سایت east.tacteam.net نگهداری می گردنند. در چنین وضعیتی ما صرفا" دو Zone را برای مدیریت سه دامنه ایجاد خواهیم کرد. یک Zone برای tacteam.net که مسئولیت منابع مربوط به tacteam.net و east.tacteam.net را برعهده داشته و یک Zone دیگر برای west.tacteam.net که منابع موجود بر روی سایت San Francisco را برعهده خواهد گرفت . اسامی مورد نظر برای هر Zone به چه صورت می بایست انتخاب گردنند؟ هر Zone نام خود را از طریق ریشه و یا بالاترین سطح دامنه اقتباس خواهند شد. زمانیکه درخواستی برای یک منبع موجود بر روی دامنه west.tacteam.net برای DNS واصل گردد ( سرویس دهنده DNS مربوط به tacteam.net ) سرویس دهنده tacteam.net صرفا" شامل یک Zone نخواهد بود.در چنین وضعینی سرویس دهنده فوق دارای یک Delegation ( واگذاری مسئولیت ) بوده که به سرویس دهنده DNS مربوط به west.tacteam.net اشاره خواهد کرد. بنابراین درخواست مربوطه برای ترجمه اسامی به آدرس بدرستی به سرویس دهنده مربوطه هدایت تا مشکل برطرف گردد.
● Reverse Lookup Zones
Zoneها ی از نوع Forward امکان ترجمه نام یک کامپیوتر به یک IP را فراهم می نمایند..یک Reverse Lookup این امکان را به سرویس گیرندگان خواهد داد که عملیات مخالف عملیات گفته شده را انجام دهند: ترجمه یک آدرس IP به یک نام . مثلا" فرض کنید شما می دانید که آدرس IP مربوط به کامپیوتر مقصد ۱۹۲.۱۶۸.۱.۳ است اما علاقه مند هستیم که نام آن را نیز داشته باشیم . بمنظور پاسخگوئی به این نوع درخواست ها سیستم DNS از این نوع Zone ها استفاده می نماید. Zone های فوق بسادگی و راحتی Forward Zone ها رفتار نمی نمایند. مثلا" فرض کنید Forward Lookup Zone مشابه یک دفترچه تلفن باشد ایندکس این نوع دفترچه ها بر اساس نام اشخاص است . در صورتیکه قصد یافتن یک شماره تلفن را داشته باشید با حرکت بر روی حرف مربوطه و دنبال نمودن لیست که بترتیب حروف الفباء است قادر به یافتن نام شخص مورد نظر خواهید بود. اگر ما شماره تلفن فردی را بدانیم و قصد داشته باشیم از نام وی نیز آگاهی پیدا نمائیم چه نوع فرآیندی را می بایست دنبال نمود؟. از آنجائیکه دفترچه تلفن بر اساس نام ایندکس شده است تنها راه حرکت و جستجو در تمام شماره تلفن ها و یافتن نام مربوطه است .قطعا" روش فوق روش مناسبی نخواهد بود. بمنظور حل مشکل فوق در رابطه با یافتن نام در صورتیکه IP را داشته باشیم از یک دامنه جدید با نام in-addr.arpa استفاده می گردد. دامنه فوق اسامی مربوطه به دامنه ها را بر اساس شناسه شبکه (Network ID) ایندکس و باعث افزایش سرعت و کارآئی در بازیابی اطلاعات مورد نظر با توجه به نوع درخواست ها خواهد شد.
با استفاده از برنامه مدیریتی DNS می توان براحتی اقدام به ایجاد این نوع Zone ها نمود. مثلا" اگر کامپیوتری دارای آدرس ۱۹۲.۱۶۸.۱.۰ باشد یک آدرس معکوس ایجاد و Zone مربوطه بصورت زیر خواهد بود :
۱.۱۶۸.۱۹۲.in-addr.arpa.dns
منبع : آموزش فناوری اطلاعات