sistemas distribuidos

31
Sistemas Distribuidos Servicios de nombres

Upload: brendan-huber

Post on 03-Jan-2016

40 views

Category:

Documents


1 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Sistemas Distribuidos

Sistemas Distribuidos

Servicios de nombres

Page 2: Sistemas Distribuidos

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

Page 3: Sistemas Distribuidos

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

Page 4: Sistemas Distribuidos

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

Page 5: Sistemas Distribuidos

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

Page 6: Sistemas Distribuidos

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

Page 7: Sistemas Distribuidos

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

Page 8: Sistemas Distribuidos

Requerimientos del servicio de nombres

Escalabilidad

Largo tiempo de vida

Alta disponibilidad

Aislación de fallas

Tolerancia a la desconfianza

Page 9: Sistemas Distribuidos

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

Page 10: Sistemas Distribuidos

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

Page 11: Sistemas Distribuidos

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,…>

Page 12: Sistemas Distribuidos

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

Page 13: Sistemas Distribuidos

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

Page 14: Sistemas Distribuidos

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

Page 15: Sistemas Distribuidos

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

Page 16: Sistemas Distribuidos

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

Page 17: Sistemas Distribuidos

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

Page 18: Sistemas Distribuidos

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

Page 19: Sistemas Distribuidos

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!

Page 20: Sistemas Distribuidos

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

Page 21: Sistemas Distribuidos

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

Page 22: Sistemas Distribuidos

Servidores de nombre raíz

Page 23: Sistemas Distribuidos

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

Page 24: Sistemas Distribuidos

Ejemplo simple de DNS

Page 25: Sistemas Distribuidos

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

Page 26: Sistemas Distribuidos

Ejemplo de DNS

Page 27: Sistemas Distribuidos

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”

Page 28: Sistemas Distribuidos

DNS: queries iteradas

Page 29: Sistemas Distribuidos

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

Page 30: Sistemas Distribuidos

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

Page 31: Sistemas Distribuidos

DNS Protocolos y mensajes