Vous êtes sur la page 1sur 52

+

Sistemas Distribuidos
Modelos
Rodrigo Santamara

+ Modelos

Componentes

Plataforma Middleware

Modelos fsicos Modelos arquitectnicos Modelos fundamentales


2

Modelos de sistema distribuido


n n

Todos los tipos de SD tienen caractersticas bsicas comunes Modelo: descripcin abstracta simplificada pero consistente de cada aspecto relevante del diseo de un SD Veremos tres tipos de modelos
n n n

Fsicos: representacin abstracta de los elementos del sistema Arquitectnicos: relacin entre los componentes del sistema Fundamentales: segn las principales caractersticas de un sistema (interaccin, fallos, seguridad, etc.)

Componentes de un SD

Aplicaciones de servicios Middleware Componentes Sistema operativo Computador y HW de red

Componentes de un SD
Plataforma
Aplicaciones de servicios Middleware Sistema operativo Plataforma Computador y HW de red Windows Linux MacOS Sun OS Solaris / Intel x86 / Intel x86 / PowerPC / Sun SPARC / Intel x86

Componentes de un SD
Middleware
n

Capa de SW cuyo propsito es enmascarar la diversidad subyacente y proporcionar un modelo de programacin conveniente Soporta abstracciones como
n n n n n

Procedimientos de invocacin remota Comunicacin entre grupos de procesos Notificacin de eventos Replicacin de datos compartidos Transmisin de datos en tiempo real

Componentes de un SD
Middleware
n

Algunos ejemplos:
n n n

Sun RPC: Sun Remote Procedure Call CORBA: Common Object Request Broker Architecture Java RMI: Java Remote Method Invocation SOAP: Simple Object Access Protocol REST: REpresentational State Transfer Otros n ISIS n DCOM n RM-OPD

n n

+ Modelos

Componentes Modelos fsicos Modelos arquitectnicos Modelos fundamentales

Modelos fsicos
n

Representacin de los elementos hardware en un SD


n

Abstraen los detalles de las tecnologas de red o de computadores subyacentes

Sirven para diferenciar las distintas generaciones de SD


n

A partir de un modelo base: n Definicin de SD: componentes informticos localizados en una red que se comunican por paso de mensajes Considerando los distintos desafos n Escalabilidad n Heterogeneidad n Transparencia n Calidad (tolerancia a fallos, seguridad, concurrencia)

10

Modelos fsicos
1G - Primeros sistemas distribuidos
n

Surgen en respuesta a las primeras redes locales (Ethernet)


n n n

10 a 100 nodos Conectividad a Internet limitada Pocos servicios (conexin a impresora, servidores de archivos, email, transferencia de archivos) Nodos homogneos (no hay mucha necesidad de estndares)

11

Modelos fsicos
2G Sistemas distribuidos en Internet
n

Aparecen a raz del crecimiento de Internet


n

P. ej. en 1996 Google lanza su primer motor de bsqueda

El SD empieza a concebirse en un entorno de redes interconectadas, es decir, una red de redes (Internet)
n n n

Aumenta el nmero de nodos (escala) Aumenta la heterogeneidad nfasis en la definicin de estndares abiertos (CORBA)

12

Modelos fsicos
3G- Sistemas distribuidos contemporneos
n

En 2G, los nodos de un sistema se consideraban


n n n

Estticos: permanecen en un lugar determinado Discretos: no estn incluidos en otros dispositivos Autnomos: independientes de otras computadores

Este concepto de nodo se rompe


n n

Computacin mvil: porttiles, smart phones Computacin ubicua: los computadores se encuentran en objetos cotidianos o en el ambiente (chip en la lavadora o el coche) Computacin en la nube y arquitecturas de cluster: de un nodo que hace una tarea a grupos de nodos que juntos proveen de un servicio

13

Modelos fsicos
Generaciones
Generacin poca Escalabilidad Heterogeneidad 1 (Inicios) 1970-1985
Baja Limitada (configuraciones homogneas) No es una prioridad Inicios

