Sistemas Distribuidos Servicios de nombres. Introducción z Propósito de los nombres Compartir...

Post on 23-Jan-2016

227 views 0 download

Transcript of Sistemas Distribuidos Servicios de nombres. Introducción z Propósito de los nombres Compartir...

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

http://www.cdk3.net:8888/WebExamples/earth.html

URL

Identificador del recurso(número IP, número de puerto, ruta)

Dirección de red

2:60:8c:2:b0:5a Archivo

Servidor Web

55.55.55.55 WebExamples/earth.html8888

Búsqueda DNS

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 Bindings entre 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

Un cliente contacta de forma iterativa con los servidoresde nombres NS1-NS3 para resolver un nombre

Cliente1

2

3

NS2

NS1

NS3

Servidores denombres

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 contactar directamente los de alto nivel

Navegación no recursiva

1

2

34

Cliente

NS2

NS1

NS3

Un cliente contacta con el servidor de nombres NS1quien se comunica con otros servidores de nombres representando al cliente

Navegación recursiva

1

2

3

5

4

Cliente

NS2

NS1

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 cachear la 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

Servidores de nombre raíz

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.ca contacta el servidor de nombres raíz, si es necesario el servidor raíz contacta al servidor autorizado, dns.uwaterloo.ca, si es necesario

Ejemplo simple de DNS

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

Ejemplo de DNS

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”

DNS: queries iteradas

Tipos de registros DNS

Tipo de registro Significado Contenidos principales

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 unazona

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

DNS Protocolos y mensajes