Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria

Documenti analoghi
Naming nei Sistemi Distribuiti

17/05/2013. Indice dei Contenuti. Ruolo del Naming nei SD. Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria

CdL MAGISTRALE in INFORMATICA

Naming nei Sistemi Distribuiti

Naming nei Sistemi Distribuiti

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Corso di recupero di sistemi Lezione 8

ARP (Address Resolution Protocol)

Problema del naming. Modello di Naming

SCD. Sistemi distribuiti: gestione dei nomi. Denominazione di entità 1. Denominazione di entità 2. Esempio

Sistemi avanzati di gestione dei Sistemi Informativi

Reti di Calcolatori. Il Livello delle Applicazioni

Corso di Amministrazione di Reti A.A. 2002/2003

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Introduzione al Dns. Loredana Pillitteri. Semplificazione della gestione e delega amministrativa Pisa - CNR - ISTI dicembre 2003

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti diverse: la soluzione nativa

Database. Si ringrazia Marco Bertini per le slides

Contesto: Peer to Peer

Reti di Calcolatori

Interconnessione di reti

Reti diverse: la soluzione nativa

Reti di calcolatori. Lezione del 10 giugno 2004

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Domain Name System: DNS

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Il funzionamento delle reti

Inizializzazione degli Host. BOOTP e DHCP

Software per Helpdesk

Reti di Telecomunicazione Lezione 8

Gestione degli indirizzi

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Il Software. Il software del PC. Il BIOS

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Sistemi informativi secondo prospettive combinate

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

RETI E SISTEMI INFORMATIVI Domain Name System. Prof. Andrea Borghesan

Network Services Location Manager. Guida per amministratori di rete

ARP e instradamento IP

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Il funzionamento delle reti

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

SISTEMI OPERATIVI DISTRIBUITI

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Sistemi avanzati di gestione dei Sistemi Informativi

Reti di Telecomunicazione Lezione 6

Gestione del workflow

Comunicazione nel tempo

Dal protocollo IP ai livelli superiori

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Domain Name Service. Mario BALDI. Silvano GAI. Fulvio RISSO. staff.polito.it/mario.baldi. sgai[at]cisco.com. fulvio.risso[at]polito.

Applicazioni per l autenticazione Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

Groups vs Organizational Units. A cura di Roberto Morleo

Livello di applicazione. Reti di Calcolatori. Corso di Laurea in Ingegneria Informatica. Livello di applicazione DNS A.A.

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Coordinazione Distribuita

Progettazione e realizzazione di un applicativo Web Annunci Immobiliari

Organizzazione degli archivi

InterNet: rete di reti

Gestione degli indirizzi

Domain Name System. Gerarchia nomi simbolici

Algoritmi per protocolli peer-to-peer

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

NOTE LEGALI E PRIVACY

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Domain Name System: DNS

Esperienze di servizi di rete basati su directory

Argomenti della lezione

Parte II: Reti di calcolatori Lezione 9

Il File System. Il file system

Strutturazione logica dei dati: i file

Approfondimenti. Contenuti

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Cognome Nome Matricola Tempo a disposizione per lo svolgimento: 1 ora e 20 min Avvertenza: Si usi lo spazio dopo ogni quesito per lo svolgimento.

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

12. Implementazione di un File System Struttura a livelli Allocazione contigua

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Laboratorio di Reti Esercitazione N 2-DNS Gruppo 9. Laboratorio di Reti Relazione N 2. Mattia Vettorato Alberto Mesin

Riconoscibilità dei siti pubblici: i domini della Pa e le regole di.gov.it

In questa pagina si descrivono le modalità di gestione del sito in riferimento al trattamento dei dati personali degli utenti che lo consultano.

Capitolo 13. Interrogare una base di dati

Protocollo di metadata harvesting OAI-PMH Lavoro pratico 2

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Il sistema operativo: interazione con l utente

Reti di Calcolatori. Il software

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

