Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS DE INFORMAÇÕES GERENCIAIS www.esab.edu.br 3 Sumário 1. Apresentação I.......................................................................07 2. A Informação E Seus Aspectos Principais.............................08 3. Sistemas De Inteligência Artificial...........................................18 4. Agentes Inteligentes...............................................................29 5. Protocolo Tcp/Ip......................................................................34 6. Relacionamentos Administrativos..........................................52 7. Resumo I................................................................................64 8. Apresentação II......................................................................66 9. Servidor Proxy........................................................................67 10. Estruturas De Dados..............................................................73 11. Bancos De Dados.................................................................83 12. Relacionamentos...................................................................95 13. Modelo Relacional...............................................................107 14. Resumo II............................................................................118 15. Apresentação III..................................................................120 16. Operações Matemáticas E Cartesianas .............................121 17. Segurança Da Informação..................................................132 18. Engenharia Social................................................................142 19. Medidas De Segurança .....................................................152 20. Segurança Contínua...........................................................162 21. Resumo III............................................................................173 22. Glossário.............................................................................175 23. Bibliografia...........................................................................181 www.esab.edu.br 4 Palavras do Tutor Engenheiro de Computação formado na Universidade Federal do Espírito Santo (2010), e Mestre em Informática (2013) também pela instituição, com ênfase em Informática na Educação. É também especialista em Mediação em EaD (UFES, 2011), Informática na Educação (IFES, 2013) e Segurança da Informação (FACEL, 2016). Cursa, atualmente, o Doutorado em Ciência da Computação (UFES). Professor universitário, palestrante, acadêmico e servidor público federal. Tem experiência na área educacional atuando em cursos presenciais e a distância. Possui interesse nas seguintes áreas de pesquisa: Informática na Educação, Inteligência Artificial, Game Position Learning (GPL), Internet da Coisas e Machine Learning. APRESENTAÇÃO DO MÓDULO O módulo de Estrutura e Fluxo da Informação traz para você, estudante, o conceito de informação e como a mesma é representada em sistemas computacionais. Aqui aprenderemos como diferenciar dado, informação e conhecimento e também como os programas e demais tecnologias representam tais entidades, tão importantes para a sociedade contemporânea. Para conhecer mais sobre o seu tutor, acesso o currículo Lattes pelo link: http://lattes.cnpq.br/7943634765894557 DICA http://lattes.cnpq.br/7943634765894557 www.esab.edu.br 5 Aprenderemos também sobre o transporte de informações em redes de computadores, o que tornou possível a formação de redes de conhecimento. Entenderemos como estas informações são acessadas e armazenadas por sistemas para que possam ser utilizadas por outros sistemas e ambientes, possibilitando uma integração de infinidade de se serviços disponíveis hoje em dia. Por fim, estudaremos sobre a segurança da informação, seja em seu armazenamento ou transmissão, entendendo técnicas que tornam capazes a proteção dos indivíduos no mundo digital. Desejamos a todos bons estudos! EMENTA Compõem a ementa do curso os seguintes itens: • Aspectos conceituais e práticos sobre informações aplicadas e Dados como recurso de informações da empresa; • Sistemas de Informação, recursos usados e classificação; • Engenharia da Informação - modelos de desenvolvimento de sistemas de informação; planejamento estratégico de informações; modelagem de dados; construção, implementação e manutenção de sistemas; • Aspectos de segurança necessários aos sistemas de informação; • Estrutura de acesso aos dados e as vantagens e desvantagens do banco de dados, das operações críticas da manipulação de dados e definição de modelos de dados relacionais; • Estruturas (conceituais e práticas) de Rede Neural e estabelecimentos de relações que possam processar informações com eficiência comparada ao Cérebro. www.esab.edu.br 6 OBJETIVO GERAL DO MÓDULO O módulo tem como objetivo geral a compreensão da estrutura e fluxo da informação que capacita o estudante para diversas atividades no campo da Tecnologia da Informação, tais como desenvolvimento, modelagem e prototipação, que se relacionam com a manipulação da informação e o seu tráfego, de forma segura, em redes de computadores. www.esab.edu.br 7 ESTRUTURA DA INFORMAÇÃO O eixo temático I apresenta as características principais da informação e as demais entidades que a representam. Aprenderemos aqui sobre a Engenharia da Informação e sua importância na sociedade atual. Introduziremos formas de representar a informação e discutiremos sobre técnicas avançadas para a utilização da informação, baseadas em Inteligência Artificial. OBJETIVOS Como objetivo geral do módulo, destacamos: • Definir os principais aspectos da informação e sua taxonomia; • Descrever a correlação da informação e sistemas computacionais; • Explicar a estrutura de uma informação; • Aplicar o conceito de informação formalmente no desenvolvimento de sistemas de informação; • Classificar os diferentes tipos de informação; • Analisar a aplicação de técnicas de Inteligência Artificial para a resolução de problemas computacionais; • Planejar o uso da informação; • Validar arquiteturas baseadas no uso da informação. www.esab.edu.br 8 Estamos em plena era da sociedade da informação. Usamos, absorvemos, assimilamos, manipulamos, transformamos, produzimos e transmitimos informação durante todo tempo, sendo por isso alterada constantemente. Apesar de não termos uma definição precisa do que é informação, a sabemos intuitivamente, mesmo sem conseguir descrevê-la. No contexto transmite algum significado às pessoas e empresas. No mundo dos negócios, as empresas de modo geral visam o lucro, o retorno dos capitais investidos. No âmbito competitivo as informações têm papel fundamental no sucesso empresarial. A informática é uma importante contribuição no gerenciamento da enorme quantidade de informações diárias, sendo necessários critérios para selecionar e organizar as que realmente nos interessam. Um sistema de informações adequado e eficiente permite que uma maior quantidade de benefícios seja produzida, ou alta quantidade de serviços e clientes sejam atendidos, permitindo a previsão de situações e o planejamento para www.esab.edu.br 9 manuseá-las, fornecendo bases de dados consistentes, seguras e de qualidade, atendendo a melhor alocação dos recursos. FLUXO DE INFORMAÇÃO Pode ser definido como um tráfego unidirecional com um conjunto de identificação único de variáveis. Qualquer fluxo não contendo um pacote no período de 64 segundos é considerado ser um fluxo que expirou. Um fluxo no qual um pacote foi examinado no último segundo é considerado um fluxo conhecido. Podem ser: Fluxos unidirecionais: quando seus dados trafegam de A para B, tendo A e B como pontos finais, podendo ser uma subdivisão do fluxo bidirecional. Fluxos bidirecionais: quando seus dados trafegam de A para B e B para A, nos fornecendo uma percepção do comportamento individual dos protocolos, incluindoproblemas que podem se manifestar nos backbones, mas que são mais difíceis de identificar nos pontos finais da rede. DADOS COMO RECURSO DE INFORMAÇÃO DE EMPRESAS Uma empresa informatizada informa e deposita seus dados setoriais e globais, que podem ser manipulados pelo seu sistema de informações corporativo e/ou restrito. Dados Modelados: deverão pertencer ao acervo da empresa, mantidos os requisitos de segurança e privacidade definidos na sua área de origem. Os dados deverão ser estudados no seu formato, na sua origem, meio, natureza e formação, e no seu relacionamento com outros dados. Dados Resguardados: deverão apresentar os requisitos básicos de integridade (garantia de sua veracidade lógica), segurança (define o seu estado físico e os seus aspectos de privacidade), e documentação. Todos são fundamentais nos processos decisórios de alta competitividade. Dados Disponibilizados: deverão possuir a liquidez de uma boa aplicação financeira, sem os seus riscos inerentes, ou seja, deverá existir um conjunto de ferramentas que permitam o acesso, a www.esab.edu.br 10 atualização, a consolidação, tabulação e a simulação de informações para os momentos inesperados de tomada de decisões. O PODER DA INFORMAÇÃO “O poder da informação dentro de uma empresa é proporcional a sua capacidade de ser compartilhada” (Robert Buckman, pai da gestão de conhecimento nas empresas). “É se tratando bem dos dados que se obtêm as melhores informações”. Essas definições nem sempre são observados em empresas que trocam a qualidade pelo imediatismo. A crescente evolução na busca do conhecimento levou cientistas a estudar formas de raciocínio, memorização e pensamento (formulação de hipóteses) para máquinas, algoritmos e sistemas, a fim de permitir, de forma integrada, o processamento de quantidades maiores de informação, liberando o homem de uma série de tarefas repetitivas como memorização, cálculos, e, mais recentemente, formulação de hipóteses. SISTEMAS É um conjunto de componentes que interagem para atingir um objetivo comum. Um sistema pode ser decomposto em sistemas menores denominados subsistemas. Deve-se considerar: • Os objetivos totais do sistema; • Ambiente do sistema; • Os recursos do sistema; • Os componentes do sistema e suas finalidades; • A administração do sistema. www.esab.edu.br 11 COMPONENTES DE UM SISTEMA Sistemas de Informações: descreve um sistema automatizado (denominado Sistema de Informação Computadorizado, incluindo o seu processamento), ou mesmo manual (abrange pessoas, máquinas, e/ou métodos organizados para coletar, processar, transmitir e disseminar dados que representam informação para o usuário). Sistemas de Informações Gerenciais (SIG): ferramenta essencial para implementar a modernização da gestão da empresa ou instituição, que integra e consolida os dados operacionais e históricos de todos os demais sistemas corporativos, alimentando o processo de tomada de decisões com informações gerenciais e estratégicas. SIG “É um sistema baseado em computador que faz avaliações das informações para usuários com necessidades similares” (MCLEOD, 1993, p. 427). As informações são utilizadas por administradores ou não para tomada de decisões e para resolver problemas. “É um agrupamento organizado de pessoas, procedimentos, banco de dados e dispositivos usados para oferecer informações de rotina aos administradores e tomadores de decisões” (STAIR, 1998, p. 38). www.esab.edu.br 12 Os níveis de decisão obedecem à hierarquia existente na empresa: • Nível estratégico; • Nível tático; • Nível operacional. A decisão que é tomada em cada nível requer um diferente grau de agregação da informação. Sistemas de Informações de Banco de Dados: organizar as informações em Banco de Dados que se compõe essencialmente de arquivos de dados (data base), conjunto de programas e linguagem de exploração. Estrutura de um Sistema ENGENHARIA DA INFORMAÇÃO (EI) É um conjunto de técnicas e lógicas formais que englobam as técnicas de engenharia de software de forma diferente. É a aplicação de um conjunto interligado de técnicas formais de planejamento, análise, projeto e construção de Sistemas de Informações (SI) sobre uma organização como um todo ou em um dos seus principais setores, com o uso de ferramentas www.esab.edu.br 13 automatizadas que permitem planejar, analisar, projetar, construir e conjugar sistemas de processamento de dados, de forma integrada: • Dados: fornece a base de sustentação das informações necessárias para a sobrevivência da empresa e para suas decisões gerenciais. • Atividades: nos aspectos funcionais, sustenta os Processos Gerenciais e as atividades que devem ser exercidas para que a empresa cumpra sua Missão e atinja seus objetivos, metas e desafios. • Tecnologias: referencia os recursos tecnológicos e as ferramentas de que a empresa dispõe para tornar permanente a sua existência e para dar sustentação à sua base de dados e à execução de suas atividades. • Pessoas: relacionada com os recursos humanos disponíveis para o desenvolvimento dos projetos da empresa. As fases da EI responsáveis pela execução e incorporação de tarefas específicas são coesas, integradas, interativas e sequenciais: Crie um tópico no fórum de Engenharia de Informação e traga suas percepções iniciais sobre o tema. Como você enxerga a informação nos dias de hoje e sua influência em nossa sociedade? FÓRUM www.esab.edu.br 14 Planejamento Estratégico de Informações: identifica as informações necessárias para suportar seus propósitos, funções e fatores, estabelece o modelo corporativo de dados e o modelo funcional da empresa, fornecendo parâmetros para fixação de prioridades ao desenvolvimento de sistemas. Análise das Áreas de Negócios: detalha as áreas mais carentes de apoio dos sistemas automatizados. Com a aplicação da Prototipação como recurso permitirá uma participação mais intensa do usuário e a migração mais sólida da análise para o projeto. Projeto: analisada a área de negócios priorizada e identificados os processos gerenciais e as atividades críticas, iniciamos a fase de Projeto em que se estabelece o submodelo de dados de cada atividade envolvida. Construção: esgotadas todas as filtragens e refinamentos necessários na fase de projeto passamos a executar a construção do sistema enfocado, com a utilização das ferramentas disponíveis. Manutenção: se as quatro fases anteriores tenham sido executadas criteriosamente, a manutenção restringir-se-á a ocorrências eventuais, visto que a estabilidade do modelo de dados e dos processos vinculados foram bem tratados, e somente mudanças políticas, econômicas e legislativas do ambiente externo poderão teoricamente resultar em alterações. TERMINOLOGIA A importância da Padronização: é uma forma básica e essencial para se manter o diálogo e o entendimento uniforme entre todos www.esab.edu.br 15 os participantes do projeto, desde os técnicos de processamento de dados até os dirigentes e usuários envolvidos. Documentação das fases da Engenharia da Informação: é necessário manter permanente a documentação atualizada, condição fundamental para pleno conhecimento, análise e manutenção do sistema. Ferramentas CASE (Computer-Aided Software Engineering): voltadas a dar apoio e possibilitar o desenvolvimento gráfico, a interação e a documentação totais ou parciais das cinco fases anteriores. • Ferramentas de Análise Estática; • Ferramentas de Análise Dinâmica; • Ferramentas de Gerenciamento de Testes; • Ferramentas de Testes Cliente/Servidor; • Ferramentas de Reengenharia; • Ferramentas de Engenharia da Informação; • Ferramentas de Gerenciamento e Modelagem de Processo; • Ferramentas de Planejamento de Projeto; • Ferramentas de Análise de Risco; • Ferramentas de Gerenciamento de Projeto; • Ferramentas de Auditoria de Requisitos (Tracing). USUÁRIOS A necessidade de comprometimento no Projeto: a globalização e a tecnologiatrazem uma influência intensa nos hábitos e comportamentos das pessoas. O comprometimento das pessoas é uma jornada permanente, é fazer com que se superem a todo o momento e sejam percebidas de forma positiva. O usuário é um perfeito aliado no desenvolvimento de sistemas voltados para sua área já que vive diariamente a sua área de negócio, conhece profundamente os processos desenvolvidos, a periodicidade de execução das tarefas, e as necessidades de informação para gerir as atividades. Planejamento Estratégico de Informações: é a primeira fase da Engenharia da Informação onde se estabelecem os propósitos básicos para implementar sistemas computadorizados estáveis e de apoio à tomada de decisões. www.esab.edu.br 16 Para facilitar a comunicação, o analista deve: • Procurar conhecer bem os termos técnicos e gírias empregadas pelos usuários; • Definir cada termo em um Dicionário de Termos, se possível; • Anotar os sinônimos; • Iniciar o processo de análise sem ideias prévias de como é a Organização, evitando pré-conceitos, pois apesar de ser do mesmo ramo de negócio possuem suas particularidades; Feito isso, só assim o analista deve traçar seu planejamento, visando: • Entrada: problemas ou áreas a melhorar na Organização; • Objetivo: definir informações necessárias para resolver problemas identificados; • Resultado: conjunto de informações necessárias para resolver problemas. Para isso é necessário: Entrevistas (técnicas utilizadas): instrumento de pesquisa fundamental no processo de captação de informações para a elaboração de um plano que reflita os anseios dos executivos de uma determinada organização, através do levantamento prévio dos Objetivos, Fatores Críticos de Sucesso, Problemas, Desafios, Metas, etc. Questionários de Apoio às Entrevistas: sugere-se a elaboração e aplicação de um questionário objetivo, dirigido e diferenciado, de forma a compatibilizar as informações fornecidas pelos usuários durante as entrevistas. JAD (Join Application Design): substitui as entrevistas individuais de levantamento de dados. É um método específico de pesquisa desenvolvido pela IBM-Brasil, com o objetivo de extrair informações dos usuários (especialistas no negócio) através de reuniões ou sessões de trabalho. Produtos: modelo da organização, mostrando as funções básicas da empresa em um diagrama de decomposição funcional. Deve- se considerar: www.esab.edu.br 17 • Modelo de dados corporativo da empresa; • Análise dos sistemas atuais; • Estabelecimento de prioridades para o desenvolvimento de sistemas de informações. O Modelo de Dados Corporativo deverá conter todas as informações básicas necessárias para o negócio da empresa, a fim de cumprir sua missão e os seus objetivos. Para isso, deve incorporar todos os dados de real valia, identificados a partir das necessidades de informações relatadas pelos usuários e registradas nos questionários de apoio. Modelo de Dados Corporativo VÍDEO O mundo atual presencia um fenômeno peculiar e perigoso dado o intenso fluxo de informações existente: o aparecimento constante das chamadas fake news. Assistam o vídeo abaixo e reflitam sobre as possibilidades e consequências deste fenômeno. Fiquem a vontade para debater em nossos fóruns. https://www. youtube.com/watch?v=uIvvHwFSZHs ESTUDO COMPLEMENTAR https://www.youtube.com/watch?v=uIvvHwFSZHs https://www.youtube.com/watch?v=uIvvHwFSZHs www.esab.edu.br 18 Define-se Inteligência Artificial (IA) como princípios que permitem simular a inteligência humana por meio da criação de modelos computacionais de processos cognitivos e desenvolver sistemas (hardware/software) mais úteis com capacidade de dedução e percepção. IA é simplesmente uma maneira de fazer o computador pensar de maneira inteligente, ou seja, permite que o computador pense. Imita o processo básico de aprendizado humano, onde novas informações são absorvidas e se tornam disponíveis futuramente. Comparado à mente humana, que pode incorporar novos conhecimentos sem alterar seu funcionamento e sem atrapalhar todos os outros fatos que já estão armazenados no cérebro, um programa IA funciona do mesmo modo. Mostra um método simples e estruturado de projetar programas complexos de tomada de decisão. Todos os elementos nos quais consiste o processo humano de tomada de decisão – objetivos, fatos, regras, mecanismos de inferência – devem ser reunidos em um programa de computador para que ele possa ser realmente qualificado como um programa que possui IA. Os componentes de um sistema de IA baseado em regras: • Define fatos; • Obtém dados; • Define objetivos; • Define a solução; • Obtém novos objetivos via regras e inferências. Pode-se modificar uma ou mais partes de um projeto sem desarranjar a estrutura do sistema de raciocínio, pois a “mente” do computador é capaz de atuar uma série de regras previamente manipuladas. Se pudermos determinar o que nossas mentes www.esab.edu.br 19 fazem em um determinado estágio de qualquer processo de tomada de decisão, podemos facilmente encontrar nesse projeto de programa uma seção que corresponda a um aspecto equivalente da Inteligência. REDES NEURAIS O cérebro humano é considerado o mais fascinante processador baseado em carbono existente, composto por aproximadamente 10 bilhões neurônios, relacionados a todas as funções e movimentos do organismo. Os neurônios conectam-se uns aos outros através de sinapses, e juntos formam uma grande rede (rede neural). As sinapses transmitem estímulos por todo o corpo humano através de diferentes concentrações de sódio (Na+) e potássio (K+). Esta grande rede proporciona uma fabulosa capacidade de processamento e armazenamento de informação. O sistema nervoso é formado por um conjunto extremamente complexo de neurônios, nos quais a comunicação é realizada através de impulsos. Quando um impulso é recebido, o neurônio o processa, e passado um limite de ação, dispara um segundo impulso que produz uma substância neurotransmissora o qual flui do corpo celular para o axônio (que por sua vez pode ou não estar conectado a um dendrito de outra célula). O neurônio que transmite o pulso pode controlar a frequência de pulsos aumentando ou diminuindo a polaridade na membrana pós-sináptica. Eles têm um papel essencial na determinação do funcionamento, comportamento e do raciocínio do ser humano. www.esab.edu.br 20 Ao contrário das redes neurais artificiais, as redes neurais naturais não transmitem sinais negativos, sua ativação é medida pela frequência com que emite pulsos, contínuos e positivos. As redes naturais não são uniformes, apresentando uniformidade apenas em alguns pontos do organismo. Seus pulsos não são síncronos ou assíncronos, devido ao fato de não serem contínuos. Com o desenvolvimento da IA da informática surgiu a ideia de representar por meio de determinados programas o funcionamento do processo de aprendizagem do cérebro humano. A tentativa de simular a rede neural do cérebro deu origem à Rede Neural Artificial (RNA), que são sistemas não-lineares. Uma rede neural pode possuir uma ou múltiplas camadas. Com três camadas, poderíamos ter a camada de entrada (onde as unidades recebem os padrões, possuindo uma unidade especial conhecida como “bias”), a camada intermediária (onde é feito processamento e a extração de características), e a camada de saída (que conclui e apresenta o resultado final). Tecnicamente, o número de camadas define a capacidade de representação das relações entre o espaço de entrada e de saída. Quanto maior o número de camadas, melhor a capacidade de aprendizado. A inexistência da camada intermediária, característica do modelo Perceptrons, representa somente relações linearmente independentes. A existência de camadas intermediárias, característica do modelo Perceptron de Múltipla Camada (MLP), retira tal limitação. Se houver apenas uma camada intermediária, o MLP pode representar qualquer função contínua. Duas ou maiscamadas, ampliam o universo de representação a qualquer função contínua ou não. Os trabalhos sobre redes neurais se iniciaram na década de 40, na Universidade de Illinois, com o neurofisiologista McCulloche o matemático Walter Pitts, publicadas no artigo A Logical Calculus of the Ideas Immanent in Nervous Activity (1943). Os autores estabeleceram uma analogia entre o processo de comunicação das células nervosas vivas e o processo de comunicação por transmissão elétrica e propuseram a criação de neurônios formais. Em 1947 eles conseguiram demonstrar que era possível conectar os neurônios formais e formar uma rede capaz de executar funções complexas. www.esab.edu.br 21 As redes neurais possuem diferentes denominações: redes neuronais, modelos de redes neurais artificiais, modelos conectistas e sistemas neuromórficos. Assim, como o cérebro humano é composto de células biológicas, a rede neural possui um neurônio artificial semelhante, pois ainda não é possível copiar totalmente o sistema de processamento paralelo existente nas células biológicas. O objetivo da neurocomputação é o aprendizado da máquina baseado em modelos que possam ser implementados para desempenhar funções próprias do cérebro humano. As pesquisas em RNA tentaram simular o cérebro humano quanto a sua capacidade de aprender e se adaptar a eventuais mudanças. Portanto, têm como principal objetivo simular a capacidade de aprendizado e de generalização do cérebro humano podendo executar tarefas que os programas convencionais não conseguiam realizar, pois não tinham essa característica de aprendizagem e adaptabilidade. O psicólogo Donald Hebb (1949) elaborou uma teoria baseada no processo de aprendizagem que ocorre no cérebro humano, servindo de base para a aprendizagem das redes neurais. O processo de aprendizado é geralmente um processo interativo de adaptação aplicado aos parâmetros da rede (pesos e thresholds) onde os conhecimentos são armazenados após cada interação. Em 1956, Nathaniel Rochester desenvolveu um modelo de RNA no qual era simulado a interconexão de centenas de neurônios e um sistema para verificar o comportamento da rede diante dos estímulos externos. www.esab.edu.br 22 No entanto, a Rede Perceptron criada por Frank Rosenblat (1957) se tornou mais popular. Porém, recebeu severas críticas por Mavin Minskye Seymour Papert no livro Perceptron, em 1969, argumentando que os Perceptrons apresentavam limitações em suas aplicações, não possuíam capacidade de aprendizado para resolver problemas simples e não possuíam adequada sustentação matemática. A primeira rede capaz de imitar o cérebro humano utilizando processadores paralelos (ao invés de um único processador) surgiu com Widrow e Hoff, em 1959, com a estruturação da Rede ADALINE (ADAptative LInear Element) mais tarde denominada MADALINE (Many ADALINE). Apesar de terem surgido trabalhos significativos na década de 60 e 70, como os de Werbos, Anderson, Grossberg, as pesquisas com as redes neurais só voltaram a recuperar sua credibilidade (em 1982) com os trabalhos do físico e biólogo John Hopfield. www.esab.edu.br 23 As RNA podem ser entendidas como conjuntos bem estruturados de unidades de processamentos, interligados por canais de comunicação, cada qual tendo um determinado peso correspondente a um valor numérico. Consistem de várias unidades de processamento (neurônios artificiais) interconectados entre si formando uma determinada disposição estrutural de camadas (entrada, intermediárias e saída) e conexões entre elas. REDES NEURAIS ARTIFICIAIS (RNAs) Atualmente existem dezenas de modelos de redes neurais estruturados para as mais diversas aplicações. Os mais conhecidos são: Quais serviços você conhece na atualidade que utilizam técnicas de Inteligência Artificial? Compartilhe seus conhecimentos em nossos fóruns e vamos debater com os colegas. FÓRUM www.esab.edu.br 24 Rede neural de mcculloch-pitts (mcp): representa o neurônio como uma unidade de limite binário que pode executar operações lógicas básicas (NOT, OR e AND), por meio do ajuste adequado dos pesos. Apesar de cada neurônio possuir apenas uma entrada e uma saída, a interligação de várias unidades forma uma rede capaz de executar ações complexas. Perceptron de camada simples: desenvolvida por Frank Rosemblatt (1958) são utilizadas para reconhecimento e classificação de padrões e resolução de problemas lógicos que envolvem os conectivos AND e OR. MLP (Multi Layer Perceptron) ou MLFF (Multi Layer Feed Forward): desenvolvida por Minsky e Papert (1969) realizam operações lógicas complexas, reconhecimento, classificação de padrões, controle de robôs e processamento da fala. Redes BPN (Back Propagtion Network): desenvolvida por E. Rumelhart, G. E. Hilton e R. J. Williams (1986) é utilizada na previsão anual de aparecimentos de manchas solares, em operações lógicas complexas, classificação de padrões e análise da fala. Rede de hopfield: desenvolvida por J. J. Hopfield (1982) é utilizada para reconhecimento de imagens. Redes de kohonen: desenvolvida pelo Prof. Teuvo Kohonen (1987) é utilizada para classificação de padrões, otimização de problemas e simulações. www.esab.edu.br 25 Rede neural adalanie (adaptive linear neuron): desenvolvida por Widrow e Hoff (1959), é rede de uma camada com backpropagation utilizada para reconhecimento de padrões, mas só reconhece os padrões nos quais foi treinada (Regra de Widrow-Hoff). Quando transposta para uma rede de backpropagation de multicamadas é denominada de MADALINE (Multilayer ADALINE) e apresenta um alto grau de tolerância a falhas. ART (Adaptative Resonace Theory) de GROSSBERG: representa um único neurônio artificial que recebe input de várias outras unidades semelhantes. É um programa que tem por base características da teoria da ressonância adaptativa, que consiste na habilidade de se adaptar diante de novos inputs. É utilizada para reconhecimento de sinais de radar e processamento de imagens. CNM (Combinatorial Neural Model): utilizada no processamento de reconhecimento, análise e classificação de dados. SOM (Self Organizing Map) de KOHONEN: é uma rede competitiva com a habilidade de fazer mapeamentos entre dados de input e output. Capaz de equilibrar um bastão aplicando forças na sua base, o objetivo da rede é estabelecer um mapeamento entre as variáveis do estado do bastão e a força ideal para manter o equilíbrio. CPN (Couterpropagation Network): é uma rede competitiva desenhada para funcionar como uma tabela de consulta auto- programável com a habilidade de interpolar dados de entrada. Pode determinar a rotação angular de um objeto na forma de foguete que lhe é apresentada como um padrão bitmap. O desempenho da rede é limitado pela resolução do bitmap. BAM (Bidirectional Associative Memory): possui uma memória associativa bidirecional capaz de fornecer o número do telefone associado ao nome que lhe foi fornecido e vice-versa. Permite certo grau de tolerância a erros, quando os dados fornecidos possuem um padrão corrompido. Neocognitron: é uma rede que possui múltiplas camadas com conexões parciais entre as unidades das várias camadas. Foi www.esab.edu.br 26 desenvolvida para reconhecer caracteres alfabéticos escritos a mão. É de treinamento difícil, mas possui boa tolerância a erros, pois reconhece os caracteres mesmo com certa inclinação na escrita ou pequenas distorções na imagem. Aplicações das Redes Neurais: • Análise de assinaturas; • Análise de características demográficas para marketing; • Análise do grau de satisfação de um cliente; • Controle de processos industriais; • Detecção de cartões de crédito falsos; • Monitoramento para manutenção de motores; • Previsão da bolsa de valores e cotação de moedas; • Previsão do mercado financeiro; • Reconhecimento de caracteres e impressões digitais; • Reconhecimento ótico de caracteres. ALGORITMO DE APRENDIZADO É um conjunto de regras bem definidasque são utilizadas para solucionar um determinado problema de aprendizado. Podemos encontrar diferentes algoritmos de aprendizado agrupados em quatro categorias: • Aprendizado por correção de erro; • Hebbiano; • Competitivo; • De Boltzmann. Quanto ao tipo de treinamento para aprendizado as redes apresentam: www.esab.edu.br 27 Aprendizado Supervisionado: exige a presença de um agente externo (tutor) que avalia e informa à rede sobre a sua performance. O tutor adquire conhecimento da rede na forma de mapeamentos (padrões) de entrada-saída. Aprendizado não-Supervisionado: não possui um tutor (crítico). A rede é autônoma, trabalha com os dados que lhes são apresentados e aprende a refletir sobre as suas propriedades no seu output. Esse tipo de aprendizado pode ser utilizado com um algoritmo competitivo ou hebbiano. Aprendizado por Reforço: possui um crítico externo que avalia as respostas fornecidas pela rede e direciona o ajuste dos pesos. O aprendizado é on-line, feito por um processo de tentativas e erros, que visa maximizar um dado índice de desempenho, denominado de sinal de reforço. Vantagens da Utilização das Redes Neurais Artificiais: • Inferência de múltiplas variáveis; • Grande tolerância a falhas; • Modelamento direto do problema; • Paralelismo inerente. Características que definem uma rede neural artificial: • Arquitetura; • Capacidade de aprendizado; • Habilidade Funcional; • Vantagens da Utilização das Redes Neurais Artificiais; • Inferência de múltiplas variáveis; • Grande tolerância a falhas; • Modelamento direto do problema; • Paralelismo inerente. DIFICULDADES DAS REDES NEURAIS As redes neurais artificiais trabalham com um número reduzido (centenas) de neurônios artificiais, enquanto as redes neurais biológicas trabalham com milhões de neurônios. www.esab.edu.br 28 A modelagem de uma rede neural depende da análise consistente de um sistema complexo, implicando em dificuldades para definir qual arquitetura melhor responde às necessidades do problema proposto, e na escolha de quais dados são verdadeiramente relevantes para o processamento. Além da entrada, também devemos definir de forma ideal os parâmetros de aprendizagem, os pesos sinápticos e os níveis de tendência, os quais são de grande importância para o processo de aprendizado. Outra dificuldade encontrada seria a extração de regras que justifiquem as decisões tomadas pela rede, as quais representariam o conhecimento adquirido durante o treinamento. Por este motivo, as redes neurais são apelidadas de “Caixas Pretas”. Contudo, pesquisadores vêm tentando minimizar as dificuldades da implementação das redes neurais através de algoritmos que possam extrair regras (como o algoritmo KBANN – Knowledge Base Neural Networks) e do uso de sistemas híbridos, combinando, por exemplo, uma rede neural com algoritmos genéticos. Isso poderá definir melhor as taxas de aprendizado, pesos sinápticos e nível tendencioso. Você já ouviu falar de esteganografia? Faça uma pesquisa sobre o assunto e debata com o seu tutor e seus colegas os seus achados. Caso tenha dificuldades em achar referências, leiam o link abaixo: https://www.tecmundo.com.br/video/3763-o-que-e- esteganografia-.htm ESTUDO COMPLEMENTAR https://www.tecmundo.com.br/video/3763-o-que-e-esteganografia-.htm https://www.tecmundo.com.br/video/3763-o-que-e-esteganografia-.htm www.esab.edu.br 29 Agente é uma entidade de software persistente dedicada a um propósito específico. O fato do agente ser persistente o distingue das sub-rotinas, pois os agentes têm suas próprias ideias sobre como resolver os seus problemas, ou como organizar sua própria agenda. Propósitos especiais os diferenciam das aplicações multifuncionais, já que os agentes são tipicamente menores (SMITH et al apud ITO, 1999). Agente é uma entidade cognitiva, ativa e autônoma, ou seja, que possui um sistema interno de tomada de decisões. Agindo sobre o mundo e sobre os outros agentes que o rodeiam, e, por fim, que é capaz de funcionar sem necessitar de algo ou de alguém para guiá-lo (tem mecanismos próprios de percepção do exterior). River (1995) associa aos agentes inteligentes a posse de uma ou mais características: • Uma base de conhecimento pré-definida e um mecanismo de inferência; • Um sistema de aquisição de conhecimento; • Um mecanismo de aprendizagem neuronal. Nissen (1995) apresenta cinco componentes da infraestrutura necessária à atuação dos agentes inteligentes: • Recursos de execução; • Recursos de comunicação; • Recursos de transporte; • Recursos de empacotamento; • Segurança integrada. AGENTES INTELIGENTES EM REDES DE COMUNICAÇÃO Uma comunidade aberta de diferentes sistemas de computadores (agentes) coopera para solucionar uma variedade de problemas www.esab.edu.br 30 em um sistema de gerenciamento de redes de telecomunicações complexo. Os agentes são chamados a entrar ou sair da comunidade que eles formam. Têm como funções estabelecimento e restauração de rotas em uma rede física e satisfazer as necessidades do cliente. O planejamento do fornecimento e restauração do serviço é realizado em um contexto de conhecimento incompleto. Processos de alto nível são descritos para solução destes problemas, tendo como característica ser distribuído e flexível a falhas. Este sistema de controle distribuído suporta a possibilidade de melhorar o desempenho sobre o sistema centralizado e o escopo de redução da quantidade total de dados passados para um ponto central, e a flexibilidade de permitir ao sistema distribuído uma degradação mais suave. AGENTES INTELIGENTES EM LOGÍSTICA E SIMULAÇÃO Um sistema de planejamento e controle para automatização de uma célula de trabalho está sendo desenvolvido para fornecer um melhor desempenho em trabalhos relativos à logística e simulação. Para lidar com a complexidade dinâmica de um ambiente de produção o sistema de planejamento necessita de habilidades de adaptação dinâmica e autocontrole. Para alcançar esta habilidade, a tarefa de planejamento é distribuída a vários agentes inteligentes virtuais, cada qual suporta uma tarefa específica e possui suas próprias estratégias de solução e é capaz de solicitar serviços de outros agentes. A simulação desempenha um papel crucial no sistema de planejamento e é usada por outros agentes para revisar suas estratégias de planejamento e para determinar as consequências futuras de suas decisões. AGENTES INTELIGENTES NA INTERNET Agentes Inteligentes são entidades autônomas dotadas de uma base de conhecimento e capazes de interagir com o meio em que estão tomando decisões que irão auxiliar ou substituir o trabalho de um agente humano. www.esab.edu.br 31 Applets são conjuntos de código de programa que podem ser descarregados, instanciados e executados em WEB browsers. Aglet é um agente para Internet com a capacidade adicional de ser transportado pela rede. São objetos Java que podem mover- se de um host ao outro, parar a execução, despachar-se para um host remoto e executar-se lá autonomamente, traçando seu próprio itinerário. Para implementar um Aglet pode ser usada a plataforma IBM Aglet Workbench para programação de agentes móveis. Trata-se de um ambiente para Windows destinado à programação de aglets em Java, linguagem utilizada por permitir a criação de aplicativos (applets, servlets e aglets) independentes da plataforma em que serão executados, facilitando a movimentação de um sistema de um computador a outro. AGENTES DE CORREIO ELETRÔNICO Maxims, implementado em Macintosh Commom Lisp, comunica com o pacote comercial de e-mails EUDORA usando Apple Events. É um agente que ajuda o usuário com seu e-mail. Ele aprende a priorizar, deletar, responder, organizar e arquivar mensagens de e-mail recebido pelo usuário. Tem como principal técnica de aprendizado o raciocínio baseado em memórias. Se o usuário realiza uma ação, o agente memoriza toda a situação gerada, por exemplo, se o usuário salvauma mensagem particular após tê-la lido, o agente adiciona a descrição desta situação e a ação tomada pelo usuário em sua memória de exemplos. Quando uma nova www.esab.edu.br 32 situação ocorre, o agente compara-a com seu banco de memória e verifica qual ação tomar. CHATBOTS Um chatbot é um programa de computador que é capaz de ter uma conversa humana com um usuário, recebendo e enviando mensagens de texto com a finalidade de automatizar um processo de negócio (BORISOV, 2017). Os chatbots se tornaram popular nos últimos anos. Em abril de 2017 haviam mais de 100.000 disponíveis no Facebook Messenger. Essa novidade além de proporcionar uma melhor experiência de atendimento aos usuários, auxiliam as organizações a reduzirem consideravelmente custos com atendimento pessoal, por exemplo. Estudos realizados nos EUA, indicam que é possível obter uma redução de 23 bilhões de dólares no segmento de atendimento ao cliente (HUNDERTMARK, ZUMSTEIN, 2017). VÍDEO Vocês já viram um robô conversar e tirar dúvidas de um humano? Vejam abaixo o rAVA. Um robô desenvolvido para tirar dúvidas sobre o Restaurante Universitário da UFES (Universidade Federal do Espírito Santo). https://inf.ufes.br/~elias/demonstracao.mp4 ESTUDO COMPLEMENTAR https://inf.ufes.br/~elias/demonstracao.mp4 www.esab.edu.br 33 A partir do vídeo mostrado anteriormente, abra um tópico de discussão no fórum da disciplina e relate se já teve alguma experiência com algum tipo de chatbot. O que você acha dessas novas possibilidades? FÓRUM www.esab.edu.br 34 Hoje, as redes de computadores baseadas em protocolos Transmission Control Protocol/Internet Protocol (TCP/ IP), como a Internet cresce assustadoramente, pelo fato destes protocolos serem de fácil implementação e manutenção, além de permitirem a interligação de redes locais através de outras redes de longa distância, com um desempenho considerável. Atualmente é possível ter-se uma implementação local de redes TCP/IP, sem conectá-las a outras redes, caracterizando uma rede Intranet, muito utilizada para implementar redes locais em empresas. Porém um grande problema surge para os administradores de rede, pois é necessário monitorar e controlar o funcionamento, crescimento e os parâmetros dessas redes, garantindo o seu correto desempenho. Um esquema de gerenciamento de rede deve ser capaz de detectar e corrigir possíveis erros que venham a ocorrer durante as transmissões. Este mesmo esquema deve estar apto a estabelecer procedimentos para a previsão de problemas futuros. Fazendo uma monitoração do tráfego da rede é possível detectar qual máquina na rede está gerando maior tráfego e pode-se prever alguma forma de controle deste tráfego. O gerenciamento da rede realizado pelo protocolo Simple Network Management Protocol (SNMP) permite que uma ou mais máquinas na rede sejam designadas gerentes da rede. Esta máquina recebe e processa informações de todas as outras máquinas da rede (agentes), gerenciando toda a rede e detectando facilmente problemas ocorridos. As informações coletadas pela máquina gerente estão armazenadas nas próprias máquinas da rede, em uma base de dados conhecida como Management Information Base (MIB). Nesta base de dados estão gravadas todas as informações necessárias para o gerenciamento deste dispositivo, através de variáveis que são requeridas pela estação gerente. Entretanto, em uma interligação de diversas redes locais, pode ser que uma rede local esteja funcionando perfeitamente, mas www.esab.edu.br 35 sem conexão com as outras redes, e, consequentemente, sem conexão com a máquina gerente. O ideal é implementar em alguma máquina, dentro desta rede local, um protocolo para gerenciamento que permita um trabalho off-line, isto é, que a rede local possa ser gerenciada, ou pelo menos tenha suas informações de gerenciamento coletadas, mesmo que estas informações não sejam enviadas instantaneamente à estação gerente. O protocolo Remote Monitoring (RMON) permite uma implementação neste sentido, devendo ser implementado em diversas máquinas ao longo da rede. É possível, ainda, que uma estação com implementação RMON, envie dados à estação gerente apenas em uma situação de falha na rede. Isto contribuiria para redução do tráfego de informações de controle na rede (overhead). A instalação de um servidor Proxy diminui o tráfego na rede facilitando seu gerenciamento, servindo como cache dos documentos acessados por uma rede local. Pode também restringir o acesso a alguns documentos ou a utilização de algum protocolo, garantindo segurança à rede. O desenvolvimento da arquitetura Internet Transmission Control Protocol/Internet Protocol (TCP/IP) foi patrocinado pela Defense Advanced Research Projects Agency (DARPA). O TCP/IP (Conjunto de Protocolos Internet) foi desenvolvido para permitir que computadores compartilhem recursos dentro de uma rede. Por serem os mais conhecidos, é comum se referir o TCP e IP para referenciar toda a família de protocolos. Alguns deles, como TCP, IP e User Datagram Protocol (UDP), provêm funções de baixo nível, necessárias a diversas aplicações. Os outros protocolos são execução de tarefas específicas, como transferência de arquivos entre computadores, envio de mensagens. www.esab.edu.br 36 Os serviços TCP/IP mais importantes são (Hedrick, 1988): • Transferência de Arquivos (File Transfer Protocol – FTP): permite a um usuário em um computador copiar arquivos de outro computador, ou enviar arquivos para outro computador. A segurança é garantida requerendo-se que o usuário especifique um username e uma senha, para acesso ao outro computador; • Login Remoto (Network Terminal Protocol – TELNET): permite que um usuário se log (tenha uma seção de trabalho) em outro computador da rede. A seção remota é iniciada especificando-se o computador em que se deseja conectar. Até que a seção seja finalizada, tudo o que for digitado será enviado para o outro computador. O programa de TELNET faz com que o computador requisitante seja totalmente invisível, tudo é enviado diretamente ao computador remoto; • Eletronic Mail: permite ao usuário enviar mensagens para usuários em outro computador. Deve ser mantido um arquivo de mail para cada usuário onde será adicionado novas mensagens. Para que um usuário possa enviar um mail, o programa espera ser capaz de manter uma conexão com o computador destino. Você já ouviu falar do acesso remoto via SSH? Conheça no link abaixo. https://pt.wikipedia.org/wiki/Secure_Shell DICA https://pt.wikipedia.org/wiki/Secure_Shell www.esab.edu.br 37 O protocolo TCP/IP é baseado em um modelo que pressupõe a existência de um grande número de redes independentes conectadas através de gateways. Um usuário pode ter acesso a computadores ou outros recursos em qualquer uma destas redes. As mensagens, muitas vezes, passam por uma grande quantidade de redes para atingirem seus destinos. O roteamento destas mensagens deve ser completamente invisível para o usuário. Assim, para ter acesso a um recurso em outro computador o usuário deve conhecer o endereço Internet deste computador. Atualmente este endereço é um número de 32 bits, escrito como 4 números decimais, cada um representando 8 bits de endereço. INTERNET PROTOCOL (IP) Protocolo de Internet, usado entre duas ou mais máquinas em rede para encaminhamento dos dados, enviados em blocos (como pacotes ou datagramas). No IP nenhuma definição é necessária antes do host tentar enviar pacotes para um host com o qual não comunicou previamente. O IP é o elemento comum encontrado na internet pública dos dias de hoje. É descrito no RFC 791 da IETF, publicado pela primeira vez em setembro de 1981. Este documento descreve o protocolo da camada de rede mais popular e atualmente em uso. Esta versão do protocolo é designada de versão 4, ou IPv4. O IPv6 tem endereçamento de origem e destino de 128 bits, oferecendo mais endereçamentos que os 32 bits do IPv4. www.esab.edu.br38 Comparação entre o IPV4 x IPV6 Pela imagem anterior você consegue descrever a diferença entre os padrões IPv4 e IPv6? Qual a motivação para um novo padrão? PARA SUA REFLEXÃO www.esab.edu.br 39 O IP, padrão para redes Internet, é baseado em um serviço sem conexão. Sua função é transferir blocos de dados (datagramas) da origem para o destino, hosts identificados por endereços IP. Este protocolo também fornece serviço de fragmentação e remontagem de datagramas longos, para que estes possam ser transportados em redes onde o tamanho máximo permitido para os pacotes é pequeno. Como o serviço fornecido pelo protocolo IP é sem conexão, cada datagrama é tratado como uma unidade independente que não possui nenhuma relação com qualquer outro datagrama. A comunicação é não-confiável, pois não são utilizados reconhecimentos fim-a-fim ou entrenós intermediários, nem empregados mecanismos de controle de fluxo e de controle de erros. Apenas uma conferência simples do cabeçalho é realizada, para garantir que as informações nele contidas, usadas pelos gateways para encaminhar datagramas, estão corretas. O IP oferece um serviço de datagramas não-confiável (chamado de melhor esforço), ou seja, o pacote vem quase sem garantias, podendo chegar desordenado ou duplicado se comparado com outros pacotes enviados entre os mesmos hosts, ou podem ser perdidos por inteiro. Se a aplicação precisa de confiabilidade, esta é adicionada na camada de transporte. Os roteadores são usados para reencaminhar datagramas IP através das redes interconectadas na segunda camada. A falta de qualquer garantia de entrega significa que o desenho da troca de pacotes é feito de forma mais simplificada. Se a rede cai, reordena ou de outra forma danifica um grande número de pacotes, o desempenho observado pelo utilizador será pobre, logo a maioria dos elementos de rede tentam arduamente não fazer este tipo de coisas – melhor esforço. Contudo, um erro ocasional não irá produzir nenhum efeito notável. Endereços IP: pode ser considerado como um conjunto de números que representa o local de um determinado equipamento (normalmente computadores) em uma rede privada ou pública. Para um melhor uso dos endereços de equipamentos em rede pelas pessoas, utiliza-se a forma de endereços de domínio, tal como “www.wikipedia.org”. Cada endereço de domínio é convertido em um endereço IP pelo DNS. Este processo de conversão é conhecido como resolução de nomes de domínio. www.esab.edu.br 40 O endereço IP, na versão 4 (IPv4), é um número de 32 bits escrito com quatro octetos e no formato decimal (128.6.4.7). A primeira parte do endereço identifica uma rede específica na inter-rede, a segunda identifica um host dentro dessa rede. Um endereço IP não identifica uma máquina individual, mas uma conexão à inter- rede. Assim, um gateway conectando à ‘n’ redes tem ‘n’ endereços IP diferentes, um para cada conexão. O IP utiliza três classes diferentes de endereços pelo fato do tamanho das redes que estão interligadas variar muito, indo desde redes locais de computadores a redes públicas interligando milhares de hosts [Soares97]. Examinando os primeiros bits de um endereço, o software do IP consegue determinar rapidamente qual a classe, e logo, a estrutura do endereço. Classe A: primeiro bit é 0 (zero), é o mais significativo, os outros 7 bits do primeiro octeto identificam a rede, e os 24 bits restantes definem o endereço local. Essa classe é usada para redes de grande porte, seus endereços variam de 1 a 126, e cada rede tem capacidade de endereçar cerca de 16 milhões de hosts. Classe B: primeiros dois bits são 10 (um, zero). Usa dois octetos para o endereço da rede e dois para endereços de hosts, que variam na faixa de 128.1 até 191.255 (os números 0 e 255 do segundo octeto, e 127 do primeiro octeto são usados para funções especiais e testes), e cada rede pode interligar cerca de 65 mil hosts. www.esab.edu.br 41 Classe C: primeiros três bits são 110 (um, um, zero). Utilizam três octetos para identificar a rede e apenas um octeto para o host. Os endereços de rede situam-se na faixa de 192.1.1 até 223.254.254 (os endereços acima de 223 no primeiro octeto foram reservados para uso futuro), e cada rede pode endereçar 254 hosts. Classe D (endereço multicast): primeiros quatro bits são 1110 (um, um, um, zero). Classe E (endereço especial reservado): primeiros cinco bits são 11110 (um, um, um, um, zero). Tabela 1: Intervalo das classes de endereços IPs. Classe Gama de Endereços Nº Endereços por Rede A 1.0.0.0 até 127.255.255.255 16 777 216 B 128.0.0.0 até 191.255.255.255 65 536 C 192.0.0.0 até 223.255.255.255 256 D 224.0.0.0 até 239.255.255.255 multicast E 240.0.0.0 até 247.255.255.255 uso futuro TRANSMISSION CONTROL PROTOCOL (TCP) Atualmente é um dos protocolos sob os quais assenta o núcleo da Internet. Adequado para redes globais por verificar se os dados são enviados de forma correta pela rede, na sequência apropriada e sem erros, sendo versátil e robusto. O TCP é um protocolo do nível da camada de transporte (camada 4) do Modelo OSI e é sobre o qual assentam a maioria das aplicações cibernéticas, como o SSH, FTP, HTTP – a World Wide Web (WWW). Características fundamentais do TCP: • Orientado à conexão: envia um pedido de conexão para o destino, usando-o para transferir dados; • Ponto a ponto: sua conexão é estabelecida entre dois pontos; • Confiabilidade: usa várias técnicas para proporcionar entrega confiável dos pacotes de dados, grande vantagem em relação ao UDP, e motivo do seu uso extensivo nas redes de computadores. Permite eliminar pacotes duplicados, recuperar pacotes perdidos, dados corrompidos, e a ligação em caso de problemas no sistema e na rede; www.esab.edu.br 42 • Full duplex: possibilita transferência simultânea em ambas as direções (cliente-servidor) durante toda a sessão; • Handshake: mecanismo de estabelecimento e finalização de conexão a três e quatro tempos, respectivamente, o que permite a autenticação e encerramento de uma sessão completa, com garantia de que todos os pacotes foram bem recebidos que no final da conexão; • Entrega ordenada: a aplicação faz a entrega ao TCP de blocos de dados com um tamanho arbitrário num fluxo (ou stream) de dados, tipicamente em octetos. O TCP parte estes dados em segmentos de tamanho especificado pelo valor MTU, garantindo a reconstrução do stream no destinatário mediante os números de sequência, caso a circulação dos pacotes ao longo da rede (utilizando um protocolo (IP) de encaminhamento, na camada inferior) não cheguem ordenados; • Controle de fluxo: usa o campo janela (window) para controlar o fluxo. O receptor, a medida que recebe os dados, envia mensagens ACK (acknowledgement), confirmando a recepção de um segmento; como funcionalidade extra, estas mensagens podem especificar o tamanho máximo do buffer no campo (janela) do segmento TCP, determinando a quantidade máxima de bytes aceita pelo receptor. O transmissor pode transmitir segmentos com um número de bytes que deverá estar confinado ao tamanho da janela permitido: o menor valor entre sua capacidade de envio e a capacidade informada pelo receptor. DESCRIÇÃO DO FUNCIONAMENTO DO TCP O TCP especifica três fases durante uma conexão: • Estabelecimento da ligação: feito em três passos; • Transferência da ligação; • Término da ligação: feito em quatro passos. Inicialmente são ativados alguns parâmetros, como o Sequence Number (número de sequência), para garantir a entrega ordenada e robustez durante a transferência. O TCP interage de um lado com processos das aplicações e de outro com o protocolo da camada de rede da arquitetura Internet. www.esab.edu.br 43 A interface entre o protocolo e a camada superior consiste em um conjunto de chamadas, como para abrir e fechar conexões, para enviar e receber dados em conexões estabelecidas. Já a interface entre o TCP e a camada inferior define um mecanismo atravésdo qual as duas camadas trocam informações assincronamente. Este protocolo é capaz de transferir uma cadeia (stream) contínua de octetos, nas duas direções, entre seus usuários, decidindo o momento de parar de agrupar os octetos e de transmitir o segmento formado por esse agrupamento. Porém, caso seja necessário, o usuário do TCP pode requerer a transmissão imediata dos octetos que estão no buffer de transmissão, através da função push. O TCP não exige um serviço de rede confiável para operar, mas responsabiliza-se pela recuperação de dados corrompidos, perdidos, duplicados ou desordenados pelo protocolo de rede. Isto é feito associando-se cada octeto a um número de sequência. O número de sequência do primeiro octeto dos dados contidos em um segmento é transmitido junto com o segmento (número de sequência do segmento). Os segmentos carregam “de carona” (piggybacking) um reconhecimento. USER DATAGRAM PROTOCOL (UDP) Protocolo de datagramas de utilizador (ou usuário) faz entrega de mensagens independentes, designadas por datagramas, entre aplicações ou processos, em sistemas host, podendo ser desordenada ou até perdida. A integridade dos dados pode ser gerida por um checksum (campo no cabeçalho de checagem por soma). O UDP dá às aplicações acesso direto ao serviço de entrega de datagramas, como o IP. É pouco confiável para conexão, ou seja, não há técnicas para confirmar que os dados chegaram ao destino corretamente. O UDP usa número de porta de origem e de destino de 16 bits na Word 1 do cabeçalho da mensagem. Os pontos de acesso do UDP são designados “portas de protocolo”, “portas” ou “portos”, em que cada unidade de transmissão de dados UDP identifica o endereço IP e o número de porta do destino e da fonte da mensagem. Os números podendo ser diferentes em ambos os casos. www.esab.edu.br 44 O UDP é o protocolo irmão do TCP. A diferença é que o TCP é um protocolo orientado à conexão, que inclui vários mecanismos para iniciar e encerrar a conexão, negociar tamanhos de pacotes e permitir a retransmissão de pacotes corrompidos. No TCP tudo isso é feito com muito cuidado, para garantir que os dados realmente cheguem inalterados, apesar de todos os problemas que possam existir na conexão. O lema é “transmitir com segurança”. Já UDP transmite dados pouco sensíveis, como streaming de áudio e vídeo, sem checagens, sem confirmação, e apenas uma vez, incluindo apenas um frágil sistema de CRC. Os pacotes que chegam corrompidos são simplesmente descartados, sem que o emissor sequer saiba do problema. A ideia é transmitir dados com o maior desempenho possível, eliminando dos pacotes quase tudo que não sejam dados em si. Apesar da pressa, o UDP tem seus méritos, pois impede que quadros fantasmas sejam exibidos no meio de um vídeo, sem considerável perda de desempenho. Em geral, os programas que utilizam portas UDP recorrem também a uma porta TCP para enviar as requisições de dados e também para checar periodicamente se o cliente ainda está online. Na Internet, O UDP é um protocolo de transporte que presta um serviço de comunicação não orientado a conexão e sem garantia de entrega. Portanto, as aplicações que utilizam este tipo de protocolo devem ser responsáveis pela recuperação dos dados perdidos. www.esab.edu.br 45 CABEÇALHO UDP É extremamente simples, contendo apenas os números de porta, comprimento da mensagem e o checksum. O cabeçalho dos datagramas UDP, muito menor que o inserido pelo TCP, é colocado a seguir ao cabeçalho IP. DESCRIÇÃO DO FUNCIONAMENTO DO UDP O UDP opera no modo sem conexão e fornece um serviço de datagrama não confiável, sendo, portanto, uma simples extensão do protocolo IP. Recebe os pedidos de transmissão de mensagens entregues pelos processos de aplicação da estação de origem e os encaminha ao IP, responsável pela transmissão. Na estação de destino, o processo inverso ocorre. O protocolo IP entrega as mensagens (datagramas) recebidas ao UDP que as entrega aos processos de aplicação, sem nenhuma garantia. PROTOCOLOS DE GERÊNCIA Protocolo de Gerência Simples de Rede (Simple Network Management Protocol – SNMP) é um protocolo de gerência típica de redes TCP/IP, da camada de aplicação designada para facilitar a troca de informações (intercâmbio) de gerenciamento entre dispositivos de rede, como placas e comutadores (switches). www.esab.edu.br 46 O SNMP possibilita os administradores de rede gerenciar o desempenho da rede, encontrar e solucionar eventuais problemas e planejar com mais precisão uma possível expansão da rede. O software de gerência de redes segue o modelo cliente-servidor convencional: uma aplicação ‘servidora’ na máquina cliente e uma aplicação ‘cliente’ no dispositivo de rede a ser analisado ou monitorado. Para evitar confusão com outras aplicações de rede, os sistemas de gerência de redes usam “gerente” para a aplicação servidora e “agente” para a aplicação cliente que roda no dispositivo de rede. O SNMP é um protocolo relativamente simples, porém suficientemente poderoso para resolver difíceis problemas apresentados quando se tenta gerenciar redes heterogêneas. É um protocolo de requisição/resposta simples. Os NMS podem enviar múltiplas requisições sem receber uma resposta. www.esab.edu.br 47 Aplicações de gerenciamento que utilizam o SNMP (ODA, 1994): • Fazer polling nos dispositivos de rede e coletar dados estatísticos para análise em tempo real; • Receber um conjunto limitado de notificações de eventos significativos ou mensagens trap; • Reconfigurar dispositivos de rede. Operações definidas no SNMP (CISCO, 96): • get-request: solicitação de recuperação do valor de uma ou um conjunto de variáveis informados na solicitação. • get-next-request: solicitação de recuperação do valor de uma ou um conjunto de variáveis que sucedem lexicograficamente àquelas informações na solicitação. • get-response: resposta às operações get-request, get-next- request e set-request. • trap: envio de um evento não solicitado para uma ou várias estações de gerenciamento. Tipo de traps definidos no RFC 1215: cold start, warm start, link down, link up, authentication failure, egp neighbor loss e enterprise specific. Os pacotes de mensagem do SNMP são divididos em duas partes. A primeira parte contém a versão e o nome comunitário, e a segunda contém o protocolo de unidade de dados (PDU) do SNMP especificando a operação que será realizada (get, set e outros) e a instância de objetos envolvida na operação. www.esab.edu.br 48 O MODELO DE GERENCIAMENTO DA INTERNET Como o TCP/IP, o SNMP é um protocolo Internet. Ele é uma parte da arquitetura de gerenciamento da Internet, que é baseada na interação de diversas entidades. Elementos de rede: ou dispositivos gerenciados, são dispositivos de hardware, como computadores, roteadores e servidores de terminais que estão conectados à rede. Agentes: são módulos de software que residem nos elementos de rede. Coletam e armazenam informações de gerenciamento como o número de pacotes de erros recebidos pelo elemento de rede. São eles que respondem às solicitações dos gerentes. Objeto gerenciado: é qualquer elemento que possa ser gerenciado, como uma lista dos circuitos TCP atualmente ativos em um host particular. MIB (Management Information Base): é uma coleção de objetos gerenciados residentes em um armazenamento virtual de informações, definidos em módulos específicos da MIB. Notação sintática: é a linguagem usada para descrever os objetos gerenciados da MIB em um formato independente da plataforma. Um uso consistente da notação sintática permite que diferentes tipos de computadores compartilhem informações. Sistemas de gerenciamento Internet usam um subconjunto Open System www.esab.edu.br 49 Interconnection (OSI) Abstract Syntax Notation 1 (ASN.1) da International Organization for Standardization’s (ISO) para definir tanto os pacotes que são trocados pelo protocolo de gerenciamento quanto os objetosque ele deve gerenciar. Structure of Management Information (SMI): define as regras para descrever as informações de gerenciamento, usando ASN.1. Network Management Stations (NMS): ou consoles, executam aplicações de gerenciamento para monitorar e controlar elementos de rede. Fisicamente, os NMS são usualmente Workstations com CPU velozes, monitores coloridos de alta definição, memória substancial e um grande espaço em disco. Protocolo de gerenciamento: é usado para transportar informações de gerenciamento entre agentes e NMS. O SNMP é o protocolo de gerenciamento padrão da comunidade Internet. O SNMP foi construído para minimizar a quantidade e a complexidade das funções necessárias para gerenciar um agente. O paradigma funcional de controle e monitoração do protocolo foi definido de maneira extensiva, para poder absorver mais facilmente novos aspectos das operações de rede e gerenciamento. Além disto, esta arquitetura é totalmente independente da plataforma dos elementos da rede e dos NMS (Case, 1990). Os processos que implementam as funções de gerenciamento Internet atuam ou como agentes ou como gerentes. Os agentes coletam junto aos dispositivos gerenciados as informações www.esab.edu.br 50 relevantes ao gerenciamento da rede. O gerente processa essas informações com o objetivo de detectar falhas no funcionamento dos elementos da rede, para que “possam ser tomadas providências no sentido de contornar os problemas que ocorrem como consequência das falhas”. Um objeto gerenciado representa um recurso e pode ser visto como uma coleção de variáveis cujo valor pode ser lido ou alterado. O gerente envia comandos aos agentes. Para monitorar os dispositivos gerenciados, o gerente solicita ao agente uma leitura no valor das variáveis mantidas por estes dispositivos, através do comando Get, e o agente responde através do comando response. Para controlar os dispositivos gerenciados, o gerente modifica o valor das variáveis armazenadas nos dispositivos gerenciados, através do comando Put. Isto pode ser usado para disparar indiretamente a execução de operações nos recursos associados aos objetos gerenciados. Um reboot do elemento de rede pode ser facilmente implementado, basta que o gerente modifique o parâmetro que indica o tempo até uma reinicialização do sistema. Gerente pode ainda determinar que variável um dispositivo gerenciado suporta e colher informações de forma sequencial, das tabelas de variáveis (como as tabelas de roteamento IP) nos dispositivos gerenciados. Para isto, ele utiliza as operações transversais (transversal operations). Em alguns casos é necessário que a troca de informações seja em sentido inverso, isto é, o agente tem de passar informações para o gerente. O SNMP define a operação Trap para que um agente informe ao gerente a ocorrência de um evento específico (Cisco, 1996). www.esab.edu.br 51 Complementando o conteúdo estudado até aqui, vamos ler um pouco sobre novas e arquiteturas da Internet. Para iniciar, conceituemos computação em nuvem, também conhecida como cloud computing. Leiam o artigo abaixo e sintam-se a vontade de debater e questionar quaisquer dúvidas que surgirem nos fóruns. SOUSA, Flávio RC; MOREIRA, Leonardo O.; MACHADO, Javam C. Computação em nuvem: Conceitos, tecnologias, aplicações e desafios. II Escola Regional de Computação Ceará, Maranhão e Piauí (ERCEMAPI), p. 150-175, 2009. Disponível em: https://www. researchgate.net/profile/Javam_Machado/publication/237644729_ Computacao_em_Nuvem_Conceitos_Tecnologias_Aplicacoes_e_ Desafios/links/56044f4308aea25fce3121f3.pdf ESTUDO COMPLEMENTAR https://www.researchgate.net/profile/Javam_Machado/publication/237644729_Computacao_em_Nuvem_Conceitos_Tecnologias_Aplicacoes_e_Desafios/links/56044f4308aea25fce3121f3.pdf https://www.researchgate.net/profile/Javam_Machado/publication/237644729_Computacao_em_Nuvem_Conceitos_Tecnologias_Aplicacoes_e_Desafios/links/56044f4308aea25fce3121f3.pdf https://www.researchgate.net/profile/Javam_Machado/publication/237644729_Computacao_em_Nuvem_Conceitos_Tecnologias_Aplicacoes_e_Desafios/links/56044f4308aea25fce3121f3.pdf https://www.researchgate.net/profile/Javam_Machado/publication/237644729_Computacao_em_Nuvem_Conceitos_Tecnologias_Aplicacoes_e_Desafios/links/56044f4308aea25fce3121f3.pdf www.esab.edu.br 52 A arquitetura SNMP admite uma variedade de relacionamentos administrativos entre entidades que participam do protocolo. As entidades residentes nas estações gerenciadas e os elementos de rede que se comunica com outro elemento usando SNMP são chamados de entidades de aplicação SNMP. O processo que implementa e suporta as entidades de aplicação SNMP é chamado protocolo de entidades. A junção de um agente SNMP com algum conjunto arbitrário de entidades de aplicação SNMP é chamada de comunidade SNMP, cada qual nomeada através de uma cadeia de octetos. Uma mensagem SNMP, originada por uma entidade de aplicação SNMP que de fato pertence a comunidade SNMP referenciada pela mensagem, é chamada mensagem SNMP autêntica. O conjunto de regras existentes para que uma mensagem seja identificada como uma mensagem SNMP autêntica para uma comunidade SNMP qualquer é chamado de esquema de autenticação. A implementação de uma função que identifica mensagens autênticas de acordo com um ou mais esquemas de autenticação é chamado serviço de autenticação. Um efetivo gerenciamento das relações administrativas entre entidades de aplicação SNMP requer que os serviços de autenticação (pelo uso de criptografia ou outra técnica) sejam capazes de identificar mensagens autênticas com um alto grau de confiabilidade. Para qualquer elemento da rede, um subconjunto de objetos na MIB é chamado de visão da MIB SNMP. Um elemento do conjunto (READ-ONLY, READ-WRITE) é chamado de modo de acesso SNMP. A junção do modo de acesso SNMP com a visão da MIB é chamada de perfil da comunidade SNMP, que representa um privilégio de acesso específico para variáveis em uma MIB específica. A união da comunidade SNMP com o perfil da comunidade é chamada de política de acesso SNMP. Uma política de acesso representa um perfil de comunidade específico proporcionado por um agente SNMP de uma comunidade para www.esab.edu.br 53 outros membros desta comunidade. Todos os relacionamentos administrativos entre entidades de aplicação SNMP são definidos em termos das políticas de acesso. Para toda política de acesso SNMP, se o elemento de rede em que o agente SNMP especificado pela comunidade SNMP reside não contém a visão MIB que o perfil especifica então esta política é chamada política de acesso Proxy SNMP. O agente associado com a política de acesso Proxy é chamado de agente Proxy. A política Proxy é usualmente definida de duas maneiras: • Permite a monitoração e o controle dos elementos de rede que não são endereçáveis usando o protocolo de gerenciamento e o protocolo de transporte. Um agente Proxy provê uma função de conversão de protocolo permitindo a uma estação de gerenciamento aplicar um gerenciamento consistente em todos os elementos da rede, incluindo dispositivos como modens e multiplexadores, e outros que suportam diferentes estruturas de gerenciamento. • Protege os elementos da rede de elaboradas políticas de controle de acesso. Um agente Proxy pode implementar sofisticados controles de acesso, fazendo com que diversos subconjuntos de variáveis dentro de uma MIB se tornem acessíveis para diferentes estações de gerenciamento da rede, sem aumentar a complexidade do elemento de rede. REMOTE MONITORING PROTOCOL (RMON) O SNMP não é adequado para ambientes de redes corporativas constituídas de diversas redes locais conectadas através de outra de longa distância. Esses enlaces de rede de longa distância por operarem a taxas de transmissão inferiores as LAN que a interconectam, passam a ter grande parte da sua banda de transmissão ocupada para informações de gerenciamento. Uma solução encontrada paradirimir este problema foi o Remote MONitoring (RMON). O RMON oferece suporte à implementação de um sistema de gerenciamento distribuído, atribuindo função de monitor remoto aos diferentes elementos, como estações de trabalho, hubs, switches ou roteadores, das redes locais remotas [Waldbusser91, Carvalho97]. Cada elemento RMON tem como tarefa, coletar, www.esab.edu.br 54 analisar, tratar e filtrar informações de gerenciamento da rede e apenas notificar à estação gerente os eventos significativos e situações de erro. Se existirem múltiplos gerentes, cada elemento RMON deve determinar quais informações de gerenciamento devem ser encaminhados para cada gerente. Objetivos do RMON: • Reduzir a quantidade de informações trocadas entre a rede local gerenciada e a estação gerente conectada a uma rede local remota; • Possibilitar o gerenciamento contínuo de segmentos de redes locais, mesmo quando a comunicação entre o elemento RMON e a estação gerente estiver, temporariamente, interrompida; • Permitir o gerenciamento proativo da rede, diagnosticando e registrando eventos que possibilitem detectar o mau funcionamento e prever falhas que interrompam sua operação; • Detectar, registrar e informar à estação gerente condições de erro e eventos significativos da rede; • Enviar informações de gerenciamento para múltiplas estações gerentes, permitindo, no caso de situações críticas de operação da rede gerenciada, que a causa da falha ou mau funcionamento da rede possa ser diagnosticada a partir de mais de uma estação gerente. www.esab.edu.br 55 Os dispositivos de monitoramento remoto de rede (RMON) são instrumentos que existem com o propósito de gerenciar uma rede. Uma organização pode dispor de diversos destes dispositivos, um por segmento de rede, para gerenciar sua rede Internet. A especificação RMON é uma definição de uma MIB. O objetivo, contudo, é definir padrões de monitoração e interfaces para a comunicação entre agentes/gerentes SNMP. Objetivos da implementação de um dispositivo RMON (WALDBUSSER, 91): • Operação Off-Line: é a condição em que a estação gerenciadora não está em contato constante com o dispositivo RMON. Presta-se para desenhar redes de baixo custo de comunicação (acesso discado ou conexões com World Area Networks – WAN) ou para acidentes onde as falhas na rede afetam a comunicação entre a estação gerenciadora e os dispositivos RMON. Desta forma, o monitor é configurado para coletar estatísticas, fazer diagnósticos continuamente, mesmo se a conexão com o gerente não for possível ou apresentar falhas, e notificar a estação de gerenciamento se eventos excepcionais ocorrerem. • Monitoramento Preemptivo: se o monitor tiver recursos disponíveis poderão ser usados para executar diagnósticos continuamente e para analisar o desempenho da rede. Quando uma falha ocorrer, o monitor pode notificar a estação de gerenciamento e armazenar o histórico estatístico referente à falha, com o objetivo de se fazer um estudo mais profundo e permitir a detecção e reparo da falha. • Detecção de Problemas e Geração de Relatórios: o monitor pode ser configurado para reconhecer certas situações como condições de erro e checar continuamente por elas. Quando uma destas situações ocorrer, o monitor pode registrá-la e reportá-la à estação de gerenciamento. • Análise de Dados: por ser um dispositivo dedicado exclusivamente ao gerenciamento de rede e por estar localizado diretamente no segmento monitorado da rede, os dispositivos RMON podem fazer uma análise significativa dos dados que coletam, como determinar qual host gera maior tráfego ou mais erros na rede. www.esab.edu.br 56 • Múltiplos Gerentes: uma configuração de rede pode ter mais de uma estação gerente para dar mais confiabilidade, executar funções diferentes e prover capacidades de gerência para unidades diferentes dentro da organização. A qualquer tempo acessos concorrentes são permitidos para um recurso disponível em um agente. Esta é uma característica potencial para conflitos e pode gerar resultados inesperados. No caso de agentes RMON compartilhados podem surgir as seguintes dificuldades: • Requisições concorrentes podem exceder a capacidade do monitor para fornecer estes recursos. • Uma estação gerente pode capturar e ocupar recursos de monitor por um longo período de tempo, prevenindo seu uso por outras funções gerente desejadas por outras estações gerentes. • Recursos podem ser designados para uma estação gerente onde ocorreu uma falha e os recursos não foram liberados. Para proceder com esses problemas, uma combinação de características de resolução e prevenção é necessária. Ela pretende que uma simples característica na MIB RMON suporte estes requerimentos. Associado com cada tabela de controle está um objeto do tipo registro que identifica o proprietário de um registro particular da tabela e de funções associadas. O rótulo proprietário pode ser usado das seguintes formas: • Uma estação gerente pode reconhecer recursos próprios. • Um operador pode identificar a estação gerente que seja proprietária de um recurso em particular ou função e negociar para serem acessíveis para todos. • Um operador pode ter autoridade para liberar recursos que outro operador tenha reservado. A especificação sugere que o rótulo proprietário contenha um ou mais dos atributos: endereço IP, nome da estação gerente, nome do gerente de rede, localização ou telefone. Apesar do rótulo ser proveitoso, é importante ressaltar que o rótulo não tem ação como uma senha ou mecanismo de controle de acesso. www.esab.edu.br 57 Se múltiplo gerente de rede tem acesso à tabela de controle, uma maior eficiência pode ser alcançada pelo compartilhamento. Quando uma estação gerente quer utilizar certa função no monitor, ela precisa verificar a tabela de controle relevante para ver que função, tem sido definida por outra estação gerente. Neste caso, a estação gerente pode compartilhar a função simplesmente observando os registros de dados read-only associados com o registro de controle. Contudo, a estação gerente que seja proprietária de uma tabela de controle pode modificar ou apagar aquele registro a qualquer hora. Frequentemente, um monitor será configurado com um conjunto padrão de funções que serão setadas quando ele for inicializado. Os registros que definem estas funções são propriedades do monitor. Cada rótulo relevante é configurado com uma cadeia de nome “monitor”. DISPOSITIVO REMOTE MONITORING (RMON) O dispositivo Remote MONitoring (RMON) É um monitor remoto que pode ser configurado como uma função disponível em um sistema ou como um dispositivo dedicado. Configurado como dispositivo dedicado, o monitor é capaz de efetuar operações mais complexas. A definição da MIB RMON contém características que suportam controle extensivo da estação de gerenciamento. Estas características dividem-se em duas categorias: 1. Configuração: um monitor remoto necessitará ser configurado para coletar dados em tipo e forma. A MIB é organizada em grupos funcionais, cada qual terá uma ou mais e tabelas de dados e tabelas de controle (que contém parâmetros que descrevem o dado na tabela de dados, somente para leitura). Assim, a estação gerente envia os parâmetros apropriados para configurar o monitor remoto para coletar os dados desejados. Os parâmetros são configurados pela adição de um novo registro na tabela ou alterando uma existente. Desse modo, funções para serem executadas pelo monitor são definidas e implementadas na tabela. Uma tabela controle pode conter objetos que especifiquem a origem dos dados coletados, tipos de dados. Para modificar qualquer parâmetro na tabela de controle é necessário primeiro invalidar a entrada, retirando-a daquela www.esab.edu.br 58 entrada e de todos os registros associados em tabelas de dados. A estação gerente pode então criar um novo registro controle com os parâmetros modificados. O mesmo mecanismo
Compartilhar