2 (Internet) 1985-2005
Alta Significativa (plataformas, lenguajes, middleware) Significativa (estndares) Significativa (algunos servicios)

3 (Contempornea) 2005Muy alta Nuevas dimensiones, (arquitecturas, dispositivos) Desafo (los estndares no cubren sistemas complejos) Desafo (los servicios no cubren sistemas complejos)

Extensibilidad Calidad

+ Modelos

Componentes Modelos arquitectnicos


Cliente - servidor Mltiples servidores y proxies Peer to peer

Modelos fundamentales
14

15

Modelos arquitectnicos
Tipos
n

Los tipos de modelos arquitectnicos se diferencian en


n n

El reparto de responsabilidades entre componentes del sistema La ubicacin de los componentes del sistema

Tipos de modelos
n n n n

Cliente-servidor Servicios proporcionados por mltiples servidores Servidores proxy y cachs Sistemas de igual a igual (peer to peer)

16

Modelo cliente-servidor

cliente

peticin respuesta

peticin

servidor

servidor
peticin

respuesta

cliente

respuesta

17

Modelo cliente-servidor
n n

La arquitectura ms comn e importante Un servidor puede tambin ser cliente de otros


n

Un servidor web es cliente del servicio DNS que traduce nombres de dominio a direcciones IP Un buscador web es servidor de pginas pero para recopilar la informacin que presenta es tambin cliente de otros servidores web, a travs de web crawlers
n

Web crawler (araa web): programa que inspecciona pginas web, de forma metdica y automatizada, para obtener informacin (generalmente realizar copias para su posterior uso en motores de bsqueda)

18

Servicios proporcionados por mltiples servidores


n

cliente

servidor
n

Replicacin para aumentar prestaciones y disponibilidad Muchos servicios web redirigen a varios servidores replicados

servidor

cliente

servidor

19

Mltiples servidores
Ejemplo
n

Google Data Centers (2008)


n

12 dedicados, 24 compartidos

http://royal.pingdom.com/2008/04/11/map-of-all-google-data-center-locations/ http://www.google.com/about/datacenters/locations/index.html

20

Servidores proxy

cliente

servidor proxy

servidor

servidor cliente
n

Aumentan la disponibilidad y prestaciones


n

Usan cachs con los datos ms recientemente solicitados por los clientes

Tambin pueden utilizarse por motivos de seguridad

21

Sistemas peer-to-peer
aplicacin -----------coordinacin aplicacin -----------coordinacin

aplicacin -----------coordinacin

n n

Reduce los retardos en la comunicacin Eliminacin de intermediarios


n

Requisitos adicionales en los clientes

Ejemplos:
n n n

Voz: Skype, VoIP Datos: Napster, BitTorrent Comunicaciones: ad hoc networks

22

Modelo cliente-servidor
Derivados
n

Cdigo mvil (applets)


n

El cdigo de un programa en el servidor es transferido al cliente y es ejecutado localmente

Agente mvil
n

Un programa en ejecucin (cdigo y datos) se traslada/copia de un computador a otro en la red realizando una determinada tarea: n Instalacin y mantenimiento de software n Comparacin de precios de productos n Clculo intensivo mediante varios ordenadores Programa gusano: concepto similar al de agente mvil, pero generalmente con connotaciones negativas n Virus, spam, phising, etc.

23

Modelo cliente-servidor
Derivados
n

Computadores en red
n

La mayora de los programas ejecutados por el cliente se descargan de la red, incluido el sistema operativo Las aplicaciones se lanzan localmente pero los archivos estn almacenados en un servidor de archivos

Clientes ligeros
n

Como un computador en red, pero las aplicaciones se lanzan en modo remoto (p. ej. sistema de ventanas X11 de UNIX) Muy til para clculos pesados, mediante el uso de potentes servidores (o grupos de servidores clusters-) de clculo n Inconveniente: actividades altamente interactivas y de clculo intensivo: interfaces grficas

24

Modelo cliente-servidor
Cloud computing

Evolucin del cliente ligero


n

El cliente no pierde su autonoma (sistema operativo, aplicaciones locales) pero puede acceder a servicios y archivos remotos n Usualmente a travs de un navegador Ejemplos:
n

