arquitectura de sistemas distribuidos

42
istemas Distribuidos Ing. Johnny Solórzan Universidad de Cuenca ARQUITECTURA DE SISTEMAS DISTRIBUIDOS

Upload: angel-morocho

Post on 17-Feb-2017

253 views

Category:

Software


5 download

TRANSCRIPT

Page 1: Arquitectura de sistemas distribuidos

Sistemas Distribuidos Ing. Johnny SolórzanoUniversidad de Cuenca

ARQUITECTURA DE SISTEMAS DISTRIBUIDOS

Page 2: Arquitectura de sistemas distribuidos

2

Objetivos

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

1• Identificar las características básicas en un sistema

distribuido.

2• Identificar las arquitecturas de computación

distribuidas

3• Describir el modelo cliente servidor

4• Describir las arquitecturas de P2P (Peer to peer)

Page 3: Arquitectura de sistemas distribuidos

3

Tópicos Cubiertos

Arquitectura de Sistemas Distribuidos

Introducción Ventajas y desventajas de los Sistemas Distribuidos Características de los Sistemas Distribuidos Primitivas de Comunicación

TCP/IP Sockets Protocolo

Arquitecturas para computación distribuida Arquitecturas desde el punto de vista del Software o Lógico Arquitecturas desde el punto del vista de l Hardware

Conclusiones

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Page 4: Arquitectura de sistemas distribuidos

4

Introducción

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Definición de Sistemas Distribuidos:“Un Sistema Distribuido es una colección de computadores

independientes que aparecen ante los usuarios como un único sistema coherente.” (Andrew S. Tanenbaum).

“Un sistema en el cual tanto los componentes de hardware y software de un computador conectados en red se comunican y coordinan

mediante paso de mensajes.” (G.Coulouris, J.Dollimore, T.Kindberg)

Page 5: Arquitectura de sistemas distribuidos

5

Ventajas y Desventajas de los Sistemas Distribuidos

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Ventajas• Compartir recursos e información.• Procesadores mas poderosos y menos costosos.• Escalabilidad.• Tolerancia a fallos.

Desventajas• Requerimiento de mayores controles de procesamiento.• Disminución en la velocidad de propagación de la información.• Múltiples puntos de fallo• Aspectos de seguridad.

Page 6: Arquitectura de sistemas distribuidos

6

Características de los Sistemas Distribuidos

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Heterogeneidad• Soporte para diferentes tipos de Sistemas Operativos, redes, lenguajes de programación, etc.

Transparencia• Visión de los recursos como un único sistema.

Escalabilidad• Capacidad para crecer sin ningún problema

Fiabilidad• Capacidad para realizar las operaciones para las que fue creado

Disponibilidad• El sistema siempre tiene que estar en línea.

Tolerancia a Fallos• Capacidad de seguir disponible pese a un problema.

Consistencia• Asegurar el estado global.

Page 7: Arquitectura de sistemas distribuidos

7

Primitivas de Comunicación

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Primitivas de Comunicación• Consisten en el conjunto mínimo de características que permitirán realizar la

comunicación de un sistema distribuido.

• Incluyen:

Modelo TCP/IP

Protocolo

Sockets

Page 8: Arquitectura de sistemas distribuidos

8

Primitivas de Comunicación: TCP/IP (1/3)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

TCP/IP• Protocolo utilizado por los dispositivos conectados a una red / Internet

• El funcionamiento del protocolo es independiente del sistema operativo.

Page 9: Arquitectura de sistemas distribuidos

9

Primitivas de Comunicación: TCP/IP (2/3)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

TCP (Transfer Control Protocol)– Establecimiento de la conexión (3 pasos)

1. Syn 2. Syn-ack3. Ack

– Transferencia de datos (similar a una llamada telefónica)

Page 10: Arquitectura de sistemas distribuidos

10

Primitivas de Comunicación: TCP/IP (2/3)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

TCP (Transfer Control Protocol)– Establecimiento de la conexión (3 pasos)

1. Syn 2. Syn-ack3. Ack

