LDAP

**Protokol Capaian Direktori Ringan ("Lightweight Directory Access Protocol-LDAP**) merupakan protokol applikasi bagi perlaksanaan menanya dan menyunting data bagi rangkaian perkhidmatan direktori bagi protokol Internet (IP).

Direktori merupakan set objek dengan sifat khusus diatur secara logik dalam struktur berhierarki. Contoh mudah adalah direktori telefon, yang terdiri daripada daftar nama (samaada orang atau organisasi) disusun menurut abjad, dengan setiap nama memiliki alamat dan nombor telefon berkait dengannya.

Pokok maklumat direktori sering membayangkan pelbagai sempadan politik, geografi, dan/atau organisasi, bergantung kepada model dipilih. Perlaksanaan LDAP hari ini cenderung menggunakan nama Sistem Nama Domain ("Domain Name System-DNS") bagi menstruktur aras tertinggi hierarki. Lebih dalam direktori mungkin kelihatan kemasukan mewakili orang, unit organisasi, pencetak, dokumen, kumpulan orang atau apa-apa yang mewakili kemasukan bentuk pokok (atau kemasukan berganda).

Versi terkini LDAP adalah Versi 3, yang ditegaskan dalam siri Trek Piwaian Mohon (RFC) Pasukan Petugas Kejuruteraan Internet ("Internet Engineering Task Force-IETF") sebagaimana diperincikan dalam RFC 4510.

## Asal dan pengaruh
Syarikat telekomunikasi memperkenalkan konsep perkhidmatan direktori kepada teknologi maklumat dan rangkaian komputer, kerana pemahaman mereka bagi keperluan direktori adalah jelas berkembang selepas 70 tahun menghasil dan mengurus direktori telefon. Kemuncak input ini adalah spesifikasi lengkap X.500, a suite of protocols produced by the International Telecommunication Union (ITU) in the 1980s. 

Perkhidmatan direktori X.500 secara tradisi dicapai melalui Protokol Capaian Direktori ("Directory Access Protocol-DAP)") X.500, yang memerlukan timbunan protokol Antara sambungan Sistem Terbuka ("Open Systems Interconnection-OSI"). LDAP pada asalnya bermaksud sebagai protokol pilihan lain ringan bagi mencapai perkhidmatan direktori X.500 melalui timbunan protokol TCP/IP yang lebih mudah (dan kini tersebar luas). Model capaian direktori ini dipinjam dari protokol DIXIE dan Perkhidmatan Bantuan Direktori ("Directory Assistance Service").

Pelayan direktori LDAP bebas kemudian mengekori, begitu juga pelayan direktori menyokong kedua-dua DAP dan LDAP. Yang beriku menjadi popular dalam enterprise, kerana LDAP menyingkir sebarang keperluan bagi melaksanakan jaringan OSI.  Kini, protokol direktori X.500 termasuk DAP juga boleh digunakan secara langsung melalui TCP/IP.

Protokol ini pada asalnya dicipta oleh Tim Howes dari Universiti Michigan, Steve Kille dari Isode Limited, dan Wengyik Yeong dari PSINet - Performance Systems International, sekitar 1993. Pembangunan lanjut datangnya dari Pasukan Petugas Kejuruteraan Internet.

Pada tahap kejuruteraan awalLDAP, ia dikenali sebagai *Lightweight Directory Browsing Protocol*, atau *LDBP*.  Ia dinamakan semula dengan tambahan skop protokol melebihi melayari direktori dan pencarian, untuk memasukkan fungsi kemas kini direktori. Ia diberikan nama *Ringan* kerana ia tidak sibuk rangkaian sebagaimana DAP sebelumnya dan dengan itu lebih mudah dilaksanakan melalui internet kerana penggunaan jalur lebarnya yang ringan.

LDAP telah mempengaruhi protokol Internet berikutnya, termasuk versi berikut X.500, "XML Enabled Directory" (XED), "Directory Service Markup Language" (DSML), "Service Provisioning Markup Language" (SPML), dan Protokol Lokasi Perkhidmatan ("Service Location Protocol-SLP").

## Terminologi
Terminologi LDAP yang boleh dijumpai seseorang agak kekok. Sesetengahdari ini adalah disebabkan salah faham, contoh lain adalah kerana sajarah asalnya, yang lain timbul apabila digunakan bersama perkhidmatan bukan-X.500 yang menggunakan terminologi berlainan. Sebagai contoh, "LDAP" kadang kala dirujuk kepada protokol, masa lain bagi protokol dan data.  "Direktori LDAP" mungkin data atau juga titik capaian. "atribut" mungkin jenis atribut, atau kandungan atribut dalam direktori, atau gambaran atribut (jenis atribut dengan *pilihan*).  Bind "tidak dikenali" dan "tidak disahkan" adalah kaedah Bind berbeza yang kedua-duanya menghasilkan keadaan tidak dikenali dan tidak disahkan, dengan itu kedua istilah digunakan bagi kedua varaisi.

## Rujukan

* ITU-T Rec. X.680, "Abstract Syntax Notation One (ASN.1) - Specification of Basic Notation", 1994
* Basic encoding rules (BER) - ITU-T Rec. X.690, "Specification of ASN.1 encoding rules: Basic, Canonical, and Distinguished Encoding Rules", 1994
* RFC 4346 - The TLS Protocol Version 1.1
* RFC 4422 - Simple Authentication and Security Layer (SASL)
* SASL mechanisms registered at IANA
* 

## Bacaan lanjut
* 
* 
* 
* 
* 
* 

## Pautan luar

* Devshed.com , Understanding LDAP, A simple, light introductory tutorial for LDAP.
* Skills-1st.co.uk, LDAP schema design
* Capitalhead.com, Troubleshooting LDAP SSL connection issues between Microsoft ILM/MIIS & Novell eDirectory 8.7.3
* Prasannatech.com, LDAP schema design - A Case Study

### Tatarajah
* Building Bekatul.info , Powerful Central Authentication
* Riverworth.com , LDAP Authentication (for Linux/Unix and Windows via Samba)
* TLDP.org, Linux LDAP howto
* Segetech.com, A comprehensive Linux LDAP Configuration Guide

### RFC
LDAP disebut dalam siri dokumen Mohon Komen:

Disebabkan jumlah yang besar, imej berikut membantu peralihan LDAP sejak ciptaan awalnya:

* RFC 4510 - LDAP: Technical Specification Road Map (Obsoletes: RFC 2251, RFC 2252, RFC 2253, RFC 2254, RFC 2255, RFC 2256, RFC 2829, RFC 2830, RFC 3377, RFC 3771)
* RFC 4511 - LDAP: The Protocol (Obsoletes RFC 2251, RFC 2830 & RFC 3771)
* RFC 4512 - LDAP: Directory Information Models (Obsoletes RFC 2251, RFC 2252, RFC 2256 & RFC 3674)
* RFC 4513 - LDAP: Authentication Methods and Security Mechanisms (Obsoletes RFC 2251, RFC 2829 & RFC 2830)
* RFC 4514 - LDAP: String Representation of Distinguished Names (Obsoletes RFC 2253)
* RFC 4515 - LDAP: String Representation of Search Filters (Obsoletes RFC 2254)
* RFC 4516 - LDAP: Uniform Resource Locator (Obsoletes RFC 2255)
* RFC 4517 - LDAP: Syntaxes and Matching Rules (Obsoletes RFC 2252 & RFC 2256, Updates RFC 3698) 
* RFC 4518 - LDAP: Internationalized String Preparation 
* RFC 4519 - LDAP: Schema for User Applications (Obsoletes RFC 2256, Updates RFC 2247, RFC 2798 & RFC 2377)

RFC berikut memperinci Amalan Kini terbaik:
* RFC 4520 (also BCP 64) - Internet Assigned Numbers Authority (IANA) Considerations for the Lightweight Directory Access Protocol (LDAP) (replaced RFC 3383)
* RFC 4521 (also BCP 118) - Considerations for Lightweight Directory Access Protocol (LDAP) Extensions

Yang berikut sebahagian daftar RFC menyebut tambahan LDAPv3 :
* RFC 2247 - Use of DNS domains in distinguished names (Updated by RFC 4519 & RFC 4524)
* RFC 2307 - Using LDAP as a Network Information Service
* RFC 2589 - LDAPv3: Dynamic Directory Services Extensions
* RFC 2649 - LDAPv3 Operational Signatures
* RFC 2696 - LDAP Simple Paged Result Control
* RFC 2798 - inetOrgPerson LDAP Object Class (Updated by RFC 3698, RFC 4519 & RFC 4524)
* RFC 2830 - LDAPv3: Extension for Transport Layer Security
* RFC 2849 - The LDAP Data Interchange Format (LDIF)
* RFC 2891 - Server Side Sorting of Search Results
* RFC 3045 - Storing Vendor Information in the LDAP root DSE
* RFC 3062 - LDAP Password Modify Extended Operation
* RFC 3296 - Named Subordinate References in LDAP Directories
* RFC 3671 - Collective Attributes in LDAP
* RFC 3672 - Subentries in LDAP
* RFC 3673 - LDAPv3: All Operational Attributes
* RFC 3687 - LDAP Component Matching Rules
* RFC 3698 - LDAP: Additional Matching Rules
* RFC 3829 - LDAP Authorization Identity Controls
* RFC 3866 - Language Tags and Ranges in LDAP
* RFC 3909 - LDAP Cancel Operation
* RFC 3928 - LDAP Client Update Protocol
* RFC 4370 - LDAP Proxied Authorization Control
* RFC 4373 - LBURP
* RFC 4403 - LDAP Schema for UDDI
* RFC 4522 - LDAP: Binary Encoding Option
* RFC 4523 - LDAP: X.509 Certificate Schema
* RFC 4524 - LDAP: COSINE Schema (replaces RFC 1274)
* RFC 4525 - LDAP: Modify-Increment Extension
* RFC 4526 - LDAP: Absolute True and False Filters
* RFC 4527 - LDAP: Read Entry Controls
* RFC 4528 - LDAP: Assertion Control
* RFC 4529 - LDAP: Requesting Attributes by Object Class
* RFC 4530 - LDAP: entryUUID
* RFC 4531 - LDAP Turn Operation
* RFC 4532 - LDAP Who am I? Operation
* RFC 4533 - LDAP Content Sync Operation
* RFC 4876 - Configuration Profile Schema for LDAP-Based Agents
* RFC 5020 - LDAP entryDN Operational Attribute

LDAPv2 ditetapkan dalam RFC berikut:
* RFC 1777 - Lightweight Directory Access Protocol (replaced RFC 1487)
* RFC 1778 - The String Representation of Standard Attribute Syntaxes (replaced RFC 1488)
* RFC 1779 - A String Representation of Distinguished Names (replaced RFC 1485)

LDAPv2 dialih kestatus sejarah oleh RFC berikut:
* RFC 3494 - Lightweight Directory Access Protocol version 2 (LDAPv2) to Historic Status