Amazon Web services: computacin en granjas de servidores


n

Amazon Mechanical Turk (p. ej. http://www.tenthousandcents.com/)

Web Desktops: almacenamiento y gestin de archivos, sincronizacin n Google Docs, DropBox, iCloud, etc.

25

Modelo cliente-servidor
Resumen de variantes
Modelo
Cliente-servidor Cdigo mvil Agente mvil Computador en red Cliente ligero Cloud Computing

mbito
Un servicio Un programa Un programa Todo/casi todo el software Todo/casi todo el software Algunos programas

Ejecucin
Servidor Cliente (previa descarga) Cliente (descarga/viaje inteligente) Cliente Servidor Servidor

Almacenamiento
Servidor Clientes Clientes Servidor Servidor Servidor

26

Modelo cliente-servidor
Dispositivos mviles y enlace espontneo
n

Avances tecnolgicos
n n

Dispositivos ms pequeos y transportables Redes inalmbricas de fcil acceso

El modelo cliente-servidor se adapta a estas dos nuevas caractersticas


n n

El cliente puede ser un smart phone, una tableta, etc. El enlace se hace a travs de un protocolo inalmbrico

Los clientes pueden ser cada vez ms ligeros y confiar en servicios aportados por la nube, con conexin ubicua
n

La conexin puede seguir un modelo peer-to-peer (redes ad hoc)

+ Modelos

Componentes Modelos arquitectnicos Modelos fundamentales


Modelos de interaccin Modelos de fallo Modelos de seguridad


27

28

Modelos fundamentales
n

Todas las arquitecturas comparten algunas propiedades fundamentales:


n

Procesos que se comunican por paso de mensajes a travs de una red de computadores

En particular, trataremos con tres aspectos


n

Interaccin: el modelo debe definir y clasificar la comunicacin entre elementos del sistema Fallos: el modelo debe definir y clasificar los fallos que pueden darse en el sistema. Seguridad: el modelo debe definir y clasificar los tipos de ataque que pueden afectar al sistema.

29

Modelo de interaccin
n

Respecto a la interaccin, los sistemas distribuidos deben tener en cuenta que


n n n n

Hay limitaciones debidas a la comunicacin Es imposible predecir el retraso con el que llega un mensaje Es imposible tener una nocin global de tiempo La ejecucin es no determinista y difcil de depurar

Algoritmo distribuido
n

Definicin de los pasos que hay que llevar a cabo por cada uno de los procesos del sistema, incluyendo los mensajes de transmisin entre ellos

30

Modelo de interaccin
Prestaciones del canal de comunicacin
n

Latencia
n

Retardo entre el envo de un mensaje y su recepcin

Ancho de banda
n

Informacin que puede transmitirse en un intervalo de tiempo

Fluctuacin (jitter)
n

Variacin del tiempo invertido en repartir una serie de mensajes

31

Modelo de interaccin
Relojes y eventos de tiempo
n

Cada computador tiene su propio reloj interno (reloj local)


n

Puede usarse en procesos locales para marcas de tiempo

Tasa de deriva de reloj (clock drift rate)


n n n n

Diferencia entre un reloj local y un reloj de referencia perfecto Receptores GPS Network Time Protocol (NTP) Mecanismos de ordenacin de eventos

Dos tipos de modelo de interaccin


n

Sncrono y asncrono

32

Modelo de interaccin
Modelos sncronos
n

Conocimiento de caractersticas temporales:


n

El tiempo de ejecucin de cada etapa de un proceso tiene ciertos lmites inferior y superior conocidos Cada mensaje transmitido sobre un canal se recibe en un tiempo lmite conocido Cada proceso tiene un reloj local cuya tasa de deriva sobre el tiempo de referencia tiene un lmite conocido

A nivel terico, podemos establecer unos lmites para tener una idea aproximada de cmo se comportar el sistema A nivel prctico, es imposible garantizar esos lmites siempre
n

Aunque a veces se pueden utilizar, por ejemplo como timeouts

33

Modelo de interaccin
Modelos asncronos
n

No hay limitaciones en cuanto a


n n n

Velocidad de procesamiento Retardos en la transmisin de mensajes Tasas de deriva de los relojes

Los sistemas distribuidos reales suelen ser asncronos


n

Por ejemplo, Internet

Una solucin vlida para un sistema asncrono lo es tambin para uno sncrono

34

Modelo de interaccin
Ordenacin de eventos
n

Podemos describir un sistema en trminos de eventos, solucionando as la falta de precisin de los relojes Imaginemos un grupo de usuarios de correo (X, Y, Z, A)
n n

X manda un mensaje m1 con el asunto Reunin Y y Z responden con mensajes m2 y m3, respectivamente y en ese orden, con el asunto Re: Reunin Debido a la independencia en los retardos de cada envo, el usuario A podra ver lo siguiente: Mensaje m3 m1 m2 De Z X Y Asunto Re: Reunin Reunin Re: Reunin

35

Modelo de interaccin
Ordenacin de eventos

36

Modelo de interaccin
Ordenacin de eventos
n

Si los relojes de X, Y y Z estuvieran sincronizados, podramos incluir el tiempo local t1, t2, t3 en los mensajes m1, m2, m3
n n

Estaramos seguros de que t1 < t2 < t3 Podramos ordenar los mensajes en concordancia

Pero los relojes no suelen estar sincronizados


n n n

Lamport [1978] propuso un modelo de tiempo lgico Infiere el orden de los mensajes sin recurrir al tiempo fsico Se basa en las siguientes afirmaciones n Un mensaje siempre se recibe despus de enviarlo n X manda m1 antes de que Y reciba m1 n La rplica no se enva hasta que no se ha recibido el original n Y recibe m1 antes de que enve m2

37

Modelo de interaccin
Ordenacin de eventos

1234

38

Modelo de fallo
n

Estudio de las causas posibles de fallo


n

Para poder comprender sus consecuencias Fallos de proceso Fallos de comunicacin Fallos por omisin n No se consigue realizar una accin que se debera poder hacer Fallos arbitrarios (bizantinos) n Errores de cualquier tipo, fuera del esquema de mensajes Fallos de temporizacin n Superacin de tiempos lmite en un sistema sncrono

Tipo de fallo segn la entidad


n n

Tipo de fallo segn el problema


n n n

39

Modelo de fallo
Fallo por omisin en procesos
n n

Fallo del procesamiento (crash) Deteccin del fallo por timeouts (sncrono)
n n

Si el proceso no responde, consideramos que ha habido un fallo En sistemas asncronos, nunca podemos estar seguros

Fallo-parada (fail-stop)
n

Fallo de procesamiento que puede ser detectado con certeza por el resto de procesos

40

Modelo de fallo
Fallo por omisin en comunicaciones

proceso p enva m
fallo por omisin de envo bfer de mensajes salientes fallo por omisin de comunicacin

proceso q recibe m
fallo por omisin de recepcin bfer de mensajes entrantes

canal de comunicacin

41

Modelo de fallo
Fallos arbitrarios o bizantinos
n

En proceso:
n n n

Se omiten pasos necesarios o deseables del procesamiento Se realizan pasos innecesarios o indeseables en el procesamiento Se omite arbitrariamente la respuesta a mensajes

En canales de comunicacin
n n n

Corrupcin de mensajes Reparto de mensajes inexistentes Duplicacin del reparto de mensajes autnticos

Origen: problema de los generales bizantinos


n

Lamport, Shostak and Pease (1982). The Bizantine Generals Problem. ACM Transaction on Programming Languages and Systems 4 (3): 382-401

42

Modelo de fallo
Fallos bizantinos

43

Modelo de fallo
Fallo por omisin y arbitrarios (resumen)
Tipo de fallo Fallo-parada (fail-stop) Ruptura (crash) Omisin Afecta a Proceso Proceso Canal Descripcin El proceso para y permanece parado Otros procesos pueden detectar la parada El proceso para y permanece parado Otros procesos pueden no detectar la parada Un mensaje insertado en un bfer de mensajes salientes nunca llega al bfer de mensajes entrantes del destino Un proceso completa el envo pero no se coloca el mensaje en el bfer de mensajes salientes El mensaje se coloca en el bfer de recepcin pero el proceso no lo recibe El proceso/canal presenta un comportamiento arbitrario: omisiones, paradas, envos o pasos incorrectos sin patrn claro

Omisin de envo Omisin de recepcin Arbitrario (bizantino)

Proceso Proceso Proceso o canal

44

Modelo de fallo
Fallos de temporizacin
n

Sistemas sncronos
Tipo de fallo Reloj Prestaciones Prestaciones Afecta a Proceso Proceso Canal Descripcin El reloj local del proceso excede el lmite de su tasa de deriva respecto al tiempo de referencia El proceso excede el lmite sobre el intervalo entre dos pasos La transmisin de un mensaje toma ms tiempo que el lmite permitido

Sistemas asncronos
n

No existen fallos de temporizacin, ya que no se ha dado ninguna garanta al respecto

45

Modelo de fallo
Enmascaramiento de fallos
n

Construccin de servicios fiables a partir de componentes que presenten fallos


n n

Por ocultacin del error Por conversin a fallos ms aceptables

Por ejemplo:
n

Checksum de fallo arbitrario a fallo por omisin n +retransmisin de fallo por omisin a ocultacin

46

Modelo de fallo
Comunicacin fiable entre dos procesos
n

Debe cumplir con dos criterios:


n

Validez n Cualquier mensaje en el bfer de mensajes salientes llegar, eventualmente, al bfer de mensajes entrantes n Es decir, no hay fallos por omisin en el canal Integridad
n

El mensaje recibido es idntico al enviado, y no se repiten mensajes


n n

Protocolo que adjunta nmeros de secuencia a los mensajes Canales de comunicacin seguros

No hay fallos bizantinos en el canal

47

Modelo de seguridad
n

La seguridad en un sistema distribuido se basa en la seguridad de los procesos y canales utilizados


n

Entendida como seguridad de objetos n Almacenados e invocados por los procesos


n

Transmitidos a travs de los canales

Se logra mediante un sistema de derechos de acceso y distintos tipos de autoridad

48

Modelo de seguridad
Principal y derechos de acceso
n

Principal: autoridad con la que se ordena cada invocacin de objetos o sus resultados
n

Se contrasta con los derechos de acceso de dicho objeto

49

Modelo de seguridad
Modelo de enemigo
n

Entidad
n

Cualquier mquina conectada (de forma autorizada o no) a la red

Enemigo: entidad capaz de


n n n

Enviar cualquier mensaje a cualquier proceso Leer o copiar cualquier mensaje compartido entre dos procesos Leer mensajes o emitir mensajes falsos de peticin de servicios

50

Modelo de seguridad
Amenazas
n

Amenazas a servidores
n

Ciertos servicios no comprueban la identidad del cliente n Si la comprueban, no suele ser difcil suplantarla (spoofing) En vez de una peticin de servicio autntica se busca, p. ej., obtener informacin no autorizada o bloquear el servicio (DoS)

Amenazas a clientes
n

Reciben un resultado falso de la invocacin al servicio n Generalmente, acompaado de suplantacin de identidad

Amenazas a canales de comunicacin


n n

Inyeccin, copia o alteracin de mensajes que viajan por el canal Por ejemplo: obtener un mensaje de transferencia de dinero, cambiar la cuenta y reenviarlo despus

51

Modelo de seguridad
Tcnicas de seguridad
n n n

Autenticacin: comprobacin de la identidad del proceso Criptografa: uso de claves pblicas y privadas Canales seguros: canal de comunicacin sobre el que dos procesos han establecido una capa de seguridad basada en criptografa + autenticacin:
n n n

Se garantiza la identidad fiable de servidores y clientes Se garantiza la integridad y privacidad de los mensajes enviados Los mensajes incluyen una marca de tiempo para prevenir su repeticin o reordenacin maliciosa

52

Vous aimerez peut-être aussi