310 likes | 460 Views
Sistemas Distribuidos. Servicios de nombres. Introducción. Propósito de los nombres Compartir objetos (=recursos) Ejemplo: archivos, usuarios, servicios, … Identificadores únicos Independencia de la localización Comunicación
E N D
Sistemas Distribuidos Servicios de nombres
Introducción • Propósito de los nombres Compartir objetos (=recursos) Ejemplo: archivos, usuarios, servicios, … Identificadores únicos Independencia de la localización Comunicación • Alternativa a los nombres: Atributos descriptivos
Introducción • Los nombres pueden ser leíbles por el humano, por ejemplo: aretha.informatik.uni-siegen.de • O, pueden ser identificadores del sistema elegidos para una manipulación y almacenamiento eficientes. Ejemplo: 141.99.92.8
Introducción URL http://www.cdk3.net:8888/WebExamples/earth.html Búsqueda DNS Identificador del recurso(número IP, número de puerto, ruta) 55.55.55.55 8888 WebExamples/earth.html Servidor Web Dirección de red Archivo 2:60:8c:2:b0:5a Conector
Uso de nombres • Binding de nombres:Asociar nombre-objeto Ejemplos: usuarios (nombres reales, nombre de login, direcciones de email), computadoras (nombres de host), servicios (de archivos, de impresión) O más correcto: asociar nombre-atributo. Ejemplo: DNS asocia aretha.informatik.uni-siegen.de con 141.99.92.8. • Resolución de nombres: Hallar el objeto referenciado por un nombre
Servicio de nombres • Almacena un conjunto de contextos de nombres Bindingsentre nombres textuales y atributos de objetos • Principal servicio: Resolución de nombres • Otros servicios: Crear nuevos bindings Borrar bindings Listar nombres válidos Añadir/borrar contextos Manejar aliases Actualizar bindings
Servicio de nombres • Motivación para separarlo de otros servicios Unificación conveniente para diferentes servicios que usan el mismo esquema de nombres (ej.: URLs) Integración Puede ser necesario compartir objetos creados en diferentes dominios Servicio de nombres común/separado idéntica convención de nombres integración más simple
Requerimientos del servicio de nombres • Escalabilidad • Largo tiempo de vida • Alta disponibilidad • Aislación de fallas • Tolerancia a la desconfianza
Espacio de nombres • Conjunto de todos los nombres válidos usados en un cierto contexto. Por ej.: todas las URLs válidas en WWW • Pueden ser descriptos usando una gramática generativa. Por ej.: BNF para URLs • Estructura interna Conjunto plano de identificadores numéricos o simbólicos Jerárquico representando la posición. Por ej.: sistema de archivos de UNIX Jerárquico representando estructura organizacional. Por ej.:dominios de Internet
Espacio de nombres • Potencialmente infinito • Aliases En general permite que un nombre más conveniente sustituya uno más complicado • Dominio de elección de nombres Espacio de nombres para el cual existe una única autoridad administrativa que asigne nombres dentro de él
Atributos almacenados porun servicio de nombres Tipo Valor Usuario <login name, computadora donde se entregan los mail, nro. TE., etc.> Servicio <dirección, versión del servicio> Computadora <arquitectura, SO, dirección de red, propietario> Grupo <nombre1, nombre2,…> Alias <nombre> Directorio <nombreComponente1, nombreComponente2,…>
Resolución de nombres • Translación de un nombre en sus atributos asociados • A menudo, un proceso iterativo El servicio de nombres retorna los atributos si la resolución puede ser realizada en elcontexto del nombre (directorio) Si no es así el servicio envía el requerimiento a a otro contexto • Podría tratar con aliases que introduzcan ciclos Si no se obtienen resultados, aborta resolución después de un predefinido número de intentos
Navegación • Acceder a datos de nombres desde más de un servidor de nombres, para resolver • Navegación iterativa Usada en DNS El cliente contacta un servidor de nombres (NS) El NS resuelve el nombre o sugiere otro NS a contactar La resolución continúa hasta que el nombre es resuelto o se encuentra que el nombre es unbound
Navegación iterativa NS2 2 Servidores de 1 NS1 nombres Cliente 3 NS3 Un cliente contacta de forma iterativa con los servidores de nombres NS1-NS3 para resolver un nombre
Navegación • No recursiva, controlada por servidor El servidor contacta a sus pares si no puede resolverlo Por multicast o iterativamente por contacto directo • Recursiva, controlada por servidor Si el server no puede resolver contacta otro server superior responsable, por un prefijo más extenso del espacio de nombres Aplicado recursivamente hasta resolver Puede usarse si clientes y server de bajo nivel no tienen derecho a contactardirectamente los de alto nivel
Navegación no recursiva NS2 2 1 NS1 Cliente 3 4 NS3 Un cliente contacta con el servidor de nombres NS1 quien se comunica con otros servidores de nombres representando al cliente
Navegación recursiva NS2 2 4 3 1 NS1 Cliente 5 NS3 Un cliente de nombres NS1 se comunica con otros servidores de nombres representando a un cliente
Cuestiones en Servicio de nombres • Particionado Un solo servidor no puede mantener todas las entradas, nombres-atributos, para toda la red, en particular en el caso de Internet Datos del servidor de nombres particionados de acuerdo al dominio • Replicación Un dominio usualmente tiene más de un servidor de nombres Se mejora disponibilidad y performance • Caching Los servidores pueden cachearla resolución de nombres realizadas en otros servidores Evita contactar repetidamente el mismo servidor de nombres para buscar el mismo nombre
Internet Domain Name System (DNS) • Realiza el mapeo nombre-direcciones de IP • Base de datos distribuida Implementada en una jerarquía de muchos servidores de nombre • Protocolo de la capa de aplicación host, routers, servidores de nombre se comunican para resolver nombres • Porqué no centralizar DNS? único punto de falla volumen del tráfico base de datos centralizada distante mantenimiento no escalable!
Servidores de nombre DNS • Ningún servidor tiene todos los mapeos nombre- direcciones de IP • Servidores de nombres locales Cada compañía tiene un servidor de nombres local (por defecto) Un query de un host del DNS va primero a éste • Servidor de nombres autorizado Para un host: almacena nombre, dirección de IP Puede realizar resolución de nombres para el nombre de este host • Servidor de nombres raíz
Servidores de nombre raíz • Contactados por los servidores de nombre locales que no pueden resolver nombres • Servidor de nombres raíces: contacta los servidores de nombre autorizados si no se conoce el mapeo de nombres realiza mapeo retorna el mapeo al servidor de nombres local • Existen en el mundo aproximadamente una docena de servidores de nombres raíces
Ejemplo simple de DNS • Host db.utoronto.ca desea la dirección de IP de malliag.math.uwaterloo.ca contacta su servidor de nombres local dns.utoronto.ca dns. utoronto.cacontacta el servidor de nombres raíz, si es necesario el servidor raíz contacta al servidor autorizado, dns.uwaterloo.ca, si es necesario
Ejemplo de DNS • Servidor de nombres raíz: Puede no conocer el servidor de nombres autorizado Puede conocer el servidor de nombres intermediario: a quién contactar para hallar el servidor de nombres autorizado
DNS: queries iteradas • Query recursiva Pone la responsabilidad de la resolución de nombres en el servidor de nombres contactado Carga pesada? • Query iterada El servidor contactado responde con el servidor de nombres a contactar “No conozco este nombre, pero pregunte a este servidor”
Tipos de registros DNS Tipo de registro Contenidos principales Significado A Una dirección de computador Número IP NS Un servidor de nombres autorizado Nombre de dominio para un servidor CNAME El nombre canónico de un alias Nombre de dominio para un alias SOA Marca el comienzo de datos en una zona Parámetros que gobiernan en una zona WKS Una descripción de servicio bien conocido Lista de nombres de servicio y protocolo PTR Puntero de nombre de dominio (búsquedas inversas) Nombre de dominio HINFO Información de host Arquitectura de la máquina y del sistema operativo MX Intercambio de correo Lista de pares <preferencia, host> TXT Cadena de texto Texto arbitrario
Registros DNS - Ejemplos • DNS mantiene registros de recursos (RR) Formato de RR: (nombre, valor, tipo, tt1) • Ejemplos de registros: Tipo=A nombre=hostname valor= su dirección de IP Tipo= NS nombre=dominio (por ej.: foo.com) valor= dirección de IP del servidor de nombres autorizado para este dominio Tipo= CNAME nombre= es un alias para algún nombre “canónico” (el real) valor= su nombre canónico Tipo= MX valor= hostname del server de mail asociado con nombre