Wat is LDAP?
(1) Voordat we introduceren wat LDAP is, laten we één ding bekijken: "Wat is een directoryservice?" ”
1. De directoryservice is een speciale database die beschrijvende, op attributen gebaseerde details met filtermogelijkheden bevat.
2. Het is dynamisch, flexibel en gemakkelijk schaalbaar.
Bijvoorbeeld: personeelsorganisatie en -management, telefoonboek, adresboek.
(2) Na het begrijpen van de directoryservice bekijken we de introductie van LDAP:
LDAP (Light Directory Access Portocol), een lichtgewicht directory-toegangsprotocol gebaseerd op de X.500-standaard.
Een map is een database die geoptimaliseerd is voor het zoeken, browsen en zoeken, waarbij gegevens worden georganiseerd in een boomachtige structuur, vergelijkbaar met een bestandsmap.
Directorydatabases verschillen van relationele databases doordat ze uitstekende leesprestaties hebben, maar slechte schrijfprestaties, en geen complexe functies zoals transactieverwerking en rollback, waardoor ze ongeschikt zijn voor het opslaan van vaak gewijzigde data. Dus de inhoudsopgave wordt van nature gebruikt voor het queryen, net als de naam.
LDAP-directoryservice is een systeem dat bestaat uit een directorydatabase en een set toegangsprotocollen.
(3) Waarom het gebruikt moet worden
LDAP is een open internetstandaard, ondersteunt cross-platform internetprotocollen, breed erkend in de industrie, en de meeste producten op de markt of in de open source-gemeenschap hebben ondersteuning voor LDAP, dus voor dit type systeem is het niet nodig om het apart aan te passen, alleen eenvoudige configuraties via LDAP om te authenticeren en met de server te communiceren. "Eenvoudig en primitiv" kan de kosten van herhaalde ontwikkeling en aankoppeling aanzienlijk verlagen.
De belangrijkste producten van LDAP:
| | | | | Opslag gebaseerd op tekstdatabase, snelle snelheid. | | | DB2-gebaseerde databases hebben een gemiddelde snelheid. | | | Opslag op basis van tekstdatabases is snel en wordt niet vaak gebruikt. | | Microsoft Active Directory | Op basis van WINDOWS-gebruikers is de verwerkingssnelheid van grote datavolumes gemiddeld, maar het is eenvoudig te onderhouden, heeft een groot ecosysteem en is relatief eenvoudig te beheren. | | | OpenLDAP is een open-source project dat snel is, maar geen mainstream applicatie. |
Basismodel van LDAP
Elk systeem en protocol heeft zijn eigen model, en LDAP vormt daarop geen uitzondering; voordat we het basismodel van LDAP begrijpen, moeten we verschillende LDAP-directoryboomconcepten begrijpen:
(1) Catalogusboomconcept
1. Directoryboom: In een directoryservicesysteem kan de volledige directory-informatieset worden weergegeven als een directory-informatieboom, en elke knoop in de boom is een entry.
2. Inzending: Elke inzending is een record, en elke inzending heeft zijn eigen unieke onderscheidende naam (DN).
3. Objectklasse: Een set attributen die overeenkomen met een entiteitstype, de objectklasse kan worden geërfd, zodat de benodigde attributen van de ouderklasse ook worden geërfd.
4. Attributen: Beschrijf de informatie van een aspect van de invoer, een attribuut bestaat uit een attribuuttype en één of meer attributen, en de attributen hebben verplichte en niet-verplichte attributen.
(2) DC, UID, OU, CN, SN, DN, RDN
| Volledige naam in het Engels | | | | Het domeinnaamgedeelte is verdeeld in verschillende delen in de vorm van een volledige domeinnaam, zoals example.com domeinnaam wordt dc=example, dc=com (de locatie van een record) | | | Gebruikers-ID songtao.xu (ID van een record) | | | Organisatie-eenheden, organisatie-eenheden kunnen verschillende andere objecten bevatten (inclusief andere organisatie-eenheden), zoals "oa-groep" (de organisatie waartoe een record behoort) | | | Openbare namen, zoals "Thomas Johansson" (de naam van een record) | | | | | | "uid=songtao.xu,ou=oa group,dc=example,dc=com", de locatie van een record (uniek) | | | Relatieve discriminatie, vergelijkbaar met relatieve paden in een bestandssysteem, is onderdeel van de directoryboomstructuur die er niets mee te maken heeft, zoals "uid=tom" of "cn= Thomas Johansson" |
Introductie tot OpenLDAP
LDAP is een lichtgewicht directory access protocol (LDAP), een implementatie van een open source gecentraliseerde accountbeheerarchitectuur en ondersteunt veel systeemversies, en wordt door de meeste internetbedrijven gebruikt.
LDAP biedt en implementeert de informatiedienst directoryservice, een speciaal databasesysteem dat een goed effect heeft op het lezen, browsen en zoeken van gegevens. Directoryservices worden over het algemeen gebruikt om beschrijvende informatie op basis van attributen te bevatten en geavanceerde filterfuncties te ondersteunen, maar OpenLDAP-directoryservices ondersteunen geen complexe transactiebeheer of rollback-beleid dat vereist is voor een groot aantal updatebewerkingen van algemene databases.
LDAP heeft twee standaarden, namelijk X.500 en LDAP. OpenLDAP is gebaseerd op de X.500-standaard, verwijdert de complexe functies van X.500 en kan worden aangepast met extra uitbreidingen naar eigen behoeften, maar er zijn ook verschillen met X.500, zoals OpenLDAP ondersteunt het TCP/IP-protocol, enzovoort; TCP/IP is momenteel het protocol voor toegang tot het internet via het internet.
OpenLDAP kan direct draaien op de eenvoudigere en meer algemene TCP/IP- of andere betrouwbare transportprotocollagen, waardoor de overhead op de OSI-sessie- en presentatielagen wordt vermeden, waardoor het tot stand brengen en pakketverwerking eenvoudiger en sneller wordt en ideaal is voor internet- en bedrijfsnetwerkapplicaties.
De informatie in de OpenLDAP-map wordt opgeslagen in een boomachtige hiërarchie (vergelijkbaar met DNS), en de bovenste laag wordt de "base DN" genoemd, zoals "dc=mydomain, dc=org" of "o=mydomain.org", waarbij de eerste flexibeler is en ook wordt gebruikt in Windows AD. Er zijn veel bestanden en mappen onder de rootdirectory, en om deze grote hoeveelheden data logisch te scheiden, gebruikt OpenLDAP OU (Organization Unit) zoals andere directoryserviceprotocollen, die kunnen worden gebruikt om interne bedrijfsorganisaties, zoals afdelingen, enz. weer te geven, en ook om apparatuur, personeel, enzovoort weer te geven. Tegelijkertijd kan OU ook sub-OU's hebben, die gebruikt kunnen worden om meer gedetailleerde classificaties weer te geven.
Elk record in OpenLDAP heeft een unieke naam die het onderscheidt van andere records, DN (Distinguished Name), en het deel van het "blad" heet RDN (Relative Identifier of User Entry). Bijvoorbeeld, cn in dn:cn=tom, ou=dieren, dc=ilanni, dc=com is RDN, en RDN moet uniek zijn in een OU.
Standaard gebruikt OpenLDAP Berkeley DB als backend-database, en de Berkeley DB-database slaat voornamelijk data op in de vorm van gehashte datatypes, zoals sleutel-waardeparen.
BerkeleyDB is een speciaal type database dat geoptimaliseerd is voor zoekopdrachten en lezen, voornamelijk gebruikt voor zoeken, browsen en het bijwerken van queryoperaties, en heeft over het algemeen een goed effect op het tegelijk schrijven van data, het meerdere keren doorzoeken en zoeken. BerkeleyDB ondersteunt niet de hoge gelijktijdige doorvoersnelheid en complexe transactionele operaties die worden ondersteund door transactionele databases (MySQL, MariDB, Oracle, enz.).
|