Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Aptitude
  • Engineering Mathematics
  • Discrete Mathematics
  • Operating System
  • DBMS
  • Computer Networks
  • Digital Logic and Design
  • C Programming
  • Data Structures
  • Algorithms
  • Theory of Computation
  • Compiler Design
  • Computer Org and Architecture
Open In App
Next Article:
Lightweight Directory Access Protocol (LDAP)
Next article icon

Lightweight Directory Access Protocol (LDAP)

Last Updated : 21 Jun, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
Lightweight Directory Access Protocol (LDAP) is an internet protocol works on TCP/IP, used to access information from directories. LDAP protocol is basically used to access an active directory. Features of LDAP:
  1. Functional model of LDAP is simpler due to this it omits duplicate, rarely used and esoteric feature.
  2. It is easier to understand and implement.
  3. It uses strings to represent data
Directories: Directories are set of object with similar attributes, organised in a logical and hierarchical manner. For example, Telephonic Directories. It is a distributed database application used to manage attributes in a directory. LDAP defines operations for accessing and modifying directory entries such as:
  • Searching for user specified criteria
  • Adding an entry
  • Deleting an entry
  • Modifying an entry
  • Modifying the distinguished name or relative distinguished name of an entry
  • Comparing an entry
LDAP Models: LDAP can be explained by using four models upon which it based:
  1. Information Model: This model describes structure of information stored in an LDAP Directory.In this basic information is stored in directory is called an entity. Entries here represents object of interest in real world such as people, server, organization, etc. Entries contain collection of attributes that contain information about object.Every attribute has a type and one or more values. Here types of attribute is associated with syntax and syntax specifies what kind of values can be stored
  2. Naming Model: This model describes how information in an LDAP Directory is organized and identified. In this entries are organized in a Tree-Like structure called Directory Information Tree (DIT). Entries are arranged within DIT based on their distinguished name DN. DN is a unique name that unambiguously identifies a single entry.
  3. Functional Model: LDAP defines operations for accessing and modifying directory entries . In this we discuss about LDAP operations in a programming language independent manner LDAP operations can be divided into following categories:
    • Query  • Update   • Authentication 
  4. Security Model: This model describes how information in LDAP directory can be protected from unauthorized access. It is based on BIND operation. There are several bind operation can be performed.
LDAP Client and Server Interaction: It is quite similar to any other client-server interaction. In this client performs protocol functions against server.The interaction takes place as follows:-
  1. A protocol request is send to server by client.
  2. Server perform operations on directory such as search, update, delete, etc.
  3. The response is sent back to the client.
Microsoft, Open LDAP, Sun, etc can easily be made an LDAP server. if the user don't want to install directory service but want to use LDAP instruction for available LDAP server then user can use four11, bigfoot etc. Making an LDAP client is quite simple as there are SDK's in many programming languages such as C, C++, Perl, Java, etc. User has to perform certain task to be LDAP client:
(i) Go get SDK for your language  (ii) Use function of SDK to connect to LDAP   (iii) Operate on LDAP 
LDAP functions / operations:
  • (a) For Authentication: It includes bind, unbind and abandon operations used to connect and disconnect to and from an LDAP server, establish access rights and protect information. In authentication, client session is established and ended using the functions
    -> BIND/UNBIND  -> Abandon 
  • (b) For Query: It includes search and compare operations used to retrieve information from a directory. In query, server performs action using function
    -> Search  -> Compare Entry 
  • (c) For Update: It includes add, delete, modify and modify RDN operations used to update stored information in a directory. In update, we can make changes in directories by using function
    -> Add an entry  -> Delete an entry  -> Modify an entry 
  • Client establishes session with server (BIND) using Hostname/IP/and Port Number. For security purposes, user set USER-ID and Password based authentication.
  • Server perform operations such as read, update, search, etc.
  • Client end session using UNBIND or Abandon function.
Advantages of LDAP:
  • Data present in LDAP is available to many clients and libraries.
  • LDAP support many types of application.
  • LDAP is very general and has basic security.
Disadvantages in LDAP: It does not handle well relational database.

Next Article
Lightweight Directory Access Protocol (LDAP)

S

shivani7081
Improve
Article Tags :
  • Computer Networks

Similar Reads

    Link Access Protocol D-channel (LAPD)
    LAPD or Link Access Protocol on D channel is basically Layer 2 protocol usually required on ISDN D channel. It is being derived from Link Access Protocol Balanced (LAPB) protocol. It was specially designed and developed to simply satisfy the signaling requirements of ISDN basic access. The main obje
    3 min read
    Link Access Procedure (LAP) Protocols
    Link Access Procedure (LAP) is basically considered as an ITU family of Data Link Layer (DLL) protocols that are subsets of High-Level Data Link Control (HDLC). LAP is particularly derived from IBM’s Synchronous Data Link Control (SDLC). There are several LAP protocols. Each of these protocols is us
    2 min read
    Multiple Access Protocols in Computer Network
    Multiple Access Protocols are methods used in computer networks to control how data is transmitted when multiple devices are trying to communicate over the same network. These protocols ensure that data packets are sent and received efficiently, without collisions or interference. They help manage t
    9 min read
    Link Layer Discovery Protocol (LLDP)
    LLDP stands for Link Layer Discovery Protocol. It is an open IEEE-standard (802.1AB) Layer 2 protocol. LLDP is the open-source alternative for CDP (Cisco Discovery Protocol) which is also a device discovery protocol that runs over Layer 2 (the data link layer) only on Cisco-manufactured devices (rou
    6 min read
    Active Directory PenTesting
    Active Directory is a service from Microsoft which are being used to manage the services run by the Windows Server, in order to provide permissions and access to network resources. Active Directory is used by over 90% of the Fortune Companies in order to manage the resources efficiently. Active Dire
    4 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences