واحد دانش و تکنولوژی تبیان زنجان
● 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) ايندکس و باعث افزايش سرعت و کارآئي در بازيابي اطلاعات مورد نظر با توجه به نوع درخواست ها خواهد شد.