DATABASE RELAZIONALI

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Transcript:

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria I nomi in un SD sono usati per: condividere risorse, servizi o applicazioni identificare univocamente entità far riferimento alla posizione delle entità (localizzarle) Per risolvere un nome nell entità a cui si riferisce occorre realizzare un sistema di naming Il naming nei SD si differenzia da quello usato nei sistemi non distribuiti per l implementazione Nei SD anche il sistema di naming è distribuito Valeria Cardellini - SD A.A. 2010/11 1

Le entità di un SD devono avere denotazioni che le rendano fruibili Per riferimento, invocazione di servizio, Un nome è una stringa usata per riferirsi ad un entità Un punto d accesso (access point) è un tipo speciale di entità che permette di operare su un entità Il nome del punto d accesso è un indirizzo Un entità può avere più punti di accesso Più punti di vista simultanei o anche diversi nel tempo Esempio di denominazione di entità Persona = entità di sistema Un servizio Il suo telefono = punto di accesso del servizio Il server che fornisce quel servizio Il numero di telefono = nome (indirizzo) del punto di accesso di quel servizio L indirizzo del server è il suo end point di livello trasporto Valeria Cardellini - SD A.A. 2010/11 2 Trattare gli indirizzi come nomi speciali Decomporre la corrispondenza <entità-indirizzo> in 2 relazioni legate ma distinte Nome di entità! nomi degli attributi dell entità (tra cui il punto di accesso) Punto di accesso! indirizzo dell entità Un entità può cambiare punto di accesso Un punto di accesso può essere riassegnato Una stessa entità può avere più punti di accesso In un SD vogliamo nomi di entità indipendenti dai loro indirizzi (indipendenza dalla posizione, location independence) Un nome di entità E indipendente dalla posizione è indipendente dagli indirizzi dei punti di accesso offerti da E Valeria Cardellini - SD A.A. 2010/11 3

Certi nomi designano entità in modo univoco Per questi nomi usiamo il termine identificatori Non tutti i nomi sono identificatori Alcuni nomi devono essere trattabili (human-friendly) ma non indirizzi e identificatori Un identificatore è un nome con le seguenti proprietà: 1. Denota al più una singola entità 2. Una stessa entità non può avere più di un identificatore Identificatori diversi designano entità diverse 3. Si riferisce sempre alla stessa entità (non è riusabile) Es.: un numero di telefono fisso non è un vero identificatore di un entità persona perché può essere riassegnato Es.: l indirizzo MAC è un identificatore della scheda di rete Nomi diversi per una stessa entità sono detti alias Valeria Cardellini - SD A.A. 2010/11 4 Un sistema di naming (o di nomi) permette di localizzare le entità del SD Mantenendo un collegamento nome-indirizzo tra entità In modo indipendente dalla posizione delle entità Spesso in un SD ci sono molti sistemi di naming che hanno numerose proprietà e sono anche molto diversi tra loro Valeria Cardellini - SD A.A. 2010/11 5

Complessità del problema del naming e difficoltà di trovare soluzioni generali Entità eterogenee! livelli diversi di nomi In un SD più sistemi di naming e più livelli di nomi Con diversi contesti di visibilità Più funzioni di trasformazione (mapping) tra livelli di nomi Proprietà di base dei sistemi di naming Generalità Varietà dei nomi disponibili e trattati Definizioni multiple della stessa entità (alias) Varietà di nomi per la stessa entità con mapping capace di traslare tra questi Distribuibilità Uso di directory partizionate e/o replicate User-friendliness Nomi facili per l utente Valeria Cardellini - SD A.A. 2010/11 6 Tre tipi di nomi da cui derivano altrettanti schemi di naming Nomi semplici (o flat) Non strutturati, stringhe di bit casuali Nomi strutturati Composti da nomi semplici, leggibili dall uomo Nomi basati sugli attributi Entità descritte da un insieme di coppie <attributo, valore> Naming semplice (o flat) Naming gerarchico Naming basato sugli attributi Valeria Cardellini - SD A.A. 2010/11 7

