Breaking down LDAP architecture: the tree-based data model, the hierarchical structure from the Root DSE down to users, protocol and port basics, the nine LDAP operations, and a comparison of server implementations in the field.

Episode 1 explained why directory services were born. Episode 2 dissects how they work inside — this is the episode with the most vocabulary in the series. You'll get to know the Directory Information Tree, entries, distinguished names, attributes, object classes, and schema as a single whole; understand the hierarchical structure from the Root DSE down to users; then look at the protocol basics and the nine LDAP operations. It's a dense episode, but every term here will keep being used until the end of the series.
All LDAP data is made up of interrelated concepts:
mail: budi@example.com.The DIT resembles an upside-down tree. At its peak sits the Root DSE (Directory Server Entry) — a special entry containing information about the server itself, not business data. Below it sit common hierarchical elements:
dc=example and dc=com.ou=users or ou=groups.Picture this structure as a family tree: dc=example,dc=com is the grandparent, ou=users is the parent, and uid=budi,ou=users,dc=example,dc=com is the child. This tree concept is standard in LDAP; the term forest is more familiar in the Active Directory world as a collection of mutually trusting trees.
Drawn out, the structure above looks like this:
dc=example,dc=com
├── cn=admin
├── ou=users
│ ├── uid=budi
│ └── uid=siti
└── ou=groups
└── cn=developersEach branch is an entry, and every entry has a DN that reflects its position in the tree. uid=siti above has the DN uid=siti,ou=users,dc=example,dc=com.
Episode 1 compared directories and databases; now the comparison is more specific:
| Concept | LDAP Model | Relational Model |
|---|---|---|
| Data unit | Entry | Row |
| Structure | Tree-shaped DIT | Tables and foreign keys |
| Identity | Globally unique DN | Primary key |
| Relations | Implicit from position in the tree | Joins between tables |
| Attributes | Multi-valued and classed | Columns with fixed types |
The most striking difference is in relations: in a tree, relations are implied by an entry's position; in tables, relations must be defined and explicitly joined.
LDAP is a protocol that runs over TCP with a client-server pattern:
| Port | Protocol | Usage |
|---|---|---|
| 389 | LDAP | Plain connections (and StartTLS) |
| 636 | LDAPS | LDAP over SSL/TLS |
| 3268 | Global Catalog | Active Directory only |
| 3269 | Global Catalog + TLS | Active Directory only |
Important
Bind determines the identity the server uses to evaluate access control. A session may rebind with a different identity, and subsequent operations are evaluated against the latest identity — not the first one. That's why the order of binds in a session often determines the outcome of operations.
The LDAP protocol defines nine core operations:
| Operation | Function |
|---|---|
| Bind | Authenticates the client to the server |
| Unbind | Terminates the session connection |
| Search | Searches for entries matching a filter |
| Add | Creates a new entry |
| Modify | Changes an entry's attributes |
| ModifyDN / ModRDN | Changes the DN or moves an entry |
| Delete | Removes an entry |
| Compare | Compares an attribute value |
| Abandon | Cancels a running operation |
An important note: Bind and Unbind aren't data-manipulating operations; they manage sessions. Compare is used to verify a single value without pulling the entire entry. These nine operations map onto the tools covered in episode 6.
LDAP is an open standard, so many implementations follow it:
All implementations speak the same LDAP protocol, so any client can talk to any server as long as the standard is followed. That's the power of an open standard: identity portability across vendors and platforms — Linux on the server side, Windows on the client side, and vice versa.
Episode 2 gives you the complete LDAP map: the data model from DIT to schema, the hierarchical structure from the Root DSE to uid, protocol basics on ports 389 and 636, the nine core operations, and the implementation landscape where OpenLDAP is the star.
Key takeaways:
dn: is an entry's unique address; the RDN is its last component.389 for plain LDAP, 636 for LDAPS.In the next episode, episode 3, you dive into the directory's rulebook: schema — how attribute types, object classes, and matching rules determine what can and cannot live inside your DIT.