– Transferencia de datos (similar a una llamada telefónica)

0 15 16 31

Page 11: Arquitectura de sistemas distribuidos

11

Primitivas de Comunicación: TCP/IP (3/3)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Puertos TCP – Es una numeración lógica que se asigna a las conexiones tanto en el origen como en el

destino

• Puertos Lógicos 2^16 = 65535 puertos

• Puertos bien conocidos 0 – 1023

• registrados y dinámicos

IP (Internet Protocol)– Es un protocolo de comunicación de datos que se encuentra en la capa de red.

– Direccionamiento IP

Page 12: Arquitectura de sistemas distribuidos

12

Primitivas de Comunicación: Protocolo (1/2)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

ProtocoloEs un conjunto de reglas y normas que permiten que dos o más entidades de un

se comuniquen entre ellos.

Define:

– Manera de localizar un servicio

• Estática (dirección y Puerto del servidor) FTP (21), HTTP(80), SMTP (25)

Page 13: Arquitectura de sistemas distribuidos

13

Primitivas de Comunicación: Protocolo (2/2)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Protocolo– Secuencia de comunicación entre procesos

– Representación e interpretación de los resultados• La aplicación decide el formato del los resultados (xml, json, etc)

Cliente ServidorPetición 1

Respuesta 1

Petición 2

Respuesta 2

Tiempo

Page 14: Arquitectura de sistemas distribuidos

14

Primitivas de Comunicación: Sockets (1/2)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Sockets• Interfaz de comunicación entre componentes de una red.

• Existen 3 tipos:– Orientados a la conexión (TCP)

– No orientados a la conexión (UDP)

– RAW: Son sockets que dan acceso directo a la capa de software de red o a protocolos de más bajo nivel.

• Utilizan un puerto y una dirección de red para establecer una conexión.

Page 15: Arquitectura de sistemas distribuidos

15

Primitivas de Comunicación: Relación Sockets / procesos (2/2)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Relación entre sockets y procesos

Page 16: Arquitectura de sistemas distribuidos

16

Arquitecturas para computación distribuida

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Existen 2 enfoques para clasificar las arquitecturas:

Punto de vista de Software o lógico• Basados en capas• Basados en objetos• Centrados en datos• Basados en eventos

Punto de vista de Hardware• Centralizadas• Descentralizadas

Page 17: Arquitectura de sistemas distribuidos

17

Arquitecturas para computación distribuida: SW (1/9)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

• Esta arquitectura está formulada en términos de componentes.

• Un componente es la unidad modular.

• Conector mecanismo que media la comunicación

• Arquitecturas basadas en la interconexión de los componentes y conectores.– Arquitecturas basadas en capas– Arquitecturas basadas en objetos– Arquitecturas centradas en datos– Arquitecturas basadas en eventos

Page 18: Arquitectura de sistemas distribuidos

18

Arquitecturas para computación distribuida: SW (2/9)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Arquitecturas basadas en capas• Los componentes se encuentran organizados en forma de capas.

• Un componente de una capa puede llamar a otro componente de una capa

inferior.

• La comunicación va de capa en capa.

Page 19: Arquitectura de sistemas distribuidos

19

Arquitecturas para computación distribuida: SW (3/9)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Arquitecturas basadas en capas

Page 20: Arquitectura de sistemas distribuidos

20

Arquitecturas para computación distribuida: SW (4/9)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Arquitecturas basadas en objetos• Un objeto vendría a ser un componente.

• Los componentes interactúan mediante un mecanismo RPC.

Page 21: Arquitectura de sistemas distribuidos

21

Arquitecturas para computación distribuida: SW (5/9)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Arquitecturas basadas en objetos

Un cliente llama a un objeto distribuido que se encuentra en el servidor,

JAVA RMI / RPC

Page 22: Arquitectura de sistemas distribuidos

22

Arquitecturas para computación distribuida: SW (6/9)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Arquitecturas centradas en datos• Los procesos se comunican mediante un repositorio.

• Aplicaciones distribuidas en las que la comunicación se establece por medio

