Está en la página 1de 28

Modelos de sistema - 2

Sistemas Distribuidos ITInformtica Csar Llamas, febrero 2003


Algunos esquemas de esta presentacin estn tomados de: Instructors Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Addison-Wesley Publishers 2000

ndice

Introduccin Modelos arquitectnicos


Capas de software Arquitecturas Variaciones del modelo cliente-servidor Interfaces y objetos Requisitos de diseo

Modelos fundamentales
... de interaccin ... de fallo ... de seguridad
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 2

Introduccin

El modelo arquitectnico describe:


Interacciones entre componentes Enlace con la plataforma de red: simplifica y abstrae las funciones y roles de los componentes individuales

El enfoque CDK es un poco confuso


Estructura de niveles de software Variantes del modelo cliente-servidor Cdigo mvil
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 3

ntroduccin

Modelos de requisitos no funcionales


Modelo de interaccin Modelo de fallo Modelo de seguridad

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

Modelos arquitectnicos
Servicios de la aplicacin Middleware Sistema operativo Hardware

capas de soft

Plataforma

Componentes importantes:
Plataforma Middleware

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

Modelos arquitectnicos

capas de soft

Plataforma
Contiene los servicios propios de cada computadora concreta Depende del hardware y del S.O.

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

Modelos arquitectnicos

Middleware

Permite enmascarar la heterogeneidad Puede dar un modelo y una interfaz de programacin utilizable Puede soportar abstracciones como:
Llamadas a procedimientos remotos (RPC) Comunicacin en grupo Eventos, replicacin, servicios multimedia, etc...
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 7

Modelos arquitectnicos

middleware

Qu forma tiene el middleware? :


Bibliotecas adicionales:
Procedimientos remotos (RPC) Objetos remotos (RMI, CORBA)

Herramientas de programacin
Lenguajes de definicin de interfaces (IDL) + Compiladores para ellos

Servicios bsicos de ayuda


servicios de nombres, para buscar objetos de notificacin de eventos, De control de transacciones, etc.
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 8

Modelos arquitectnicos

middleware

Qu limitaciones impone?
Se incrementa la complejidad arquitectnica:
Hay ms niveles

Hay que aprender ms herramientas Se pierde el control de bajo nivel sobre los modos de fallo Se depende de terceras partes, ...

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

Arquitecturas de sistema

ndice

Modelo cliente-servidor Mltiples servidores Procesos de igual a igual

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

10

Arquitecturas cliente servidor


Cliente
respuesta invocacin invocacin

cliente-servidor

Servidor
respuesta

Servidor
invocacin

Cliente

proceso

mquina

respuesta

Muy habitual (DNS, Web, ftp, telnet, ...) Un servidor puede ser cliente de otro servicio (servidor web -> crawler)
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 11

Arquitecturas cliente servidor Cliente

servidores mltiples
Servidor

Servidor

Cliente

Servidor

Muy usada en DNS, Web y NIS


26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 12

Arquitecturas cliente servidor

proxy y cach

Cach: almacena los recursos ms probablemente usados. Un cach puede responder a un esquema de proxy
Los servidores proxy para el web aumentan la disponibilidad.

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

13

Arquitecturas cliente servidor Cliente web

proxy y cach

Servidor web Servidor proxy

Cliente web

Servidor web

Usualmente, una Intranet


26/03/2003

El resto de Internet

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

14

Arquitecturas cliente servidor

proxy y cach

Interfaz Sujeto +peticin ( )

sujetoReal +peticin ( )

Proxy +peticin ( )

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

15

Arquitecturas de sistema

procesos pares

Cuando los roles entre procesos son de igual a igual (peer-to-peer)


Desempean tareas semejantes til al descomponer aplicaciones en tareas coordinadas

Ejemplo:
Cooperacin y coordinacin Algoritmos descentralizados (coordinacin de agendas, trabajo colaborativo, ...)
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 16

Arquitecturas de sistema

procesos pares

Aplicacin Cdigo de coordinacin

Aplicacin Cdigo de coordinacin

Aplicacin Cdigo de coordinacin

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

17

Variaciones en el modelo cliente-servidor

Ejemplos

Ejemplo: applets para clientes Web


Para implementar interfaces complejos Para simular un modelo push sobre Web

Cliente web

Servidor web

Cliente web

Applet

Servidor

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

18

Variaciones en el modelo cliente-servidor

Ejemplos

Algunas posibilidades:
Segn la ubicacin del cdigo del proceso cliente:
Cdigo esttico Cdigo con movilidad (recolocacin del proceso)

