در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

دایرکتوری سرویس چیست؟ بررسی مفهوم Directory Service به زبان ساده

در اینترنت برای نوشتن این موضوع که دایرکتوری سرویس چیست و از کجا مفهومی به نام Directory Service آمده است جستجو کردم اما جالب اینجاست که بیشتر از اینکه در مورد ماهیت اصلی این مفهوم توضیح داده شده باشد در خصوص کاربردهایش توضیح داده شده است. امروز برای اولین بار در توسینسو کاملترین و ساده ترین توضیح در خصوص دایرکتوری سرویس را به شما ارائه می کنیم و امیدوارم که مورد توجه شما قرار بگیرد .

فرض کنید که شما قرار است تعداد زیادی Object یا شیء را در یک پایگاه داده ذخیره سازی کنید ، چگونه اینکار را انجام می دهید ؟ آنها را در یک فایل متنی قرار می دهید ؟ یا در یک ساختار دیتابیس که قابلیت Query گرفته شدن و جستجو داشته باشد ؟ طبیعتا شما گزینه دوم را انتخاب می کنید . در دانشگاه درسی به نام ساختمان داده داشتید که در آن الگوریتم های جستجوی دودویی بیان شده بود . این نوع الگوریتم جستجو در اکثر پروتکل ها و استانداردهایی که در آن نیاز به ذخیره سازی تعداد زیادی Object وجود دارد استفاده می شود که یکی از آنها دایرکتوری سرویس ها هستند .

معنی دایرکتوری سرویس یا Directory Service چیست ؟ اگر بخواهیم بصورت فارسی ترجمه کنیم به معنی سرویس پوشه ها یا دایرکتوری هاست ! یعنی مثل ساختار پرونده های اداره ها و سازمان های ما قرار است در این پوشه ها اشیاء نگهداری و جستجو شوند . اگر نگهداری این اشیاء دارای ساختار منظم و مشخصی نباشد پرونده افراد و مستندات داخل آنها گم می شود یا به سختی پیدا می شود . بنابراین این دایرکتوری سرویس است که به شما کمک می کند دسترسی سریعتر به اشیاء خودتان داشته باشید و البته هر پرونده یا شیء در مجموعه شما یک آدرس منحصر به فرد برای خودش داشته باشد که براحتی بتواند به آن دسترسی داشته باشد .

دایرکتوری سرویس چیست؟

دایرکتوری سرویس چیست ؟