Dato un nome non strutturato (ad es. un identificatore) come risolverlo nell indirizzo dell entità associata? Approcci semplici Broadcasting o multicasting Puntatori forwarding Approcci basati sull assegnamento di una home Hash table distribuite Approcci gerarchici Valeria Cardellini - SD A.A. 2010/11 8 Principio di funzionamento: broadcast di un messaggio contenente l identificatore dell entità, richiedendo all entità di restituire il suo indirizzo Ad es. usato in ARP (protocollo di risoluzione degli indirizzi) Mapping tra indirizzo IP a 32 bit e indirizzo MAC a 48 bit Svantaggi: Mancanza di scalabilità Adatto solo per reti locali Richiede a tutti i processi di ascoltare richieste di localizzazione (cui non sono in grado di rispondere) Soluzione (parziale): multicasting Solo un numero ristretto di macchine riceve il messaggio Utile per localizzare la replica più vicina, assegnando l indirizzo multicast ad un entità replicata Valeria Cardellini - SD A.A. 2010/11 9

Usato soprattutto per localizzare entità mobili Ogni volta che un entità si sposta, lascia un puntatore forwarding alla sua nuova posizione Un client può rintracciare l entità seguendo la catena di puntatori forwarding A e A Svantaggi dei puntatori forwarding: Problemi di scalabilità geografica Catene di forwarding molto lunghe: localizzazione costosa Tempo di latenza per la deferenziazione dei puntatori Ogni punto intermedio della catena deve mantenere le informazioni di forwarding Approccio vulnerabile all interruzione della catena Per mantenere corta la catena di forwarding, si può aggiornare il riferimento sul client non appena viene localizzata la posizione Valeria Cardellini - SD A.A. 2010/11 10 B e Puntatori forwarding implementati come una coppia (client stub, server stub) Sistema SSP (Stub Scion Pairs) di forwarding Redirezione di un puntatore forwarding memorizzando il collegamento in un client stub Valeria Cardellini - SD A.A. 2010/11 11

Schema ad un singolo livello Una home tiene traccia della posizione attuale dell entità (mobile) Di solito, il posto dove è stata creata l entità L home address dell entità è registrato in un servizio di naming La home registra l indirizzo attuale dell entità Un client contatta sempre prima la home e poi continua usando la posizione attuale dell entità E l approccio usato in Mobile IP (RFC 3344) Home address Indirizzo dell home agent del nodo mobile Care-of address Indirizzo attuale del nodo mobile Tunnel IP Valeria Cardellini - SD A.A. 2010/11 12 Schema a due livelli Tenere traccia delle entità visitate Controllare prima un registro locale Se la ricerca locale fallisce, contattare la home Svantaggi degli approcci home-based L indirizzo della home deve essere supportato finché esiste l entità L indirizzo della home è fisso: problema che si aggrava quando l entità si sposta in modo permanente in un altra posizione Scarsa scalabilità geografica (l entità potrebbe essere vicina al client) Valeria Cardellini - SD A.A. 2010/11 13

Meccanismo già esaminato (reti P2P strutturate) Esempio analizzato: Chord Come tener conto della vicinanza sulla rete fisica sottostante in un sistema basato su DHT? Assegnamento degli identificatori dei nodi basato sulla topologia (o proximity ID selection) Quando viene assegnato un ID ai nodi, fare in modo che nodi vicini nello spazio degli ID siano anche vicini in rete; può essere molto difficile da realizzare Proximity route selection Ogni nodo mantiene una lista di successori alternativi e sceglie il più vicino tra quelli possibili quando effettua l instradamento (in realtà è proximity next-hop selection) Proximity neighbor selection Si ottimizzano le tabelle di routing in modo da scegliere come neighbor il nodo più vicino (non possibile in Chord) Valeria Cardellini - SD A.A. 2010/11 14 Idea di base: costruire un albero di ricerca gerarchico La rete è suddivisa in domini non sovrapposti I domini possono essere raggruppati in domini di livello più alto Esiste un unico dominio top-level che copre l intera rete A qualunque livello, ogni dominio D ha un nodo directory associato dir(d) che tiene traccia delle entità nel dominio Valeria Cardellini - SD A.A. 2010/11 15

