# LDAP
 veya kısaca LDAP (Türkçe: "Basit İndeks Erişim Protokolü") TCP/IP üzerinde çalışan indeks servislerini sorgulama ve değiştirme amacıyla kullanılan uygulama katmanı protokolü.
Bu protokol, gibi indeks sunucuları tarafından kullanılmaktadır.


## Tanımı.
LDAP terimi şu hizmetleri kapsamaktadır:
  - TCP/IP protokolü üzerinde çalışan, istemci-sunucu modeline dayanan dağıtık bir "indeks hizmet protokolü".
  - "Lightweight Directory Access Protocol " indeks hizmetlerine ("") erişebilmek için kullanılan, standart, genişletilebilir bir Internet protokolü.
  - Bir indeksi kullanmakta rehberlik edecek "dört model" içerir:
   - Bir indeks (directory) içine verinin nasıl ekleneceğini tanımlayan "bilgi modeli" ("")
   - İndeks içinde bulunan verinin nasıl referanslandırılacağını ve düzenleneceğini belirleyen "adlandırma modeli" ("")
   - İndeks verisi ile ne yapılacağını belirleyen "fonksiyonel model" ("")
   - İndeks verilerini yetkisiz kullanıcılardan koruyacak "emniyet modeli" ("")
  - "LDAP Data Interchange Format (LDIF)"  indeks verilerini değiş-tokuş etmek için standart metin şekli.
  - "LDAP sunucu yazılımı"  Ticari veya açık-kaynaklı implemantasyonlar ()
  - LDAP sunucularla ya da LDAP–tabanlı programlarla bir arada gelen "komut-satırı araçları"
  - LDAP istemci uygulamaları geliştirebilmek için kullanılacak "LDAP UPA’ları".
LDAP protokolü message-oriented (mesaj kaynaklı) bir protokoldür. Bunun anlamı şudur: istemci istek içeren bir LDAP iletisi oluşturur ve mesajı sunucuya gönderir, sunucu ise bu istemi işler ve sonucu bir veya birden fazla LDAP mesajı olarak istemciye yanıtı gönderir.
LDAP mesaj tabanlı bir protokol olduğu için, istemci bir anda birden fazla istemde bulunabilir. Örneğin bir istemci aynı anda iki arama işlemini aynı anda yapabilir. Birden fazla işlemi aynı anda yababilmeyi mümkün kılması LDAP protokolünü buna izin vermeyen HTTP ve benzeri protokollere göre daha esnek ve verimli bir protokol yapmaktadır.


## Amacı ve kullanım alanları.
LDAP tüm kullanıcılarının en hızlı şekilde ve sürekli olarak bilgiye ulaşmalarını sağlayabilmek için, hızlı, ölçeklenebilir ve yönetilebilir bir ağ altyapısı kurmak için oluşturulmuştur. Bilgisayarların yoğun olarak kullanıldığı ağ üzerindeki IP (") adres ayarlarının otomatik olarak gerçekleştirilebilmesi amacıyla LDAP kayıtlarını kullanan bir otomatik IP atama sistemi kullanılır.


## Protokole genel bakış.
İstemci LDAP oturumunu, DSA (") olarak adlandırılan LDAP sunucusuna bağlanarak, varsayılan olarak TCP'nin 389. portundan başlatır. Daha sonra istemci, sunucuya bir işlem talebi gönderir ve sunucu da cevap döndürür. Bazı istisnai durumlar haricinde, istemci bir sonraki talebi göndermek için cevabı almayı beklemeye gerek duymaz; ve sunucu cevaplarını herhangi bir sırada gönderebilir.
İstemcinin aşağıdaki işlemleri talep edebilir:
  - TLS'i başlatır - güvenli bağlantı için LDAPv3 TLS (") kullanılır
  - Bağlanır - LDAP protokol versiyonunu belirlenir ve yetkilendirme gerçekleştirilir
  - Araştırılır - İndeks girişleri alınır ve araştırılır
  - Karşılaştırılır - Girilen değerin, verilen özellik değerini içerip içermediği test edilir
  - Yeni giriş eklenir
  - Giriş silinebilir
  - Giriş değiştirilebilir
  - DN (") değiştirilebilir - giriş yeniden isimlendirilebilir veya taşınabilir
  - Bırakılabilir - Önceki talep iptal edilebilir
  - İşlem genişletilebilir - jenerik işlemler diğer işlemleri tanımlamak için kullanılabilir
  - Bağlantı kesilebilir/kapatılabilir (2. maddedeki "Bağlanır"'ın ters işlemi değildir)
Ayrıca; sunucu hiçbir talebe cevap vermeyen "İstenmeyen Bildirim ("")" gönderebilir. Örneğin bağlantı zaman aşımına uğramadan önce...
LDAP bağlantısının güvenliğini sağlamanın bir diğer alternatifi ise SSL tüneller kullanmaktır. Bu, "ldaps" URL şemalarının kullanılarak, LDAP URLlerinde gösterilir. SSL üzerinden varsayılan LDAP portu 636'dır. SSL üzerinden LDAP kullanımı genelde LDAP Versiyon 2'de gerçekleştirilir, ama bu durum resmi bir standart olarak belirtilmemiştir. Bu kullanım, resmi olarak 2003'te bırakılan LDAPv2 süresince kabul edilmemiştir.
LDAP, ASN.1 'de tanımlanmıştır ve protokol mesajları BER ikili ("") formatında kodlanmıştır. Yine de, bazı ADN.1 alanları/tipleri için metin sunumunu kullanır.


## LDAP operasyonları.
LDAP üç kategori içinde tanımlanabilecek 9 temel protokol operasyonuna sahiptir:
  - "Sorgulama Operasyonları:" arama ve karşılaştırma (search, compare)
  - "Güncelleme Operasyonları:" ekleme, silme, güncelleme, yeniden isimlendirme ()
  - "Kimlik doğrulama (authentication) ve kontrol operasyonları:" bağlanma, bağlantıyı kesme ve bağlantı iptali (.)