Segn la proporcin de tareas que recae sobre el cliente y el servidor


Clientes al estilo habitual Clientes ligeros de aplicaciones complejas Computadoras de red
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 19

Variaciones en el modelo cliente-servidor

cliente ligero

Aplicacin centralizada Distribucin

Cliente ligero (interfaz) Network Computer o PC


26/03/2003

Procesamiento (lgica de negocio) Servidor de cmputo


20

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

Variaciones en el modelo cliente-servidor

red espontnea

Ms posibilidades
Segn la conexin:
Enlace esttico Enlace dinmico (Dispositivos mviles y enlace espontneo)

Conexin espontnea
Metropolitana (GPRS, UTMS) Media (x0 o x00 m) (Wavelan, Wireless 802.11b) Corta (x o x0 m) (BlueTooth, infrarojos, HomeRF)
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 21

Variaciones en el modelo cliente-servidor

red espontnea

Music service gateway Internet

Alarm service

Discovery service

Hotel wireless network Camera

TV/PC

Laptop

PDA

Guests devices

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

22

Variaciones en el modelo cliente-servidor

red espontnea

Ventajas del enlace espontneo


Facilidad de conexin a la red local Facilidad de integracin con los servicios locales

Cuestiones a resolver
Problemas de conectividad (zonas sombra, cambio de clula, ...) Seguridad Servicios de deteccin y/o descubrimiento
Admisin Bsqueda
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 23

Variaciones en el modelo cliente-servidor

Ms posibilidades
Segn el diseo de la interfaz entre procesos:
Interfaz esttico Interfaz orientado a llamada a procedimiento remoto

Interfaz con llamada a procedimiento remoto:


Esttico (el habitual en RPC) Orientado a objetos (Dinmico)
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 24

Interfaces y objetos

Interfaz de un proceso Conjunto de peticiones a que responde Estilos


Mediante interfaces de mdulos mdulos Soportado en Modula2, RPC, ... Mediante la interfaz de los objetos en OOP Soportado de modo natural para SD en:
Java RMI CORBA

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

25

Interfaces y objetos para S.D.

Los procesos contienen objetos cuyos mtodos podemos invocar de modo remoto Es deseable que las referencias a los objetos remotos se usen de modo transparente (como las locales) No podemos hablar exclusivamente de procesos cliente y procesos servidor, sino de objetos cliente y objetos servidor
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 26

Requisitos de diseo para arquitecturas distribuidas

Requisitos no funcionales (Anlisis del sistema) medibles


Requisitos de rendimiento o prestaciones Requisitos de calidad de servicio (cuestin relacionada: cach y replicacin)

no medibles (fiabilidad)
Tolerancia Seguridad
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 27

Requisitos de diseo ...

sobre prestaciones

Capacidad de respuesta (responsiveness)


Est limitada por:
La velocidad de las redes La velocidad de los nodos, y en este caso La cantidad de capas (middleware).

Productividad (throughput)
Tareas completadas /tiempo Entre computadoras alternativas Entre los procesos implicados

Ej: 1000 reservas de billete por segundo.

Balance de cargas (disminuyen la competicin)


Ej: la carga media de cada servidor debe estar balanceada y no superar el 50 %
28

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

Requisitos de diseo ...


Calidad de Servicio (en general):

sobre calidad de servicio

Capacidad de respuesta, Productividad, Balance de carga + fiabilidad, seguridad, adaptabilidad

Indicador de la aceptabilidad de un servicio


Est relacionada con fiabilidad, seguridad y adaptabilidad. Actualmente se recomienda usar QoS para hacer referencia a la capacidad de garantizar tasas de transferencia y tiempos lmite (en telecomunicaciones) ... Importante para datos crticos en el tiempo (caudales de sonido, de vdeo, etc...)
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 29

Requisitos de diseo ...

sobre prestaciones

Las prestaciones son un obstculo principal para el despliegue de soluciones distribuidas


Al usar rplicas y cach, se disminuye comunicacin y tiempos.

Ejemplo: protocolo de cach de web (para navegadores y clientes web)


Recurso + tiempo de expiracin + tiempo local del servidor web
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 30

Requisitos de diseo ... Correccin Tolerancia a fallos

sobre fiabilidad

Se consigue introduciendo redundancia en recursos software y en componentes fsicos;


Computadoras, procesos, enlaces de red, ...

tambin con protocolos con reconocimiento, y con mecanismos de recuperacin.

Seguridad
Proteccin activa y pasiva contra ataques, y Mecanismos de seguridad criptogrfica.

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

31

Modelos fundamentales

