Sistemas Distribuidos -Arquitecturas - Maestría en ...fpech/sd/files/modelos.pdf · Introducci on...

39
Introducci´ on Modelos arquitect´ onicos Arquitectura de sistema Modelos fundamentales Sistemas Distribuidos -Arquitecturas M.C. Fernando Pech May Instituto Tecnol´ ogico Superior de los R´ ıos [email protected] Materia: Sistemas Distribuidos Curso de verano, 2011 Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 1/39

Transcript of Sistemas Distribuidos -Arquitecturas - Maestría en ...fpech/sd/files/modelos.pdf · Introducci on...

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Sistemas Distribuidos -Arquitecturas

M.C. Fernando Pech May

Instituto Tecnologico Superior de los Rı[email protected]

Materia: Sistemas Distribuidos

Curso de verano, 2011

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 1/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Tabla de contenido

1 Introduccion

2 Modelos arquitectonicos

3 Arquitectura de sistemaArquitectura Cliente-servidorInterfaces y objetos

4 Modelos fundamentalesModelo de InteraccionModelo de falloModelo de Seguridad

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 2/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Los SD son los sistemas de software mas complejos

Nortel Networks crea switches los cuales pueden contenerentre 25-30 millones de lıneas de codigo, interviniendo 3000desarrolladores de software, y con un ciclo de vida de 20 anospara actualizar.

En Motorola, el 20% de sus ingenieros producen hardware,80% produce software.

En este tipo de software hay materia para toda clase deproblemas de ingenierıa de software.

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 3/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Investigacion de arquitectura de software para tratar los retos dediseno

“... Incluye la organizacion de un sistema como lacomposicion de componentes; control global de estructuras;los protocolos para comunicacion, sincronizacion, y acceso adatos; la asignacion de funcionalidad para disenar elementos;la composicion de diseno de elementos; distribucion fısica;escalamiento y desempeno; dimensiones de evolucion; yseleccion de alternativas de diseno. Este es el nivel de disenoarquitectura de software.”[Garlan y Shaw]

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 4/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Algunos paradigmas de arquitecturas pertinentes para SD

Capas

Cliente-Servidor

Idea basica

Desmembrar la complejidad de sistemas mediante el diseno encapas y servicios

Capas: grupo de funcionalidades fuertemente relacionadas yaltamente coherentesServicios: funcionalidades proporcionadas a capas superiores

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 5/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Ejemplos de arquitecturas en capas

Sistemas operativos (kernel, otros servicios), historicamente:los sistemas operativosArquitecturas de protocolos de red

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 6/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Estructura tıpica en capas de un SD

Componentes Importantes:

Plataforma (Hardware y Sistema operativo)

Middleware

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 7/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Plataforma

Contiene los servicios propios de cada computadora concreta

Depende del hardware y del S.O.

Windows NT / Procesador PentiumSolaris / Procesador SPARC

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 8/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Middleware

Logra trasparencia en la heterogeneidad en el nivel deplataforma

Puede dar un modelo y una interfaz de programacion utilizable

Puede soportar abstracciones como:

Llamadas a procedimientos remotos (RPC)Comunicacion en grupoEventos, replicacion, servicios multimedia, etc...

Ejemplos

CORBA (OMG), DCOM (Microsoft)RM-ODP (ITU-T/ISO)Invocacin de Metodos Remotos Java (SUN)Servicios Web

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 9/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Middleware

Que forma tiene el middleware?Bibliotecas adicionales:

Procedimientos remotos (RPC)Objetos remotos (RMI, CORBA)

Herramientas de programacion

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

Servicios basicos de ayuda

servicios de nombres, para buscar objetosde notificacin de eventos,De control de transacciones, etc.

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 10/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Middleware

Que limitaciones impone?Se incrementa la complejidad arquitectonica:

Hay mas niveles

Hay que aprender mas herramientasSe pierde el control de bajo nivel sobre los modos de falloSe depende de terceras partes,...

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 11/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Arquitectura Cliente-servidorInterfaces y objetos

Arquitectura de sistema

Modelo Cliente-Servidor

Multiples servidores

Procesos de Igual a Igual

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 12/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Arquitectura Cliente-servidorInterfaces y objetos

Cliente: el proceso requiere acceder datos, utilizar recursos oejecutar operaciones en una computadora diferente

Servidor: Proceso maneja datos y otros recursos compartidos,permite al cliente acceder a recursos y ejecutar computosInteraccion: invocacin / par de mensajes resultantesEjemplo: Servidor http: cliente (navegador) pgina solicitada,servidor entrega pagina

Servicios de caching (servidores proxy)

Muy habitual (DNS, Web, ftp, telnet, ...)

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 13/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Arquitectura Cliente-servidorInterfaces y objetos

Variantes

Servicios proporcionados por multiples servidores

Ejemplos: muchos servicios de comercio Web estanimplementados en diferentes servidores

Motivacion (Desempeno, confiabilidad)

Los servidores mantienen bases de datos replicadas odistribuidas

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 14/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Arquitectura Cliente-servidorInterfaces y objetos

Variantes