L indirizzo di un entità è memorizzato solo nei nodi directory foglia all interno di un location record Se un entità si trova nel dominio D, il nodo directory del dominio di livello superiore D avrà nel location record un puntatore al nodo directory di D Il nodo directory radice conosce tutte le entità Possiede un location record per ogni entità Un entità può essere replicata In figura: nodo M con 2 due puntatori in corrispondenza alle 2 repliche di E (in D1 e D2) Valeria Cardellini - SD A.A. 2010/11 16 Operazione di ricerca Si inizia la ricerca dell entità E dal nodo foglia locale per il client Se il nodo conosce l entità si segue il puntatore, altrimenti si inoltra la richiesta al nodo padre La ricerca in sù termina sempre al nodo radice 3 2 4 5 1 Valeria Cardellini - SD A.A. 2010/11 17

La richiesta di inserimento di una replica dell entità E è inoltrata fino a raggiungere il primo nodo che conosce l entità E La catena di puntatori viene costruita in modo top-down verso il nodo foglia (in alternativa: bottom-up) Valeria Cardellini - SD A.A. 2010/11 18 Esempi di nomi strutturati: nomi di file, nomi degli host in Internet Spazio (o grafo) dei nomi: grafo orientato etichettato dove un nodo foglia rappresenta una data entità un nodo directory è un entità che fa riferimento ad altri nodi gli archi sono etichettati con un nome il nodo con solo archi in uscita è detto nodo radice (possibili più nodi radice) un nodo directory contiene una tabella (directory) di coppie (etichetta arco, identificatore nodo) Il grafo è spesso aciclico, ma non sempre Valeria Cardellini - SD A.A. 2010/11 19

Ogni cammino N è denotato dalla sequenza delle etichette degli archi corrispondenti al cammino, detta path name N: <label 1, label 2,.., label n > Cammini assoluti o relativi Risoluzione dei nomi: processo di attraversamento del grafo cercando, uno per volta, i componenti del path name Problema: per risolvere un nome occorre un nodo directory! come sapere come e da dove iniziare? Meccanismo di chiusura: è il meccanismo per selezionare il contesto implicito dal quale iniziare la risoluzione del nome Es: www.ce.uniroma2.it: inizia da un name server DNS Es: nello spazio dei nomi di un file system in UNIX e GNU/ Linux il nodo radice è sempre il primo i-node della partizione che rappresenta il file system Valeria Cardellini - SD A.A. 2010/11 20 Alias Hard link: più cammini assoluti denotano lo stesso nodo Symbolic link: il nodo contiene un attributo con il cammino assoluto Grafo dei nomi con nodo radice unico e di nome implicito Contenuto del nodo (directory) n1 Nodo radice n5 ha alias hard link verso n5 n6: symbolic link verso n5 Cammino: nomina archi e non nodi! Valeria Cardellini - SD A.A. 2010/11 21

Lo spazio dei nomi è il cuore di un naming service Un naming service consente agli utenti di inserire, eliminare e cercare nomi Un naming service è implementato attraverso uno o più name server Occorre distribuire il processo di risoluzione dei nomi e la gestione dello spazio dei nomi su molteplici macchine, distribuendo i nodi del grafo Suddividiamo lo spazio dei nomi in 3 livelli logici Livello globale Nodo root e nodi directory di alto livello, gestiti congiuntamente da diverse amministrazioni Informazione generalmente stabile Livello amministrativo Nodi directory di livello intermedio che rappresentano entità appartenenti alla stessa unità amministrativa o azienda Livello gestionale Nodi directory di livello più basso all interno di una singola amministrazione; possono cambiare frequentemente Valeria Cardellini - SD A.A. 2010/11 22 Esempio di possibile suddivisione in 3 livelli dello spazio dei nomi del DNS Valeria Cardellini - SD A.A. 2010/11 23