Modelo: contiene los elementos esenciales para comprender y razonar sobre el sistema
Manifiesta las premisas del sistema Generaliza sobre lo que es posible o no.

Principales modelos:
De interaccin De fallo De seguridad
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 32

Modelo de Interaccin
proceso p enva(m)

emisin

canal recepcin

proceso q recibe(m)

La forma en que se produce el paso de mensajes entre los procesos restringe los modos de interaccin
Retrasos, precisin, y tiempo
Modelo de Programacin distribuido
26/03/2003

Modelo de comunicacin

Modelo de Canal de comunicacin


33

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

Modelo de interaccin

Problemas presentados en las prestaciones del canal


Latencia: Retardo entre la emisin y recepcin: acceso + transmisin + propagac. niveles soft. Velocidad limitada (Datos/t) Fluctuacin o cortes (jitter)

Problemas presentados en la nocin de tiempo (timestamps de cada evento):


Derivas (diferencia horaria) diferentes Tasas de derivas (ritmo de deriva) diferentes
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 34

Modelo de interaccin

tiempo y sincronicidad

En virtud del modelo de comunicacin aparecen dos familias de sistemas:


Sistemas distribuidos sncronos Sistemas distribuidos asncronos
Sistema distribuido sncrono Respuesta de los procesos Tiempo de comunicacin Error en los relojes
26/03/2003

Sistema distribuido asncrono

Timeouts superior e inferior en Velocidad de proceso cada etapa de proceso muy variable Timeouts de recepcin conocidos Tasas de deriva locales conocidas Retardos imprevisibles en la transmisin Tasas de de deriva imprevisibles
35

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

Modelo de interaccin

tiempo y sincronicidad

Consecuencia bsica de la asincronicidad en un sistema asncrono los eventos pueden observarse desordenados con respecto a su generacin Ejemplo:
1. 2.

El usuario X enva un mensaje con el tema Reunin. Los usuarios Y y Z responden con un mensaje con el tema Re: Reunin.
Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 36

26/03/2003

Modelo de interaccin

tiempo y sincronicidad

Bandeja de entrada Elemento Emisor Asunto 23 24 25 Z X Y

Re: Reunin Reunin Re: Reunin

Si rompe la relacin de causalidad Si los relojes de X, Y y Z pudieran sincronizarse, podramos observar la secuencia ordenada.
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 37

Modelo de interaccin
X enva m1

tiempo y sincronicidad
recibe recibe

enva m2 recibe

recibe

enva m3 recibe recibe

observador 23 t1
26/03/2003

24 25

t2

t3

Tiempo fsico
38

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

Modelo de interaccin

tiempo y sincronicidad

Posibilidad en sistemas asnconos:


Relojes lgicos: Proporcionan enteros consecutivos que permiten ordenar eventos marcados por un timestamp, con la relacin de orden ocurri_antes(S1,S2). X enva m1 antes de que Y reciba m1 T(enva(X,m1)) < T(recibe(Y,m1)) ocurri_antes(enva(X,m1), recibe(Y,m1)) Y recibe m1 antes de enviar m2 T(recibe(Y,m1)) < T(enva(Y,m2)) ocurri_antes(recibe(Y,m1), enva(Y,m2)) Luego, por transitividad: T(enva(Y,m2)) < T(recibe(X,m2)) ocurri_antes(enva(X,m1), enva(Y,m2)) X enva m1 antes de que Y enve m2
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 39

Modelo de fallo

tipos

Fallo por omisin (del proceso, o del canal)


Los componentes no cumplen sus funciones

de temporizacin El fallo arbitrario requiere una categora especial (o binzantinos) Temas de robustez y fiabilidad frente a fallos Enmascaramiento de fallos Fiablidad y comunicacin uno a uno
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 40

Modelo de fallo
Rotura o cada (crash)

tipos

El proceso se detiene indefinidamente, y el error puede no ser detectable. Opciones:


1. 2.

Un protocolo temporizado puede detectar fallos en la operacin. Un mecanismo de encuesta (polling) puede detectar fallos.

Es mejor que ciertos procesos caigan antes que fallar y funcionar mal.
El diseo es ms simple si se supone que los procesos errneos caen y se detecta la cada.
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 41

Modelo de fallo
Fallo-detencin (fail-stop) Cada detectable Opciones: Se recoge una notificacin de cada
Posiblemente admite reintentos

tipos

Omisin de emisin

Se completa enva(), pero no llega a emitirse el mensaje Opciones: enva() devuelve un mensaje de error, que hay que catalogar
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 42

Modelo de fallo
Omisin de recibimiento R

tipos

