sistemas distribuidos servicios de nombres. introducción z propósito de los nombres compartir...

31
Sistemas Distribuidos Servicios de nombres

Upload: baldomero-segundo

Post on 23-Jan-2016

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Distribuidos Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

Sistemas Distribuidos

Servicios de nombres

Page 2: Sistemas Distribuidos Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

Requerimientos del servicio de nombres

Escalabilidad

Largo tiempo de vida

Alta disponibilidad

Aislación de fallas

Tolerancia a la desconfianza

Page 9: Sistemas Distribuidos Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

Servidores de nombre raíz

Page 23: Sistemas Distribuidos Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

Ejemplo simple de DNS

Page 25: Sistemas Distribuidos Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

Ejemplo de DNS

Page 27: Sistemas Distribuidos Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

DNS: queries iteradas

Page 29: Sistemas Distribuidos Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

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 Servicios de nombres. Introducción z Propósito de los nombres  Compartir objetos (=recursos)  Ejemplo: archivos, usuarios, servicios,

DNS Protocolos y mensajes