Upload
ngohanh
View
255
Download
0
Embed Size (px)
Citation preview
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