www.supinfo.com copyright © supinfo. all rights reserved protocoles dns - ldap – p2p
TRANSCRIPT
www.supinfo.com
Copyright © SUPINFO. All rights reserved
Protocoles DNS - LDAP – P2P
Votre formateur…
Titre : Professeur certifié d’Informatique et Gestion
Distinctions & expérience : Ancien chef des travaux . Enseignant de l’éducation nationale et de l’école supérieur d’informatique.
Formation : Diplôme d’ingénieur maître - Université Bordeaux I.
Contact :Campus-Booster ID: [email protected]
François HORTOLLAND
Les concepts mathématiques sous-jacents
Définitions et exemples
Les systèmes répartis
Plan de la partie
DNS
Annuaires LDAP
Peer to peer
Voici les chapitres que nous allons aborder:
Définitions et exemples
L’Internet est constitué de réseaux (dizaines de milliers)
Les réseaux sont constitués de sous-réseaux
Les sous-réseaux sont constitués de machines,
La technologie de base (TCP/IP) permet l’accès aux machines par leur adresse IP,
Il est pratiquement devenu impossible aux humains de connaître les adresses (IP) des machines auxquelles ils veulent accéder.
Définitions et exemples
DNSLe besoin
F. P
laye
Le système DNS permet d’identifier une machine par un (des) nom(s) représentatif(s) de la machine et du (des) réseau(x) sur le(les)quel(s) elle se trouve ;
exemple :
www.centralweb.fr identifie la machine www sur le réseau centralweb.fr
Le système est mis en œuvre par une base de données distribuée au niveau mondial
Les noms sont gérés par un organisme mondial : l’interNIC et les organismes délégués : RIPE, NIC France, NIC Angleterre, etc.
Définitions et exemples
DNSLe besoin
F. P
laye
basé sur le modèle client / serveur
le logiciel client interroge un serveur de nom; typiquement :
l’utilisateur associe un nom de domaine à une application ; exemple :
telnet m1.centralweb.fr
l’application cliente requiert la traduction du nom de domaine auprés d’un serveur de nom (DNS) : cette opération s’appelle la résolution de nom
le serveur de nom interroge d’autres serveurs de nom jusqu’à ce que l’association nom de domaine / adresse IP soit trouvée
Définitions et exemples
DNSPrincipe
F. P
laye
le serveur de nom retourne l’adresse IP au logiciel client : 193.148.37.201
le logiciel client contacte le serveur (telnetd) comme si l’utilisateur avait spécifié une adresse IP : telnet 193.148.37.201
Définitions et exemples
DNS
Principe
F. P
laye
clientTelnet
$ telnet m1.centralweb.fr
serveur DNS
serveur DNS
serveur DNS
DNS
Demande de résolution m1.centralwebfr ????
Réponse193.148.37.201
serveurTelnetd
193.148.37.201
Définitions et exemples
DNSPrincipe : illustration
F. P
laye
Chaque unité de donnée dans la base DNS est indexée par un nom
Les noms constituent un chemin dans un arbre inversé appelé l’espace Nom de domaine
Organisation similaire à un système de gestion de fichiers
• Chaque noeud est identifié par un nom• Racine appelée root, identifiée par «.»• 127 niveaux au maximum
L’espace Nom de domaine
Définitions et exemples
DNS
F. P
laye
Un nom de domaine est la séquence de labels depuis le noeud de l’arbre correspondant jusqu’à la racine
M1.centralweb.frfr
centralweb
.
m1
Deux noeuds fils ne peuvent avoir le même nom ==> unicité d’un nom de domaine au niveau mondial
Les noms de domaine
Définitions et exemples
DNS
F. P
laye
Un domaine est un sous-arbre de l’espace nom de domaine
Domaine complet
Domaine fr
Domaine centralweb
fr
inria
centralweb
m1 noeud m1.centralweb.fr
Des noeuds peuvent avoir les mêmes noms dans des domaines différents : ns.centralweb.fr et ns.renault.fr
Le domaine
Définitions et exemples
DNS
F. P
laye
Un domaine est un sous-arbre de l’espace Nom de domaine
Un domaine est constitué de noms de domaine et d’ autres domaines
Un domaine intérieur à un autre domaine est appelé un sous domaine
Exemple : le domaine fr comprend le noeud fr et tous les noeuds contenus dans tous les sous-domaines de fr
Concepts, résumé et extension
Définitions et exemples
DNS
F. P
laye
Un nom de domaine est un index dans la base DNS; exemple :
m1.centralweb.fr pointe vers une adresse IP
centralweb.fr pointe vers des informations de routage de mail et éventuellement des informations de sous-domaines
fr pointe vers des informations structurelles de sous-domaines
Les machines sont reliées entre elles dans un même domaine logiquement et non par adressage. Exemple : 10 machines d’un même domaine appartiennent à 10 réseaux différents et recouvrent 6 pays différents.
Concepts, résumé et extension
Définitions et exemples
DNS
F. P
laye
Le premier niveau de l’espace DNS fait exception à la règle :
7 domaines racines prédéfinis : com : organisations commerciales ; ibm.com edu : organisations concernant l’éducation ; mit.edu gov : organisations gouvernementales ; nsf.gov mil : organisations militaires ; army.mil net : organisations réseau Internet ; worldnet.net org : organisations non commerciales ; eff.org int : organisations internationales ; nato.int
arpa : domaine réservé à la résolution de nom inversée
organisations nationales : fr, uk, de, it, us, au, ca, se, etc.
Domaines racine
Définitions et exemples
DNS
F. P
laye
Le système DNS impose peu de règles de nommage :
noms < 63 caractères
majuscules et minuscules non significatives
pas de signification imposée pour les labels
Domaines racine
Définitions et exemples
DNS
F. P
laye
Nouveaux domaines racine en cours de normalisation:
firm, store, web, arts, rec, info, nom
Certaines organisations nationales peuvent être gérées administrativement par un consortium : RIPE
Les divisions en sous-domaines existent dans certains pays et pas dans d’autres : edu.au, com.au, etc. co.uk, ac.uk, etc. ca.ab, ca.on, ca.gb pas de division du .fr
Domaines racine
Définitions et exemples
DNS
F. P
laye
vers le plus significatif
A l’inverse de l’adressage IP la partie la plus significative si situe à gauche de la syntaxe :
sun2.ethernet1.centralweb.fr 193.148.37.201
vers le plus significatif
sun2. ethernet1. centralweb.fr domaine français (.fr)
domaine de l’organisation CentralWeb
sous-domaine CentralWeb
machine sun2 du domaine ethernet1. centralweb.fr
Lecture des noms de domaine
Définitions et exemples
DNS
F. P
laye
Le système DNS est entièrement distribué au niveau planétaire ; Le mécanisme sous-jacent est la délégation de domaine
A tout domaine est associé une responsabilité administrative
Une organisation responsable d’un domaine peut
découper le domaine en sous-domaines
déléguer les sous-domaines à d’autres organisations :
qui deviennent à leur tour responsables du (des) sous-domaine(s) qui leurs sont délégué(s)
peuvent, à leur tour, déléguer des sous-domaines des sous-domaines qu’elles gèrent
Délégation
Définitions et exemples
DNS
F. P
laye
Le domaine parent contient alors seulement un pointeur vers le sous-domaine délégué; exemple :
centralweb.fr est délégué à l’organisation CentralWeb
La société CentralWeb gère donc les données propres à ce domaine.
centralweb.fr (en théorie seulement) pourrait être géré par l’organisation responsable du domaine .fr (NIC France) qui gèrerait alors les données de centralweb.fr
Délégation
Définitions et exemples
DNS
F. P
laye
Les logiciels qui gèrent les données de l’espace nom de domaine sont appelés des serveurs de nom (name servers)
Les serveurs de nom enregistrent les données propres à une partie de l’espace nom de domaine dans une zone.
Le serveur de nom à autorité administrative sur cette zone.
Un serveur de nom peut avoir autorité sur plusieurs zone.
Une zone contient les informations d’un domaine sauf celles qui sont déléguées.
fr
bc ab
ca
on qb
domaine
zone
Les serveurs de noms
Définitions et exemples
DNS
F. P
laye
Serveur de nom primaire : maintient la base de données de la zone dont il a l’autorité administrative
Serveur de nom secondaire : obtient les données de la zone via un autre serveur de nom qui a également l’autorité administrative
interroge périodiquement le serveur de nom primaire et met à jour les données
Il y a un serveur primaire et généralement plusieurs secondaires
La redondance permet la défaillance éventuelle du primaire et du (des) secondaire(s)
Un serveur de nom peut être primaire pour une (des) zone(s) et secondaire pour d’autre(s).
Définitions et exemples
DNSTypes de serveurs de nom
F. P
laye
Les «resolvers» sont les processus clients qui contactent les serveurs de nom
Fonctionnement :
contacte un name serveur (dont l’ (les) adresse(s) est (sont) configurées sur la machine exécutant ce resolver)
interprète les réponses
retourne l’information au logiciel appelant
gestion de cache (dépend de la mise en œuvre)
Resolver
Définitions et exemples
DNS
F. P
laye
Le serveur de nom interroge également d’autres serveurs de nom, lorsqu’il n’a pas autorité sur la zone requise (fonctionnement itératif ou récursif)
Si le serveur de nom est en dehors du domaine requis, il peut être amené à contacter un serveur racine ( ne pas confondre avec un domaine racine)
Resolver
Définitions et exemples
DNS
F. P
laye
Les serveurs racine connaissent les serveurs de nom ayant autorité sur tous les domaines racine
Les serveurs racine connaissent au moins les serveurs de noms pouvant résoudre le premier niveau (.com, .edu, .fr, etc.)
Pierre angulaire du système DNS : si les serveurs racine sont inoperationnels ==> plus de communication sur l’Internet ==> multiplicité des serveurs racines actuellement jusqu’à 14 éparpillés sur la planète chaque serveur racine reçoit environ 100000 requêtes /
heure
Exemple de résolution : m1.centralweb.fr à partir de ....edu
resolver
Ns....edu
ROOTNS
fr NS centralweb NSm1.centralweb.fr m1.centralweb.fr
m1.centralweb.frm1.centralweb.fr
.fr NS centralweb.fr NS 193.48.184.201
193.148.37.201
Serveurs racine
Définitions et exemples
DNS
F. P
laye
Définitions et exemples
DNS
F. P
laye
Consiste a obtenir le nom de domaine à partir de l’adresse IP pour faciliter la compréhension des humains pour des raisons de sécurité
Plus délicate que nom -> IP car le système DNS est organisé pour la résolution de nom ==> recherche exhaustive ???
Définitions et exemples
DNSResolution inverse
F. P
laye
Solution : utiliser les adresses comme des noms :
le domaine in-addr.arpa
les noms des noeuds correspondent aux octets de l’adresse IP en ordre inverse
le domaine in-addr.arpa a 256 sous-domaines,
chacun de ces sous-domaines a 256 sous-domaines,
chacun de ces sous-domaines a, à son tour, 256 sous-domaines,
le 4ème niveau correspond à un NS connaissant le nom de domaine associé à cette adresse IP
Définitions et exemples
Exemple du DNSResolution inverse
F. P
laye
.arpa
in-addr
2550 193
2550 148
2550 37
2550 201
m1.centralweb.fr
Définitions et exemples
DNSResolution inverse
F. P
laye
le nom de domaine associé à la résolution inverse est noté selon l’adresse IP inversée :
car la résolution d’un nom de domaine se fait de droite à gauche
exemple : 210.37.148.193.in-addr.arpa
Définitions et exemples
DNSResolution inverse
F. P
laye
résolution : in-addr.arpa -> A.ROOT-SERVER.NET 193.in-addr.arpa -> NS.RIPE.NET 148. 193.in-addr.arpa -> NS.RIPE.NET 37.148. 193.in-addr.arpa -> first.tvt.fr
Organismes gérant les classes Classe A et B -> internic US. Classe C
– 192 : internic
– 193, 194, 195 RIPE avec délégations nationales
Définitions et exemples
DNSResolution inverse
F. P
laye
Les données d’un serveur DNS sont enregistrées dans une base identifiée par les noms de domaine correspondants; exemple :
db. centralweb.fr, centralweb.fr.dns
db.193.148.37, 193.148.37.dns
db.127.0.0, 127.0.0.dns
db.cache, cache.dns
Définitions et exemples
DNSEnregistrements d’un serveur de nom
F. P
laye
Types d’enregistrements
SOA: décrit l’autorité administrative,
NS : liste de serveurs de nom pour ce domaine
A : correspondance nom -> adresse
PTR : correspondance adresse -> nom
CNAME : alias
TXT : texte
HINFO : description machine
Définitions et exemples
DNSEnregistrements d’un serveur de nom
F. P
laye
SOA = Start of Authority
Spécifie que ce serveur de nom a autorité sur le domaine
;
; Database file centralweb.fr.dns for centralweb.fr zone.
;
@ IN SOA ns.centralweb.fr.fplaye.centralweb.fr. (
64 ; serial number3600 ; refresh600 ; retry86400 ; expire3600 ) ; minimum TTL
Définitions et exemples
DNSEnregistrement : SOA
F. P
laye
spécifie les serveurs de nom ayant autorité sur ce domaine
;
; Zone NS records
;
centralweb.fr IN NS ns.
@ IN NS 194.172.2.2
@ IN NS ntserver.
Définitions et exemples
DNSEnregistrement : NS
F. P
laye
hub3_ouest IN A 193.148.20.16
hub5_ouest IN A 193.148.20.17
intranet IN A 193.148.80.2
ism IN A 193.148.20.15
labo-reseau IN A 193.148.80.3
MODEM1 IN A 193.148.80.4
MODEM2 IN A 193.148.80.5
NETBUILDER_SUN IN A 193.148.20.1
next IN A 193.48.184.3
Ntserv IN A 193.148.60.2
ROUTEUR_MDT IN A 193.48.184.250
sunserv IN A 193.148.20.2
sunstation1 IN A 193.148.20.3
canonical names
A pour ipV4AAAA ipV6
Définitions et exemples
DNSEnregistrements : Adresses
F. P
laye
ftp IN CNAME intranet
gopher IN CNAME intranet
mail IN CNAME intranet
www IN CNAME intranet
aliases of canonical names
Définitions et exemples
DNSEnregistrements : Alias
F. P
laye
10.20.148.193.in-addr IN PTR sunstation8.centralweb.fr.
11.20.148.193.in-addr IN PTR sunstation9.centralweb.fr.
12.20.148.193.in-addr IN PTR sunstation10.centralweb.fr.
13.20.148.193.in-addr IN PTR ultra1.centralweb.fr.
14.20.148.193.in-addr IN PTR suntx1.centralweb.fr.
2.20.148.193.in-addr IN PTR sunserv.centralweb.fr.
3.20.148.193.in-addr IN PTR sunstation1.centralweb.fr.
4.20.148.193.in-addr IN PTR sunstation2.centralweb.fr.
2.80.148.193.in-addr IN PTR intranet.centralweb.fr.
3.80.148.193.in-addr IN PTR labo-reseau.centralweb.fr.
4.80.148.193.in-addr IN PTR MODEM1.centralweb.fr.
5.80.148.193.in-addr IN PTR MODEM2.centralweb.fr.
Canonical names
Définitions et exemples
DNSEnregistrements : PTR
F. P
laye
MX = Mail eXchanger
Permet l’adressage Email sur la base du nom de domaine plutot que sur l’adresse du (des) serveur(s) de mail :
[email protected] plutot que [email protected]
permet à l’émetteur d’ignorer la machine serveur de mail
permet le deplacement du serveur de mail vers une autre machine
permet la gestion de plusieurs serveurs de mail avec priorité dans l’ordre de consultation des serveurs
Définitions et exemples
DNSEnregistrements : MX
F. P
laye
L’enregistrement MX est consulté par les mailers (SMTP client)
Tient compte des priorités; exemple
centralweb.fr IN MX 8sun1.centralweb.fr
centralweb.fr IN MX 99 next.centralweb.fr
Définitions et exemples
DNSEnregistrements : MX
F. P
laye
Cache file:. IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. IN A 198.41.0.4
. IN NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. IN A 128.9.0.107
. IN NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. IN A 192.33.4.12
. IN NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. IN A 128.8.10.90
. IN NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. IN A 192.203.230.10
. IN NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. IN A 39.13.229.241
. IN NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. IN A 192.112.36.4
. IN NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. IN A 128.63.2.53
. IN NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. IN A 192.36.148.17
Définitions et exemples
DNSDonnées cachée : les serveurs racines
F. P
laye
Une machine peut gérer plusieurs domaines (zones) sur un même serveur DNS; lorsque ces domaines sont associés à des adresses faisant déjà partie d’un autre domaine, ils sont dits virtuels.
exemple
DNS 193.148.37.2
domaine centralweb.fr
domaine dummy.fr
domaine bidon.fr
Définitions et exemples
DNSDomaines virtuels
F. P
laye
Utiliser un serveur de nom
machine elle-même serveur de nom : 127.0.0.1
machine non serveur de nom : spécfier un ou plusieurs serveur de nom : adresses IP obligatoirement. éventuellement son domaine.
sous UNIX : fichier /etc/resolv
sous NT, W95 : administration TCP/IP
Définitions et exemples
DNSUtilisation du système DNS
F. P
laye
Administrer un serveur de nom
plateformes UNIX, NT
mémoire importante : mini 16/32 MB pour le service.
impératif : ne pas swapper
opérationnelle 24/24
laisser passer le port 53 sur UDP et TCP
Debugging : Nslookup
Définitions et exemples
DNSUtilisation du système DNS
Exemples d'annuaires électroniques
DNS
/etc/passwd
whois
whois++
NIS
PH
X.500
Définitions et exemples
Annuaires LDAP
Qualité d'un bon annuaire
Qualité des informations : sources fiables, mise à jour rapides
Informations protégées
Accessible par les applications
Gestion en partie automatisée
Rapide en lecture
Fiable et disponible
Définitions et exemples
Annuaires LDAP
Historique X500
Projet ISO à vocation d'annuaire global et distribué
racine d'un annuaire à réserver
modèle de donnés objet
ne s'appuie par sur TCP/IP
Première version en 1988, grosse révision en 1993
Pas d'essor : lourd, complexe...
Définitions et exemples
Annuaires LDAP
Historique LDAP
LDAP à l'origine un frontal à x500 sur TCP/IP
Lightweight DAP
Directory Access Protocol de X.500
Version 3 à ce jour
v1 : RFC 1487 « X.500 Lightweight Directory Access Protocol. », juillet 1993
v2 : RFC 1777, « Lightweight Directory Access Protocol. », mars 1995
v3 : RFC 2251-2256, déc. 1997 ; RFC 2228-2830, mai 2000 ; RFC 3377, sept. 2002
Définitions et exemples
Annuaires LDAP
Serveur historique
« standalone LDAP » en 1995 à l'université de Michigan
Aura pour héritiers :
OpenLDAP
Serveur Netscape (?)
Définitions et exemples
Annuaires LDAP
LDAP définit
Un format et un protocole de communication
Un modèle de données
Un modèle de nommage
Un modèle fonctionnel
LDAP définit presque...
Un modèle de sécurité
Un modèle de réplication
Définitions et exemples
Annuaires LDAP
Données transportées en utilisant
ASN.1
BER (LBER)
Protocole de communication client-serveur
Une connexion permet de faire passer plusieurs requêtes
Protocole de communication serveur-serveur
« refferal » : renvoi sur un autre annuaire
Définitions et exemples
Annuaires LDAP
LDAP définit
Un format et un protocole de communication
Un modèle de données
Un modèle de nommage
Un modèle fonctionnel
LDAP définit presque...
Un modèle de sécurité
Un modèle de réplication
Définitions et exemples
Annuaires LDAP
Dans l'annuaire, des entrées
Le modèle de données vise à définir la nature des entrées que l'on va trouver dans l'annuaire
Les entrées :
sont des objets
appartiennent à des classes
on les nomme : Directory Service Entry (DSE)
Définitions et exemples
Annuaires LDAP
Une classe
est constituées d'attributs
obligatoires ou optionnels
est typée
structurelle, auxiliaire ou abstraite
s'inscrit dans un arbre d'héritage de classes
LDAP définit des classes d'après X.500
On peut en fabriquer de nouvelles !
Définitions et exemples
Annuaires LDAP
Arbre d'héritage des classes des RFC 2256 et 2798 top
alias country locality organization organizationalUnit person organizationalPerson
inetOrgPerson residentialPerson
organizational role groupOfName ...
Définitions et exemples
Annuaires LDAP
Exemple de classe
inetorgPerson
( 2.16.840.1.113730.3.2.2 NAME 'inetOrgPerson' SUP organizationalPerson STRUCTURAL MAY ( audio $ businessCategory $ carLicense $ departmentNumber $ displayName $ employeeNumber $ employeeType $ givenName $ homePhone $ homePostalAddress $ initials $ jpegPhoto $ labeledURI $ mail $ manager $ mobile $ o $ pager $ photo $ roomNumber $ secretary $ uid $ userCertificate $ x500uniqueIdentifier $ preferredLanguage $ userSMIMECertificate $ userPKCS12 ))
Définitions et exemples
Annuaires LDAP
Type d'attribut
Pour définir un type d'attribut, il nous faut :
décider s'il est mono ou multi-valué
lui donner une syntaxe prédéfinie
le munir de règles de comparaison
éventuellement le faire hériter d'un autre type d'attribut
Deux familles d'attributs
attributs utilisateurs
attributs opérationnels
Définitions et exemples
Annuaires LDAP
Exemple
attributetype ( 1.3.6.1.4.1.12274.1.1.1.5 NAME 'aglnDate' DESC 'Date AGALAN format YYYYMMDDHHMMSSZ ou YYYYMMDDZ' EQUALITY generalizedTimeMatch ORDERING generalizedTimeOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )
attributetype ( 1.3.6.1.4.1.12274.1.1.1.6 NAME 'aglnAdmissionDate' DESC 'Date de declaration de l entree' SUP aglnDate SINGLE-VALUE )
Définitions et exemples
Annuaires LDAP
OID
Tous ces objets (classes attributs, syntaxes...) sont identifiés de façon unique par un OID (« Object Identifier ») géré par l'IANA
On peut réserver un numéro dans une branche particulière
http://www.iana.org/assignments/enterprise-numbers
Exemple1.3.6.1.4.1.7140INPG, Institut National Polytechnique de Grenoble
Définitions et exemples
Annuaires LDAP
Schéma
L'ensemble de ces objets constituent le schéma que connaît le serveur :
Classes
Types d'attribut
Syntaxes
etc.
Définitions et exemples
Annuaires LDAP
Définitions et exemples
Annuaires LDAP
Exemple d'entréeuid=neigeb,ou=people,ou=inpg,dc=agalan,dc=orgobjectClass: topobjectClass: personobjectClass: organizationalPersonobjectClass: inetOrgPersonobjectClass: aglnPersonobjectClass: shadowAccountobjectClass: posixAccountgivenName: Blanchesn: NeigeaglnPatronymicName: Neigecn: Blanche NeigeaglnSearchCommonName: Blanche.NeigeaglnDateOfBirth: 193712210000Zou: INPGaglnOrganizationUid: harp-002employeeType: P
aglnAdmissionDate: 200211150000ZaglnExpiryDate: 200212310000ZaglnPersonStatus: OFFIaglnAuthenticationDate: 200211150000ZuserPassword:: ...aglnPassword: ...aglnMailStatus: normaluid: neigebhomeDirectory: neigebuidNumber: 270838gidNumber: 270838mail: [email protected]
LDAP définit
Un format et un protocole de communication
Un modèle de données
Un modèle de nommage
Un modèle fonctionnel
LDAP définit presque...
Un modèle de sécurité
Un modèle de réplication
Définitions et exemples
Annuaires LDAP
Modèle de nommage
Ranger les entrées dans une structure hiérarchique
Directory Information Tree (DIT)
Les nommer de façon distincte
RDN
DN
Définitions et exemples
Annuaires LDAP
Directory Information Tree
Dc=agalan,dc=org
Ou=upmf
Ou=machines
Ou=connecteurs
Uid=kassovim
Uid=tautoua
cn=hmg-1A
Ou=people
Ou=groups
Ou=inpg
Ou=ujf
cn=esisar-3A-TP-GÉlec-02
Ou=...
Présence d'un suffixe (« Base DN »)
Les nœuds sont des objets
Définitions et exemples
Annuaires LDAP
RDN & DN
RDN (Relative Distinguished Name)
[email protected], uid=tautoua, etc.
Attention : la valeur de l'attribut utilisé au RDN et le RDN lui-même ne sont pas synchronisés
DN (Distinguished Name)
RDN + chemin dans l'arborescence en remontant
attribut du RDN à choisir pour que tout DN soit unique(Penser aux déplacements éventuels dans le DIT !)
uid=tautoua,ou=people,ou=inpg,dc=agalan,dc=org
Définitions et exemples
Annuaires LDAP
Deux objets particuliers
objet « alias »
pointeur sur une autre entrée (DN)
objet « referral »
pointe sur un autre serveur (URL LDAP)
Définitions et exemples
Annuaires LDAP
LDAP définit
Un format et un protocole de communication
Un modèle de données
Un modèle de nommage
Un modèle fonctionnel
LDAP définit presque...
Un modèle de sécurité
Un modèle de réplication
Définitions et exemples
Annuaires LDAP
Modèle fonctionnel
Définit les opérations que l'on peut effectuer sur l'annuaire :
Connexion au serveur
Déconnexion du serveur
Recherche d'entrées
Modification d'une entrée
Abandon des opérations en cours
« Extended Operations »
« Control extensions »
Définitions et exemples
Annuaires LDAP
Opérations
Connexion au serveur (« bind »)
Paramètres de connexion :
Version de LDAP demandé (v2, v3)
DN sous lequel on veut se connecter
Type d'authentification
Déconnexion du serveur (« unbind »)
Définitions et exemples
Annuaires LDAP
Opérations
Recherche d'entrées
Paramètres de recherche
base object (DN)
scope
derefAliases
sizeLimit
timeLimit
typesOnly
filter
attributes
Définitions et exemples
Annuaires LDAP
« Scope » de recherche
Dc=agalan,dc=org
Ou=upmf
Ou=machines
Ou=connecteurs
Uid=kassovim
Uid=tautoua
cn=hmg-1A
Ou=people
Ou=groups
Ou=inpg
Ou=ujf
cn=esisar-3A-TP-GÉlec-02
Ou=...
Scope = base
Définitions et exemples
Annuaires LDAP
« Scope » de recherche
Scope = onelevel
Dc=agalan,dc=org
Ou=upmf
Ou=machines
Ou=connecteurs
Uid=kassovim
Uid=tautoua
cn=hmg-1A
Ou=people
Ou=groups
Ou=inpg
Ou=ujf
cn=esisar-3A-TP-GÉlec-02
Ou=...
Définitions et exemples
Annuaires LDAP
« Scope » de recherche
Scope = sub
Dc=agalan,dc=org
Ou=upmf
Ou=machines
Ou=connecteurs
Uid=kassovim
Uid=tautoua
cn=hmg-1A
Ou=people
Ou=groups
Ou=inpg
Ou=ujf
cn=esisar-3A-TP-GÉlec-02
Ou=...
Définitions et exemples
Annuaires LDAP
Filtres de recherche
Type de recherche d'entrées : égalité, sous-chaîne, approximation, plus grand/petit
ou égal, présence...
Opérateurs de combinaison des filtres &, |, !
Exemple(&(sn=Neige)(mail=*grenet*))
Ne pas oublier de positionner des index !
Définitions et exemples
Annuaires LDAP
Opérations
Recherche particulière : informations sur le serveur
filtre « (objectClass=*) », DN null
Informations récupérées :
namingContexts
subschemaSubentry
altServer
supportedExtension
supportedControl
supportedSASLMechanisms
supportedLDAPVersion
Définitions et exemples
Annuaires LDAP
Opérations
Modification d'une entrée
Paramètres de la modification
Object à modifier (DN)
Liste d'opérations sur les attributs
• type d'opération
• ajout
• suppression
• remplacement
• type d'attribut
• valeurs
Définitions et exemples
Annuaires LDAP
Opérations Ajout d'une entrée
Paramètres de l'ajout :
DN souhaité pour l'entrée
Liste d'attributs et de leurs valeurs
Suppression d'une entrée
Seul paramètre : le DN de l'entrée à supprimer
Ne supprime que les feuilles du DIT
Définitions et exemples
Annuaires LDAP
Opérations
Modification du DN d'une entrée
Déplacement de l'entrée dans le DIT
N'est pas faite pour le déplacement entre serveurs
Comparaison
Paramètres de la comparaison :
Entrée à comparer (DN)
Liste d'atributs avec leurs valeurs
OK si les attributs sont de valeurs comparables
Définitions et exemples
Annuaires LDAP
Opérations
Abandon
Il s'agit d'abandonner les opérations en cours
« Extended Operations »
Permettent des opérations prévues ou non dans les RFC
Chaque opération doit être enregistrée sous un OID
Exemple :TLS avec opération « start TLS »
Définitions et exemples
Annuaires LDAP
LDAP définit
Un format et un protocole de communication
Un modèle de données
Un modèle de nommage
Un modèle fonctionnel
LDAP définit presque...
Un modèle de sécurité
Un modèle de réplication
Définitions et exemples
Annuaires LDAP
Modèle de sécurité
Authentification & chiffrement des transactions
Authentification lors de la connexion au serveur
Types de connexion
Anonyme
rootDN (mode administrateur)
DN + mot de passe en clair
Mot de passe ou certificats (clefs asymétriques) sur SSL/TLS
• via opération étendues
Mécanisme externe via SASL
Définitions et exemples
Annuaires LDAP
ACL
ACL pas définies par le protocole
Peut différer d'un serveur à l'autre
Forme générale (finesse attribut) :
<access directive> ::= access to <what>[by <who> <access> <control>]+
RFC 2820 « Access Control Requirements for LDAP. », mai 2000
statut INFORMATIONAL seulement
Définitions et exemples
Annuaires LDAP
Exemples simples :
access to * by * read
access to *by self writeby anonymous authby * readby * read
Définitions et exemples
Annuaires LDAP
LDAP définit
Un format et un protocole de communication
Un modèle de données
Un modèle de nommage
Un modèle fonctionnel
LDAP définit presque...
Un modèle de sécurité
Un modèle de réplication
Définitions et exemples
Annuaires LDAP
Modèle de réplication
Pas de standard...
Groupe de travail IETF LDUP
Pour répliquer l'annuaire entier ou une branche du DIT seulement
Réplication au fil de l'eau ou non
Selon serveurs, réplication
single master
multiple master
cascading replication
Définitions et exemples
Annuaires LDAP
LDIF LDAP Data Interchange Format (RFC2849)
Représentation ASCII & Base64 des entrées
Mode import#comment dn: <distinguished name> attribute type:<attribute value ASCII>attribute type::<attribute value BASE64>
Mode modification
dn: <DN>changetype identifier (opération sur l'entrée)change operation identifier (opération sur attributs)list of attributes-change operation identifier...
Définitions et exemples
Annuaires LDAP
LDIF : exemple
# Bjorn's Entrydn: cn=Bjorn J Jensen, dc=example, dc=comcn: Bjorn J Jensencn: Bjorn JensenobjectClass: personsn: Jensen# Base64 encoded JPEG photojpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG
Définitions et exemples
Annuaires LDAP
# Modify an entry: add an additional value to the postaladdress# attribute, completely delete the description attribute,# replace the telephonenumber attribute with two values, # and delete a specific value from the facsimiletelephonenumber# attribute#dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=comchangetype: modifyadd: postaladdresspostaladdress: 123 Anystreet $ Sunnyvale, CA $ 94086-delete: description
-
replace: telephonenumber
telephonenumber: +1 408 555 1234
telephonenumber: +1 408 555 5678
-
delete: facsimiletelephonenumber
facsimiletelephonenumber: +1 408 555 9876
-
Définitions et exemples
Annuaires LDAP
LDIF : exemple
Serveurs
eDirectory
iPlanet
OpenLDAP
...
Définitions et exemples
Annuaires LDAP
Avec tout ces éléments...
Quels choix effectuer ?
Quel schéma ?
Utiliser les classes existantes comme bases pour en créer de nouvelles
Quel DIT ?
Le plus plat possible selon RFC 1617
...
Garder à l'esprit que les choix techniques ne résolvent pas tous les aspects fonctionnels
Définitions et exemples
Annuaires LDAP
Quatre architectures
I) Client/Serveur
Définitions et exemples
Peer to peer
Tour
1 2
1 2
21
?
?
A
B C
1. Requête au serveur
2. Envoi du fichier musical de la part du serveur
II) Modèle hybride centralisé (à la Napster)
Définitions et exemples
Peer to peer
1. Connexion au serveur envoie de la base de registre
2. Envoi d’une requête au serveur
3. Réponse sous forme de liste de clients possédant le fichier
4. Requête et téléchargement du fichier depuis un client
Tour
2
1
1
1
1
3
4
4 ? C
B
A
D
III) Modèle hybride décentralisé (à la eDonkey)
Définitions et exemples
Peer to peer
1. Connexion au serveur pour envoyer de la base de registre
2. a) Nouveau serveur
b) Validation
c) Mise à jour des clients
3. Connexion au nouveau serveur
4. Requête au nouveau serveur et sa réponse
5. Téléchargement
4a4b
52b
DB
CA
13
1
Tour
X
Tour
Y3
1
1
2a
5
2c
2c
2b
2c
Le voisinage
Définitions et exemples
Peer to peer
Connexion entre serveurs
Connexion à un serveur
Connexion entre clients
ClientServeur
« Zone autour d’une machine (client ou
serveur) dont la distance informatique est la plus
petite possible »
Exemple ci-contre:
- Trois voisinages autour d’un serveur
- Un voisinage de serveurs
IV) Modèle Peer-to-Peer pur (Gnutella)
Définitions et exemples
Peer to peer
1. Envoi de requête sous forme de broadcast
2. Réponse en remontant le long du chemin
3. Téléchargement
1 2
1
2
3
3
?
?
OK
OK
E
C
B
AD
1
?
Définitions et exemples
Peer to peer
Définition d’une clique
« Une clique est un ensemble d’ordinateurs connectés directement
entre eux ne nécessitant aucun
serveur »
Exemple ci-contre:
Une clique parfaite à huit
Définitions et exemples
Peer to peer
! Nouveau concept: super-peer !
Exemple: Morpheus
Définitions et exemples
Peer to peer
Avantages Inconvénients
a) Hybride centralisé
b) Hybride décentralisé
c) Peer-to-Peer pur
Index centralisé
Utilisateurs inscrits
Un point d’entrée
Obsolescence
Index centralisé Sous-réseau touché
Obsolescence
Toujours un point d’entrée
Scalabilité remise en question…
Recherches inarrêtables
« Justice safe »
« Justice safe »
Recherches lentes
Définitions et exemples
Peer to peer
Quelques acteurs majeurs
a) Gnutella (4. File-Sharing)TTL=7-1
TTL=6-1
TTL=5-1
Jusqu'àTTL = 0
Naissance: mars 2000Mort: car jugé sans intérêtBut: échanger des recettes de cuisine
Re-naissance: par « reverse engineering »Nouveau but: TOUT échangerNouveau statut: devient un protocoleArchitecture: P2P pur utilisant un TTL
Définitions et exemples
Peer to peer
Avantages, inconvénients et répercussions
Impossible à arrêter juridiquement Glissement de la problématique
Nouvelles « victimes » Problèmes de sécurité
Stopper ?
« Eteindre » Internet Bloquer le protocole ? Virus envers les applications Gnutella ?
But: monter un communauté de petit appareils sans forme de planification, d’installation ou d’intervention humaine
Particularités: Mobilité totale (changement de voisinage aisé), portabilité, sécurité.
Trois protocoles: dicovery, join-in et lookup
Définitions et exemples
Peer to peer
b) Jini (3.1 Devices as Peers)
Définitions et exemples
Peer to peer
c) Entropia (1. Distributed Computation)
Idée: utiliser le temps de calcul inutilisé des PCs (95%)
Principe: fractionnement du travail en sous-travaux distribués par un serveur aux clients qui en font la demande
Argument de vente: plein retour sur investissements en infrastructures IT
Projets: de type humanitaires, mais cachent ceux commerciaux
Pas un problème nouveau: cf. architectures parallèles et massivement parallèles
Justification P2P: perte du contrôle du périmètre de travail
Pause-réflexion
Avez-vous des questions ?
Abstractions de base
ServicesServices
DNSDNSLDAPLDAP
P2PP2P
Résumé du module
ProtocolesProtocoles
Les systèmes répartis
Félicitations
Vous avez suivi avec succès le module de cours n°5 - annexes
Protocoles et services
Fin
L'utilisation du P2P est soumise aux respects des droits d'auteurs
Les systèmes répartis