Prévia do material em texto
Aula 01 – Redes de Comunicação Tema 01 – Introdução a Redes Valter Castelhano de Oliveira Introdução a Redes • Rede não é um sistema, mas sim uma ferramenta que permite o melhor compartilhamento de recursos computacionais, quer sejam de hardware ou de software. • Rede é muito mais do que sistema, é uma filosofia. Redes • Necessidade de informação. • Propagação (capilaridade). • Validade. • Velocidade. Organização e Pilha de Protocolos Apresentação Sessão Transporte Rede Enlace Físico Aplicação Transporte Rede Inter-rede Meio Físico Modelo OSI Modelo TCP/IP Aplicação Por que camadas? Convivendo com sistemas complexos: • A estrutura explícita permite identificação, o relacionamento das partes de um sistema complexo. • Um modelo de referência em camadas permite a discussão da arquitetura. • Modularização facilita a manutenção, atualização do sistema. • As mudanças na implementação de uma camada são transparentes para o resto do sistema. Pilha de Protocolos da Internet Aplicação: suporta as aplicações de rede. • ftp, smtp, http. Transporte: transferência de dados host- host. • tcp, udp. Rede: roteamento de datagramas da origem ao destino. • ip, protocolos de roteamento. Enlace: transferência de dados entre elementos vizinhos da rede. • ppp, ethernet. Física: bits “nos fios dos canais”. Aplicação Transporte Rede Enlace Física Divisão em Camadas: comunicação lógica Cada camada: • Distribuída. • “Entidades” implementam as funções da camada em cada nó. • Entidades realizam ações, trocam mensagens entre pares. Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Enlace Física Rede Enlace Física Ex.: transporte. • Apanha dados da aplicação. • Acrescenta endereço, verificação de erros e outras informações para montar um “datagrama”. • Envia datagrama ao parceiro. • Espera pelo reconhecimento do parceiro. • Analogia: correio. aplicação transport rede enlace física aplicação transporte rede enlace física aplicação transporte rede enlace física aplicação transport rede enlace física rede enlace física dados transporte transporte ack Divisão em Camadas: comunicação lógica dados dados aplicação transporte rede enlace física aplicação transporte rede enlace física aplicação transporte rede enlace física aplicação transporte rede enlace física rede enlace física dados dados Divisão em Camadas: comunicação física Camadas de Protocolos e Dados • Cada camada recebe dados de cima. • Acrescenta um cabeçalho de informação para criar uma nova unidade de dados. • Passa a nova unidade de dados para a camada abaixo. Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Enlace Física Fonte Destino M M M M Ht HtHn HtHnH l M M M M Ht HtHn HtHnHl Mensagem Segmento Datagrama Quadro Tema 2 OSI e TCP/IP Valter Castelhano de Oliveira OSI e TCP/IP Redes de “Comunicação” Organização e Pilha de Protocolos Apresentação Sessão Transporte Rede Enlace Físico Aplicação Transporte Rede Inter-rede Meio Físico OSI Open Systems Interconnection TCP/IP Transmission Control Protocol /Internet Protocol Aplicação Elementos de um Sistema de Comunicação Transdutor de entrada Sistema de comunicação Transdutor de saída Fonte Destino Transmissor Canal de transmissão (par de fios, FO, rádio) Receptor Fonte Sinal de entrada Sinal de saídaSinal transmitido Sinal recebido Sinal de entrada Sinal recebido Teorema de Nyquist A frequência de amostragem de um sinal analógico, para que possa posteriormente ser reconstituído com o mínimo de perda de informação, deve ser igual ou maior a duas vezes a maior frequência do espectro desse sinal. Elementos de um Sistema de Comunicação Ruído, interferência e distorção Transdutor de entrada Sistema de comunicação Transdutor de saída Fonte Destino Transmissor Canal de transmissão (par de fios, FO, rádio) ReceptorFonte Sinal de entrada Sinal de saídaSinal transmitido Sinal recebido Sinal de entrada Sinal recebido Capacidade de um Canal R S LogBC Hz 12 Lei de Shannon Conclusão Quanto maior a relação sinal ruído, maior é a capacidade do canal, sendo necessária uma menor banda para transmitir a mesma quantidade de informação. OSI e TCP/IP Rede de “Transporte” Organização e Pilha de Protocolos Apresentação Sessão Transporte Rede Enlace Físico Aplicação Transporte Rede Inter-rede Meio Físico Modelo OSI Modelo TCP/IP Aplicação Um Pouco de História... • Computação baseada em mainframes. • Terminais e dispositivos interligados ao mainframe. • Terminais espalhados em salas e andares. • Custo do hardware elevado. História da Internet 1961: Kleinrock – teoria das filas mostra a efetividade da comutação de pacotes. 1967: ARPAnet concebida pela Advanced Research Projects Agency. 1969: primeiro nó da ARPAnet operacional. 1972: ARPAnet é demonstrada publicamente. 1970: ALOHAnet rede via satélite no Havaí. 1973: tese de PhD de Metcalfe propõem a rede Ethernet. 1974: Cerf and Kahn – arquitetura para interconexão de redes. 1979: ARPAnet cresce para 200 nós. 1961-72: primeiros princípios da comutação de pacotes 1972-80: Inter-redes, redes novas e proprietárias História da Internet 1983: desenvolvimento do TCP/IP. 1982: smtp é definido. 1983: DNS definido para translação de nomes em endereços IP. 1985: ftp é definido. 1988: controle de congestionamento do TCP. 1980-90: novos protocolos, uma proliferação de redes anos 1990: comercialização, a WWW Início dos anos 1990: • ARPAnet descomissionada. • WWW: • hypertext [Bush 1945, Nelson 1960’s]. • HTML, http: Berners-Lee. • 1994: Mosaic, depois Netscape. Final dos anos 1990: comercialização da WWW. Tema 3 Redes de Comunicação Valter Castelhano de Oliveira Classificação das Redes Pode-se classificar as tecnologias em função de sua área de cobertura/aplicação: • WAN (wide area networks). • MAN (metropolitan area networks). • LAN (local area networks). LAN (Local Area Network) • Altas taxas de transmissão. • Baixas taxas de erros. • Propriedade privada. • Geograficamente limitadas. • Topologias mais utilizadas: estrela, anel e barra. LAN (Local Area Network) • Processamento distribuído. • Acesso à base de dados corporativa. • Suporte a ferramentas de trabalho cooperativo. • Correio eletrônico local. • Automação industrial: uso de CLPs, manipuladores, robôs etc. • Redes Back-end: universidades, centros de pesquisa – interligação de multiprocessadores etc. LAN (Local Area Network) MAN (Metropolitan Area Network) • Restrita a uma área metropolitana. • Meios de transmissão: cabos ópticos, coaxiais e wireless. • Taxas de transmissão: tipicamente médias. MAN (Metropolitan Area Network) • Finalidade: para distâncias intermediárias, tais como escritórios ou prédios em uma mesma cidade ou em um campus universitário. • Nesse caso, redes comutadas (WAN) não apresentam uma boa relação custo/benefício. • Oferecem uma possibilidade de crescimento estruturado. MAN (Metropolitan Area Network) • Interligação entre as LANs nos escritórios de uma empresa e a WAN nas centrais de roteamento. • Interligação de LANs com uma distância que cobre uma cidade, por exemplo. MAN (Metropolitan Area Network) WAN (Wide Area Network) • Conecta redes locais geograficamente distantes. • Meios de transmissão (satélite, linhas telefônicas, micro-ondas) custo elevado. • Altas taxas de transmissão. • Geralmente são redes públicas. WAN (Wide Area Network) • Infraestrutura da rede mundial: internet. • Comércio eletrônico e marketing (B2B, B2C). • Correio eletrônico (mundial). • Interligação de universidades e centros de pesquisa ao redor do mundo. • Interligação das filiais de uma empresa. • Novas aplicações baseadas em serviços integrados. WAN (Wide Area Network) LAN, MAN e WAN Tema 4 SistemasGeneralizados Valter Castelhano de Oliveira Sistemas Generalizados É um conceito novo de sistemas de informação que se apoia no uso da internet e na abertura da empresa para o cliente através do acesso externo. (*) Em muitas empresas o CPD desapareceu, noutras passou a desempenhar um papel de administrador da terceirização. Ondas de Tecnologia $ t 70 80 90 2000 Como você imagina uma rede de telecomunicações? Internet Usuários Roteador Firewall Web Server Internet Usuários Roteador Firewall Web Server MUDANÇA ! Como você imagina uma rede de telecomunicações? E isto? O que parece? Isto parece um simples telefone? Resumindo: qual é a grande mudança mesmo? Mobilidade e Taxa de Dados Divisão de Redes Hoje Redes Complementares Fonte: www.intel.com Sistemas como WiFi, WiMAX, UMTS, LTE, entre outros, tendem a seguir um padrão de interoperabilidade. Redes Interoperáveis! Laptops PDAs Mobile phones Wireless Networks TV WSN Desempenho? Rastreabilidade? Segurança? Handover? Redes de Dados x Estruturas Organizacionais Redes de dados não solucionam problemas de fluxo de informações dentro de empresas desorganizadas. O melhor caminho é organizar! Como gerenciar tudo isso? • Gerência de desempenho. • Gerência de acesso. • Gerência de falhas. • Gerência de segurança. • Gerência de configuração. Perspectivas • Convergência das telecomunicações/computador/multimídia, com utilização intensa das redes IP, fibras ópticas, satélites e serviços wireless. • O celular de 4ª geração poderá tornar-se a porta de acesso a um grande número de serviços de banda larga, como videoconferência e acesso a bancos de dados. • A internet de alta velocidade será um serviço de âmbito mundial, em qualquer país. • Como subproduto da internet, a telefonia de voz será praticamente de graça. O cliente pagará apenas pela transmissão de dados e de imagem. Perspectivas • O crescimento das telecomunicações poderá ultrapassar 17% ao ano, praticamente duplicando nos próximos cinco anos. • O crescimento do celular será ainda maior, acima dos 50% na América Latina. • As comunicações ópticas crescerão à impressionante taxa de 21% ao ano. • Os transponder (transmitter + responder) tornarão a informática mais transparente e mais difundida. • Os serviços baseados na informação e na comunicação assumem a liderança do desenvolvimento econômico. Perspectivas • Superchips: • Miniaturização – menores, mais rápidos e mais baratos. • Versatilidade – mais funções em uma única pastilha. • Inteligência – software cada vez mais importante. • Satélites e celulares por toda parte. • Fibras Ópticas – WDM (Wave-length Division Multiplex) e DWDM. • Microcomputadores cada vez menores e mais potentes. • TV Digital. Aula 2 – Wide Area Network Tema 1 – Introdução WAN Valter Castelhano de Oliveira Objetivos da Aula • Responder: o que é uma WAN? • Apresentar os principais protocolos e aplicações. • Segurança. • Formar opiniões sobre as tecnologias. Objetivos da Aula • Permitir tomar decisões sólidas de como implementar tecnologias WAN. • O que fazer para garantir a segurança dos dados. O que é segurança de redes? Segredo: apenas o transmissor e o receptor pretendido deveriam “entender” o conteúdo da mensagem: – transmissor criptografa a mensagem. – receptor descriptografa a mensagem. Autenticação: transmissor e receptor querem confirmar as identidades um do outro. Integridade de Mensagem: transmissor e receptor querem assegurar que as mensagens não foram alteradas (em trânsito ou depois) sem detecção. Ameaças à Segurança na Internet Captura de Pacotes: – Meio broadcast. – Placas de rede em modo promíscuo leem todos os pacotes que passam por elas. – Podem ler todos os dados não criptografados (ex. senhas). – ex.: C captura os pacotes de B. A B C org:B dest:A dados Ameaças à Segurança na Internet IP Spoofing: – Pode gerar pacotes “novos” diretamente da aplicação, colocando qualquer valor no campo de endereço IP de origem. – Receptor não sabe se a fonte foi falsificada. – Ex.: C finge ser B. A B C org:B dest:A dados Ameaças à Segurança na Internet Negação de Serviço (DOS – Denial of Service): – Inundação de pacotes maliciosamente gerados “afogam” o receptor. – DOS Distribuído (DDOS): fontes múltiplas e coordenadas inundam o receptor. – Ex. C e um computador remoto atacam A com mensagens SYN. A B C SYN SYNSYNSYN SYN SYN SYN WANs e Segurança • WAN = Wide Area Network. • Redes de Longo Alcance. • Abrangem grandes áreas geográficas. • Estados, países e continentes. WANs e Segurança • Não depende dos meios de transporte, mas sim da natureza dos dados. • Internet: a mesma em todo o mundo, transmitida por diversos meios (satélites, links micro-ondas, linhas de telefonia fixa, etc.). Definição de WAN • WAN é um conjunto de tecnologias cujo objetivo é interligar LANs. • A ligação entre WANs e LANs é feita através de um gateway. Principais Características • Existem várias “implementações”. • VPN. • Ponto a ponto. • DSL. Redes Ponto a Ponto • Interligam dois nós de forma direta. • Podem ou não possuir compressão. • Podem ou não possuir criptografia. • Podem ou não necessitar de autenticação. • São muito utilizadas por provedores de internet. Redes Ponto a Ponto Autenticação Redes que precisam de autenticação permitem acesso apenas de pessoas autorizadas. Normalmente essa autenticação é feita mediante usuário e senha. Encriptação/Criptografia Redes que possuem meios de criptografação dificultam a visualização de dados de forma não autorizada. Compressão Compressão é uma técnica algorítmica que permite transmitir menos dados e, dessa forma, permite um aumento da capacidade da rede. Tema 2 VPN e DSL Valter Castelhano de Oliveira VPN • Interconecta segmentos LAN. • Utiliza a internet para isso. • Trafega dados através de túneis. • Muito segura. VPN Utiliza alguns esquemas de segurança muito complexos, tais como: • IPSec. • MPPE (Microsoft). • TLS. VPN • SSTP (Microsoft). • MPVPN. • Utiliza certificados digitais (assinaturas). • Muito utilizado hoje em dia. VPN • Bancos. • Empresas que possuem filiais. • Home Office. • Permite interconexão de locais e de pessoas. • Muito barata de ser implementada. VPN DSL • Digital Subscriber Line. • Implementa transmissão de dados em redes de telefonia fixa. • Transmite voz e dados no mesmo meio de comunicação (fios de cobre). DSL • SDSL: redes DSL simétricas possuem velocidade de Downlink e Uplink iguais. • ADSL: redes DSL assimétricas possuem velocidades de Downlink e Uplink diferentes. • Geralmente ADSLs possuem Downlink maior que Uplink. Downlink vs. Uplink • Uplink: velocidade da conexão que parte do cliente final e vai em direção ao provedor de serviços, ou seja, velocidade que permite enviar algo para a internet. • Downlink: velocidade da conexão que parte do provedor em direção ao cliente final. DSL • Velocidades entre 256 Kbps e 40 Mbps. • Funciona separando o canal de comunicação em faixas de frequência. • Voz de forma analógica em faixa de 300 Hz a 3.4 KHz. DSL • Os dados digitais são enviados por modems. • Modems DSLs geralmente operam na faixa de 10 KHz a 100 KHz. • Rede barata de ser implementada caso já exista a rede de telefonia fixa. Segurança e Proteção de Dados • Criptografia simétrica. • Criptografia assimétrica. • Proxy. • Firewall. Tema 3 Criptografia Valter Castelhano de Oliveira Criptografia • Consiste em uma técnica utilizada para “esconder” informações. • Um texto criptografado não faz sentido enquanto estiver criptografado. • Um texto volta a ter sentido quando é descriptografado. Criptografia Boa criptografia: rápida quando se sabe a chave ou regra, lenta quando não se sabe. Exemplo: criptografia romana • Utilizada pelo exército romano. • Executada à mão. • Caso uma mensagem criptografada fosse interceptada,não revelava seu conteúdo. Algoritmo Exemplificado Criptografia Romana • Associar às letras A, B, C, … Z os números 01, 02, 03, …, 26. • Converte-se as letras para números. • Soma-se 3 a cada um dos números. Algoritmo Exemplificado Criptografia Romana • Criptografando “OI GENTE”: OI GENTE = 1509 0705142005 • Soma-se 3 a cada um dos números de dois dígitos: 1509 0705142005 -> 1812 1008172308 Algoritmo Exemplificado Criptografia Romana • Reconverte-se os números para letras: 1812 1008172308 = RL JHQWH • Envia-se a mensagem RL JHQWH • Caso essa mensagem seja interceptada, ela não fará sentido algum para quem não sabe desencriptá-la. Algoritmo Exemplificado Criptografia Romana • Do outro lado, a pessoa que receber a mensagem reconverte as letras para números: RL JHQWH = 1812 1008172308 • Subtrai-se 3 de cada um dos números de 2 dígitos: 1812 1008172308 -> 1509 0705142005 Algoritmo Exemplificado Criptografia Romana • Reconverte-se os números para letras: 1509 0705142005 = “OI GENTE” • Texto descriptografado agora faz sentido. • Para isso, a parte que recebeu o texto precisava saber que “regrinha” aplicar para recuperar o texto original. Criptografia Simétrica • A criptografia romana é um exemplo de Criptografia Simétrica. • Criptografia Simétrica também é chamada de criptografia de chave compartilhada, pois ambos os agentes comunicantes precisam saber a “regrinha”. • Essa “regrinha” chama-se “chave de criptografia”. Criptografia Simétrica Criptografias modernas podem ser quão complicadas for necessário para garantir a segurança dos dados. AES • AES = Advanced Encryption Standard. • Usa chaves de segurança de 128, 192 ou 256 bits. • Versão de 128 bits: pode guardar documentos “secretos”, de acordo com a NSA. AES • Versões de 192 e 256 bits podem guardar documentos ultrassecretos, de acordo com a NSA. • Utiliza pouca memória (cerca de 2 kB). • Utiliza poucos recursos de processamento (cerca de 18 ciclos por byte). Quebrando o AES É computacionalmente intratável quebrar o AES: • Necessita-se 2200 operações. • Um computador convencional médio, em 2012, realiza 1 bilhão de operações por segundo (109 operações/s). Quebrando o AES • Então, um computador convencional leva 2200/109 = 5 x 1043 anos para quebrar o AES. • Melhorando: suponha que os 7 bilhões de pessoas no planeta possuam um computador convencional. • Todos eles passam a precisar de 7 x 1033 anos. Quebrando o AES • Melhorando ainda mais: suponha que a NASA tenha um computador 10 vezes mais poderoso que os 7 bilhões de computadores mencionados. E agora, suponha que todos os países do mundo tenham um computador desses. • Combinando todos os computadores, seriam necessários ainda 5 x 1020 anos. Quebrando o AES O Universo tem 1,37 x 1010 anos Portanto, quebrar o AES é computacionalmente intratável. AES • Ponto fraco: como transmitir a chave compartilhada de forma segura? • Solução: criptografia assimétrica. Tema 4 Criptografia Assimétrica e Proteções Valter Castelhano de Oliveira Criptografia Assimétrica • Também chamada de criptografia de chave pública/privada. • Cada nó participando da comunicação possui uma chave pública e uma chave privada. • A chave pública fica exposta. Criptografia Assimétrica • A chave privada fica escondida. • Dados são criptografados com a chave pública. • Dados são descriptografados com a chave privada. Simulação “A” envia dados para “B” • “B” possui uma chave pública e uma chave privada. • “B” expõe sua chave pública. • “A” pega a chave pública de “B”. • “A” criptografa os dados com a chave pública de B. Simulação “A” envia dados para “B” • Depois dos dados criptografados com a chave pública de “B”, apenas a chave privada de “B” permite descriptografar. • “B”, que é o único que sabe sua própria chave, descriptografa os dados. RSA • Algoritmo de criptografia assimétrica. • Explora a dificuldade computacional em fatorar grandes números primos. • Explora facilidade de executar divisão e exponenciação em computadores digitais. RSA • Extremamente difícil de ser quebrada, assim como o AES, caso não se conheça a chave privada. • Muito rápida de ser executada, sabendo-se as chaves corretas. RSA E-mail Seguro • Gera chave simétrica aleatória, KS. • Criptografa mensagem com KS • Também criptografa KS com a chave pública de Bob. • Envia KS(m) e eB(KS) para Bob. Alice quer enviar uma mensagem de e-mail secreta, m, para Bob. Alice envia mensagem de e-mail m Bob recebe mensagem de e-mail m E-mail Seguro Alice quer prover autenticação do transmissor e integridade da mensagem. • Alice assina digitalmente a mensagem. • Envia a mensagem (em texto aberto) e a assinatura digital. Alice envia mensagem de e-mail m Bob recebe mensagem de e-mail m Alice quer prover privacidade, autenticação do transmissor e integridade da mensagem. Nota: Alice usa tanto sua chave privada quanto a chave pública de Bob. E-mail Seguro Proxy • Sistemas intermediários para transmissão de dados. • Troca dados com a internet “em nome” de outro computador. • São muito utilizados para camuflagem de dados. Proxy • Alguns provedores de internet usam proxies para melhorar a qualidade do acesso. • Algumas empresas utilizam proxies para restringir o acesso a alguns sites. • Pessoas podem usar proxies para acessar sites proibidos pelo governo. Proxy Principais tipos de proxy: “Forward Proxies” e “Reverse Proxies”. Forward Proxies • Servem como encaminhadores de dados. • Respondem para a internet em nome dos computadores de uma rede interna. • Ocultam a identidade dos verdadeiros computadores fazendo as requisições. Reverse Proxies • Principal aplicação no aumento da performance. • Utilizado por muitos provedores de internet. • Redireciona acessos de uma sub-rede para um servidor cache, ao invés da página real onde estão os dados. Reverse Proxies Principal desvantagem: redes que possuem reverse proxy estão sujeitas a terem em seus caches dados desatualizados. Firewalls • Podem ser de hardware, podem ser de software. • Principal função: decidir se um determinado dado entra e/ou sai de uma determinada rede. • Podem ser utilizados para proteger uma grande rede, bem como apenas um computador. Firewalls • Decisões baseadas em regras. • Decisões baseadas em protocolos. • Decisões baseadas em horário de tráfego. • Decisões baseadas na origem e/ou destino dos dados. Firewalls Devem ser instalados no canal de comunicação de uma rede com outra, onde uma delas é a rede considerada “segura”, que deve ser protegida, e a outra considerada “não segura”. Firewalls http://upload.wikimedia.org/wikipedia/commons/5/5b/Firewall.png http://upload.wikimedia.org/wikipedia/commons/5/5b/Firewall.png Aula 03 – Engenharia de Sistemas e Gerenciamento de Rede Tema 01 – Engenharia de Sistemas Valter Castelhano de Oliveira Objetivos da Aula • Engenharia de Sistemas • Introdução ao gerenciamento de redes. • Áreas do gerenciamento de redes • Padrões de gerenciamento de redes • Ferramentas de diagnóstico de rede. Caça na Idade Média • Problema: como armazenar a caça??? • Primeira solução: Caverna (encurralado e apodrece) • Segunda solução: Ar livre (chama predadores e fica dura/seca) • Falta tecnologia!!!!!! Caça na Idade Média • Tecnologia domínio do fogo • Terceira solução: Defumar a carne • Engenharia é a ciência do artificial O que é um sistema? • Conjunto de componentes interligados que trabalham em conjunto para atingir um objetivo comum. • Artefatos, processos e pessoas • Componentes de um sistema são dependentes dos outros componentes do sistema Sistemas e seu ambiente • Sistemas não são independentes, eles coexistem em um ambiente • A função de um sistema pode ser alterar seu ambiente • Ambientes afetam a funcionalidade do sistema, por exemplo: um sistema necessita da eletricidade de seu ambiente • O ambiente organizacional assim como o físico pode ser importante• Domínio de um sistema Engenharia de Sistemas • Grandes sistemas são modelados para solucionar problemas complicados • Engenharia de sistemas múltiplas disciplinas • Um problema Diversas soluções – Qual a melhor??? • Sistemas modelados para longevidade e constante mudança Processo de Engenharia de Sistemas Definição de Requisitos Design do Sistema Desenvolvimento Subsistema Integração do Sistema Instalação do Sistema Evolução do Sistema Desativação do Sistema Tema 2 Confiabilidade e Introdução ao Gerenciamento de Redes Valter Castelhano de Oliveira Confiabilidade da engenharia do sistema • As dependências entre os componentes do sistema falham, e podem ser propagadas através do sistema • Falhas no sistema frequentemente ocorrem por causa de inter-relacionamentos não previstos entre os componentes Confiabilidade da engenharia do sistema • Provavelmente é impossível antecipar todos os relacionamentos possíveis entre os componentes • Uma medida da confiabilidade do software pode dar uma falsa noção sobre a confiabilidade do sistema como um todo Relacionamentos de confiabilidade • Um hardware com problemas pode gerar sinais falhos que estão fora da margem de entrada esperada pelo software • Um erro no software pode acionar alarmes que podem causar o stress do operador e ocasionar erros • O ambiente que o sistema está instalado pode afetar a confiabilidade Influências na Confiabilidade do Sistema • Confiabilidade do sistema. Qual é a probabilidade de um componente de hardware falhar e quanto tempo leva para reparar esse componente? • Confiabilidade de software. Qual é a probabilidade de um componente de software venha a produzir uma saída incorreta? A falha de software é, usualmente, distinta da falha de hardware, pois o software não se desgasta. Ele pode prosseguir em operação mesmo depois que um resultado incorreto tenha sido produzido • Confiabilidade do operador. Qual é a probabilidade de que o operador de um sistema cometa um erro? Propriedades Indesejadas • Propriedades como performance e confiabilidade podem ser medidas • Entretanto, algumas propriedades que o sistema não deveria exibir: – Segurança – o sistema não deveria se comportar de maneira insegura – Proteção – o sistema não deve permitir o uso não autorizado • É muito difícil mensurar ou estimar estas propriedades Exemplo de Problema de Rede • Usuário reclama de lentidão ou falta de resposta do servidor web da corporação • Como tratar a situação? – Por onde começar? – Onde está e qual é o problema? • Qual a melhor solução? • Sem gerência de redes, difícil tratar a situação. Gerencia de rede e solução problema • A gerência pode auxiliar na solução: – Foram feitas alterações na rede no dia anterior? – Houve notificações de falhas nos dispositivos envolvidos? – Houve violação de segurança? – Sua expectativa de desempenho foi excedida? Introdução ao Gerenciamento de Redes • Aplicações em redes: • Gerenciamento de sistemas bancários, trabalho cooperativo, sistemas de energia, etc. • Gerenciamento da rede missão crítica: • Centenas ou milhares de componentes interagindo. • Grande número de fornecedores. Introdução ao Gerenciamento de Redes • Problemas: • Diversidade de formação e nível dos profissionais. • Diversidade das próprias ferramentas de monitoramento. • Solução: • Unidade central de gerência que interaja com os equipamentos de rede, coletando deles as informações, de forma sempre padronizada. O que é gerenciamento de redes? Fornecimento, integração, coordenação de hardware, software e elementos humanos para: • Monitorar. • Testar. • Configurar. • Consultar. • Analisar. • Avaliar. • Controlar a rede e recursos. Por que devemos gerenciar as redes? - Importância das redes de computadores e telecomunicações em relação aos negócios das instituições. - Porte e complexidade das redes. - Redes extremamente heterogêneas. - Recursos necessitam de controle efetivo para proporcionar retorno as instituições. Por que devemos gerenciar as redes? - Diversidade recursos computacionais e informações da organização - Diversidade de necessidades de suporte nas áreas de desempenho, disponibilidade e segurança. Monitoramente e controle da utilização dos recursos, garantindo satisfação das necessidades dos usuários com custo aceitável Tema 3 Gerenciamento de redes Valter Castelhano de Oliveira Características Gerenciamento de Redes • O sistema de gerenciamento da rede deve ser parte integral da mesma. • Deve ser possível haver múltiplos pontos de acesso ao gerenciamento da rede. • As informação a respeito de seu funcionamento ou falha devem ser passíveis de obtenção de maneira centralizada e apresentadas de forma clara. Características Gerenciamento de Redes • Deve haver um esquema de priorização das mensagens de controle da rede em relação a outros tipos de tráfego. • As funções de gerenciamento de rede devem operar independentemente do meio de transmissão. • O sistema deve suportar alterações na rede de forma flexível e simples. Controle e monitoramento da rede • Controlar a configuração dos equipamentos e software • Controlar acesso e segurança • Monitoração de redes • Informação Estática • Exemplo: localização e responsável por equipamento • Dinâmica • Exemplo: estado de um equipamento de rede • Estatística • Exemplo: taxa de transmissão de pacotes. NOC (Network Operations Center) • Conjunto de atividades realizadas para manter dinamicamente o nível de serviço em uma rede ou conjunto de redes. • Assegurar alta disponibilidade de recursos com a agilização do reconhecimento de problemas e tomada de ações de controle. • Centro de monitoramento habilitado para: • Coletar e armazenar informações; • Identificar, prevenir e solucionar rapidamente possíveis problemas e/ou falhas; • Registrar problemas. NMS - Network Management System • Conjunto de ferramentas para a monitoração e controle de uma rede • Permite visualizar toda a rede como uma arquitetura unificada • Endereços e rótulos atribuídos a cada ponto • Atributos específicos de cada elemento conhecido pelo sistema • Interface única e amigável com o operador • Necessidade mínima de equipamentos (hardware e software) especiais • Elementos da rede fornecem informações regulares de status ao NMS Infraestrutura para Gerenciamento de Redes Elementos gerenciados contêm objetos gerenciados cujos dados são reunidos numa base de informações agente data agente data agente data agente data Elemento gerenciado managing entity data protocolo de gerenciamento gerenciador Elemento gerenciado Elemento gerenciado Elemento gerenciado entidade de gerenciamento Áreas de Gerenciamento de Redes • Modelo OSI (Open Systems Interconnect) define 5 áreas de conhecimento: • Gerenciamento de falhas (Fault) • Gerenciamento de configuração (Configuration) • Gerenciamento de contabilização (Accounting) • Gerenciamento de desempenho (Performance) • Gerenciamento de segurança (Security) Gerenciamento de falhas • Provavelmente a área mais desenvolvida. • Auxilia no cumprimento do SLA. • Na ocorrência de falha, rapidamente: • Determinar precisamente onde a falha ocorreu; • Isolar o resto da rede da falha; • Reconfigurar a rede para mitigar impacto da falha; • Reparar o componente com problemas. • Exemplo: falha em um roteador Gerenciamento de configuração • Equipamentos multifuncionais. • Mantém consistente o estado da rede através de suas reinicializações. • Identificar dispositivos da rede e suas configurações HW e SW. • Coletar informações da topologia de rede. • Inventário. • Iniciar e encerrar elementos gerenciados. • Reconfiguração dos elementos gerenciados. • Relatórios de configuração. • Exemplo: Atualizações SW equipamentos. Gerenciamento de contabilização • Mesmo que não seja para fins contábeis: • Verificação de uso abusivo de privilégios. • Eficiência de uso. • Insumo ao planejamento de expansão.• Especificar, registrar e controlar o acesso de usuários e dispositivos aos recursos da rede. • Controlar abusos de privilégios (usuários e grupos), evitando monopolizações de recursos da rede • Auxiliar usuários na substituição de procedimentos para evitar uso ineficiente da rede. • Planejar a expansão da rede tendo com referência detalhes das atividades dos usuários . • Exemplo: Indicar horários de maior demanda dos serviços. Gerenciamento de desempenho • Ger. de desempenho ≠ falha. • Relacionado ao planejamento da capacidade. • Composto por Monitoramento e Controle. • Auxilia o cumprimento do SLA e redução de custos. • Questões associadas ao desempenho: • Nível de utilização dos recursos • Tráfego excessivo • Vazão (throughput) em níveis aceitáveis • Gargalos existentes • Tempo de resposta aceitável • Exemplo: Taxa de utilização de determinados dispositivos Gerenciamento de segurança • Monitoramento e controle dos mecanismos de segurança. • Garantir que a política de segurança seja seguida em conformidade • Controlar acesso à rede e às informações obtidas dos nós da rede; • Coletar, armazenar e examinar os registros de auditoria e logs de segurança, bem como ativação e desativação destas atividades. • Exemplo: Listagem de acessos/horários e objetos Tema 4 Protocolo SNMP e ferramentas Valter Castelhano de Oliveira Padrões de Gerenciamento de Redes OSI CMIP • Common Management Information Protocol. • Projetado nos anos 1980: o padrão de gerenciamento por excelência. • Padronização lenta demais. SNMP: Simple Network Management Protocol • Origem na internet. • Começou simples. • Desenvolvido e adotado rapidamente. • Crescimento: tamanho e complexidade. • Atualmente: SNMP V3. • Padrão de fato para gerenciamento de redes. Visão Geral do SNMP • A arquitetura de gerenciamento de rede padrão na internet é modular. • Ela usa uma linguagem de definição de dados independente do protocolo de gerenciamento. • Um protocolo independente da base de informações de gerenciamento. Visão Geral do SNMP • Base de informações de gerenciamento (MIB): – Base de dados distribuída com dados de gerenciamento de rede. • Estrutura de informações de gerenciamento (SMI): – Linguagem de definição para objetos da MIB. • Protocolo SNMP – Transporta informações e comandos sobre objetos entre o gerenciador e o elemento gerenciado. • Segurança – Característica nova do SNMPv3. SMI (Structure of Management Information) • Linguagem de Definição de Dados • Propósito: garantir que a sintaxe e semântica dos dados de gerenciamento sejam consistentes e não ambíguas. • Não especifica o dado em si, mas a linguagem pela qual ele deve ser especificado. MIB (Management Information Base) • Coleção de objetos que representam os recursos da rede. • Um gerenciador pode fazer com que uma ação ocorra em um agente ou pode modificar as ações em um agente, alterando o valor de objetos específicos de uma MIB. • Identificador de Objeto: • Cada recurso gerenciado possui um nome na MIB. • Espaço de nomes hierárquico. Protocolo SNMP • Dita as regras de interação entre entidade gerenciadora e agentes. • Forma de comunicação. • Tipos de msgs e seus formatos. • Autenticação do gerenciador. • É dito “simples”. Protocolo SNMP Duas formas de transportar informações da MIB: comandos e eventos. agent data Managed device managing entity resposta agent data Managed device managing entity trap msg pedido Modo comando/resposta Modo evento entidade gerenciadora entidade gerenciadora agente agente elemento gerenciado elemento gerenciado SNMPv3: Segurança • Maior fraqueza das versões anteriores • Integridade da mensagem, garantindo que não houve alteração de um pacote em trânsito. • Autenticação, validando a origem de uma mensagem. • Criptografia de pacotes, evitando espionagem por fonte não autorizada. • Controle de acesso baseado em visões: – A entidade SNMP mantém uma base de dados de direitos de acesso e regras para vários usuários. – A própria base de dados é acessível como um objeto gerenciado. Ferramentas de Diagnóstico de Rede • Ferramentas de teste de hardware: • Testadores elétricos: • Multímetros. • Testadores de cabo: • Medem conectividade e falhas. • Cabos elétricos e ópticos. • Testadores de rede local: • Operam em redes Ethernet ou Token Ring. Ferramentas de Diagnóstico de Rede • Ferramentas de análise de pacotes: • Capturam pacote em modo “promíscuo”. • Podem ser usados constantemente e gerar estatísticas de uso de aplicações e de interações entre dispositivos. • Lincon (zabbix, nagios, free, tivoli (IBM), system center (Microsoft) Exemplos de Ferramentas de Diagnóstico de Rede • Zabbix e Nagios (free) • Tivoli (IBM) • System Center (Microsoft) Zabbix - http://www.zabbix.com/ • Ferramenta de monitoramento de redes, servidores e serviços (C e PHP) • Permite monitorar a disponibilidade de equipamentos, a experiência de usuário e qualidade de serviços • Interface 100% WEB • Alertas com SMS, e-mail e integração helpdesk. • Descoberta automática de itens • Zabbix Server: monitoramento e alertas, BD Oracle, MySQL e PostgreSQL, mas instalado em Linux ou UNIX. • Zabbix Proxy: essencial para arquitetura distribuída • Zabbix Agent: disponível para vários SO (Linux, Solaris, HP- UX, AIX, FreeBSD, OpenBSD, OS X, Tru64/OSF1, Windows NT, Windows Server, Windows XP e Windows Vista). Aula 04 – Aspectos Gerais de Sistemas Distribuídos e CMMI Tema 01 – Sociedade Conectada Valter Castelhano de Oliveira Sumário da Aula • Sociedade conectada • Engenharia de Requisitos • CMMi • Sistemas Distribuído 1 bilhão de lugares conectados LUGARES PESSOAS COISAS 50 bilhões de coisas conectadas 5 bilhões de pessoas conectadas Ritmo da Mudança Em 2018!!! 850 M PCs and tablets 9.3 BN Mobile subscriptions 3.3 BN Smartphone subscriptions 6.5 BN Mobile broadband subscriptions Um mundo conectado é apenas o começo • Quando uma pessoa se conecta, seu mundo se altera. • Com todo o mundo conectado, nosso mundo se altera. Transformação da Indústria Digitalização resulta em crescimento de toda a indústria de mídia EM 2007 PARA 2016 Produtos de Media USD 381 bn USD 352 bn Serviços de Media online USD 21.7 bn USD 104 bn TOTAL USD 402 bn USD 456 bn Uma nova mentalidade • Novo papel das telecomunicações • Processamento e armazenamento – Cloud • 2020: mobile a 1 giga • 2020: redução consumo petróleo • Internet das coisas e sensores • Globalização de oportunidades • Novos negócios e empreendedorismo • Capacitação das pessoas Desenvolvimento de sistemas, aplicativos, etc Crise: Chaos Report! Chaos report - http://www.standishgroup.com/ Sucesso projetos Bem sucedido Fracassado Problemático Pequenos Grandes Custo desenvolvimento Projetos pequenos: menos de $1 milhão Projetos grandes: mais de $10 milliões Chaos report - http://www.standishgroup.com/ Custo reparo sistema 1 6 10 40 70 500 0 100 200 300 400 500 600 Custo Relativo de correção de problemas Requisitos Design Construção Teste Des Teste Aceitaçào Produção E ta p a c ic lo d e v id a Carr, J. "Requirements engineering and management: the key to designing quality complex systems", TQM Magazine, V12 N6, 2000 Processo de Engenharia de Sistemas Definição de Requisitos Design do Sistema Desenvolvimento Subsistema Integração do Sistema Instalação do Sistema Evolução do Sistema Desativação do Sistema Tema 2 Engenharia de Requisitos Valter Castelhano de Oliveira Engenharia de Requisitos • Processo de estabelecer os serviços que o consumidor requer do sistema e as restrições pela quais ele é operado e desenvolvido • Identificação de objetivos e oportunidades para o novo sistema (system to-be) • Definição de funcionalidades, restrições e responsabilidades do novo sistema • Registro de tudo em documento Requisitos • Níveis de abstração dos requisitos pode variar desde o nível mais abstrato de serviço oudesejo, passando por uma restrição do sistema até um detalhamento funcional de uma especificação formal • Podemos ter requisitos com dupla função: – Base para a oferta de um contrato - deve ser aberto a interpretação – Base para o próprio contrato - deve ser definido em detalhe Abstração de Requisitos • Para estabelecer contrato para o desenvolvimento de um grande projeto, requisito abstrato para não predefinir uma solução. • Requisitos redigidos de modo que os diversos fornecedores possam apresentar propostas, oferecendo, diferentes maneiras de atender às necessidades do cliente. • Contratado, o fornecedor elabora uma definição detalhada do sistema para o cliente, de modo que o cliente compreenda e valide o sistema. • Estas variedades podem ser chamadas de documentos de requisitos do sistema Tipos de Requisitos • Requisitos do usuário – Linguagem natural e diagramas contendo funções e restrições do futuro sistema. Redigido para consumidores • Requisitos do sistema – Documento estruturado e detalhado. Escrito como um contrato entre o cliente e o contratado • Especificação de Sistema – Descrição detalhada do sistema, base para o projeto ou implementação. Escrito para os desenvolvedores Categorias de Requisitos • Requisitos Funcionais – Declarações de funções que o sistema deve fornecer, como o sistema deve reagir a entradas específicas e como deve se comportar em determinadas situações. Ex. O sistema fornecerá telas apropriadas para o usuário ler documentos no repositório de documentos • Requisitos não funcionais – São restrições sobre os serviços ou as funções oferecidos pelo sistema. Ex: restrições de tempos, processo de desenvolvimento, padrões, leis e normas, etc. • Requisitos de domínio – São requisitos que se originam do domínio de aplicação do sistema e que refletem características desse domínio. Podem ser requisitos funcionais ou não funcionais Requisitos imprecisos • Requisitos declarados de forma imprecisa pode causar problemas • Ambiguidade no registro dos requisitos causa diferentes interpretações de desenvolvedores e usuários • Considere o termo “visualizadores apropriados” – Intenção do usuário - um visualizador de propósito específico para cada tipo de documento – Interpretação do desenvolvedor - Prover um visualizador em texto que apresenta o conteúdo do documento Completude e consistência de requisitos • Requisitos devem ser completos e consistentes – Completo: incluir descrições sobre todas as facilidades requeridas – Consistente: inexistência de conflitos e contradições nas descrições das facilidades do sistema • Na prática é impossível produzir um documento de requisitos completo e consistente Requisitos não funcionais • Definir as propriedades e restrições do sistema. – Requisitos de produto: velocidade de execução, confiabilidade, etc – Requisitos organizacionais: padrões de processo utilizado, requisitos de implementação, etc – Requisitos externos: requisitos de interoperabilidade, requisitos de legislação, etc • Requisitos não funcionais podem ser mais críticos que funcionais. – Se não for satisfeito, o sistema vai ser inútil Objetivos e requisitos • Requisitos não funcionais dificuldade para determinar precisamente • Requisitos imprecisos podem ser difíceis de verificar • Objetivo – Uma intenção geral como por exemplo fácil de utilizar • Requisito não funcional verificável – Uma sentença utilizando alguma medida que pode ser objetivamente testada • Objetivos são de grande valor para os desenvolvedores assim que eles transmitem as intenções dos usuários do sistema Exemplo de objetivo e requisito • Uma meta do sistema – O sistema deve ser fácil de utilizar por controladores experientes e deve ser organizado de modo que os erros dos usuários sejam minimizados • Um requisito não funcional verificável – Controladores experientes devem ser capazes de utilizar todas as funções do sistema depois de um total de duas horas de treinamento. Depois desse treinamento, o número médio de erros feitos por usuários experientes não deve exceder dois por dia Métricas para requisitos não funcionais • Velocidade: transações por minuto, tempo de resposta ao usuário, tempo de refresh de tela • Tamanho: K bytes • Facilidade de uso: tempo de treinamento, número de telas de ajuda • Confiabilidade: tempo média para falhar, probabilidade de indisponibilidade, taxa de ocorrência de falhas, disponibilidade • Robustez: tempo de reinício após falha, porcentagem de eventos que causam falha, probabilidade de dados serem corrompidos • Portabilidade: número de sistemas alvo, porcentagem de declarações dependentes de sistema alvo Requisitos de domínio • Derivados do domínio da aplicação e descrevem características do sistema e aspectos que refletem o domínio • Domínios disjuntos (especialista e desenvolvedores). • Se os requisitos de domínio não são satisfeitos, o sistema talvez seja não aplicável • Ex. : Regras físicas, padrões organizacionais, normas, etc. Requisitos do usuário • Requisitos funcionais e não-funcionais devem ser descritos para que sejam compreensíveis pelos usuários que não tem conhecimento técnico • Requisitos do usuário são definidos utilizando linguagem natural, tabelas e diagrama Problemas com linguagem natural • Falta de clareza • É difícil ter precisão sem fazer o documento difícil de ler • Confusão de requisitos • Requisitos funcionais e não funcionais podem estar misturados • Fusão de requisitos • Requisitos diferentes podem ser expressos juntos Como escrever requisitos • Utilizar formato padrão • Utilizar linguagem de maneira consistente. – “será” para os requisitos necessários – “deverá” para os requisitos desejáveis • Utilizar destaques no texto para identificar partes chaves do requisito • Evitar o uso de “jargões” Requisitos de sistema • Especificações mais detalhadas dos requisitos dos usuários • Serve como base para modelar o sistema • Deve ser utilizado como parte do contrato do sistema • Devem ser expressos utilizando modelos (model driven) Requisitos e desenho (design) • Em princípio os requisitos deveriam descrever o que o sistema deveria fazer e o projeto deveria descrever como fazer isso • Na prática, requisitos e desenho são inseparáveis – A arquitetura do sistema pode ser projetada para ajudar a especificação de requisitos – O sistema dever interoperar com outros sistemas. Esta interoperação geram outros requisitos de design – O uso de um projeto específico pode ser um requisito do domínio do sistema Problemas com a especificação de sistema em linguagem natural • Ambiguidade – Leitores e escritores do requisitos devem interpretar as palavras da mesma maneira. Linguagem natural é por natureza ambígua • Muito flexível – A mesma coisa pode ser dita de várias maneiras diferentes na especificação • Perda de modularização – Estruturas em linguagem natural são inadequadas para es Especificação em linguagem natural • Uma forma limitada da linguagem natural deve ser utilizadas para expressar requisitos • Isto remove alguns problemas resultantes da ambigüidade e flexibilidade e impõe um grau de uniformidade na especificação • Normalmente suportadas pelo uso de formulários padrão Especificações baseadas em formulários-padrão • Definição da função ou entidade • Descrição das entradas e de onde elas vem • Descrição das saídas e para onde elas vão • Indicação de outras entidades requeridas • Pré e pós condições (se apropriadas) • Os efeitos colaterais (se existirem) Documentos de requisitos • Os documentos de requisitos são declarações oficiais sobre o que é requerido dos desenvolvedores do sistema • Deveria incluir ambos uma definição e uma especificação de requisitos • Ele NÃO é um documento de projeto. O tanto quando possível, ele deveria dizer O QUE o sistema deveria fazer e não COMO deveria fazer Documentos de requisitos especificam Requisitos • Especificam o comportamento externo do sistema • Especificam as restriçõesde implementação • Fáceis de serem alterados • Servem como ferramenta de referência para a manutenção do sistema • Gravam registros previstos a respeito do ciclo de vida do sistema (por exemplo: prever as mudanças) • Especificam a resposta para eventos não esperados • Devemos antecipar a formalização dos requisitos. Tema 3 CMMi Valter Castelhano de Oliveira CMMI – Motivação Principais problemas das organizações durante a gerência dos seus projetos: Falta de definição das responsabilidades. Retrabalho por falta de qualidade. Problemas com fornecedores. Falta de conhecimento técnico. Falta de competências para gerenciar os projetos. CMMI – Motivação Falta de uma ferramenta de apoio. Falta de uma metodologia de apoio. Mudanças constantes no escopo. Recursos humanos insuficientes. Mudanças de prioridade. Estimativas incorretas. CMMI – Motivação Riscos não avaliados corretamente. Falta de apoio da alta administração. Problemas de comunicação. Não cumprimento do orçamento. Não cumprimento dos prazos. Influenciadores Pessoas Tecnologia Processos CMMI O que é o CMMI®? Capability Maturity Model Integration 1. Qualidade ou estado de ser capaz. 2. Característica ou faculdade de desenvolver potencialidade. 3. Facilidade ou potencial para indicar o uso ou o desenvolvimento. CMMI O que é o CMMI®? Capability Maturity Model Integration 1. Qualidade ou estado de estar maduro. 2. Estado de adaptação ou ajustamento ao seu próprio meio. 3. Estado ou condição de pleno desenvolvimento. CMMI O que é o CMMI®? Capability Maturity Model Integration 1. Representação de algo, geralmente em miniatura. CMMI Definição CMMI (Capability Maturity Model Integration – Modelo Integrado de Maturidade e de Capacidade) é um modelo de maturidade para melhoria de processo, destinado ao desenvolvimento de produtos e serviços, composto pelas melhores práticas associadas a atividades de desenvolvimento e manutenção que cobrem o ciclo de vida do produto, desde a concepção até a entrega e manutenção (SEI – Software Engineering Institute, 2006). Modelos CMMI Definição São coleções de melhores práticas e de metas para melhoria de processos que as organizações utilizam para avaliar e melhorar seus processos. As metas e práticas são organizadas em grupos chamados de "áreas de processo." Modelo CMMI CMMI para Aquisição (CMMI-ACQ) Orientações para as organizações que gerenciam a cadeia de abastecimento sobre aquisição e integração de produtos e serviços de forma a atender às necessidades do cliente. Foi projetado para as empresas que trabalham com os fornecedores para montar um produto ou fornecer um serviço. Modelo CMMI CMMI para Desenvolvimento (CMMI-DEV) Fornece orientações para melhorar a eficácia, eficiência e qualidade de produtos e desenvolvimento de serviços. Foi projetado para empresas que se concentram no desenvolvimento de produtos e serviços. Modelo CMMI CMMI para Serviços (CMMI-SVC) Fornece orientação às organizações que estabelecem, gerenciam e prestam serviços que atendam as necessidades dos clientes e usuários finais. Foi projetado para empresas que focam a criação, gestão e prestação de serviços. Estrutura do Modelo CMMI São 22 áreas de processo distribuídas em: Quatro categorias. Cinco níveis de maturidade. As metas e práticas são organizadas em grupos chamados áreas de processo. CMMI – Visão Geral Tema 4 Sistemas Distribuídos Valter Castelhano de Oliveira Sistemas Distribuídos Definição Sistema distribuído é um sistema no qual os componentes de hardware e software, localizados em computadores de uma rede, comunicam e coordenam suas ações somente pela troca de mensagens (Coulouris). • Consequências desta definição: – Concorrência de componentes. – Ausência de relógio global. – Falhas independentes. Sistemas Distribuídos Definição • Coleção de computadores independentes que se apresentam ao usuário como um único sistema coerente (Tanenbaum). • Essa definição implica em: – Máquinas autônomas (camada de software unifica e torna a visão homogênea). – Usuários pensam que estão lidando com um único sistema. Vantagens dos Sistemas Distribuídos • Economia – Aproveitar recursos ociosos; é mais barato ter vários processadores interconectados do que um supercomputador. • Distribuição inerente – Algumas aplicações são distribuídas por natureza. • Tolerância a falhas – Em caso de falha de uma máquina, o sistema pode sobreviver, mesmo com desempenho degradado. Vantagens dos Sistemas Distribuídos • Crescimento incremental – O poder computacional pode ser aumentado através da inclusão de novos equipamentos. • Flexibilidade – Maior flexibilidade na alocação dos recursos, permitindo que usuários compartilhem dados, processamento e dispositivos. Desvantagens dos Sistemas Distribuídos • Aplicações mais complexas – Pouco software de alto nível disponível para sistemas distribuídos. • Segurança – Necessidade de construir mecanismos para controle de acesso às informações. • Dependência da rede – Falhas. – Capacidade de tráfego insuficiente. Conceitos de Hardware • Sistemas distribuídos consistem de várias CPUs – Diferentes maneiras de se organizar o hardware (interconexão e comunicação). • Classificação – Multiprocessador (memória compartilhada). – Multicomputador. Clusters Computacionais Definição Sistema distribuído de computadores independentes e interligados cujo objetivo é suprir a necessidade de um grande poder computacional. Clusters Computacionais Vantagens: • Alto desempenho. • Escalabilidade. • Tolerância a falhas. • Balanceamento de carga. • Independência de fornecedores. • Baixo custo. Clusters Computacionais – Tipos • Alta Disponibilidade e tolerância a falhas – disponibiliza serviços e recursos de forma contínua. Usado em base de dados de missões críticas: correio, servidores de arquivos e aplicações. • Balanceamento de carga – distribui o tráfego de entrada ou requisições de recursos aos nós que executam os mesmos programas entre as máquinas que compõem o cluster. Usado, em geral, em servidores de web. Clusters Computacionais – Tipos • Combinação entre alta disponibilidade e balanceamento de carga – sistemas ativos por um longo período de tempo e em plena condição de uso. Usado em servidores de web que necessitam de alta disponibilidade, e-mail, notícias ou ftp. • Processamento distribuído ou processamento paralelo – aumenta o desempenho das aplicações, dividindo-as em pequenas tarefas distribuídas entre as estações. Usado para computação científica ou análises financeiras, tarefas típicas para exigência de alto poder de processamento. Clusters Computacionais – Beowulf • Não exige uma arquitetura específica, tão pouco máquinas homogêneas. • Conexão entre os nós, que pode ser feita por meio de ethernet. • Deve haver um ou mais nós mestres (front-end) para realizar o controle dos nós escravos (back- end). • O sistema operacional, baseado em Linux, contendo todas as ferramentas necessárias para a configuração do cluster. Clusters Computacionais – Beowulf Clusters Computacionais – Beowulf É necessário que haja um nó mestre (servidor) que realiza toda a distribuição das tarefas e o monitoramento do desempenho do cluster. Clusters Computacionais – OpenMosix • Distribui processos – ao detectar o alto volume de processamento, migram as instâncias entre as máquinas do cluster, sendo processadas simultaneamente, sem a necessidade de adaptação do código. • Diferença: ao invés de quebrar os processos como em clusters Beowulf, o Mosix realiza migração. 1.pdf (p.1-53) 2.pdf (p.54-121) 3.pdf (p.122-169) 4.pdf (p.170-234)