شما در شبکه ای که در آن کار می کنید با انواع و اقسام اشیاء سر و کار دارید ، اشیاء یا Object ها برای مثال در ساختار اکتیودایرکتوری مایکروسافتی شما به گروه ها (Groups( ، کاربرها (User) ، شماره تماس ها (Contacts) ، کامپیوترها (Computers) ، ساختارهای سازمانی یا Organizational Units و بسیاری دیگر از اشیاء تقسیم بندی می شوند . فرض کنید که این اشیاء همان پرونده های شما در سازمان هستند که باید در سریعترین زمان ممکن در دسترس باشند . دایرکتوری سرویس وظیفه ایجاد یک ساختار منظم سلسله مراتبی برای دسترسی ساده تر به این اشیاء را فراهم می کند. به زبان ساده Directory Service است که مثل یک ساختار درختی اشیاء را درون خودش جای می دهد .

اگر با ساختار DNS آشنایی دارید بد نیست بدانید که DNS هم به نوعی دایرکتوری سرویس است و تقریبا تا حد زیادی از همان مکانیزم جستجوی اشیائی که در سایر دایرکتوری سرویس ها استفاده می شود استفاده می کند با این تفاوت که به اشیاء در DNS رکورد گفته می شود. توجه کنید که اگر DNS ساختار دایرکتوری سرویسی نداشت و یک ساختار Flat و دیتابیس فاقد مکانیزم جستجوی شاخه ای نداشت ، شما برای باز کردن یک وب سایت ممکن بود ساعت ها منتظر بمانید .

توجه کنید که ضمن اینکه دایرکتوری سرویس ساختاری برای نگهداری اشیاء است در عین حال پایگاه داده آنها نیز محسوب می شود یعنی اشیاء درون ساختار شاخه شاخه Directory Service ذخیره می شوند . اما نکته مهم اینجاست که این ساختار از دید کاربر کاملا مخفی است ! یعنی کاربر وقتی درخواستی از منبعی برای دسترسی به اشیاء دارد هیچوقت درگیر پیچیدگی های دسترسی به این Object نمی شود .

Directory Service چیست

اصلا برای کاربر مهم نیست که توپولوژی شبکه شما یا پروتکل هایی که پس زمینه هستند چه هستند و به چه کاری می آیند ! برای مثال ممکن است شما برای لاگین به اکتیودایرکتوری که یک دایرکتوری سرویس است فقط نام کاربری m.nasiri را وارد کنید اما چیزی که در پس زمینه برای اکتیودایرکتوری برداشت می شود به شکل زیر است :

"CN=m.nasiri;OU=IT Department;OU=Support;DC=TOSINSO;DC=LOCAL”

ساختار نامگذاری که در بالا مشاهده می کنید چیزی است که در پس زمینه اکتیودایرکتوری یا همان دایرکتوری سرویس شما برای جستجو در نظر می گیرد و از دید شما مخفی است . به این ساختار نامگذاری که در دایرکتوری سرویس ها وجود دارد Distinguished Name یا DN گفته می شود که مسیر کامل دسترسی به یک Object  را تعریف می کند .

تفاوت استاندارد ، پروتکل و سرویس دایرکتوری در چیست ؟

ببینید یکی از مهمترین اشتباهاتی که در بحث دایرکتوری سرویس وجود دارد برداشت اشتباه از تاریخچه این سرویس است . دانشگاه MIT وظیفه طراحی برترین استانداردها در حوزه IT را بر عهده دارد . این دانشگاه در جاییکه همین درس های تئوری بی ارزش دانشگاهی اکادمیک در آن هم تدریس می شود آنها را به کار برده و الگوریتم های جدید طراحی می کند و آنها را تبدیل به استاندارد می کند . برای دایرکتوری سرویس ها نیز استانداردی به نام X.500 توسط این دانشگاه طراحی شد که به صورت بسیار جامع و کامل و البته کمی پیچیده مکانیزم طراحی دایرکتوری سرویس ها را در آن طراحی کرد .

بعد از طراحی استاندارد ، توسط برنامه نویس ها یا سایر متخصصان این حوزه ؛ استاندارد تبدیل به پروتکل می شود . استاندارد X.500 تبدیل به یک پروتکل دایرکتوری سرویس به نام LDAP شد . LDAP مخفف کلمه های Lightweight Directory Access Protocol یا پروتکل دسترسی به دایرکتوری سرویس است. دقت کنید که پروتکل های دیگری هم وجود دارند اما نکته اصلی اینجاست که همه این پروتکل ها برای دسترسی به یک دیتابیس به نام دایرکتوری سرویس طراحی شده اند و بنابراین هسته اصلی آنها یکپارچه است .

بعد از طراحی پروتکل ها ، این شرکت ها بودند که هر کدام سرویسی مبتی بر این پروتکل نوشتند و آن را به دنیا ارائه دادند ، برای مثال مایکروسافت سرویس Active Directory ، ناول سرویس Novell Directory Services و البته لینوکس سرویس OpenLDAP را برای دسترسی به این پایگاه داده ارائه دادند . به همین دلیل است که شما می توانید با زبانی تقریبا مشترک به شکل همان ساختار DN این سرویس ها را با هم ارتباط بدهید .

نویسنده : محمد نصیری

منبع : جزیره بانک های اطلاعاتی وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

4 نظر
myaghobi

ممنون از مطلب شما

یک نقد: در چند بخش از نوشته (در توضیحات و مفهوم)، Directory Service رو با DataBase مقایسه کردید. منجمله در موارد زیر و چند مورد دیگر:

'یعنی مثل ساختار پرونده های اداره ها و سازمان های ما قرار است در این پوشه ها اشیاء نگهداری و جستجو شوند'

یا 'به زبان ساده Directory Service است که مثل یک ساختار درختی اشیاء را درون خودش جای می دهد'

یا 'توجه کنید که ضمن اینکه دایرکتوری سرویس ساختاری برای نگهداری اشیاء است در عین حال پایگاه داده آنها نیز محسوب می شود یعنی اشیاء درون ساختار شاخه شاخه Directory Service ذخیره می شوند' 

توضیحات ارائه شده در مفهوم متعلق به مشی فایلینگ (File System Management) هستش، بنظرم به جهت شباهت، شما در مفهوم ساختار عملکردی Directory Service را با مشی فایلینگ (File System Managemet) اشتباه گرفتید

وظیفه Directory Service ارائه دایرکتوری ها، فایل ها و برخی مولفه های بیشتر(پرینتر، گروه ها، دستگاه ها و ...) در شبکه هستش، نه ذخیره مدیریت و سازماندهی منابع و اشیا

با تشکر

 

محمد نصیری

سلام و عرض ادب و احترام ، ببینید حرف شما تا حد زیادی درست هست اما شما میگید کار دایرکتوری سرویس ذخیره و مدیریت و سازماندهی منابع و اشیاء نیست ، خوب User چی هست از نظر دایرکتوری سرویس ؟ قطعا اسمش روش هست Object یا شیء هست ... پرینتر شیء هست ... کامپیوتر شیء هست ... هر کدام از اینها برای خودشون دارای Attributes هستند ... حالا من این حرف و این جمله رو متوجه نمیشم ::: ارائه کردن دایرکتوری ! تفاوتش با نگهداری ساختار دایرکتوری در چی هست ؟ واژه ارائه برای من گنگ هست ممنون میشم این مورد رو توضیح بدید

myaghobi

Directory Service یک سرویس ارائه (در دسترس قرار دادن) منابع (پوشه ها و فایل ها) در شبکه هستش که سعی شد مولفه ها و امکان های بیشتری بهش افزوده بشه، این مولفه ها چون متفاوت از هم بودند(مثل پرینتر و یوزرها و ..) همگی یکجا ‌Object نام گذاری شدن

نگه داری و مدیریت پوشه ها و فایل ها به عهده فایل سیستم هستش و نگه داری و مدیریت موارد سخت افزاری به عهده کرنل سیستم عامل، Directory Service از خود فایل سیستم و خود کرنل سیستم عامل استفاده میکنه! و ساختاری که داره ساختار و سازماندهی داخلی خودش جهت ارائه سرویس هست و قابل اعمال بر روی فایل ها و پوشه ها و موارد دیگه نیست

کلا Directory Service در لایه بالاتر از File System Managment هستش و نمیتونه کار فایل سیستم رو انجام بده

بدلیل تشابه بین عملکرد فایل سیستم و سازماندهی دایرکتوری سرویس بنظر کانسپت رو اشتباه متوجه شدید.

متن نوشته شده نیاز به تصحیح داره

محمد نصیری

نظر شما متین اما به نظرم نیازی به اصلاح نیست ! من دارم از دایرکتوری سرویس به عنوان یک دیتابیس با ساختاری قابل Query گرفتن صحبت می کنم که محتویاتش رکوردها یا Object ها هستند ... اگر فقط اینجا بحث نحوه ذخیره سازی هست که طبیعتا همه چیز در نهایت روی فایل سیستم نگهداری میشه روی هوا چیزی در سیستم عامل نگهداری نمیشه ولی قطعا تعریف درست هست ...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....