Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema1 PDF
Tema1 PDF
Por: Mariela Curiel Basado en los textos : Sistemas Distribuidos Conceptos y Diseo G. Coulouris, J. Dollimore, TimKinberg
Definiciones Ejemplos Desafos en el diseo de sistemas distribuidos Modelos Arquitectnicos Modelos fundamentales para describir sistemas distribuidos
Definiciones
``Se define un sistema distribuido como aquel en el que los componentes de hardware y software, localizados en computadores unidos mediante una red, comunican y coordinan sus acciones slo mediante el paso de mensajes, (c,d,k, 2001)
Definicin
Esta definicin tiene las siguientes consecuencias:
? Concurrencia ? Inexistencia ? Fallos
de un reloj global
Independientes
Definiciones
``Un sistema distribuido se compone de un grupo de computadores autnomos, enlazados mediante una red y equipados con un software de sistemas distribuidos. Este software permite que los computadores coordinen sus actividades y compartan recursos.
Definiciones
Los usuarios de un sistema distribuido bien diseado deberan percibir un sistema de computacin nico e integrado, aun cuando las mquinas estn dispersas geogrficamente (c,d,k, 1998)
Definiciones
``Un sistema distribuido es un grupo de computadores independientes que son percibidas por los usuarios como un nico computador, (tanenbaum, 1995)
Ejemplos
Internet Intranets Computacin Mvil
Desafos
Heterogeneidad Extensibilidad Seguridad Escalabilidad Tolerancia a Fallas Concurrencia Transparencia
Desafos: Heterogeneidad
La heterogeneidad se aplica en los siguientes elementos:
? Redes ? Hardware ? Sistemas
? Lenguajes
? Implementaciones
desarrolladores
Desafos: Heterogeneidad
Middleware: es el estrato de software que provee una abstraccin de programacin, as como un enmascaramiento de la heterogeneidad subyacente de las redes, hardware, sistemas operativos y lenguajes de programacin. Ejem: Corba, Java RMI
Desafos: Heterogeneidad
Heterogeneidad y cdigo mvil
? Cdigo
Mvil: cdigo que puede enviarse desde un computador a otro y ejecutarse en este ltimo. concepto de mquina virtual ofrece un modo de crear cdigo ejecutable sobre cualquier hardware
? El
Desafos: Extensibilidad
Es la caracterstica que determina si el sistema puede extenderse de varias maneras. Un sistema puede ser abierto o cerrado con respecto a extensiones de hardware o de software. Para lograr la extensibilidad es imprescindible que las interfaces clave sean publicadas.
Desafos: Extensibilidad
Los Sistemas Distribuidos Abiertos pueden extenderse a nivel de hardware mediante la inclusin de computadoras a la red y a nivel de software por la introduccin de nuevos servicios y la reimplementacin de los antiguos. Otro beneficio de los sistemas abiertos es su independencia de proveedores concretos.
Desafos: Seguridad
La seguridad tiene tres componentes:
Confidencialidad: proteccin contra individuos no autorizados Integridad: proteccin contra la alteracin o corrupcin Disponibilidad: proteccin contra la interferencia que impide el acceso a los recursos
Desafos: Seguridad
Existen dos desafos que no han sido resueltos en su totalidad:
? Ataques ? Seguridad
Desafos: Escalabilidad
Se dice que un sistema es escalable si conserva su efectividad cuando ocurre un incremento significativo en el nmero de recursos y en el nmero de usuarios. El diseo de SD escalables presenta los siguientes retos: Control de costo de los recursos fsicos : para que un sistema con n usuarios sea escalable, la cantidad de recursos fsicos necesarios para soportarlo debera ser O(n).
Desafos: Escalabilidad
Controlar la degradacin del rendimiento: Ejm: Los algoritmos que emplean estructuras jerrquicas se comportan mejor frente al crecimiento de la escala, que los algoritmos que emplean estructuras lineales. Evitar cuellos de botella: los algoritmos deberan ser descentralizados .
Desafos: Escalabilidad
Prevenir el desbordamiento de los recursos de software
Desafos: Concurrencia
Existe la posibilidad de acceso concurrente a un mismo recurso.La concurrencia en los servidores se puede lograr a travs de threads. Cada objeto que represente un recurso compartido debe responzabilizarse de garantizar que opera correctamente en un entorno concurrente. Para que un objeto sea seguro en un entorno concurrente, sus operaciones deben sincronizarse de forma que sus datos permanezcan consistentes.
Desafos:Transparencia
Transparencia de acceso: permite acceder a los recursos locales y remotos empleando operaciones idnticas. Transparencia de ubicacin: permite acceder a los recursos sin conocer su localizacin. Transparencia de concurrencia: permite que varios procesos operen concurrentemente sobre recursos compartidos sin interferencia mutua.
Desafos:Transparencia
Transparencia de replicacin: permite replicar los recursos sin que los usuarios y los programadores necesiten su conocimiento. Transparencia frente a fallos: permite ocultar fallos. Transparencia de movilidad: permite la reubicacin de recursos y clientes en un sistema sin afectar la operacin de los usuarios y los programas.
Desafos:Transparencia
Transparencia de rendimiento: permite reconfigurar el sistema para mejorar el desempeo segn vare su carga. Transparencia al escalado: permite al sistema y a las aplicaciones expandirse en tamao sin cambiar la estructura del sistema o los algoritmos de aplicacin.
Modelos arquitectnicos
Modelo Arquitectnico de un SD: trata sobre la colocacin de sus partes y las relaciones entre ellas. Ejem: modelo cliente-servidor y el modelo de procesos de igual a igual (peerto-peer) Diferentes modelos arquitectnicos:
Capas de Software Arquitecturas de Sistema ? Interfaces y Objetos
? ?
Capas de Software
El trmino arquitectura de software se refera inicialmente a la estructuracin del software como capas en un nico computador. Ms recientemente las capas son uno o varios procesos, localizados en el mismo o diferentes computadores, que ofrecen y solicitan servicios.
Capas de Software
Aplicacin de servicios
Middleware
Sistema Operativo
Plataforma: estas capas ms bajas proporcionan servicio a las superiores y su implementacin es dependiente de cada computador.
Plataforma
Capas de Software
Aplicacin de servicios
Middleware
Middleware:es una capa de software cuyo propsito es enmascarar la heterogeneidad y proporcionar un modelo de programacin conveniente para los programadores de aplicaciones
Arquitecturas de Sistema
Modelo Cliente-Servidor Servicios proporcionados por mltiples servidores Servidores proxy y caches Procesos peer-to-peer
Modelo Cliente-Servidor
Cliente
Invocacin Resultado
Servidor
Resultado
Servidor
Invocacin
Cliente
Proceso Computador
- El servidor puede o no estar en la misma mquina del cliente - Tanto servidores como clientes pueden ser iterativos o concurrentes
servicio
-Los servidores pueden dividir el conjunto de objetos en los que est basado el servicio y distriburselos entre ellos mismos. - Pueden mantener rplicas de los objetos en cada mquina.
-Un cache es un almacn de objetos de datos utilizados recientemente. -Los caches pueden estar ubicados en los clientes o en un servidor Proxy que se puede compartir desde varios clientes. -El propsito de los servidores proxy es incrementar la disponibilidad y las prestacionesdel servicio, reduciendo la carga en las redes de rea Amplia y en los servidores WEB.
Procesos Peer-to-Peer
Servidor Proxy Aplicacin Cdigo de Coord. Servidor Proxy Aplicacin Cdigo de Coord.
Interfaces y Objetos
Una interfaz de un proceso es la especificacin del conjunto de funciones que se pueden invocar sobre l. En lenguajes orientados a objetos, los procesos distribuidos pueden ser construidos de una forma ms orientada al objeto. Las referencias a estos objetos se pasan a otros procesos para que se pueda acceder a sus mtodos de forma remota. Esta es la aproximacin adoptada por CORBA y Java RMI.
Todos los procesos desempean tareas semejantes, interactuando cooperativamente como iguales para realizar una actividad distribuida o cmputo sin distincin entre clientes y servidores Los procesos pares mantienen la consistencia de los recursos y sincroniza las acciones a nivel de aplicacin.
10
11
Se logra con redundancia Para hacer fiable un protocolo de comunicacin se emplean otras tcnicas. Ejem. Retransmitir el mensaje.
Modelos Fundamentales
Los modelos fundamentales estn implicados en una descripcin ms formal de las propiedades que son comunes en los modelos arquitectnicos. Ayudan a localizar los problemas clave para los diseadores de SD. Su propsito es especificar los problemas, dificultades y amenazas que deben superarse para desarrollar sistemas distribuidos fiables.
Modelos Fundamentales
Modelo de Interaccin: Trata sobre el rendimiento y sobre la dificultad de poner lmites temporales en un sistema distribuido Modelo de Fallos : intenta dar una especificacin precisa de los fallos que se pueden producir en procesos y en canales de comunicacin. Modelo de seguridad : posibles amenazas para los procesos y canales de comunicacin-
12
Modelo de Interaccin
Trata sobre el rendimiento y sobre la dificultad de poner lmites temporales en un sistema distribuido. El cmputo ocurre en procesos. Los procesos interactan a travs del paso de mensajes. En la comunicacin hay retrasos. El modelo estudia como afectan estos retrasos la coordinacin de los procesos.
Modelo de Interaccin
Rendimiento de los canales de comunicaciones:
Latencia:retardo entre el envo de un mensaje por un proceso y su recepcin por otro. ? Ancho de banda: cantidad total de informacin que se puede transmitir en un momento dado. ? Jitter o fluctuacin: variacin en el tiempo invertido en completar el reparto de una serie de mensajes.
?
tiempo de ejecucin de cada etapa de un proceso tiene lmites superior e inferior conocidos. ? Cada mensaje se recibe en un tiempo limitado conocido. ? Cada proceso tiene un reloj local cuya tasa de deriva sobre el tiempo real tiene un lmite conocido.
13
Ordenamiento de Eventos
An cuando no hay relojes precisos la ejecucin de un sistema se puede describir en trminos de los eventos y su ordenacin. Ejemplo: 1. X enva un mensaje de reunin 2. Y y Z responden
x enva y lee y responde z lee x, y y enva otra respuesta.
Los sistemas reales son frecuentemente asncronos. Pero existen problemas que no pueden resolverse con este modelo.
Ordenamiento de Eventos
enva
Ordenamiento de Eventos
Tiempo lgico de Lamport
? Los
x y z A t1
mensajes se reciben despus de su envo x enva m1 antes que y reciba m1 Y enva m2 antes que x reciba m2 ? Las respuestas se envan despus que se reciben los mensajes Y recibe m1 antes de enviar m2
t2
t3
m3
m1 m2
- Si los relojes pudieran sincronizarse pudiera utilizarse el tiempo Asociado localmente a c/mensaje enviado. Los mensajes en A se Mostraran segn el ordenamiento temporal.
14
Ordenamiento de Eventos
x y z A
1
enva
Modelo de Fallos
Intenta dar una explicacin precisa de los fallos que se pueden producir en los procesos y en los canales de comunicacin para darnos una comprensin de sus efectos. Fallos por omisin
? De ? De
4
m1 enva
1 2
m2
t1
2
t2
m1 3
1
t3m3
m1 m2
procesos comunicaciones
m2 5
Modelo de Fallos
Fallos de procesos
Ruptura accidentada del procesamiento. Es deseable si el resto de los procesos que interactan con el proceso interrumpido, o bien funcionan correctamente o se detienen. El mtodo de deteccin de ruptura descansa en timeouts.
Modelo de Fallos
Fallos de procesos
Fail- Stop: es cuando el resto de los procesos puede detectar con certeza que cierto proceso interrumpio su ejecucin. Se puede detectar en un sistema sncrono por los timeouts.
15
Modelo de Fallos
Fallos por omisin de comunicaciones.
? Fallos ? Prdida ? Fallos
Modelo de Fallos
Fallos arbitrarios: cualquier tipo de error.
? Procesos:
por omisin de envos de mensajes entre los buffers por omisin de recepcin.
Proceso q Canal de comunicacin Recibe Fallos por omisin de recepcin
se omiten pasos del procesamiento o se realizan pasos adicionales, no intencionados. ? Canales: se corrompe el contenido de un mensaje o se repiten mensajes. Estos fallos se pueden reconocer y ocultar o enmascarar.
Clase de Fallo
Fail-stop (fallo-parada) Proceso
Afecta a
Descripcin
El proceso para y deja de funcionar. Otros procesos pueden detectarlo. El proceso para y deja de funcionar. Otros procesos pueden no ser capaces de detectar su estado. Un mensaje en el buffer saliente nunca llega al buffer de mensajes entrantes El procesos enva pero el mensaje no se coloca en el buffer de mensajes salientes El mensaje llega a la cola de mensajes entrantes pero el proceso no lo recibe. Transmitir mensajes arbitrariamente, comenter omisiones, un proceso puede realizar un paso incorrecto o detenerse.
Ruptura
Proceso
Modelo de Fallos
Fallos de temporizacin
? Existen
Omisin
Canal
Omisin de Envo
Proceso
Omisin de recepcin
Proceso
Arbitrario (bizantino)
Proceso o Canal
en los SD sncronos donde se establecen lmites. Fallos de reloj y fallos de prestaciones. ? En un SDA un proceso pude terminar mas tarde pero no hay un fallo porque no se ha dado ningn tipo de garanta. ? Los SOP a tiempo real se disean con vistas a proporcionar garantas de temporizacin.
16
Modelo de Fallos
Clase de Fallo Reloj Afecta a Proceso Descripcin El reloj local del proceso excede el lmite de su tasa de deriva sobre el tiempo real. El proceso excede el lmite de ejecucin ? ?
Modelo de Fallos
Enmascaramiento de fallos
Ocultar el fallo Convertirlo en un tipo razonable
Prestaciones
Proceso
Fiabilidad y comunicacin uno a uno. El trmino comunicacin fiable se define en trminos de validez e integridad.
Validez: cualquier mensaje en el buffer de salida llega eventualmente al buffer de mensajes entrantes. ? Integridad: el mensaje recibido es idndico al enviado y no se reparten mensajes por duplicado
?
Prestaciones
Canal
Modelo de Fallos
Amenazas de Integridad
Protocolos que retransmiten pero no usan nmeros de secuencia para evitar que el mismo mensaje llegue duplicado. ? Usuarios mal intencionados que insertan mensajes invlidos, repiten mensajes antiguos o modifican mensajes autenticos.
?
Modelo de Seguridad
La seguridad de un SD puede lograrse asegurando los procesos y los canales empleados para sus interacciones y protegiendo los objetos que se encapsulan contra el acceso no autorizado.
17
Modelo de Seguridad
Proteccin de Objetos
? Los
Modelo de Seguridad
Proteccin de Objetos
A cada invocacin y a cada resultado se le asocia la autoridad con que se ordena. Tal autoridad se denomina principal. ? El servidor es responsable de verificar la identidad del principal tras la invocacin y comprobar que dispone de los diferentes derechos para realizar operaciones sobre el objeto. ? El cliente puede comprobar la identidad del principal tras el servidor para asegurar que el resultado proviene del servidor requerido.
?
objetos pueden contener datos privados y pblicos o compartidos. ? Se otorgan derechos de acceso que especifican a quien se permite realizar ciertas operaciones sobre un objeto. Los usuarios son los principales beneficiarios de estos derechos de acceso.
Modelo de Seguridad
Derechos de acceso Objeto ?
Modelo de Seguridad
Asegurar procesos y sus interacciones
Cierto tipo de aplicaciones son ms propensas a los ataques. ? Para este tipo de aplicaciones probablemente habr ataques a los procesos de los que se componen tales aplicaciones y a los mensajes que viajan entre los procesos. ? Cmo podemos analizar estas amenazas para derrotarlas?
red
18
Modelo de Seguridad
Modelo de amenazas de seguridad El enemigo: es capaz de enviar cualquier mensaje a cualquier proceso y tambin de leer o copiar cualquier mensaje entre un par de procesos. El ataque puede venir de un computador legitimamente conectado o de una mquina no autorizada.
Copia de m
Modelo de Seguridad
Amenazas a procesos : cualquier proceso puede recibir mensajes de otro proceso y bien pudiera no ser capaz de identificar la identidad del emisor. Los protocolos incluyen la direccin IP del emisor, pero no es un problema generar un mensaje con una direccin falsa. No conocer cul es el origen del mensaje es una amenaza al correcto funcionamiento de clientes y servidores.
El enemigo
Proceso P
m
Proceso Q
Modelo de Seguridad
Amenazas a canales: un enemigo puede copiar, alterar o insertar mensajes segn viajen a travs de la red. Otra forma es recopilar mensajes para volver a enviarlo ms tarde, haciendo posible volver a enviar el mensaje ms de una vez.
Modelo de Seguridad
Cmo se pueden vencer las amenazas de seguridad? Criptografa y secretos compartidos Autenticacin Canales seguros
19
Modelo de Seguridad
Criptografa es la ciencia de mantener los mensajes seguros y la encriptacin es el proceso de transformar el mensaje de forma que quede oculto el contenido. Se emplean claves secretas que conoce el emisor y receptor.
Modelo de Seguridad
Autenticacin: probar la identidad probada por los emisores. La tcnica bsica consiste en incluir dentro del mensaje un fragmento encriptado que contenga suficiente informacin para garantizar la autenticidad del mensaje.
Modelo de Seguridad
Canales Seguros: para construirlos se emplean tcnicas de encriptamiento y autenticacin. Un canal seguro es un canal de comunicacin que conecta un par de procesos, cada uno de los cuales acta en representacin de un principal.
Modelo de Seguridad
Un canal seguro presenta las siguiente propiedades: Cada proceso conoce bien la identidad del principal en cuya representacin se ejecuta el otro proceso. Asegura privacidad e integridad (proteccin contra la manipulacin) Cada mensaje incluye un sello de carcter temporal, de tipo fisico o lgico, para prevenir el re-envo o la reordenacin de los mensajes. Ejemplo: SSL (Secure Sockets Layer)
20
Modelo de Seguridad
Otras posibilidades de amenaza del enemigo son: Denegacin de servicio Cdigo mvil: puede incluir cdigo que accede o modifica los recursos que estn legitimamente disponibles para los procesos del host pero no para el creador del cdigo.
21