Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

18
Sistemas Distribuídos Modelos e Arquitecturas de SD 1

Transcript of Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Page 1: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Sistemas Distribuídos

Modelos e Arquitecturas de SD

1

Page 2: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Estrutura do software e hardware

Aplicações, Serviços

Interface da plataforma (homogeneização dos serviços da platforma de suporte de um SD)

Suporte Middleware / Sistema Distribuído Genérico

do SD Interface do SO (serviços da plataforma-base heterogénea de computação / Serviços base do SO)

Sistema Operacional (suporte de rede ou NOS) Plataforma

Base Hardware (computador + rede)

2

Page 3: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Modelos de organização do sistema

Modelo de estruturação da plataforma de SD (middleware) e os seus componentes de suporte são concebidos de acordo com princípios de concepção que estão subjacentes a determinados modelos arquitecturais do Sistema Distribuído:

Alguns modelos de referência:

• Modelo cliente servidor

• Modelo memória partilhada

• Modelo “peer” (P2P)

• Modelo código móvel

• Modelo “proxy”

• Conceito de serviço

3

Page 4: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Cliente Servidor

Cliente

Servidor

Pedido / resposta

Cliente Cliente

4

Page 5: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Modelo “peer”

5

Page 6: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Código móvel

Servidor Servidor Servidor

6

Page 7: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Código móvel - exemplo mais simples

a) client request results in the downloading of applet code

Web Client server Applet code

b) client interacts with the applet

Web Client Applet server

7

Page 8: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Noção de serviço

Service

Server

Client

Server

Client

Server

8

Page 9: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Proxy de um serviço

Web Client server

Proxy server

Web Client server

9

Page 10: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Modelos de falhas dos sistemas

• Inevitavelmente os sistemas podem falhar, isto é, não se comportarem de acordo com a sua especificação

• O modelo de falhas permite definir rigorosamente quais os erros e as falhas que podem ter lugar e de que forma o sistema se comporta perante as mesmas

• As falhas podem classificar-se em falhas por omissão, arbitrárias e temporais

• Uma falha por omissão dá-se quando algo que devia ter lugar não sucedeu, por exemplo uma mensagem que devia chegar não chegou

• Uma falha temporal dá-se quando um evento que se devia produzir num determinado período de tempo deu-se mais tarde

• Uma falha arbitrária dá-se quando se produziu algo não previsto, por exemplo, chegou uma mensagem corrompida. As falhas por omissão e as falhas temporais dizem-se benignas

11

Page 11: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Mascaramento das falhas

• Para compensar os problemas levantados pelas falhas usam-se técnicas de mascaramento das mesmas

• As falhas arbitrárias (ou bizantinas) são as mais difíceis de mascarar. Por isso, se possível, é desejável transformá-las em falhas por omissão (exemplo: um CRC numa mensagem permite transformar uma falha bizantina do canal numa falha por omissão)

• Os sistemas que quando avariam não exibem comportamentos arbitrários ou bizantinos dizem-se “fail-stop”

12

Page 12: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Processos e canais

process p process q

send m receive

Communication channel

Outgoing message buffer Incoming message buffer

13

Page 13: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Modelo de segurança

• Num sistema existem entidades que do ponto de vista da segurança têm identidade própria, direitos e deveres - essas entidades podem ser utilizadores, processos, etc.

• Utiliza-se o termo principal para as designar

• A segurança do sistema distribuído passa por:

autenticar os principals

verificar os seus direitos de acesso aos objectos utilizar canais seguros

16

Page 14: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Principals, objectos, direitos de acesso e canais

Access rights Object invocation

Client Server result

Principal (user) Network Principal (server)

17

Page 15: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

O canal normal está acessível ao inimigo

Copy of m

The enemy m’

Process p m Process q Communication channel

18

Page 16: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Canais seguros

Principal B Principal A

Process p Secure channel Process q

" Num canal seguro os interlocutores (A e B) estão autenticados

" O inimigo não pode copiar, alterar ou introduzir mensagens

" O inimigo não pode fazer replaying de mensagens

" O inimigo não pode reordenar as mensagens

19

Copyright DI/FCT/UNL e ESTMA (2004/2005)

Page 17: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Segurança no tráfego das informações

Page 18: Sistemas Distribuídos Modelos e Arquitecturas de SD 1.

Segurança no tráfego das informações