Disponibilità e prestazioni dei name server dipendenti dal livello logico in cui si trovano Name server di livello globale Altamente disponibili Caching e replicazione per migliorare le prestazioni Name server di livello amministrativo Requisiti simili ai name server di livello globale Buon livello di disponibilità Caching e replicazione per migliorare le prestazioni Name server di livello gestionale Possibile temporanea indisponibilità Caching meno efficiente a causa dei continui aggiornamenti Valeria Cardellini - SD A.A. 2010/11 24 Elemento Globale Amministrativo Gestionale Scala geografica Globale Azienda Dipartimento Numero nodi Pochi Molti Moltissimi Tempi di risposta alle ricerche Propagazione aggiornamenti Secondi Millisecondi Immediato Lenta Immediata Immediata Numero repliche Molte Nessuna o poche Nessuna Applicazione caching lato client Sì Sì A volte Valeria Cardellini - SD A.A. 2010/11 25

resolve(dir,[name1,...,namek]) è inviato a NameServer0 responsabile per dir NameServer0 risolve resolve(dir,name1)!dir1, restituendo l identificatore (indirizzo) di NameServer1, che memorizza dir1 Il client (o il name resolver locale) invia resolve (dir1,[name2,...,namek]) a NameServer1,... La notazione #< > identifica il name server Valeria Cardellini - SD A.A. 2010/11 26 resolve(dir,[name1,...,namek]) è inviato a NameServer0 responsabile per dir NameServer0 risolve resolve(dir,name1)!dir1 ed invia resolve(dir1,[name2,...,namek]) a NameServer1, che memorizza dir1 NameServer0 attende il risultato della risoluzione da NameServer1 e lo restituisce al client Valeria Cardellini - SD A.A. 2010/11 27

Valeria Cardellini - SD A.A. 2010/11 28 Scalabilità rispetto alla dimensione: occorre assicurare che i name server siano in grado di gestire un elevato numero di richieste per unità temporale Problema per i server di alto livello Soluzione: si assume (almeno a livello globale ed amministrativo) che il contenuto dei nodi cambi raramente e si applicano meccanismi di replicazione, distribuendo i nodi su molteplici server ed iniziando la risoluzione dal server più vicino, e meccanismi di caching Osservazione: un attributo importante di molti nodi è l indirizzo a cui può essere contattata l entità rappresentata La replicazione dei nodi rende i meccanismi di name server tradizionali inadatti per localizzare entità mobili Valeria Cardellini - SD A.A. 2010/11 29

Scalabilità geografica: occorre assicurare che il processo di risoluzione scali su grandi distanze geografiche Risoluzione ricorsiva più scalabile di quella iterativa Problema: distribuendo i nodi su server che potrebbero, in linea di principio, essere localizzati ovunque, si introduce implicitamente nello schema di naming una dipendenza dalla posizione Valeria Cardellini - SD A.A. 2010/11 30 Il Domain Name System (DNS) è uno dei più diffusi servizi di naming distribuiti Già analizzato nel corso di Reti dei Calcolatori Esaminiamo alcuni esempi di uso del tool a riga di comando dig (Domain Information Groper) Consideriamo i più importanti tipi di resource record (SOA, A, MX, NS, CNAME, PTR) che formano il contenuto dei nodi nello spazio dei nomi del DNS Valeria Cardellini - SD A.A. 2010/11 31

Sia il naming semplice sia quello strutturato consentono di far riferimento alle entità in modo indipendente dalla loro posizione Esiste anche la possibilità di usare informazioni ancora più dettagliate per localizzare le entità Si fornisce una descrizione dell entità in termini di coppie <attributo, valore> Sistemi di naming basati sugli attributi: anche noti come directory service Valeria Cardellini - SD A.A. 2010/11 32 Directory: struttura dati ordinata dove viene memorizzata l informazione in forma di elementi detti entry Directory service Realizza un sistema di naming basato su attributi piuttosto che su nomi strutturati (come il DNS) Tratta spazi di nomi come insiemi di coppie <attributo, valore> Alle entità vengono associate informazioni dettagliate che consentono di descrivere le risorse e che vengono usate per effettuare la ricerca dell esatta localizzazione della risorsa stessa Una sorta di pagine gialle Come descrivere le risorse in modo unificato? Possibile soluzione: Resource Description Framework (RDF) Valeria Cardellini - SD A.A. 2010/11 33

