5. Codifica, connessione e trasferimento del protocollo (Protocol Encoding, Connection, and Transfer)
Il protocollo LDAP è progettato per operare su un trasporto orientato alla connessione e affidabile. Il flusso di dati è suddiviso in ottetti (unità da 8 bit); ciascun ottetto e ciascun bit ha un significato a livello di protocollo.
LDAPMessage è codificato mediante le ASN.1 Basic Encoding Rules (BER). Per garantire l'interoperabilità, le implementazioni utilizzano solo il sottoinsieme BER specificato dalla RFC 4511: la lunghezza (length) usa la forma definita (definite form), le stringhe di caratteri e gli octet string sono trasmessi secondo la loro codifica specifica LDAP (LDAP-specific encoding), e i tag e i valori degli elementi di protocollo DEVONO rispettare le definizioni ASN.1 fornite nel capitolo 4.
Una sessione LDAP è generalmente stabilita su TCP. Dopo aver stabilito la connessione, il client invia LDAPMessage e il server restituisce una risposta o una notifica non richiesta (unsolicited notification) sulla stessa connessione. Salvo diversa indicazione per una specifica operazione, LDAP consente l'invio simultaneo di più richieste sulla stessa connessione; la risposta è associata alla richiesta tramite messageID.
Le implementazioni DEVONO analizzare il flusso di ottetti fornito dal livello di trasporto sotto forma di un elemento BER completo prima di interpretare il LDAPMessage. Se la connessione viene chiusa, l'operazione in attesa non può più restituire un risultato a livello di protocollo; il client DEVE considerarlo un errore di connessione e, secondo la propria politica locale, riprovare o segnalare l'errore.