de un archivo compartido a través de un sistema de archivos distribuidos

Page 23: Arquitectura de sistemas distribuidos

23

Arquitecturas para computación distribuida: SW (7/9)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Arquitecturas centradas en datos

Un conjunto de procesadores se encuentran interconectados y usan un espacio

para intercambiar información

Page 24: Arquitectura de sistemas distribuidos

24

Arquitecturas para computación distribuida: SW (8/9)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Arquitecturas basadas en eventos• Comunicación por medio de la propagación de eventos

• Propagación de eventos mediante publicar/suscribir.

Page 25: Arquitectura de sistemas distribuidos

25

Arquitecturas para computación distribuida: SW (9/9)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Arquitecturas basadas en eventos

Mediante la capa de Servicios Middleware, las maquinas publican sus eventos y

únicamente los que estén suscritos recibirán los mismos.

Page 26: Arquitectura de sistemas distribuidos

26

Arquitecturas para CD - HW: Centralizadas (1/4)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Arquitecturas centralizadas– Basadas en el modelo cliente/servidor

Page 27: Arquitectura de sistemas distribuidos

27

Arquitecturas para CD - HW: Centralizadas (2/4)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Modelo Cliente/Servidor• Existen 2 roles: el cliente y el servidor

• Servidor– Gestiona el acceso a servicios de red.

• Cliente

– Acceden al servidor para solicitar un servicio de red.

Page 28: Arquitectura de sistemas distribuidos

28

Arquitecturas para CD - HW: Centralizadas (3/4)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Modelo Cliente/Servidor• Para la comunicación se debe utilizar:

– Dirección IP

– Puerto

– Sockets, tanto en el cliente como en el servidor

– Un protocolo

– Una representación de los datos

Page 29: Arquitectura de sistemas distribuidos

29

Arquitecturas para CD - HW: Centralizadas (4/4)

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Arquitecturas centralizadas– Pueden incluir una división en capas (niveles):

– El nivel de interfaz de usuario.– El nivel de procesamiento.– El nivel de datos.

Page 30: Arquitectura de sistemas distribuidos

30

Arquitecturas para CD - HW: Descentralizadas

Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí

a

Arquitecturas Descentralizadas • Distribuir en partes lógicamente equivalentes las funcionalidades de clientes o servidores.

– Ejemplo: sistemas p2p = peer to peer.

• En un Sistema P2P todos los clientes ponen a disposición de otros clientes sus

recursos.

• Las arquitecturas P2P se clasifican en:• Estructuradas

• No Estructuradas

Page 31: Arquitectura de sistemas distribuidos

31

Arquitecturas para CD - HW – Descentralizadas: Peer to Peer (P2P)

Agenda Objetivos

Contenidos

Conclusiones

Preguntas

Bibliografía

P2P Estructuradas– El servidor determina que peers se conectan.

– Mediante una tabla hash distribuida (DHT – Distributed Hash Table).

– Estas redes utilizan funciones de hash distribuido y asignan valores a cada contenido y a cada

usuario en la red.

– Cada usuario es responsable de una parte específica del contenido en la red.

– Siguen un protocolo para determinar que usuario posee tal o cual contenido.

Page 32: Arquitectura de sistemas distribuidos

32

Arquitecturas para CD - HW - Descentralizadas: Peer to Peer (P2P)

Agenda Objetivos

Contenidos

Conclusiones

Preguntas

Bibliografía

P2P NO Estructuradas

– No utilizan algoritmos para la conexión a la red.

– Si un usuario desea encontrar información específica en la red, la petición tiene que recorrer

toda la red para encontrar tantos usuarios como sea posible

– La desventaja principal con estas redes es que las peticiones no siempre podrán resolverse.

– A su vez se subdividen en:

• Puros o descentralizados• Centralizadas• Híbridos

Page 33: Arquitectura de sistemas distribuidos

33

Arquitecturas para CD - HW – Descentralizadas: P2P No estructuradas

Agenda Objetivos

Contenidos