Servidores proxy: suministrar replicacion/distribucion trasparente

Caching

Los servidores proxy mantienen caches, como almacenes derecursos solicitados recientementeUtilizados frecuentemente en motores de busqueda:

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 15/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Arquitectura Cliente-servidorInterfaces y objetos

Variantes

Mas variantes de modelo Cliente- Servidor

Codigo Movil

Codigo enviado a un proceso cliente para realizar una tareaespecıficaEjemplos

AppletsMensajes Activos(contiene codigo de protocolo decomunicacion)

Agentes moviles

Programa ejecutado (codigo + datos), migracion entreprocesos, realizando una tarea autonoma, frecuentemente enrepresentacion de otro proceso

ventajas: flexibilidad, ahorro en costo de comunicacion

Merados virtuales, programas gusano

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 16/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Arquitectura Cliente-servidorInterfaces y objetos

Variantes

Clientes delgados

Ejecutar interfaces de ventanas localmente mientras laaplicacion se ejecuta en el servidor

ejemplo: servidores X11 (corren del lado de la aplicacioncliente)

Dispositivos portatiles para computo movil

personal digital assistants (PDAs)

Como se conectan a internet

wireless LANs/ MANswireless Personal Area Networks

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 17/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Arquitectura Cliente-servidorInterfaces y objetos

Variantes -Gestion espontanea de red

CaracterısticasW-LAN se enfrentan a constantes cambios de dispositivosmoviles heterogeneosDispositivos vagando en ambientes W-LAN heterogeneos

Beneficiosno se requiere conexion con cableFacil acceso a servicios disponibles localmente

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 18/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Arquitectura Cliente-servidorInterfaces y objetos

Variantes -Gestion espontanea de red

Retos

Soporte para conexiones convenientes e integracion:

Internet asume dispositivos con direccion IP en redes fijasPosible solucion: asignacion dinamica de direcciones IPProblemas: como encontrar dispositivos si estos son servidores

Conexion intermitente de dispositivos

Privacidad

Seguridad

Descubrimiento de servicios

Servicios disponibles en la redSus propiedades, y como accederlos (incluyendo informacionespecıfica de drivers)

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 19/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Arquitectura Cliente-servidorInterfaces y objetos

Variantes -Gestion espontanea de red

Conexion espontanea

Metropolitana (GPRS, UTMS)

Media (x0 o x00 m) (Wavelan, Wireless 802.11b)

Corta (x o x0 m) (BlueTooth, infrarojos, HomeRF)

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 20/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Arquitectura Cliente-servidorInterfaces y objetos

Variantes

Procesos pares

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

Cooperacion y coordinacionAlgoritmos descentralizados(coordinacion de agendas, trabajo colaborativo, ...)

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 21/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Arquitectura Cliente-servidorInterfaces y objetos

Interfaz de un procesoUtilizar arquitecturas cliente-servidor impacta en el uso delsoftware

cual es el mecanismos de sincronizacion entre cliente yservidor?tipos permitidos de solicitudes/respuestas?

“Conjunto de peticiones a que responde”

Estilos

Mediante interfaces de modulos “ modulos”Mediante la interfaz de los objetos en OOPSoportado de modo natural para SD en: JAVA RMI, CORBA

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 22/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Arquitectura Cliente-servidorInterfaces y objetos

Los procesos contienen objetos cuyos metodos podemos invocar demodo remoto

Es deseable que las referencias a los objetos remotos se usende modo “transparente”(como las locales)

No podemos hablar exclusivamente de procesos cliente yprocesos servidor, sino de objetos cliente y objetos servidor

Retos de diseno

Calidad de servicio

Desempeno (Tiempo de respuesta, caudal, puntualidad)ConfiabilidadAdaptabilidad

Dependencia

Tolerancia a fallas: se espera que el sistema siga funcionandocorrectamente a pesar de presentarse fallasSeguridad

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 23/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

Modelos fundamentales

Sistema Distribuido

Procesos multiplesConectados mediante canales de comunicacion

Algoritmo distribuido

Pasos a realizar por cada procesoComunicacion entre procesos (sincronizacion, flujo deinformacion)

Paradigmas generales para captar aspectos decomportamiento de un sistema distribuido basado enmensajes, algoritmos de ejecucion

Comunicando maquinas de estado finito extendidas [Brand yZafiropoulo]Automatas de E/S [Lynch]

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 24/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

Modelos fundamentales

Modelo: contiene los elementos esenciales para comprender yrazonar sobre el sistema

Manifiesta las premisas del sistemaGeneraliza sobre lo que es posible o no.

Principales modelos

De interaccionDe falloDe seguridad

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 25/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

La forma en que se produce el “paso de mensajes”entre losprocesos restringe los modos de interaccion

Retrasos, precision, y tiempo

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 26/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

Problemas presentados en las prestaciones del canallatencia: retardo entre el envıo y recepcion del mensaje

Tiempo de acceso a la red (ej., retardos de transmisionEthernet)Tiempo para que el primer bit viaje desde la interfaz de la redtransmisora hasta la interfaz de red receptoraTiempo procesado dentro del proceso de envıo y recepcion

