Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ndice
Modelos fundamentales
... de interaccin ... de fallo ... de seguridad
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 2
Introduccin
ntroduccin
26/03/2003
Modelos arquitectnicos
Servicios de la aplicacin Middleware Sistema operativo Hardware
capas de soft
Plataforma
Componentes importantes:
Plataforma Middleware
26/03/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
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
Herramientas de programacin
Lenguajes de definicin de interfaces (IDL) + Compiladores para ellos
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
Arquitecturas de sistema
ndice
26/03/2003
10
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
servidores mltiples
Servidor
Servidor
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
13
proxy y cach
Cliente web
Servidor web
El resto de Internet
14
proxy y cach
sujetoReal +peticin ( )
Proxy +peticin ( )
26/03/2003
15
Arquitecturas de sistema
procesos pares
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
26/03/2003
17
Ejemplos
Cliente web
Servidor web
Cliente web
Applet
Servidor
26/03/2003
18
Ejemplos
Algunas posibilidades:
Segn la ubicacin del cdigo del proceso cliente:
Cdigo esttico Cdigo con movilidad (recolocacin del proceso)
cliente ligero
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
red espontnea
Alarm service
Discovery service
TV/PC
Laptop
PDA
Guests devices
26/03/2003
22
red espontnea
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
Ms posibilidades
Segn el diseo de la interfaz entre procesos:
Interfaz esttico Interfaz orientado a llamada a procedimiento remoto
Interfaces y objetos
26/03/2003
25
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
no medibles (fiabilidad)
Tolerancia Seguridad
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 27
sobre prestaciones
Productividad (throughput)
Tareas completadas /tiempo Entre computadoras alternativas Entre los procesos implicados
26/03/2003
sobre prestaciones
sobre fiabilidad
Seguridad
Proteccin activa y pasiva contra ataques, y Mecanismos de seguridad criptogrfica.
26/03/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 interaccin
Modelo de interaccin
tiempo y sincronicidad
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
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
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
observador 23 t1
26/03/2003
24 25
t2
t3
Tiempo fsico
38
Modelo de interaccin
tiempo y sincronicidad
Modelo de fallo
tipos
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
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
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
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
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
45
Modelo de fallo
Fallo en el reloj R
tipos
26/03/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
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
Modelo de fallo
enmascaramiento de fallo
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
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
Modelo de seguridad
proceso p enva(m)
amenazas
canal recepcin
proceso q recibe(m)
emisin
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
Modelo de seguridad
tcnicas
Tunelizacin ...
26/03/2003 Sistemas Distribuidos (I.T.Informtica - UVA (c) Csar Llamas Bello 2003) 55