Lic. Jorge Guerra G.
Sistemas Distribuidos
Servicio de Nombramiento
Año 2015 Lic. Jorge Guerra Guerra
Lic. Jorge Guerra G.Sistemas Distribuidos2
Lic. Jorge Guerra G.
Nombres y direcciones
• Nombre: forma de identificar una entidad en un sistemadistribuido (lista de bits o caracteres).– Entidades: Usuarios, ficheros, recursos, equipos, impresoras,ventanas..– Queremos nombres porque queremos operar con ellas.● Dirección: para poder operar con una entidad es necesarioacceder a través de un punto de acceso. Los puntos deacceso son entidades que se identifican por una dirección.● Un nombre de una entidad es independiente de su ubicaciónsi es independiente de las direcciones de su punto de acceso.– Es más flexible.
Sistemas Distribuidos3
Lic. Jorge Guerra G.Sistemas Distribuidos4
Introducción
Lic. Jorge Guerra G.
¿Cómo pasar de nombres a direcciones?
• ● Sistema de nombres: mecanismo para traducir un nombre a una dirección.● En su forma más sencilla puede ser simplemente una tabla (nombre, dirección).– Solución sencilla en sistemas centralizados: un único servidor de nombres– Solución compleja en sistemas distribuidos: múltiples servidores para poder ser flexible, tolerante a fallos…● Dos tipos de sistemas:– No estructurados (o planos).– Estructurados (o jerárquicos).● Capacidad del espacio de nombres finita o ilimitada– Puede ser finita en un sentido (p.ej en direcciones: IP) e ilimitada en otros (p. ej. En nombres: DNS)
Sistemas Distribuidos5
Lic. Jorge Guerra G.Sistemas Distribuidos6
• Motivación– Muchas aplicaciones basadas en redes se apoyan en sus
directorios (o bases de datos) propios• Información que describe a los usuarios, aplicaciones, ficheros y
otros recursos accesible por la red• Gran parte de la información es común con otras aplicaciones
– Problema de consistencia– A más directorios especializados, mayor dificultad de
mantenimiento
Introducción
Lic. Jorge Guerra G.
Conceptos Basicos
Sistemas Distribuidos7
Lic. Jorge Guerra G.Sistemas Distribuidos8
Conceptos básicos
• Nombre permite referirse a objetos– Nombre está asociado a id. del objeto (o sea, a nombre interno)– Más general, nombre asociado a conjunto de atributos del objeto
• Resolución de nombres:– Convencional: A partir de nombre, se obtienen atributos– Por atributos: A partir de 1 o más atributos, se obtiene el resto
• Servicio de nombres:– Resolución convencional (Páginas blancas)
• Servicio de directorio– Resolución basada en atributos (Páginas amarillas)
• NOTA: Servicio de directorio de un SFD es un servicio de nombres– Incluye resolución convencional ya que el nombre es un atributo
Lic. Jorge Guerra G.Sistemas Distribuidos9
Servicios de nombres• Herramienta fundamental en
cualquier sistema de computación– Nombres– Bindings– Referencias y direcciones– Contextos– Sistemas de nombres y
espacios de nombresEjemplos:DNS (Domain Name Service)Registro RMIServicio de nombres de CORBA
Lic. Jorge Guerra G.
Objetivos de sistema de nombres
• Transparencia de ubicación: El nombre de una entidad no debe revelar su ubicación física.
• Independencia de ubicación: El nombre de una entidad no debe cambiar cuando cambie su ubicación física.– Facilita migración, ya que una misma entidad tiene el mismo nombre en distintos lugares en distintos momentos.
Sistemas Distribuidos10
Lic. Jorge Guerra G.Sistemas Distribuidos11
Servicios de directorio• Amplían la funcionalidad de los
servicios de nombres asignando atributos a los objetos– Atributos– Búsquedas y filtros
Lic. Jorge Guerra G.
Aproximación basado en ubicación original
Sistemas Distribuidos12
Lic. Jorge Guerra G.
Nombre utilizado para accesar a un recurso usando URL
Sistemas Distribuidos13
file
Web serverSocket
http://www.cdk3.net:8888/WebExamples/earth.html
URL
Resource ID (IP number, port number, pathname)
138.37.88.61 WebExamples/earth.html8888
DNS lookup
(Ethernet) Network address
2:60:8c:2:b0:5a
ARP lookup
Lic. Jorge Guerra G.Sistemas Distribuidos14
Espacios de nombres
• Conjunto de nombres reconocidos por un servicio de nombres
• Alternativas:– Único espacio (servicio) de nombres para todos los tipos de objetos
• No siempre adecuado incluir todos los objetos (p.ej. ficheros)– Combinación de distintos espacios de nombres (p. ej. DCE)
• Ejemplo de la última alternativa:– Servicio de nombres principal para todo excepto ficheros – Espacio de nombre de archivos “enganchado” en un punto del
espacio de nombres principal – Cuando en resolución de nombre, servicio principal alcanza punto
de montaje, delega en SFD el resto de la resolución
Lic. Jorge Guerra G.
Aproximación basado en ubicación original
• Problemas:● Mientras exista la entidad debe existir la ubicación original.● Incremento de latencia y mala escalabilidad geográfica (la “casa” puede estar muy alejada)● La ubicación original está prefijada. ¿Y si la entidad se mueve permanentemente a otra ubicación?Pregunta: ¿Cómo resolver el problema de la reubicación permanente?
Sistemas Distribuidos15
Lic. Jorge Guerra G.
Servicios de ubicación jerárquica
Sistemas Distribuidos16
Lic. Jorge Guerra G.
Organización en árbol• La dirección de una entidad se guarda en un nodo
“hoja” o en un nodo intermedio.• Los nodos intermedios contienen un puntero al hijo
sólo si el sub-árbol de un hijo contiene un puntero ala entidad.
• La raíz conoce todas las entidades.• Una entidad puede tener múltiples direcciones. – El nodo
común tendrá dos punteros, uno para cada rama.
Sistemas Distribuidos17
Lic. Jorge Guerra G.Sistemas Distribuidos18
Resolución de nombres• Generalmente el espacio de nombres es jerárquico
– Algunos objetos son contenedores (directorios) de otros objetos• Resolución: proceso iterativo que parte de un contexto inicial
– Res. absoluta: contexto inicial corresponde con raíz– Res. relativa: contexto inicial corresponde con nodo intermedio
• Espacio de nombres organizado en dominios– Cada dominio gestionado por un servidor
• Mismas alternativas de navegación que en SFD – Resolución iterativa, transitiva o recursiva
• Uso de cache en la resolución• Replicación de información de un dominio
– Mejor fiabilidad y rendimiento, pero problema de coherencia
Lic. Jorge Guerra G.
Organización en árbol
Sistemas Distribuidos19
Lic. Jorge Guerra G.Sistemas Distribuidos20
Resolucion de nombres• Resolución (nombres « direcciones y otros atributos),
búsqueda, Modificación• Funcionamiento:
– Base de datos distribuida (servidores que cooperan),– por dominios (escala), rápido (sin conexión, cachés, réplicas)– Muchas consultas (casi sólo lectura),– Muy pocas modificaciones (propagación de cambios)
Lic. Jorge Guerra G.
Organización jerárquica: consulta• Se empieza la búsqueda en el nodo hoja.• Dos posibilidades:
– El nodo conoce a la entidad -> se sigue el puntero hacia abajo– El nodo no lo conoce ->se sube un nivel
• Si suben, las consultas terminan en el nodo raíz.
Sistemas Distribuidos21
Lic. Jorge Guerra G.
Organización jerárquica: consulta
Sistemas Distribuidos22
Lic. Jorge Guerra G.
Organización jerárquica: inserción
Sistemas Distribuidos23
Lic. Jorge Guerra G.
Organización jerárquica: inserción
Sistemas Distribuidos24
Lic. Jorge Guerra G.
Espacio de nombres
Sistemas Distribuidos25
Lic. Jorge Guerra G.Sistemas Distribuidos26
Ejemplos de Serv. de Nombres
• CORBA:– Servicio de nombres y de navegación
• X.500. Servicio de directorio estándar de ISO.• LDAP (Lightweight Directory Access Protocol, RFC 2251)
– Basado en X.500 pero con un protocolo más ligero (sobre TCP/IP) y una interzaz más sencilla
• Active Directory de Microsoft– Forma parte de la arquitectura de Windows 2000– Proporciona una interfaz LDAP
• UDDI Universal Directory Description Interface -- Forman parte de .NET y JWSDP
Lic. Jorge Guerra G.Sistemas Distribuidos27
Conceptos básicos de X.500
• S. de directorio (p. amarillas) + S. de nombres (p. blancas)• Información organizada jerárquicamente
– Directory Information Tree (DIT)• Por ejemplo: <país, organización, departamento, persona>
• Nodo del árbol (directorio) tiene asociado cjto. de atributos• Conjunto de toda la información:
– DIB (Directory Information Base)– Similar a una BD pero escrituras infrecuentes y sencillas
• Usa un modelo de información orientado a objetos
Lic. Jorge Guerra G.Sistemas Distribuidos28
Ejemplo de jerarquía
... France (country) Great Britain (country) Greece (country)...
BT Plc (organization) University of Gormenghast (organization)... ...
Department of Computer Science (organizationalUnit)Computing Service (organizationalUnit)
Engineering Department (organizationalUnit)
...
...
X.500 Service (root)
Departmental Staff (organizationalUnit)
Research Students (organizationalUnit)ely (applicationProcess)
...
...
Alice Flintstone (person) Pat King (person) James Healey (person) ...... Janet Papworth (person)...
Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000
Lic. Jorge Guerra G.Sistemas Distribuidos29
Modelo orientado a objetos
• Objetos agrupados en clases– p.ej. personas, impresoras, organizaciones, ...
• Existe esquema que define clases y herencia entre clases– Para cada clase se define cjto. de atributos:
• Atributo= nombre de atributo + tipo de valor(es) asociado(s)• Puede especificarse como obligatorio u opcional
– Define la jerarquía de herencia de clases• P.ej. Clase Secretario derivada de Empleado
• Entrada de DIB (o sea, nodo de DIT): Cjto. de atributos– Atributo= nombre + uno o más valores (p.e j. Despacho=115)– Atributo obligatorio que define la clase (ObjectClass)– No confundir jerarquía de objetos (DIT) con jerarquía de clases
(Esquema)
Lic. Jorge Guerra G.Sistemas Distribuidos30
Una entrada de DIB
infoAlice Flintstone, Departmental Staff, Department of Computer Science,
University of Gormenghast, GB
commonName Alice.L.Flintstone Alice.Flintstone Alice Flintstone A. Flintstone
surname
Flintstone
telephoneNumber +44 986 33 4604
uid
alf
mail [email protected]
Z42userClass
Research Fellow
Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000
Lic. Jorge Guerra G.Sistemas Distribuidos31
Nombres y operaciones• Cada entrada tiene un nombre:
– Atributo(s) “distinguido(s)” que forma(n) su Relative Distinguished Name (RDN)
– Debe ser único entre los “hermanos” del objeto– P.ej. Nombre=“Juan Martínez Martínez”
• Nombre completo: Distinguished Name (DN)– Concatenación de RDNs desde raíz hasta objeto:
• P.ej. País=ES,Organización=UPM,Nombre=“Juan Martínez Martínez”
• Operaciones típicas:– Añadir/eliminar/modificar entrada de directorio– Leer atributos de un objeto– Buscar en árbol subyacente a objeto qué objetos cumplen criterio
Lic. Jorge Guerra G.Sistemas Distribuidos32
Arquitectura del servicio X.500
• Modelo cliente/servidor• Clientes: Directory User Agents (DUA)• Servidores: Directory Service Agents (DSA)• Normalmente, DIB repartida entre varios DSAs• Admite distintos esquemas de resolución (iterativa, recursiva) • Aspectos de implementación no definidos por estándar
– Por ejemplo, caching y replicación
Lic. Jorge Guerra G.Sistemas Distribuidos33
Lic. Jorge Guerra G.Sistemas Distribuidos34
Arquitectura del servicio X.500
DSA
DSA
DSA
DSA
DSADSADUA
DUA
DUA
Coulouris, Dollimore and KindbergDistributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000
Lic. Jorge Guerra G.
Resoluciones
Sistemas Distribuidos35
Lic. Jorge Guerra G.Sistemas Distribuidos36
Lic. Jorge Guerra G.Sistemas Distribuidos37
Lic. Jorge Guerra G.Sistemas Distribuidos38
Funcionamiento de DNS• Toda zona (unidad de gestión) tiene al menos dos servidores de
nombres– Motivación de la duplicación
• Desempeño• Tolerancia a fallas
– Cada servidor mantiene una tabla de correspondencia nombre de dominio- IP• Colección de registros <Nombre, Valor, Tipo, Clase, Duración de vida>
• Principio de búsqueda– Un servidor contiene la dirección buscada– Contiene la dirección de otro servidor con posibilidad de conocerla
Lic. Jorge Guerra G.Sistemas Distribuidos39
Funcionamiento de DNS
Lic. Jorge Guerra G.Sistemas Distribuidos40
Funcionamiento de DNS• El servidor raíz contiene
– los nombres de los servidores de nombres de los dominios del segundo nivel– Las direcciones IP de esos servidores
• <inrialpes.fr, if.inrialpes.fr, NS, IN, ...>• <if.inrialpes, 194.199.18.65, A, IN,...>
– El servidor raíz está ampliamente duplicado• Más un servidor es “alto” más se necesita que haya copias y menos seguido cambia
(long TTL)– Cada servidor de zona contiene
• Tuplas (nombre, dirección) de hosts que pertenecen a los dominios contenidos en la zona
• Eventualmente tuplas (nombre, dirección) de servidores de nombres de subdominios incluidos
• v.g., if.inrialpes.fr <tuamotu.inrialpes.fr, 194.199.20.81, A, IN, ...>
Lic. Jorge Guerra G.Sistemas Distribuidos41
Distribución del espacio de nombres
Lic. Jorge Guerra G.Sistemas Distribuidos42
Lic. Jorge Guerra G.Sistemas Distribuidos43
Lic. Jorge Guerra G.Sistemas Distribuidos44
Lic. Jorge Guerra G.
Implementación de la resolución de nombres: iterativa
Sistemas Distribuidos45
Lic. Jorge Guerra G.Sistemas Distribuidos46
Lic. Jorge Guerra G.Sistemas Distribuidos47
Lic. Jorge Guerra G.
Implementación de la resolución de nombres: recursiva
Sistemas Distribuidos48
Lic. Jorge Guerra G.
Resolución de nombres recursiva
Sistemas Distribuidos49
Lic. Jorge Guerra G.Sistemas Distribuidos50
Lic. Jorge Guerra G.Sistemas Distribuidos51
Lic. Jorge Guerra G.Sistemas Distribuidos52
Funcionamiento
Lic. Jorge Guerra G.Sistemas Distribuidos53
Lic. Jorge Guerra G.Sistemas Distribuidos54
Lic. Jorge Guerra G.Sistemas Distribuidos55
Lic. Jorge Guerra G.Sistemas Distribuidos56
Lic. Jorge Guerra G.Sistemas Distribuidos57
• Lightweight Directory Access Protocol• Método estándar de acceso y actualización de la
información del directorio– Es un protocolo de comunicaciones– No define un interfaz de programación
• Es un estándar industrial abierto• Acceso más “ligero”a X.500
– Usa la pila de protocolos TCP/IP– Simplifica alguans operaciones X.500
LDAP: definición
Lic. Jorge Guerra G.
Espacio de nombres LDAP
Sistemas Distribuidos58
Lic. Jorge Guerra G.
Espacio de nombres LDAP
Sistemas Distribuidos59
Lic. Jorge Guerra G.Sistemas Distribuidos60
• Gateway a un servidor X.500
• Stand-Alone
LDAPClient
LDAPServer
X.500Server
Directory
TCP/IP OSI
LDAPClient
LDAPServer
Directory
TCP/IP
Servidor LDAP
Lic. Jorge Guerra G.Sistemas Distribuidos61
• Interacción básica
– Binding : 1, 2– Unbinding : 5
LDAPClient
LDAPServer
1. request2. authenticated
3. read or update or search request
4. response
5. close session
LDAP: interacción
Lic. Jorge Guerra G.Sistemas Distribuidos62
Lic. Jorge Guerra G.Sistemas Distribuidos63
Lic. Jorge Guerra G.Sistemas Distribuidos64
Lic. Jorge Guerra G.Sistemas Distribuidos65
• Ejemplo de DIT
cn=John,ou=LDAP Team,o=IBM,c=UScn=John Smith,o=IBM,c=DE
Directory Root
o=MyOrgc=US c=DE
o=IBM o=transarcmail:[email protected]:512- 838- 5187
o=IBM
ou=LDAP Team cn=Mike Youngmail:[email protected]
cn:J ohn Smithmail:[email protected]
cn=J ohn(alias)
Modelo de nombres (2)
Lic. Jorge Guerra G.Sistemas Distribuidos66
• Sufijos y Referrals (referencias)– Soporte de los directorios distribuidos
• Sufijos– Los servidores LDAP pueden no almacenar el DIT entero
• Referrals– Forma un directorio distribuido que contiene todo el DIT– Una entrada de objectClass referral– Tiene un atributo, ref, cuyo valor es el LDAP URL de la entrada referida en
otro servidor LDAP– Manejado por el cliente
» Descarga al servidor del trabajo de contactar con otros servidores
Modelo de nombres (3)
Lic. Jorge Guerra G.Sistemas Distribuidos67
• Ejemplo de referrals
Server 2
Server 1
o=IBM,c=USSuffix
ou=ITSO
ou=ITSO,o=IBM,c=USSuffix
ou=ITSOtestSuffix
cn=J ohn Smithcn=Paul Miller
cn=Mike Cook
Referral
Modelo de nombres (4)
Lic. Jorge Guerra G.Sistemas Distribuidos68
• Operación de consulta– Parámetros de la búsqueda
Directory Root
c=US c=DE c=SE
Scope of SearchLDAP_SCOPE_SUBTREE
Base Objectdn="o=Transarc,c=US"
o=Transarcmail:[email protected]:512- 838- 5187
cn=Larry Browncn:Mike Cookmail:[email protected]
cn=Charlie Browncn:Paul Millermail:[email protected]
Search Filter(cn=Larry Brown)
Information ReturnedAll Attributes
Modelo funcional (1)
Lic. Jorge Guerra G.Sistemas Distribuidos69
• LDAP replicado
WebServer
Web App.Server
MailServer
LDAPclient
NetworkDispatcher
ClientNetwork
MasterDirectoryServer
ReplicaDirectoryServer
Client Requests
Server Replies
Ejemplo de uso (1)
Lic. Jorge Guerra G.Sistemas Distribuidos70
• OpenLDAP– Gratuito y Open Source
• Netscape Directory Server• IBM's Secure Way Directory• Microsoft Active Directory Service
– Parte de Windows 2000
Implementaciones
Lic. Jorge Guerra G.Sistemas Distribuidos71
Lic. Jorge Guerra G.Sistemas Distribuidos72
Arquitectura de JNDI
Lic. Jorge Guerra G.Sistemas Distribuidos73
Proveedor de servicio• Componente de JNDI para integrar el acceso a algún tipo de
servicio de nombres o directorio:– Lightweight Directory Access Protocol(LDAP)– CORBA services(COS) naming service– Java Remote Method Invocation(RMI) Registry– Network Information System(NIS)– File System– Domain Name System (DNS)– Novell NDS
Lic. Jorge Guerra G.Sistemas Distribuidos74
Paquetes JNDI• Parte del Standard Development Kit 1.3?, jndi.jar• javax.naming
– Acceso a los servicios de nombes• javax.naming.directory
– Acceso a los servicios de directorio• javax.naming.event
– Soporta notificación de eventos en servicios de nomgres y directorios. • javax.naming.ldap
– Características propias de LDAP v3 no cubiertas en el paquete javax.naming.directory• javax.naming.spi
– Interfaz de proveedor de servicio
Lic. Jorge Guerra G.Sistemas Distribuidos75
Lic. Jorge Guerra G.Sistemas Distribuidos76
Contexto inicial (1)• Punto de inicio para la resolución de nombres1. Especificar el proveedor de servicio
Hashtable env = new Hashtable();env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory"); • Otros proveedores:
– Sistema de archivos:• com.sun.jndi.fscontext.RefFSContextFactory
– Registro RMI:• com.sun.jndi.rmi.registry.RegistryContextFactory
Lic. Jorge Guerra G.Sistemas Distribuidos77
Contexto inicial (2)
2. Especificar otra configuración:env.put(Context.PROVIDER_URL, "ldap://ldap.wiz.com:389");env.put(Context.SECURITY_PRINCIPAL, "user");env.put(Context.SECURITY_CREDENTIALS, "password");
3. Creación del contexto inicial:Context ctx = new InitialContext(env); DirContext ctx = new InitialDirContext(env);
Lic. Jorge Guerra G.Sistemas Distribuidos78
Contexto inicial (3)
• Uso del fichero de propiedades jndi.propertiesjava.naming.provider.url="ldap://localhost:389/o=jnditutorial“
java.naming.factory.initial="com.sun.jndi.ldap.LdapCtxFactory" • jndi.properties en:
– algún directorio del classpath– JAVA_HOME/lib/
• Constructor sin parámetrosContext ctx = new InitialContext();
Lic. Jorge Guerra G.Sistemas Distribuidos79
Ejemplo servicio de nombres
try {// Contexto inicialContext ctx = new InitialContext(env);// Buscar un objetoObject obj = ctx.lookup(name); // Casting y usoSystem.out.println(name + " ligado a: " + obj);
} catch (NamingException e) {System.err.println(“Problemas con " + name + ": " + e);
}
Lic. Jorge Guerra G.Sistemas Distribuidos80
Ejemplo servicio de directorio (1)
try {// Contexto indicial de directorioDirContext ctx = new InitialDirContext(env); // Atributos del objeto Attributes attrs = ctx.getAttributes("cn=Eduardo Martinez, ou=DIIC");// Encontrar el nombre de pila ("sn") e imprimirloSystem.out.println("sn: " + attrs.get("sn").get());
} catch (NamingException e) { System.err.println(“Problemas recuperando atributo:" + e);
}
Lic. Jorge Guerra G.Sistemas Distribuidos81
Ejemplo servicio de directorio (2)DirContext ctx = new InitialDirContext(env); String base = “o=UM, c=ES”;String filter = “(|(cn=Mart*)(cn=Per*))”;SearchControls contraints = new SearchControls();contraints.setSearchScope(
searchControls.SUBTREE_SCOPE);NamingEnumeration results = ctx.search(base,filter,contraints);
Lic. Jorge Guerra G.Sistemas Distribuidos82
Ejemplo servicio de directorio (3)
while (results.hasMore()) {SearchResult sr = (SearchResult)results.next();System.out.println(sr.getName());Attributes attrs = sr.getAttributes();if (attrs != null) { for (NamingEnumeration ne=attrs.getAll(); ne.hasMore();)
{Attribute attr = (Attribute)ne.next();String id = attr.getID();
Lic. Jorge Guerra G.Sistemas Distribuidos83
Ejemplo servicio de directorio (4)for (Enumeration vals = attr.getAll(); vals.hasMoreElements(); System.out.println(id + “:” +vals.nextElement()));
} // for attrs.getAll()} // if attrs!=null
} // while results.hasMore()
Lic. Jorge Guerra G.Sistemas Distribuidos84
Lic. Jorge Guerra G.
Servicios de Directorio de Windows 2000 Active Directory
Lic. Jorge Guerra G.Sistemas Distribuidos86
¿ Por qué tener un Directorio Activo ?
• Componente importante de un sistema distribuido• Búsqueda de recursos en la red• Reforzar la seguridad definida por el Administrador• Distribuir un directorio en varios servidores a través de
una red• Replicar un directorio para hacerlo disponible a más
usuarios• Dividir un directorio en varios puntos de almacenamiento
Lic. Jorge Guerra G.Sistemas Distribuidos87
Directorio Activo
• Objetivos del Directorio Activo– Facilitar el uso a los administradores– Hacerlo más útil y potente para los usuarios
• Localizar información• Localizar servicios• Búsqueda
– Facilitar el uso de las aplicaciones, conectar con directorio de aplicaciones
– Interoperar con otros directorios
Lic. Jorge Guerra G.Sistemas Distribuidos88
Directorio ActivoConceptos importantes
• Scope– Incluye cualquier objeto
• NameSpace– Area delimitada de resolución de nombres
• Object– Conjunto de atributos que representan algo en concreto
• Container– Contenedor de objetos
Lic. Jorge Guerra G.Sistemas Distribuidos89
Servicios de DirectorioSchema
• Contiene una definición formal de contenidos y estructura del AD, con atributos, clases y propiedades de cada clase
Extensible (nuevos tipos de objetos)Extensible (nuevos tipos de objetos) Se almacena en el propio directorioSe almacena en el propio directorio
Lic. Jorge Guerra G.Sistemas Distribuidos90
Directorio ActivoConceptos importantes
• Árbol– Describe una
jerarquía de objetos y contenedores
Lic. Jorge Guerra G.Sistemas Distribuidos91
Directorio ActivoConceptos importantes
• Nombre– Distinguished (DN)
• /O=Internet/DC=COM/DC=Microsoft/CN=Users/CN=Francisco Serrano
– Relative Distinguished Name (RDN)• CN=Francisco Serrano
• Dominio– Area de seguridad dentro de una red
• Árbol de Dominios– Grupo de Dominios que comparten mismo esquema
Lic. Jorge Guerra G.Sistemas Distribuidos92
Árbol de DominiosVer Relaciones de Confianza
DominioDominio AA
DominioDominio CC
DominioDominio BB
ConfianzaConfianza ImplícitaImplícita
ConfianzaConfianza ExplícitaExplícita
Lic. Jorge Guerra G.Sistemas Distribuidos93
Árbol de Dominios Ver NameSpace
root.com
sub.root.com
other.sub.root.com
Lic. Jorge Guerra G.Sistemas Distribuidos94
Servicios de DirectorioGlobal Catalog
• Repositorio central de información sobre objetos en un tree o en un forest
• Un Global Catalog Server es un DC que almacena una copia del Global Catalog
Lic. Jorge Guerra G.Sistemas Distribuidos95
Global Catalog
DC1, Global Catalog
DC2, Domain Controller DC3, Domain Controller
DC4, Global Catalog DC5, Domain Controller
• Mínimo, uno por dominio (checking)• GCs adicionales en DCs
dependiendo del nº de usuarios y del nº de consultas
• GCs requieren memoria adicional
Lic. Jorge Guerra G.Sistemas Distribuidos96
Global Catalog - Logon
• La máquina cliente contacta con el Controlador de Dominio (DC)
• DC busca la dirección IP en la máquina cliente• Si el cliente no está en la subred local, el DC mira en el
Global Catalog para buscar otro DC cercano al cliente• Se notifica al cliente si no se ha conectado al DC más
cercano• Evita el tráfico WAN cuando es posible
Lic. Jorge Guerra G.Sistemas Distribuidos97
P: ¿Qué es un grupo de árboles?
Respuesta: Un bosque
Lic. Jorge Guerra G.Sistemas Distribuidos98
Directorio ActivoConceptos importantes
• Bosque– Unión de árboles de dominio que:
• Usan el mismo esquema• Comparten el mismo Global Catalog• Unidos por relaciones de confianza Kerberos
– Muy útil para grupos de empresas subsidiarias que quieren autonomía en los aspectos administrativos
• Site– Lugar en la red que contiene servidores Active Directory– Subredes TCP/IP ‘bien conectadas’
• Conexión de red altamente fiable y rápida
Lic. Jorge Guerra G.Sistemas Distribuidos99
Servicios de DirectorioServicios de DirectorioEstructuraEstructura
TreesTrees
DomainsDomains
ForestsForests
SitesSites
Domain Domain controlescontroles
Físi
caFí
sica
Lógi
caLó
gica
OUOU Contenedor usado para organizar objetos en un dominio. Puede contener otros Ous Contenedor usado para organizar objetos en un dominio. Puede contener otros Ous
DomainDomain unidad lógica estructural en AD: plasma la organización corporativa (seguridad y admón por dominios). unidad lógica estructural en AD: plasma la organización corporativa (seguridad y admón por dominios). 1Millon+1Millon+
TreeTree agrupación jerárquica de dominios NT 5.0 que permite compartición de recursos globales. Comparten agrupación jerárquica de dominios NT 5.0 que permite compartición de recursos globales. Comparten global global catalog (repositorio central) y schema (definición de los objetos del AD)catalog (repositorio central) y schema (definición de los objetos del AD)
ForestForest grupo de trees que tienen un namespace disjunto, utilizan el mismo esquema de nombres, operan grupo de trees que tienen un namespace disjunto, utilizan el mismo esquema de nombres, operan independientemente pero necesitan comunicarse éntre si (comparten catalogo global) independientemente pero necesitan comunicarse éntre si (comparten catalogo global)
Domain ControlersDomain Controlers PC que almacena una replica de la DBase del dominio local.Todo Server es un DC PC que almacena una replica de la DBase del dominio local.Todo Server es un DC
SitesSites: Colección de subrangos de IP con conectividad LAN: Colección de subrangos de IP con conectividad LAN
Lic. Jorge Guerra G.Sistemas Distribuidos100
Servicios de DirectorioModelos de dominio
NYC
example1.com
TOKLONBIZ1
.
BIZ2
Exam
ple1
.com
Biz 1 Biz3Biz2 Biz4 Biz6Biz5
Dominio Único
Dominios por negocios: Forest Extendido
Modelo Geográfico
Lic. Jorge Guerra G.Sistemas Distribuidos101
Ejemplo: Jerarquía OUswidgets.org
exec
utive
admin
usuari
oss
usuari
os
recurso
s
recurso
s
impres
oras
orden
adores
impres
oras
orden
adores
temporal
es
emplea
dos
temporal
es
emplea
dos
Lic. Jorge Guerra G.Sistemas Distribuidos102
widgets.org
.
exec
utive
admin
usuari
os
usuari
os
recurso
s
recurso
s
GP1
GP1 GP1
Grupo Política 1
Asignar Aplicaciones financieras al
menu
Quitar “Run” del menu Inicio
impres
oras
orden
adores
impres
oras
orden
adores
temporal
es
emplea
dos
temporal
es
emplea
dos
gp2 GP1,2
Grupo Política 2
Lic. Jorge Guerra G.Sistemas Distribuidos103
Sites widgets.org
na.widgets.org euro.widgets.org asia.widgets.org
of.n
a.wi
dget
s.or
g
Oeste Centro Este España Alemania Francia Japón Australia Nueva Zelanda
oe.n
a.wi
dget
s.or
g
ce.n
a.wi
dget
s.or
g
es.n
a.wi
dget
s.or
g
sp.e
uro.
widg
ets.
org
al.e
uro.
widg
ets.
org
fr.eu
ro.w
idge
ts.o
rg
jp.a
sia.
widg
ets.
org
au.a
sia.
widg
ets.
org
nz.a
sia.
widg
ets.
org
Ofic. Centrales
Lic. Jorge Guerra G.Sistemas Distribuidos104
Directorio ActivoSchema
• Contiene una definición formal de contenidos y estructura del AD, con atributos, clases y propiedades de cada clase
Extensible (nuevos tipos de objetos)Extensible (nuevos tipos de objetos) Se almacena en el propio directorioSe almacena en el propio directorio
Lic. Jorge Guerra G.Sistemas Distribuidos105
Actualización a Active Directory Single Domain
PDCPDC
Windows NT4Windows NT4 •Upgrade del PDCUpgrade del PDCMixed Mode Mixed Mode
BDCBDC
BDCBDCBDCBDC BDCBDC
Native Mode Native Mode
•Cambiar a modo Cambiar a modo nativonativo
•Upgrade de los BDCsUpgrade de los BDCs
Lic. Jorge Guerra G.Sistemas Distribuidos106
Modo Nativo y Modo Mixto
Active Directory soporta DC en modo mixto Una vez actualizados todos los BDC cambiamos a modo nativo Características disponibles sólo en modo Nativo:
Grupos universales Admin. InterDominios Consultas en los DCs
Lic. Jorge Guerra G.Sistemas Distribuidos107
us.company.comus.company.com
uk.company.comuk.company.com
company.comcompany.com
na.company.comna.company.com eu.company.comeu.company.com
Opciones Integración DNS Windows 2000 controla Raiz
• Pros– No hay dependencia de
DNS existentes– No se necesita testing de
integración AD– Nombres más familiares
• Cons– Requiere esfuerzos para
sustituir DNS existentes
Lic. Jorge Guerra G.Sistemas Distribuidos108
company.comcompany.com
us.company.comus.company.comuk.company.comuk.company.com
cool.company.comcool.company.com
na.cool.company.comna.cool.company.com eu.cool.company.comeu.cool.company.com
Opciones Integración DNS Subdominio delegado
• Pros– No requiere upgrade DNS
existentes– Minimiza impacto del AD
en servidores DNS existentes
• Cons – Nombres son más largos– Contínua dependencia de
DNS
Lic. Jorge Guerra G.Sistemas Distribuidos109
company.comcompany.com
us.company.comus.company.comuk.company.comuk.company.com
cool.company.comcool.company.com
na.cool.company.comna.cool.company.com eu.cool.company.comeu.cool.company.com
Opciones integración DNS No hay Windows 2000 DNS
• Pros– No hay cambios
• Cons– Unico punto de fallo– Upgrade DNS para soporte de SRV
records (RFC 2052)– Pruebas de integración con MS
DHCP server
Lic. Jorge Guerra G.Sistemas Distribuidos110
Actualización Active DirectoryConsolidación de Directorios
• Active Directory Connector– Replica usuarios de Exchange 5.5– Replica Exchange Distribution Lists y direcciones
personalizadas– Third Parties
• Post Windows 2000– Exchange utilizará Active Directory