caudal: numero de unidades (ej., paquetes) entregadas porunidad de tiempoAncho de banda: cantidad de informacion (ej., bits)transmitida por unidad de tiempoVariacion de retardo: variacion en retardos entre diferentesmensajes del mismo tipo (ej., cuadros de video en redes ATM)

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 27/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

En virtud del modelo de comunicacion aparecen dos familiasde sistemas:

Sistemas distribuidos sıncronosel tiempo para ejecutar cada paso de un proceso tieneestablecidos limites inferiores y superioreslos tiempo de entrega de mensajes tienen limites establecidoscada proceso tiene un reloj que deriva rangos en tiempo realcon limites establecidos

Sistemas distribuidos asıncronos: sin lımiteTiempos de ejecucion de procesosTiempo de entrega de mensajesTasa de movimiento del reloj

Notalos sistemas distribuidos sıncronos son faciles de manejar, perodeterminar limites realistas puede ser difıcil o imposibleLos sistemas asıncronos son mas abstractos y genericos: unalgoritmo distribuido ejecutado en un sistema es probable quetambien trabaje en otro

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 28/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

Tiempo y sincronicidad

Consecuencia basica de la asincronicidaden un sistema asıncrono los eventos pueden observarsedesordenados con respecto a su generacionEjemplo

El usuario X envıa un mensaje con el tema Reunion.Los usuarios Y y Z responden con un mensaje con el tema Re:Reunion.

Si rompe la relacion de causalidad

Si los relojes de X, Y y Z pudieran sincronizarse, podramosobservar la secuencia ordenada.

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 29/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 30/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

Posibilidad en sistemas asınconos:Relojes logicos: Proporcionan enteros consecutivos quepermiten ordenar eventos marcados por un timestamp, con larelacion de orden ocurrio antes(S1,S2).

X envıa m1 antes de que Y reciba m1

T(envıa(X,m1)) < T(recibe(Y,m1))ocurrio antes(envıa(X,m1), recibe(Y,m1))Y recibe m1 antes de enviar m2

T(recibe(Y,m1)) < T(envıa(Y,m2))ocurrio antes(recibe(Y,m1), envıa(Y,m2))Luego por transitividadT(envıa(Y,m2)) < T(recibe(X,m2))ocurrio antes(envıa(X,m1), envıa(Y,m2))X envıa m1 antes de que Y envıe m2

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 31/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

Modelo de fallo

Fallo por omision (del proceso o del canal)Fallas por omision de proceso: caıda de proceso

deteccion con timeoutsla caıda es del tipo fail-stop si otro proceso puede detectar concerteza que el proceso ha caıdo

Fallas por omision de comunicacion (canal): el mensaje no hasido entregado (perdida de mensajes)Posibles causas:

error de trasmision de redSobrecarga de buffer de recepcion de mensajes

Fallas arbitrariasproceso: omite pasos esperados del proceso o lleva a cabo nodeseadosCanal de comunicacion: ej., sin entrega, corrupcion oduplicidad

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 32/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

Tipos de fallos

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 33/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

Modelo de seguridad

Las tecnicas de seguridad permiten la comprobacion de fallosy la minimizacion de su posible aparicion:Comunicacion Fiable

Validez de la comunicacion:cualquier mensaje enviado() sera escuchado.Integridad de la comunicacion:Cualquier mensaje recibido() es correcto y respeta lasecuencialidad.

Amenazas:

Duplicacion de mensajes, desorden, corrupcion del mensaje,revelacion, (y sigue...)

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 34/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

Amenaza a los Procesos

Acceso indebido a los recursos

Ataque a la integridad del proceso

Suplantacion de los principales interlocutores

Falsificacion de servicios

Falsificacion de peticiones

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 35/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

Amenaza a los canales

Acceso indebido al canal

Captura de mensajes

Reenvıo de mensajes

Eliminacion de mensajes

Modificacion de mensajes y de codigo movil

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 36/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

Amenaza a la disponibilidad del servicio

Ataque a la integridad de los servicios

Ataque de denegacion de servicio

Seguridad de...

Las interacciones en procesos y canales

Las acciones de acceso a objetos (derechos)

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 37/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

Tecnicas

Criptografıa (de clave secreta y de clave publica)

Encriptacion para preservar la privacidadFirmas para preservar la autenticidadAutenticacion para preservar la identidadContrato digital para preservar la legalidad

Ejemplos de servicios seguros

Correo electronico seguroPagos seguros por Internet

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 38/39

IntroduccionModelos arquitectonicosArquitectura de sistemaModelos fundamentales

Modelo de InteraccionModelo de falloModelo de Seguridad

Tecnicas

Tecnicas sobre derechos de acceso

Control de acceso a los recursosControl de acceso a los servicios

Tecnicas de filtrado y seguridad de trafico en redes

Mecanismos de confianza por dominiosProteccion pasiva (cortafuegos)Tunelizacion...

Fernando Pech May Sistemas Distribuidos -Arquitecturas Curso de verano, 2011 39/39