Www.supinfo.com Copyright © SUPINFO. All rights reserved Protocoles DNS - LDAP – P2P.

Post on 04-Apr-2015

119 views 0 download

Transcript of Www.supinfo.com Copyright © SUPINFO. All rights reserved Protocoles DNS - LDAP – P2P.

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: 50566francois.hortolland@supinfo.com

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 :

fplaye@centralweb.fr plutot que fplaye@m2.centralweb.fr

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: Blanche.Neige@grenet.fr

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)

mail=Audrey.Tautou@inpg.fr, 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