Se completa la recepcin (escucha), pero no se recibe() el mensaje Opciones:


1. 2.

recibe() emite un error que hay que catalogar Si recibe() est temporizado no se emite error y hay que interrogar a la interfaz de red.

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

43

Modelo de fallo
Omisin del canal El mensaje no llega a ser escuchado Opciones:
1.

tipos
R

Si recibe() est temporizado no se emite error y hay que interrogar a la interfaz de red.

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

44

Modelo de fallo
Fallo arbitrario (bizantino) R

tipos

El sistema presenta un comportamiento arbitrario: omisiones, tiempos arbitrarios, paradas, fallos. Opciones:
1. 2.

Intentar catalogar el fallo de un modo ms preciso mediante sondeos. Incluir comprobaciones para descartar comportamientos puntualmente errneos (ej: checksums) El sistema puede tener que parar completamente para no ocasionar daos.

3.

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

45

Modelo de fallo
Fallo en el reloj R

tipos

La tasa de deriva del reloj es excesiva, y afecta al proceso local. Opciones:


1. 2.

Sincronizar frecuentemente. Considerar invlido el reloj local.

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

46

Modelo de fallo
Fallo de prestaciones en el proceso El proceso se demora en exceso Opciones:
1. 2.

tipos

Introducir un protocolo de sondeo con procesos de apoyo, para descartar fallos en el canal. Invalidar el proceso mediante timeouts. R

Fallo de prestaciones en el canal La transmisin se demora en exceso. Opciones:


1.

Introducir un protocolo de sondeo con procesos de apoyo, para descartar fallos en el proceso.
Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 47

26/03/2003

Modelo de fallo

enmascaramiento de fallo

An es posible construir servicios fiables con componentes que presenten fallos.


Ocultndolos bajo una capa software que se recupere de ciertos fallos
Ejemplo: TCP/IP sobre red no fiable. (Reintentos) + (Reordenamiento)

Convirtindolo en un fallo ms aceptable


Ejemplo: un fallo en un checksum de un dato recibido (fallo arbitrario) se puede convertir en un fallo por omisin del canal. (Comprobaciones auxiliares)
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 48

Modelo de fallo

enmascaramiento de fallo

Mediante redundancia y replicacin


Ej: sistema de varios servidores con rplicas Ej: sistema RAID para archivos. (soluciones ad-hoc) ...

El enmascaramiento y ocultacin del fallo suele requerir el diseo de un servicio de ms alto nivel:
Ej: la pila de niveles de transporte TCP e ISO/OSI no solo elevan el nivel de abstraccin sino que enmascaran y ocultan muchos fallos.
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 49

Modelo de seguridad Las tcnicas de seguridad permiten la comprobacin de fallos y la minimizacin de su posible aparicin:

Comunicacin fiable

Validez de la comunicacin: cualquier mensaje enviado() ser escuchado. Integridad de la comunicacin: Cualquier mensaje recibido() es correcto y respeta la secuencialidad.

Amenazas:
Duplicacin de mensajes, desorden, corrupcin del mensaje, revelacin, (y sigue...)
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 50

Modelo de seguridad

amenazas

A los procesos:
Acceso indebido a los recursos Ataque a la integridad del proceso Suplantacin de los principales interlocutores Falsificacin de servicios Falsificacin de peticiones

26/03/2003

Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003)

51

Modelo de seguridad

amenazas

A los canales:
Acceso indebido al canal Captura de mensajes Reenvo de mensajes Eliminacin de mensajes Modificacin de mensajes y de cdigo mvil

A la disponibilidad del servicio:


Ataque a la integridad de los servicios Ataque de denegacin de servicio
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 52

Modelo de seguridad
proceso p enva(m)

amenazas
canal recepcin
proceso q recibe(m)

emisin

enemigo Principal emisor Principal receptor

Seguridad de...
Las interacciones en procesos y canales Las acciones de acceso a objetos (derechos)
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 53

Modelo de seguridad

tcnicas

Criptografa (de clave secreta y de clave pblica)


Encriptacin para preservar la privacidad Firmas para preservar la autenticidad Autenticacin para preservar la identidad Contrato digital para preservar la legalidad

Ejemplos de servicios seguros


Correo electrnico seguro Pagos seguros por Internet
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 54

Modelo de seguridad

tcnicas

Tcnicas sobre derechos de acceso


Control de acceso a los recursos Control de acceso a los servicios

Tcnicas de filtrado y seguridad de trfico en redes.


Mecanismos de confianza por dominios Proteccin pasiva
Cortafuegos

Tunelizacin ...
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 55

También podría gustarte