آشنایی با پروتکل LDAP
پروتکل LDAP یا Lightweight Directory Access Protocol یك پروتكل مبتنی بر شبكه و X500 برای دسترسی به سرویسهای دایرکتوری روی شبكه است. این پروتكل دارای مستندات RFC2251 و RFC3377 است. LDAP در اواسط 1990 در دانشگاه میشیگان به عنوان یک پروژه علمی ایجاد شد و در اواخر 1990 توسط شرکت Netscape به شکل تجاری درآمد. فناوری LDAP متشکل از یک پروتکل شبکه و یک معماری استاندارد برای سازماندهی اطلاعات دایرکتوری است. به علت آنكه دایركتوریهای موجود روی شبكه یكتا نیستند و هر یك ممكن است براساس یك سكوی سیستمعاملی و ساختار متفاوت باشند، پروتكل LDAP امكان برقراری ارتباط و مدیریت آنها را فراهم میكند. در حقیقت LDAP ابزاری برای مدیریت اطلاعات شبكه، حسابهای كاربری، ماشینهای میزبان شبكه و منابع درون شبكه است. با استفاده از این استاندارد میتوان یك مدیریت متمركز و واحد را به كل پیكره شبكه اعمال نمود و با دسترسی به تمام سرویسهای درون شبكه (سختافزاری و نرمافزاری) امكان همسانسازی و پیكربندی آسان آنها را فراهم كرد.
در دهه ۸۰ میلادی ITU و ISO مجموعه ای از استانداردها را به نام X,۵۰۰ برای دایرکتوری سرویس ها ارائه دادند که هدف اولیه آن پاسخگویی به نیاز های تعریف شده برای ارسال و دریافت پیغام های الکترونیکی بین کاربرهای متفاوت و جستجو برای نام های شبکه بود. پروتکل سبک دسترسی به دایرکتوری یا LDAP بر اساس سرویس های اطلاعات دایرکتوری X.۵۰۰ طراحی شده، اما از مجموعه TCP/IP و طرح کدبندی X.۵۰۰ پروتکل DAP استفاده می کند که این باعث می شود تا بیشتر با اینترنت همخوان و مرتبط باشد. از زمان عرضه LDAP، این پروتکل به صورت یک استاندارد صنعتی شناخته شد، که تبادل اطلاعات بین سرویس های دایرکتوری و برنامه های کاربردی را امکان پذیر می نماید. استاندارد LDAP در دایرکتوری نام گذاری تمامی اشیاء ذر پایگاه داده اکتیودایرکتوری را تعیین می کند، بنابراین یک دایرکتوری می تواند با سرویس های دایرکتوری دیگر مانند Novell eDirectory و Exchange مایکروسافت یکپارچه شود.
دایرکتوری یک فهرست از اشیاء است که اطلاعات مربوط به آنها بر اساس یک ترکیب خاص مشخص شده اند. اطلاعات تلفن های یک شهر، مثال خوبی از یک دایرکتوری است که بر حسب نام افراد، طبقه بندی شده اند. در این تلفن دایرکتوری، اشیاء، افراد هستند که بر حسب نام، مرتب شده اند و اطلاعات مربوط به هر فر، آدرس و شماره تلفن آن فرد است.
در واقع دایرکتوری ها مانند پایگاه داده ها هستند با این تفاوت که دایرکتوری ها، برای منظور خاصی تعبیه شده اند:
بیشتر برای خوانده شدن طراحی شده اند، تا نوشتن و ایجاد تغییرات در آن ها.
یک نمای ثابت از اطلاعات را به نمایش می گذارند.
تغییرات در آن ها ساده است و معمولا تراکنش را پشتیبانی نمی کنند.
برای دسترسی به دایرکتوری از یک پروتکل شبکه استفاده می شود.
LDAP روش استانداردی برای دسترسی و به روز رسانی دایرکتوری های توزیع شده (distributed) را ارائه می دهد. پروتکل LDAP مجموعه ای از پروتکل ها و روش ها، برای دسترسی به اطلاعات دایرکتوری های توزیع شده می باشد. روش هایی که در LDAP در اختیار دارید، به شما این امکان را می دهد تا از اطلاعاتی که در درخت اطلاعات دایرکتوری (Information Tree Directory – DIT) قرار دارد استفاده کنید، که ممکن است طیف گسترده ای از اطلاعات در مورد انواع مختلف اشیاء مانند کابران، پرینترها، برنامه ها و دیگر منابع باشد. LDAP از طریق چهار مدل پایه توصیف شده است: اطلاعات، نام گذاری، عملکرد و امنیت. ترکیب این چهار مدل یک فهرست از لغات را معرفی می کند که ورودی ها و ویژگی های آن ها را توصیف می نماید و روش هایی را برای درخواست و دست کارس مقادیر خود فراهم می کند.
پروتکل LDAP با استفاده از Distinguished Name – DN به یک شیء اشاره می کند، که این شیء در ساختار اکتیو دایرکتوری توسط مسیرهای سلسله مرایبس ارجاع داده می شود، و از خود شیء شروع شده و شامل تمامی اشیاء والد به سمت ریشه دامنه می باشد.هر جزئی از DN یک DN مرتبط است که در کانتینز خود منحصر به فرد است. LDAP نام گذاری صفات را نیز به منظور شناسایی تمام بخش های نام یک شیء مشخص می کند . که به صورت زیر است:
تمامی ابزار های مدیریتی در اکتیو دایرکتوری برای مدیریت اشیاء به نام کامل DN احتیاج ندارند، بلکه در خیلی از موارد شما می توانید نام کوتاه حساب کاربری مثل Jsmith را مشخص کنید. در هرحال دانستن چگونگی ساختار DN حائز اهمیت است. برای مثال، شما ممکن است نیازمند بازیابی یک شیء باشید که به صورت تصادفی از پایگاه داده حذف شده است، البته در این شرایط دانستن چگونگی ساختار DN برای اجذای مطلوب بازیابی، حیاتی می باشد.
پروتکل LDAP ، یک پروتکل مبتنی بر پیام را، بین سرویس دهنده و سرویس گیرنده، برقرار می کند. پیام های متفاوتی بین سرویس دهنده و سرویس گیرنده ممکن است رد و بدل گردد. سرویس دهنده و سرویس گیرنده می توانند هر کدام با انتخاب روش های معمول، به شیوه دلخواه پیاده سازی شوند (این از مزایای LDAP است) و سرویس دهنده و سرویس گیرنده هر کدام می تواند از دو تکنیک جداگانه استفاده کنند بدون اینکه مشکلی در ارتباط با یکدیگر داشته باشند.
پروتکل LDAP یک پروتکل ارتباطی مشخص می کند که در آن، یک پیام از سرویس گیرنده، برای استفاده و دسترسی به اطلاعات یک دایرکتوری X.500 ، به سرویس دهنده ارسال می گردد. اکثر سرویس دهندگاه LDAP از نسخه 3.0 آن استفاده می کنند. دایرکتوری ها اغلب با یک مدل ارتباطی کاربر – کارگزار (Client – Server) قابل دسترسی هستند.
برنامه ای که در خواست خواندن، یا ایجاد تغییر در دایرکتوری را دارد، به طور مستقیم نمی تواند چنین کاری را انجام بدهد بلکه با استفاده از یک سرویس میانی قادر به انجام این کار خواهد بود به این صورت که یک API فراخوانی می شود و آن API، پیامی به یک فرآیند دیگر می فرستد و آن فرآیند با استفاده از TCP/IP به اطلاعات دسترسی خواهد داشت. پورت استاندارد برای ارتباط امن، پورت 636 و برای حالت عادی 389 است.
تلاش برای استفاده از XML در LDAP و استفاده در وب سرویس ها، منجر به زبانی به نام DSML شد که این زبان به استفاده کنندگان از دایرکتوری ها این امکان را می داد، که بدون نوشتن Interface برای کار با API های مربوطه، به دایرکتوری ها دسترسی داشته، بتوانند با آنها کار کنند.
بسیاری از شبکههای کامپیوتری تجاری در مقیاس بزرگ از سیستمهای دایرکتوری مبتنی بر سرورهای LDAP شامل Microsoft Active Directory و NetIQ eDirectory استفاده میکنند. این دایرکتوریها اطلاعات خصوصیات گوناگونی درباره کامپیوترها، چاپگرها و حسابهای کاربری را در خود نگهداری میکنند. سیستمهای ایمیل موجود در کسب و کارها و مراکز آموزشی نیز اغلب از سرورهای LDAP برای نگهداری اطلاعات تماس استفاده میکنند. اما شما سرورهای LDAP را در خانهها پیدا نخواهید کرد، زیرا شبکههای خانگی به اندازهای کوچک هستند و میتوان به صورت فیزیکی آنها را متمرکز کرد که دیگر نیازی به کمک LDAP ندارند.
با وجودی که فناوری LDAP در ضوابط تعریف شده برای اینترنت قدمتی نسبتا طولانی دارد، اما همچنان برای دانشجویان و متخصصان شبکه جذابیت و تازگی دارد.