Le operazioni di ricerca in un directory service distribuito possono essere molto costose Richiedono il matching con i valori richiesti degli attributi rispetto ai valori reali degli attributi (ricerca esaustiva tra tutti i descrittori) Soluzione: implementare un directory service essenziale e combinarlo con un tradizionale sistema di naming strutturato Da tale combinazione ha origine LDAP (Lightweight Directory Access Protocol) Derivante da OSI X.500, ma con miglioramenti nelle prestazioni L architettura complessiva LDAP risulta molto simile a quella del DNS, però anche più sofisticata e potente Valeria Cardellini - SD A.A. 2010/11 34 Protocollo di accesso a informazioni condivise in rete Accesso client-server a collezione di informazioni: operazioni di ricerca, lettura, inserimento, modifica e cancellazione LDAP non è un database! Il suo scopo la ricerca di informazioni e non la gestione delle stesse Informazioni mantenute in un server LDAP quasi esclusivamente lette, scritte o aggiornate soltanto occasionalmente (no meccanismi di roll-back e sincronizzazione) Organizzazione delle informazioni di tipo descrittivo e non relazionale Il protocollo LDAP è costituito dalle seguenti parti: Definizione dell organizzazione dei dati, per stabilire come rappresentare l informazione Schema di assegnazione dei nomi, per identificare i dati mantenuti nel sistema Modalità di accesso ai dati (incluso controllo degli accessi) Valeria Cardellini - SD A.A. 2010/11 35

Server LDAP: implementa LDAP, le informazioni sono mantenute al suo interno Gateway LDAP: implementa LDAP, utilizza altri server per reperire le informazioni Alcune implementazioni di LDAP OpenLDAP (open source) OpenDS (open source) Microsoft Active Directory Valeria Cardellini - SD A.A. 2010/11 36 LDAP è la soluzione più diffusa per implementare servizi di directory general purpose Fra le possibili applicazioni di LDAP: White pages (elenco telefonico e indirizzario) Ad es. i principali client di posta elettronica prevedono la connessione ad un server LDAP per le funzioni di rubrica Autenticazione e autorizzazione Routing dei messaggi di posta elettronica Distribuzione di certificati X.509 e CRL Persistenza di oggetti e classi Java (via JNDI) Backend per altri servizi di directory Memorizzazione di profili utenti Valeria Cardellini - SD A.A. 2010/11 37

Informazione all interno di una directory organizzata in entry (paragonabili ai resource record nel DNS) Entry costituita da un insieme di coppie <attributo, valore> in cui ogni attributo ha un tipo associato Informazioni organizzate con una struttura gerarchica ad albero: DIT (Directory Information Tree) Valeria Cardellini - SD A.A. 2010/11 38 LDAP: /C=NL/O=Vrije Universiteit/OU=Comp. Sc.! DNS: nl.vu.cs answer = search("&(c = NL) (O = Vrije Universiteit) (OU = *) (CN = Main server)") Valeria Cardellini - SD A.A. 2010/11 39

In caso di directory di larga scala, DIT suddiviso e distribuito su più server, detti directory service agent Simile al name server nel DNS Un server LDAP è in grado di propagare le proprie directory ad altri server LDAP, fornendo accesso globale all informazione Quando un client LDAP si connette a un server LDAP può ricercare in una directory oppure modificare informazioni al suo interno In caso di ricerca, il server LDAP risponde oppure delega il flusso dell interrogazione ad un altro server In caso di modifica, il server LDAP verifica che l utente abbia il permesso di attuare la modifica, poi inserisce, aggiorna o cancella l informazione Valeria Cardellini - SD A.A. 2010/11 40