Conclusiones

Preguntas

Bibliografía

P2P Puras o Descentralizadas• Los nodos actúan como cliente y como servidor

• No existe un servidor central que maneje las conexiones de red.

• No hay un enrutador central que sirva como nodo y administre las direcciones

• Ejemplos: Ares Galaxy, Gnutella

Page 34: Arquitectura de sistemas distribuidos

34

Arquitecturas para CD - HW – Descentralizadas: P2P No estructuradas

Agenda Objetivos

Contenidos

Conclusiones

Preguntas

Bibliografía

P2P Centralizadas• Existe un único servidor que maneja todas las conexiones

• Todas las conexiones dependen de un solo servidor.

• Ejemplos: Napster y audiogalaxy

Page 35: Arquitectura de sistemas distribuidos

35

Arquitecturas para CD - HW – Descentralizadas: P2P No estructuradas

Agenda Objetivos

Contenidos

Conclusiones

Preguntas

Bibliografía

P2P Centralizadas

Napster

Page 36: Arquitectura de sistemas distribuidos

36

Arquitecturas para CD - HW – Descentralizadas: P2P No estructuradas

Agenda Objetivos

Contenidos

Conclusiones

Preguntas

Bibliografía

P2P Hibridas• Tiene un servidor central que guarda información.

• Los nodos son los que almacenan la información a ser compartida.

• Si el servidor se cae, se mantiene la interconexión entre los nodos.

• Ejemplos: Bittorrent, eDonkey.

Page 37: Arquitectura de sistemas distribuidos

37

Arquitecturas para CD - HW – Descentralizadas: P2P No estructuradas

Agenda Objetivos

Contenidos

Conclusiones

Preguntas

Bibliografía

P2P HíbridasBittorrent.

Page 38: Arquitectura de sistemas distribuidos

38

Resumen (1/2)

Se han definido las características que tienen que estar presentes en un sistema distribuido.

Se ha abordado el conocimiento de algunas de las primitivas de comunicación tales como:

• Protocolo TCP/IP• Sockets

Se han identificado algunas arquitecturas de computación distribuidas tales como:

• Arquitecturas desde el punto de vista del Software• Basados en capas• Basados en eventos• Basados en objetos• Basados en datos

Presentación

Objetivos

Contenido

Conclusiones

Preguntas

Bibliografía

Page 39: Arquitectura de sistemas distribuidos

39

Resumen (2/2)

• Arquitecturas desde el punto de vista del Hardware• Centralizadas

• Cliente/Servidor • No Centralizadas

• Arquitecturas descentralizadas (P2P)• Estructuradas• No Estructuradas

• Centralizadas• No centralizadas• Híbridas

Presentación

Objetivos

Contenido

Conclusiones

Preguntas

Bibliografía

Page 40: Arquitectura de sistemas distribuidos

40

Conclusiones

• El protocolo TCP / IP establece las reglas a seguir para establecer una conexión.

• Los sockets son la base para la comunicación en un sistema distribuido

• Existen muchas arquitecturas de computación distribuidas.

• El modelo cliente / servidor es utilizado en varias de estas arquitecturas.

• Muchas de las arquitecturas P2P son muy utilizadas, especialmente para compartir archivos.

Presentación

Objetivos

Contenido

Conclusiones

Preguntas

Bibliografía

Page 41: Arquitectura de sistemas distribuidos

41

PREGUNTAS

Presentación

Objetivos

Contenido

Conclusiones

Preguntas

Bibliografía

Page 42: Arquitectura de sistemas distribuidos

42

Bibliografía

Presentación Objetivos Contenidos Conclusione

s Preguntas Bibliografía

• Distributed Systems: Concepts and Design, George Coulouris, Jean Dollimore , Tim Kindberg , Gordon Blair. 2011

• Distributed Systems: Principles and Paradigms. Andrew S. Tanenbaum y Maarten van Steen. Segunda Edición, Prentice-Hall. 2007

• Distributed Computing: Principles and Applications. M.L. Liu. Addison-Wesley. 2004