CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA

Tamanho: px
Começar a partir da página:

Download "CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA"

Transcrição

1 CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES RAFAEL FERRAZ DOS SANTOS RODRIGO NAMBA DAKE NEHMO MONITORAMENTO DE HARDWARE POR REDE LINS/SP 1º SEMESTRE/2013

2 CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES RAFAEL FERRAZ DOS SANTOS RODRIGO NAMBA DAKE NEHMO MONITORAMENTO DE HARDWARE POR REDE Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins, para obtenção do Título de Tecnólogo em Redes de Computadores. Orientador: Prof. Naylor Garcia Bachiega LINS/SP 1º SEMESTRE/2013

3 RAFAEL FERRAZ DOS SANTOS RODRIGO NAMBA DAKE NEHMO MONITORAMENTO DE HARDWARE POR REDE Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins, como parte dos requisitos necessários para a obtenção do título de Tecnólogo em Redes de Computadores sob orientação do Prof. Naylor Garcia Bachiega. Data de aprovação: / / Orientador (Naylor Garcia Bachiega) Examinador 1 (Nome do Examinador) Examinador 2 (Nome do Examinador)

4 Aos meus pais, Wilson Ferraz dos Santos e Maria Cristina Ferraz dos Santos. À minha esposa, Lilia R. F. Cardoso, pelo apoio e dedicação. Rafael Ferraz dos Santos Dedico este trabalho a toda a minha família, principalmente à minha esposa, Tatiana Fernandes Montanha Dake, que tanto me incentivou e ao meu falecido pai, Minoru Dake, a quem muito devo em minha vida. Rodrigo Namba Dake

5 AGRADECIMENTOS Nesta oportunidade deixo meu profundo agradecimento à minha esposa, Lilia, pelo profundo apoio e paciência. Agradeço ao Prof. Naylor Garcia Bachiega pela orientação e amizade, e também ao Prof. Me. Fábio Lúcio Meira, pela amizade desenvolvida nos anos de estudo. Agradeço ao meu amigo e parceiro de trabalho, Rodrigo Namba Dake, pelo esforço conjunto para a produção desta obra. Rafael Ferraz dos Santos Agradeço a todos os professores e à família. Em especial ao amigo Maurício Calligaris que muito me ajudou em vários momentos do trabalho. Rodrigo Namba Dake

6 RESUMO Administrar uma rede de computadores é uma tarefa que envolve várias rotinas, que vão desde a verificação dos componentes da rede até a criação de uma documentação contendo informações sobre os mesmos. A proposta desse trabalho é proporcionar a ideia base para o desenvolvimento de uma ferramenta capaz de auxiliar o administrador de redes de computadores, na tarefa de manter um inventário das estações de trabalho que compõem seu ambiente, bem como os componentes internos e suas características. Visa-se a criação de um sistema armazenado em um servidor na rede local que obtém informações dos vários computadores pertencentes à rede, através de um script alocado nas estações clientes. Tal script foi desenvolvido utilizando a linguagem Perl de programação, que proporciona uma fácil utilização para implementação e correção. Esse script criará, assim, um arquivo de texto contendo todas as informações coletadas e enviará a uma base de dados que permitirá verificar alterações nas configurações físicas de cada equipamento através da interface do phpmyadmin, uma ferramenta bastante utilizada para administrar bancos de dados. Este projeto apresenta conceitos básicos sobre computadores, redes de computadores, e apresenta todas as tecnologias utilizadas no decorrer da pesquisa e desenvolvimento das partes do sistema encontradas neste trabalho. Palavras-chave: Computadores. Administração de Redes.

7 ABSTRACT Managing a computer network is a task that involves various routines, ranging from verification of network components to create a documentation containing information about them. The purpose of this study is to provide the basic idea for the development of a tool to assist the networks computer administrator, with the task of maintaining an inventory of workstations that compose their environment as well as internal components and their characteristics. The aim is to create a system stored on a server in the local network that obtains information from multiple computers within the network through a script allocated on the client stations. This script was developed using the Perl programming language, which provides an easy to use implementation and correction. This script creates thus a text file containing all the information collected and will send it to a database which will allow the administrator to verify changes of physical configuration of each device through the interface phpmyadmin a widely used tool to manage databases. This project presents the basic concepts of computers, computer networks, and features all the technologies used during the research and development of parts of the system that is found in this work. Keywords: Computers. Network Management.

8 LISTA DE ILUSTRAÇÕES Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura

9 SUMÁRIO RESUMO... 5 Introdução Computadores Hardware Software Sistema Operacional Windows Linux Redes de Computadores Modelo Cliente-Servidor Modelo de Referência OSI Modelo de Referência TCP/IP Tecnologias utilizadas HTML Servidor HTTP Apache Funcionamento PHP Perl Banco de dados Schtasks Implementação LAMP Debian Linux Apache PHP MariaDB... 54

10 3.2 Instalação do módulo mysql no cliente windows Agendamento de execução do script Agendamento no Windows por Schtask Agendamento no Linux por Cron Resultados Conclusão ANEXO A - Script Windows ANEXO B Script Linux ANEXO C Agendar execução do script no Linux ANEXO D Arquivo de saída do script Referências Bibliográficas... 96

11 11 INTRODUÇÃO Atualmente há uma enorme quantidade de tecnologias que auxiliam o homem nas mais diversas atividades. Todavia, com o surgimento da informática, houve um grande ganho em certas atividades, pois muitas das tecnologias envolvidas automatizam processos e executam ciclos de processo de forma extremamente rápida, acima da capacidade humana. De fato, os recursos computacionais trouxeram muitos ganhos para a humanidade, e estão atualmente tão infiltrados no cotidiano que é difícil encontrar uma atividade em que a tecnologia da informação não esteja envolvida direta ou indiretamente. É comum no cenário empresarial uma situação em que há muitos computadores interligados trocando informações entre si e até mesmo com outros computadores em locais distantes, normalmente controlados por um ou mais computadores centrais denominados servidores, caracterizando assim uma rede de computadores. Normalmente, quanto maior uma empresa é, mais computadores e equipamentos de tecnologia esta tende a possuir, para que a grande quantidade de funcionários tenha condições de executar suas funções dentro da empresa com maior desempenho. Todavia, quanto maior o volume de equipamentos de informática, mais difícil é a tarefa de gerenciar estes equipamentos e manter um inventário atualizado dos componentes tecnológicos da empresa. Com base nesse problema, esse trabalho pretende o desenvolvimento de um sistema que permita criar um inventário dos componentes internos de cada computador presente em uma rede de computadores, que permitirá, entre outros recursos, gerar relatórios periódicos para comparação com relatórios anteriores, visando diferenças nas configurações internas dos computadores desta rede. O capítulo um apresenta conceitos base sobre computadores e seus componentes principais, e em seguida apresenta o conceito de redes de computadores. No capítulo dois são apresentadas as tecnologias de software e linguagens de programação utilizadas para o desenvolvimento deste trabalho. O capítulo três dispõe os métodos utilizados para a implementação das tecnologias apresentadas anteriormente, apresentando exemplos de código e configurações

12 12 quando necessário. Todos os códigos de implementação estão dispostos na área de Anexos, no final deste documento.

13 13 1 COMPUTADORES Definir o significado de uma palavra pode ser algo complicado, especialmente porque a definição não depende apenas de quem está falando, mas também de quando se está falando. Atualmente, um computador é algo que você pode facilmente carregar, ou ao menos pode prontamente levantar com as próprias mãos. Há cerca de 30 anos atrás, seria necessária a ajuda de uma ou duas pessoas para carregar um computador e, há cerca de 60 anos, um computador ocuparia uma sala inteira. (ROSCH, 2003) Cada um dos três últimos séculos passados foram marcados por uma determinada tecnologia. O século XVIII foi marcado pelos grandes sistemas mecânicos que acompanharam a Revolução Industrial. O XIX foi marcado pelo surgimento das máquinas a vapor. Quanto ao século XX os avanços tecnológicos mais marcantes se deram no campo da aquisição, processamento e distribuição de informações. Dentre os inúmeros outros desenvolvimentos, a civilização humana presenciou a instalação das redes de telefonia em escala global, a invenção do rádio e da televisão, o nascimento e evolução assombrosa da indústria da informática e o lançamento dos satélites de comunicação na órbita terrestre. (TANENBAUM, 2003) Estritamente falando, um computador é algo que serve para computar ou calcular. Todavia, analisando a palavra mais a fundo, ela não designa necessariamente uma máquina eletrônica. Inicialmente o termo computador foi aplicado à pessoas cuja função era realizar cálculos matemáticos, utilizando papel, lápis ou caneta e sua habilidade matemática. As primeiras máquinas designadas para fins de realizar cômputos eram chamadas de calculadoras, não importando quão elaboradas elas pudessem ser. Charles Babbage ( ), um cientista e matemático inglês, conceituou uma máquina que pudesse substituir os computadores humanos. Babbage idealizou sua máquina, a qual chamou de máquina analítica, como tendo três vantagens sobre os computadores humanos: a máquina eliminaria os erros de cálculo, seria mais rápida e mais barata. Ele estava certo sobre os dois primeiros itens, mas como a máquina dependia de técnicas bastante avançadas e caras na época, Babbage nunca chegou a ver sua invenção concretizada. Todavia a máquina não era chamada de computador na

14 14 época de Babbage, estando o termo reservado às pessoas que desempenhavam a função de calcular. (ROSCH, 2003) O termo computador foi primeiramente aplicado à uma máquina somente depois do surgimento da eletricidade. Uma das primeiras máquinas nessa categoria foi financiada pela IBM (International Business Machines) e recebeu o nome de Automatic Sequence Controlled Calculator, popularmente conhecida como Mark I. Pesava cerca de 5 toneladas e era constituída por peças. (ROSCH, 2003) Desde então, os computadores, agora não mais designando pessoas que calculavam, mas sim máquinas que calculavam, tiveram uma imensa evolução, ficando com dimensões cada vez menores e mais leves, e aumentando sua capacidade de processamento de dados. Deixaram de ser uma exclusividade dos grandes laboratórios e passaram a fazer parte da vida das pessoas comuns. Um computador pode ser dividido em dois componentes básicos fundamentais: hardware e software. 1.1 HARDWARE O termo Hardware designa todo componente físico de um computador, ou seja, gabinete, monitor, mouse, teclado, processador, placa-mãe, etc. Em outras palavras, é todo componente ou peça física que pode efetivamente ser tocada. (FATEC GUARATINGUETÁ, 2011) Um computador possui vários componentes físicos importantes para o seu funcionamento, que são apresentados nos itens a seguir: Processador: Segundo Morimoto (2007), o processador ou microprocessador, também conhecido como CPU (Central Processing Unit) pode ser analogamente comparado ao cérebro humano. Esse é o componente responsável por processar a maior parte das informações em um computador. Microprocessadores são os componentes físicos mais complexos de um computador e, muitas vezes, o componente mais caro. Memória: Memória pode designar uma placa ou chip com circuitos eletrônicos cuja função principal é armazenar informações à curto ou longo prazo. Pode haver diversos tipos diferentes de memória em um computador, e um dos principais é chamado de Memória RAM

15 15 (Random Access Memory). Esse tipo de memória é normalmente uma placa com vários circuitos eletrônicos e chips usada pelo processador para armazenar dados e programas que estão em execução. A quantidade de memória RAM disponível tem impacto direto no desempenho do computador, visto que se não houver memória RAM suficiente, o processador passa a usar memórias alternativas que possuem velocidade de leitura e escrita de informações muito inferiores à memória RAM, como, por exemplo, a memória swap. A principal característica da memória RAM é que esta é volátil, ou seja, quando há interrupção na alimentação de energia elétrica, todas as informações gravadas na memória RAM são permanentemente perdidas. É por esse motivo que é necessário carregar novamente todas as informações e programas para a memória RAM sempre que o computador é ligado. (MORIMOTO, 2007) Disco Rígido: O disco rígido ou HD (Hard Disk) é outro componente de grande importância em um computador. Ao passo que a memória RAM é como uma mesa de trabalho que é limpa sempre que o computador é desligado, o HD é como um grande arquivo de escritório, onde todos os programas e demais arquivos do sistema permanecem armazenados. (MORIMOTO, 2007) Na maioria das vezes até mesmo o próprio sistema operacional do computador está armazenado no HD. O disco rígido é, basicamente, uma memória permanente, pois os arquivos e informações nele gravados permanecem até que sejam excluídos pela ação de um usuário ou de um programa. O HD mantém os dados armazenados em discos magnéticos que podem guardar as informações por vários anos. Esses discos giram à uma velocidade alta e um conjunto de cabeças de leitura instaladas em braços mecânicos móveis se encarrega de ler ou gravar informações em toda a extensão dos discos. (MORIMOTO, 2007) Placa de Vídeo: Ainda de acordo com o exposto por Morimoto (2007), a placa de vídeo é um importante componente que, dependendo do uso do computador, pode afetar diretamente no desempenho do mesmo, pois concentra todo o trabalho pesado do processamento gráfico, aliviando assim o processador principal. Atualmente as placas

16 16 de vídeo fornecem suporte para imagens 3D, e possuem grande capacidade de processamento de imagens. Placa-mãe: Ainda de acordo com o exposto por Morimoto (2007), a placa de vídeo é um importante componente que, dependendo do uso do computador, pode afetar diretamente no desempenho do mesmo, pois concentra todo o trabalho pesado do processamento gráfico, aliviando assim o processador principal. Atualmente as placas de vídeo fornecem suporte para imagens 3D, e possuem grande capacidade de processamento de imagens. 1.2 SOFTWARE Os componentes físicos de um computador são bons para armazenar e processar informações, mas eles não podem fazer nada sozinhos sem um conjunto de instruções para seguir. Em todas as situações há uma pessoa fornecendo instruções para o computador sobre o que fazer e como agir em determinadas situações, seja o usuário utilizando o mouse ou o teclado ou o programador que escreveu o conjunto de instruções que compõem o programa ou sistema operacional que está sendo utilizado. Para esse fim há a necessidade dos Software, que são um grande conjunto de instruções que dizem ao hardware quais procedimentos adotar para as próximas ações, e permitem ao computador executar coisas úteis. (MORIMOTO, 2007) No dia a dia, ao utilizar um computador, na esfera dos software é utilizado um sistema operacional, que é o software responsável por passar as informações para o hardware, e sobre o sistema operacional são utilizados os software aplicativos que são responsáveis por desempenhar as várias tarefas possíveis em um computador. 1.3 SISTEMA OPERACIONAL O sistema operacional é normalmente um software de grandes proporções responsável por receber as instruções de um utilizador ou, na maioria das vezes, de um software aplicativo que está sendo utilizado por uma pessoa e convertê-las em instruções para o hardware do computador. Um bom sistema operacional deve ser invisível para a pessoa que o está

17 17 utilizando. Sua função é detectar e utilizar o hardware do computador de forma eficiente, fornecendo uma base sólida e estável sobre a qual os programas utilizados no dia a dia possam ser executados. Segundo Linus Torvalds, as pessoas não usam o sistema operacional, usam os programas instalados no computador. Quando se percebe que está usando um sistema operacional, é sinal de que alguma coisa não está funcionando como deveria. (MORIMOTO, 2007) O sistema operacional permite que um programador adicione funções úteis sem se preocupar com o tipo exato de hardware presente no computador que executará esse software. O programa apenas informa, por exemplo, que deseja mostrar uma janela na tela. Qual o modelo de placa de vídeo instalada no computador e quais os passos para executar a ação desejada ficam por conta do sistema operacional. (MORIMOTO, 2007) O sistema operacional de um computador é também responsável por coordenar o uso dos recursos em geral, tal como o uso da memória RAM e a forma como as informações serão escritas no disco rígido do computador. Os sistemas operacionais passaram por uma grande evolução ao longo das últimas décadas, assim como os computadores em geral. No cenário atual há dois sistemas operacionais particularmente expressivos: Windows e Linux. O Windows é sem dúvida alguma muito popular nas estações de trabalho pessoais e computadores domésticos. No que se refere ao Linux, apesar de nos últimos anos este sistema ter ganhado um certo espaço no mercado de computadores pessoais, sua maior expressividade está na utilização nos mais variados servidores, que são computadores destinados a fornecer serviços para outros computadores. A seguir há uma explanação mais detalhada quanto à esses dois sistemas operacionais Windows Em meados da década de 70, época em que era comum a utilização de papel carbono e mimeógrafos, uma dupla de entusiastas via um futuro próspero na computação pessoal. No ano de 1975, Bill Gates e Paul Allen formam uma parceria chamada Microsoft, e como toda parceria, esta se inicia pequena, no entanto, com uma grande visão, colocar um computador em cada mesa e em cada casa. (MICROSOFT, 2012)

18 18 Já no ano de 1980, Gates e Allen contratam um antigo colega de classe de Gates em Harvard, Steve Ballmer, para que auxiliasse a cuidar da companhia. Ainda no mesmo ano, a empresa IBM faz contato com a Microsoft sobre um projeto com o codinome Chess (Xadrez - traduzido literalmente). Em resposta, concentram-se num novo sistema operacional (um software que gerencia, ou controla, o hardware do computador e também serve para fazer a ligação entre o hardware e os programas a serem utilizados). Eles o chamaram de MS-DOS, Microsoft Disk Operating System (Sistema Operacional em Disco da Microsoft). Quando o IBM PC com MS-DOS começou a ser vendido, em 1981, ele apresentou uma linguagem totalmente nova para o público em geral, tornando comandos como o C: algo comum no dia a dia das pessoas. (MICROSOFT, 2012) Visando tornar o sistema mais simples à todas as pessoas, a Microsoft começa a trabalhar num projeto intitulado Interface Manager (Gerenciador de Interface), no entanto escolhem um outro nome, Windows (Janelas), por descrever melhor as caixas ou janelas que são a grande inovação do novo sistema. O sistema Windows foi anunciado em 1983, mas leva um grande tempo para ser desenvolvido, sendo chamado, por muitos, de vaporware, um software anunciado, mas que nunca é/foi desenvolvido. Em 20 de novembro de 1985, dois anos após o anúncio inicial, a Microsoft começa a vender o Windows 1.0. Assim, ao invés de digitar comandos, bastaria mover o mouse (rato tradução literal) para apontar e clicar nas telas ou janelas. O Windows 1.0 requeria um mínimo de 256 quilobytes (KB), duas unidades de disquete de dupla face e uma placa adaptadora gráfica. (MICROSOFT, 2012) Na data de 9 de dezembro de 1987, foi lançado o Windows 2.0, possuindo ícones na área de trabalho e memória expandida, é nesse momento que os primeiros Software são programados por desenvolvedores com base no sistema operacional Windows. E também, é a primeira vez que é utilizado o Painel de Controle nos sistemas Windows. O Windows 2.0 foi desenvolvido para a plataforma Intel 286. Quando o processador Intel 386 foi lançado, o Windows/386 veio logo em seguida, para aproveitar os recursos de memória estendida. (MICROSOFT, 2012) No dia 20 de maio de 1990, foi lançado o Windows 3.0 seguido pelo Windows 3.1, em Já nessa versão 3.0, as características gráficas começam a se assemelhar ao que vemos atualmente. Graças à utilização da Memória Virtual para

19 19 melhorar o gráfico, obtém-se um melhor desempenho, com gráfico de 16 cores e ícones aperfeiçoados. É também, nesta versão, que o Gerenciador de Programas, o Gerenciador de Arquivos e o Gerenciador de Impressão são apresentados como ferramentas de inovação. (MICROSOFT, 2012) A popularidade do sistema aumenta com o lançamento de um kit para desenvolvimento de software, o SDK (Software Development Kit), que auxiliou os desenvolvedores a focarem-se mais no desenvolvimento de programas do que no desenvolvimento de drivers de dispositivo. E com o lançamento do Windows for Workgroups 3.11, integra-se o suporte a grupos de trabalho ponto a ponto e redes de domínio, além de demonstrar as primeiras evoluções da computação cliente/servidor. (MICROSOFT, 2012) Em 24 de agosto de 1995, é obtido o recorde de 7 milhões de cópias vendidas com o Windows 95, somente nas primeiras 5 semanas. Com a ascensão da internet, o Windows 95 já vem com redes dial-up, e no segundo semestre do mesmo ano, é lançada a primeira versão do navegador Internet Explorer. Com uma visão mais voltada a consumidores, a Microsoft lança o Windows 98, o último sistema operacional desenvolvido com base no MS-DOS. Já visando uma mudança nos aspectos gráficos e técnicos, lançou-se o Windows Me, no entanto seria o último sistema a ser baseado no kernel do Windows 95, passando assim a utilizar o kernel do Windows NT e Windows 2000, que foi lançado com o intuito de substituir o Windows 95, Windows 98 e Windows NT Workstation 4.0, trazendo maior estabilidade, facilidade de uso e suporte a computação móvel. (MICROSOFT, 2012) Com disponibilidade em até 25 idiomas, o Windows XP foi lançado em 25 de outubro de 2001, tendo o sistema de ajuda e suporte unificado e sendo disponibilizado em versões Home Edition e Professional. Houveram variações com o passar dos anos, sendo elas a elaboração de um sistema com suporte a processadores de 64 bits, versão para multimídia e uma versão para Teblet Pc. (MICROSOFT, 2012) Com um visual mais moderno, design distinto e combinações de diferentes recursos, o Windows Vista foi lançado em 2006, visando um público móvel maior, pois a venda de notebooks e laptops aumentou consideravelmente em relação aos desktops e em outubro de 2009 foi lançado o Windows 7. Possui suporte a

20 20 dispositivos touch, alterando a maneira como se interage com as janelas e melhor suporte a redes sem fio. Atualmente, há a discussão sobre computação nas nuvens e a tendência exercida sobre a utilização de s, redes sociais e mensageiros instantâneos, enquanto uma nova versão intitulada Windows 8 está sendo desenvolvida. (MICROSOFT, 2011) Linux Em 1991, Linus Torvalds, um estudante finlandês, deu início a um projeto de escrita de um kernel para um sistema operacional próprio. Seu projeto tinha por objetivo criar um sistema que substituísse o Minix, sistema amplamente utilizado nas Universidades da época, com as mesmas funcionalidades e com um pequeno diferencial, que não custasse nada, inclusive para ele mesmo. Após escrever o primeiro projeto de kernel, o kernel 0.02, disponibilizou-o na Usenet, a predecessora da atual internet, para que outras pessoas pudessem baixálo e assim utilizá-lo e, se possível, ajudá-lo a melhorar o projeto. Nesse primeiro passo, não tão somente, criou um clone substituto do Minix, mas sim uma verdadeira comunidade de trabalho espalhada pelo mundo todo, o que fez com que seu tal sistema chegasse a um ponto de estabilidade e usabilidade que o possibilitava fazer frente a sistemas proprietários dos tipos mais sofisticados, nos mais diversos campos de atuação, sendo capaz de utilizar seus próprios erros, e os da concorrência, para se aperfeiçoar. Por tal motivo, pode-se afirmar que o sistema operacional Linux é um sistema inteligente, mesmo estando limitado aos recursos atuais de inteligência artificial, bem como um sistema com desenvolvimento inteligente, devido aos fatores técnicos e relacionamento das equipes de desenvolvimento. Por isso, diz-se que o Linux é descendente dos antigos sistemas UNIX, e não um clone como muitos afirmam que seja. Outro ponto importante a ser abordado quanto ao Linux é que a nomenclatura correta a ser utilizada é GNU/Linux, dada a herança de comandos e ferramentas que possui oriundas do sistema GNU, desenvolvido por Richard Stallman e sua FSF (Free Software Foundation). Com base em tais fatos, pode-se, também, considerar a ideia de que o Linux seja a concretização, na forma de um sistema operacional estável, de toda a filosofia

21 21 da FSF, que se baseia nas quatro liberdades do software livre. São essas: Liberdade número zero: executar o programa, qualquer que seja o propósito; Liberdade número um: estudar como o programa funciona para adaptálo às suas necessidades. Para tanto, é pré-requisito ter acesso ao código fonte do programa, desenvolvido por seus criadores; Liberdade número dois: redistribuir cópias de modo que você possa ajudar o seu próximo; Liberdade número três: aperfeiçoar o programa e disponibilizar os resultados, de modo que toda a comunidade se beneficie. O acesso ao código fonte é, novamente, um pré-requisito; De uma forma abrangente e simples, pode-se ver que as principais características do Linux satisfazem cada uma das liberdades citadas. Sendo um sistema com código fonte aberto, é possível realizar modificações em um programa, ou no próprio sistema, visando a otimização ou a correção de falhas de segurança. Com o fácil acesso ao código, foram criadas comunidades de programadores independentes que interagem com os desenvolvedores oficiais. Dessa forma, correções e métodos de otimização do software são aplicados em espaço reduzido de tempo, ao contrário do que ocorre com o software proprietário. A documentação acessível propicia o fator segurança, pois erros no código são encontrados e consertados rapidamente. Por fim, o sistema é gratuito e as licenças nele utilizadas são regidas pelo modelo GPL (General Public License). Mesmo nas situações nas quais são cobrados os manuais e as mídias com o sistema e seus pacotes, o valor total do sistema e dos Software agregados chega a representar ¼ do valor de sistemas proprietários e Software equivalentes. Atualmente, muitas empresas vêm adotando o uso de sistemas Linux, seja por sua flexibilidade ou por seu custo-benefício. (CARMONA, 2007) Uma curiosidade sobre o Linux, não se referindo ao sistema em si ou seu conteúdo, é o logo adotado por seu criador, Linus Torvalds, um pinguim. Chamado de TUX, a mascote foi adotada após uma viagem de Linus ao hemisfério sul, onde encontrou um pinguim (não tão semelhante ao do logo), e quando tentou acariciá-lo, levou uma bicada no dedo. Mesmo não possuindo uma referência lógica entre os fatos, o logo simboliza the carefree attitude of total movement. (RHASAN, 2005)

22 Distribuições Ao conjunto constituído pelo kernel, comandos e ferramentas e outros aplicativos e utilitários dá-se o nome de distribuição. Uma distribuição Linux, é um projeto que utiliza o kernel do Linux, e possui diversas modificações e especificações, bem como toda uma diretriz e propósitos seguidos pelos desenvolvedores, a comunidade e os usuários do sistema. Existem mais de 350 distribuições conhecidas atualmente, com diversos propósitos e enfoques. No entanto, a maioria delas é baseada em outras distribuições conhecidas como mega distribuições, que vêm se mantendo ao longo dos anos através de patrocinadores e mantenedores dos projetos. Algumas distribuições que se enquadram como sendo mega distribuições são o Debian, Slackware, Red Hat e Suse. Oriundas dessas, temos as mais conhecidas Ubuntu e Linux Mint, baseados em Debian, Vector Linux e Slax, baseados em Slackware, Fedora, baseado em Red Hat e Open Suse, versão gratuita do Suse. (CARMONA, 2007) Red Hat Linux O Red Hat Linux, assim como o Slackware Linux, é uma das distribuições mais antigas. Até o mês de dezembro de 2003, manteve-se com o mesmo nome, mudando apenas o número da versão a que se refere. Após este marco, adotou o nome de Red Hat Enterprise Linux, sendo recomendado para servidores, passando a ser mais restritivo e cobrando por suporte ao sistema operacional. Nesse mesmo tempo, deu origem à distribuição Fedora Core, mais voltado para desktops e usuários finais, que também possui uma versão paga. O termo Red Hat refere-se à divisão dos grupos hacker dos Estados Unidos e Europa, em relação à sua orientação, sendo Black Hats os hackers de má índole, ou crackers, os White Hats os hackers de boa índole e os Grey Hats os hackers que não assumiam uma tendência, vivendo assim no limiar entre outros. Os pacotes de instalação do Red Hat Linux são os RPM, que agem de forma a tornar a instalação e configuração de aplicativos e ferramentas simples e rápida. Este padrão de pacotes também é utilizado pelo Fedora Core, Suse Linux e Mandriva Linux. (CARMONA, 2007)

23 Suse Linux A distribuição Suse Linux pertenceu à uma empresa alemã com o mesmo nome da distribuição, SuSE. Atualmente ela é propriedade da empresa Novell, que a mantém. O nome SuSE refere-se ao termo alemão Software und System Entwicklung (Desenvolvimento de Software e Sistemas) que era o ramo ao qual a antiga empresa era voltada. A intenção inicial do Suse quando criado por 4 estudantes universitários em 1992, era criar um sistema customizado para seus clientes, com base no Slackware Linux. Contudo, pela falta de ferramentas de configuração mais amigáveis no Slackware, o grupo decidiu basear-se no Jurix Linux, uma distribuição não mais existente, que possuía muitas ferramentas e aplicações muito mais indutivas e amigáveis. A distribuição, atualmente, intercala ferramentas GNU e Software licenciados, ou que não são regidos pela licença GPL, o que a tornou uma distribuição GNU/Linux comercial, assim como o Red Hat Enterprise Linux. (CARMONA, 2007) Slackware Linux Uma das mais antigas distribuições ainda existentes, foi idealizada e desenvolvida por Patrick Volkerding, e foi concebida com a ideia de ser o mais fiel possível ao kernel original criado por Linus Torvalds. Baseando-se no conceito KISS (Keep It Simple, Stupid), rejeita ferramentas de configuração que possam esconder do usuário o real funcionamento do sistema. Além disso, o Slackware é composto somente por aplicativos estáveis, mesmo que estes sejam versões bem desatualizadas, mas isso que o faz manter-se estável. Como dito anteriormente, o mesmo não possui uma ferramenta de instalação de pacotes automática, tendo que muitas vezes compilar o pacote e instalá-lo de forma manual, o que também o torna uma das distribuições mais estáveis, pois a compilação de uma aplicação feita para o próprio sistema e hardware correntes são as melhores escolhas para quem busca um ganho de desempenho e produtividade pelo mesmo. No entanto, trabalha com pacotes TGZ, que é um pacote aceito por todas as distribuições.

24 24 Devido a esses fatores, o Slackware muitas vezes é tido como uma distribuição ruim para usuários iniciantes. (CARMONA, 2007) Debian Linux Debian é, ao mesmo tempo, o nome de uma distribuição não comercial do kernel GNU/Linux e de um grupo de desenvolvedores voluntários espalhados pelo mundo, que o mantêm. É chamado, usualmente, de Debian GNU/Linux, por ser fortemente estruturado tanto na filosofia quanto na concepção e utilização de ferramentas do projeto GNU, o que faz com que seja a distribuição oficial do projeto. O Debian foi criado em 1993, pelo estudante Ian Murdock, e começou como um manifesto filosófico antes de se transformar em sistema utilitário. Ian apelava em seu Manifesto Debian à criação de uma distribuição GNU/Linux que se mantivesse aberta, de acordo com o espírito do Linux, criado por Linus Torvalds, e do projeto GNU da FSF de Richard Stallman. Seu sistema de empacotamento é o dpkg, sendo um sistema que, nos últimos anos, ganhou muita notoriedade devido à sua alta taxa de compactação. O resultado da compactação desse sistema é um arquivo DEB. Em 1996, Bruce Perenes substituiu Ian Murdock como líder do projeto, deixando o projeto em O ciclo de desenvolvimento das versões dessa distribuição passa por três fases: Unstable (instável), Testing (teste) e Stable (estável). Uma notação interessante é que quando uma versão está na fase testing é identificada por nomes retirados dos personagens do filme Toy Story. Quando promovidas a stable passam a ser conhecidas por números, e toda versão unstable é conhecida como Sid. Como exemplo, pode-se encontrar a primeira versão stable do Debian Linux, a versão 1.1, de 1996 que, quando testing, possuía o nome de Buzz, referenciando o personagem Buzz Lightyear. Tudo no Debian tem como princípio a estabilidade. A versão demora muito tempo para se tornar estável, e é apenas composta por aplicações, pacotes e kernel que sejam estáveis, mesmo que suas versões não sejam as mais atuais. (CARMONA, 2007)

25 APT (Advanced Package Tool) Considerando-se os gerenciadores de pacotes, o APT, dentre todos os existentes, é o mais maduro. Utilizando esta ferramenta pode-se até mesmo atualizar um sistema inteiro, com seus Software, através de uma única linha de comando. Um outro pacote que utiliza os mesmos recursos é o APT-RPM. Originalmente o APT suporta apenas pacotes.deb, no entanto esta outra possibilita a utilização de pacotes.rpm como no gerenciador YUM, utilizado pela distribuição Fedora. O apt-get faz a cópia e atualização de pré-requisitos de um espelho contido no arquivo /etc/apt/sources.list, o que auxilia e torna mais fácil a instalação e atualização de Software e pacotes nos sistemas baseados na distribuição Debian. Para configurar o arquivo, é necessário editá-lo e inserir as URL's que apontam para um arquivo, CD-ROM, servidor HTTP ou servidor FTP, onde se encontram os pacotes. As URL's podem ser de uma distribuição específica (na verdade, um nome de versão da distribuição) ou genéricas (sendo divididas entre os pacotes estáveis e experimentais). (NEMETH; SNYDER; HEIN, 2004) Assim, compõe-se uma URL com as seguintes informações: Formato geral: tipo uri / distribuição [componentes] A Figura 1.1 apresenta um exemplo de arquivo /etc/apt/sources.list. De fato, hardware e software são conceitos fundamentais sobre computadores modernos e constituem a base desta ciência. Neste capítulo foram introduzidos estes conceitos fundamentais, assim como foi apresentado um pouco de sua origem. No capítulo seguinte serão abordados com mais ênfase as tecnologias que serão utilizadas no desenvolvimento da ferramenta proposta por esse trabalho.

26 26 Figura Apresentação do arquivo de configuração de repositórios Fonte do autor 1.4 REDES DE COMPUTADORES Nesse capítulo será apresentado um panorama das redes de computadores, explicando o que é uma rede de computadores, como ela é composta e quais são os equipamentos mais comuns que compõem uma rede de computadores. Também será apresentado o conceito de divisão de uma rede de computadores em camadas, e para isso serão apresentados dois principais modelos de divisão em camadas, o modelo de referência OSI e o modelo de referência TCP/IP. Apesar de ser relativamente muito jovem em relação à outros setores industriais, como o setor de automóveis ou aeronaves, a indústria da informática vivenciou um desenvolvimento espetacular em um curto intervalo de tempo. (TANENBAUM, 2003) Nos vinte primeiros anos de sua existência os sistemas computacionais eram centralizados. Era comum que uma empresa de médio porte ou uma universidade possuíssem apenas um ou dois computadores, e as grandes instituições possuíam não mais do que algumas dezenas deles. Eram equipamentos de grandes proporções que chegavam a ocupar o espaço de uma sala inteira. A ideia de que em apenas vinte anos existiriam milhões de computadores igualmente avançados e do tamanho de um selo postal não passava de ficção científica. (TANENBAUM, 2003)

27 27 Com a consequente fusão entre computadores e comunicações, o conceito de centro de computação como sendo uma sala com um grande computador para onde os usuários levam seus trabalhos para serem processados torna-se completamente obsoleto. Este velho modelo passa a ser substituído pelas chamadas redes de computadores, onde os trabalhos são realizados por um grande número de computadores independentes, mas interconectados. (TANENBAUM, 2003) Uma rede de computadores é um conjunto de dois ou mais computadores autônomos interligados entre si através de um meio físico. Uma rede de computadores pode incluir não apenas computadores, mas uma série de outros equipamentos diferentes. Diz-se que dois computadores estão interconectados quando podem trocar informações entre si. (TANENBAUM, 2003) Na realidade de uma empresa de pequeno porte é comum que todos os computadores estejam em um único escritório ou em um mesmo prédio. No caso de empresas de grande porte, normalmente os computadores localizam-se em vários locais separados geograficamente, muitas vezes em cidades ou até mesmo países diferentes. Ainda no ambiente empresarial é comum que haja computadores com grande capacidade que armazenam informações ou disponibilizam determinados serviços na rede para os demais computadores. Esses computadores são chamados de servidores. Em contrapartida, os funcionários da empresa possuem em suas mesas computadores menos potentes com os quais executam tarefas básicas e acessam informações e serviços fornecidos pelos servidores. Esses computadores mais simples são chamados clientes. Nesses cenários está o conceito de um modelo de rede de computadores chamado cliente-servidor, que é abordado no item seguinte Modelo Cliente-Servidor A Figura 1.2 apresenta de uma forma simplificada o modelo cliente-servidor. Esse modelo é largamente empregado, tanto quando os computadores estão a uma curta distância geográfica, quanto quando estão separados geograficamente por longas distâncias. Por exemplo, quando uma pessoa em sua casa utiliza seu computador para acessar uma página na internet, esse mesmo modelo clienteservidor é empregado. Nesse caso o computador remoto onde a página está

28 28 armazenada atua como servidor, e o computador pessoal de quem acessou essa informação atua como cliente. (TANENBAUM, 2003) Figura1.2 - Modelo Cliente-Servidor Fonte: Tanenbaum, 2003, p. 20 Analisando o modelo cliente-servidor com maior detalhamento percebe-se que há basicamente dois processos envolvidos na comunicação, conforme apresentado pela Figura 1.3. Nesse tipo de comunicação um processo executando no computador cliente envia uma mensagem através da rede para o computador servidor e permanece aguardando uma resposta. O servidor, por sua vez, recebe a mensagem através de um processo sendo executado nele mesmo trata de executar o trabalho solicitado ou procura pelos dados solicitados, enviando de volta para o cliente uma resposta. Assim, de forma resumida, no modelo cliente-servidor é utilizado o método de trabalho com solicitações e respostas. Figura 1.3 Solicitação e resposta entre cliente e servidor Fonte: Tanenbaum, 2003, p. 20 Os dispositivos que se conectam em uma rede o fazem através de um meio físico, chamado enlace, que pode ser de vários tipos, entre eles cabos coaxiais, fios

29 29 de cobre, fibras óticas e ondas de rádio. No jargão da Internet, esses dispositivos são chamados de sistemas finais. (KUROSE; ROSS, 2010) De forma simples, quando um sistema final necessita enviar dados a outro sistema final, o sistema responsável por trafegar esses dados segmenta-os e adiciona bytes de cabeçalho a cada segmento. Esses segmentos, denominados pacotes, são então enviados ao dispositivo destino através da rede, onde são reagrupados, reconstruindo assim a informação original. (KUROSE; ROSS, 2010) No trajeto através da rede, os pacotes passam por comutadores de pacotes, que são dispositivos responsáveis por receber os pacotes através de um de seus enlaces de entrada e retransmiti-lo através de um de seus enlaces de saída, de forma que os pacotes cheguem à seus destinos. Há diferentes tipos de comutadores de pacotes, mas os mais utilizados na Internet atual são os roteadores e os comutadores de camada de enlace, também conhecidos como switches. A sequência de enlaces e comutadores que os pacotes percorrem desde sua origem até o seu destino é conhecida como rota ou caminho através da rede. (KUROSE; ROSS, 2010) Todavia, não basta apenas conectar os dispositivos para que haja comunicação entre eles. Os sistemas finais, comutadores de pacotes e outros elementos que compõem uma rede utilizam protocolos que controlam o envio e o recebimento de informações. Os dois protocolos mais utilizados atualmente nas redes são o TCP (Transmission Control Protocol) e o IP (Internet Protocol). Por serem os dois principais protocolos da Internet atual, são comumente conhecidos coletivamente como TCP/IP. Entretanto há uma enorme quantidade de outros protocolos responsáveis por serviços específicos em uma rede, como por exemplo o SMTP (Simple Mail Transfer Protocol) para mensagens de correio eletrônico, entre outros. (KUROSE; ROSS, 2010) Conforme rege a regra de etiqueta da comunicação humana, quando se quer obter uma informação de outra pessoa deve-se primeiramente cumprimentá-la, como é o caso do primeiro oi da Figura 1.4. A resposta comum é um outro oi, que indica que a outa pessoa está receptiva para que o diálogo prossiga. Caso a resposta recebida seja algo diferente desse cumprimento esperado, como por exemplo um Não perturbe ou um Eu não falo seu idioma, ou até mesmo a não obtenção de resposta, pode ser indício de que a outra pessoa não está receptiva para conversar no momento ou que há um problema que impeça a comunicação.

30 30 Nesse caso normalmente a pessoa que iniciou a comunicação desiste de prosseguir com o diálogo. Porém, no caso da resposta positiva, a pessoa que iniciou o diálogo pode requisitar uma informação, e poderá (ou não) receber a resposta desejada. Se as pessoas executarem protocolos diferentes, como por exemplo se uma pessoa tem boas maneiras e a outra não, ou se uma pessoa entende o conceito de horas mas a outra não, então os protocolos não interagem e nenhuma informação útil é transmitida. O mesmo vale para redes. É preciso que duas ou mais unidades comunicantes executem o mesmo protocolo para que possa haver comunicação e algum trabalho possa ser feito. Figura 1.4 Analogia entre comunicação humana e protocolos de rede Fonte: KUROSE; ROSS, 2010, p. 32 Um protocolo de rede é semelhante ao protocolo de comunicação humano. A diferença é que a comunicação em redes é realizada por hardware ou software de algum equipamento eletrônico. Todas as atividades em redes de computadores que envolvem dois ou mais dispositivos comunicantes são regidas por protocolos específicos. (KUROSE; ROSS, 2010) Como exemplo do funcionamento de um protocolo bastante familiar para quem utiliza a Internet atualmente, a Figura 1.4 apresenta de forma simples o mecanismo de uma requisição a um servidor Web, ou seja, quando alguém digita

31 31 um endereço de Internet no navegador de internet de seu computador. Primeiramente o computador enviará uma mensagem de requisição de conexão ao servidor Web e permanecerá aguardando uma resposta. O servidor Web, por sua vez, receberá essa mensagem de requisição de conexão e retornará uma mensagem de resposta de conexão. Dessa forma o computador que requisitou a conexão sabe que está tudo OK para prosseguir. Esse computador envia então para o servidor Web o nome da página que deseja buscar naquele servidor através de uma mensagem GET. Por fim, o servidor retorna para o computador solicitante um arquivo que representa a página da Web solicitada Modelo de Referência OSI Conforme mencionado anteriormente, durante o processo de trânsito dos pacotes através de uma rede há protocolos controlando cada etapa. Para prover uma estrutura para o projeto de protocolos de rede, projetistas de rede organizam protocolos e o hardware e o software de rede que implementam os protocolos em camadas. (KUROSE; ROSS, 2010) Cada um dos protocolos de rede pertencem à uma camada, e cada uma das camadas provê determinados serviços necessários para cada etapa do processo de transporte dos pacotes de rede, executando ações dentro dela mesma e utilizando serviços da camada diretamente anterior a ela. (KUROSE; ROSS, 2010) No final dos anos 1970, a ISO (International Organization for Standardization) propôs que as redes de computadores fossem organizadas em 7 camadas diferentes, e este padrão foi denominado de modelo de Interconexão de Sistemas Abertos, conhecido como Modelo de Referência ISO OSI (Open Systems Interconection model). (KUROSE; ROSS, 2010) Recebe esse nome por tratar da interconexão de sistemas abertos, ou seja, sistemas que estão abertos à comunicação com outros sistemas. Por motivo de abreviação, será abordado nesse trabalho simplesmente como modelo OSI. A Figura 1.5 representa de forma simples as sete camadas do modelo OSI, cujas funcionalidades serão abordadas na sequência.

32 32 Figura1.5 Camadas do modelo OSI Fonte: Ventura, 2002 Camada Física: Trata da transmissão dos bits propriamente ditos através de um canal de comunicação. O projeto da rede deve garantir que se um bit com valor 1 for transmitido de um lado, ele deve chegar com valor 1 do outro lado, não com valor 0. Para isso o mais comum é definir qual a voltagem utilizada para representar um bit de valor 1 e um bit de valor 0, quantos nano segundos deve durar a contagem de um bit, se a transmissão de bits poderá ser realizada em ambos os sentidos simultaneamente ou se será somente unilateral, como será estabelecida a conexão inicial e de que forma esta será encerrada quando ambos os lados tiverem terminado a comunicação, e até mesmo quantos pinos o conector de rede deverá ter e qual a finalidade de cada pino. Nessa camada a maioria das questões estão relacionadas com interfaces mecânicas, elétricas e de sincronização, e com o meio físico de transmissão que se localiza logo abaixo dessa camada. (TANENBAUM, 2003) Camada de Enlace de Dados: Segundo Tanenbaum (2003), a principal tarefa da camada de enlace de dados é transformar um canal de transmissão bruta em uma linha que pareça livre de erros de transmissão não detectados para a camada de rede. Para isso, essa camada faz com que o transmissor divida os dados em quadros de dados e os transmita sequencialmente, e o receptor confirma a

33 33 recepção de cada quadro enviando como resposta um quadro de confirmação. A camada de enlace de dados também tenta impedir que um transmissor rápido envie uma quantidade excessiva de quadros à um receptor demasiado lento. (TANENBAUM, 2003) Camada de Rede: É a camada responsável por controlar as operações da rede em geral. Uma questão fundamental é determinar como os dados serão roteados da origem até o destino. Essas rotas dos pacotes podem se basear em tabelas estáticas de roteamento, que raramente são alteradas, podem ser determinadas no início de cada conversação, ou podem ser altamente dinâmicas, sendo determinadas para cada pacote transmitido. (TANENBAUM, 2003) Caso haja muitos pacotes trafegando pela rede simultaneamente, dividindo o mesmo caminho, podem haver congestionamentos na comunicação, e o controle desses congestionamentos também pertence à camada de rede. Quando um pacote deve viajar de uma rede para outra para alcançar seu destino há uma série de problemas que podem ocorrer no percurso. O endereçamento utilizado pela segunda rede pode ser diferente do utilizado pela primeira, ou a segunda rede não aceite os pacotes devido ao tamanho excessivo destes. Ou ainda os protocolos utilizados pela segunda rede sejam diferentes dos utilizados na primeira rede. Cabe à camada de rede superar esses e outros problemas, a fim de permitir a comunicação entre redes heterogêneas. (TANENBAUM, 2003) Camada de Transporte: Basicamente a função da camada de transporte é receber dados da camada anterior a ela (camada de Sessão), dividi-los em unidades menores caso seja necessário, e repassá-los para a camada de rede, além de assegurar que todos os fragmentos cheguem à outra extremidade corretamente e com eficiência. O tipo de conexão de transporte mais popular é um canal ponto a ponto praticamente livre de erros que entrega as mensagens ou bytes na ordem exata em que estes foram enviados. Outros tipos possíveis de serviço de transporte são as mensagens isoladas, sem quaisquer garantias de entrega das mensagens ou a ordem de entrega das mesmas. O tipo de serviço é determinado quando a conexão é

34 34 estabelecida. (TANENBAUM, 2003) Camada de Sessão: Esta camada permite que usuário de diferentes máquinas estabeleçam sessões entre si. Uma sessão oferece vários serviços, como o controle de quem deve transmitir informações em cada momento (chamado controle de diálogo), o controle de símbolos, que impede que duas partes tentem executar a mesma operação crítica ao mesmo tempo, e a sincronização, que realiza uma verificação periódica em conexões longas com o intuito de permitir que estas continuem a partir do ponto em que estavam, caso haja uma falha. Camada de Apresentação: Diferentemente das camadas mais baixas, que estão mais preocupadas com questões relacionadas principalmente à movimentação de bits, a camada de apresentação está relacionada à sintaxe e semântica das informações transmitidas. Para tornar possível a comunicação entre computadores com diferentes representações de dados, as estruturas de dados a serem transmitidas podem ser definidas de maneira abstrata, ou seja, comum aos protocolos de rede que irão manusear estes dados, juntamente com uma codificação padrão que será usada durante a conexão. (KUROSE; ROSS, 2010) Camada de Aplicação: Essa camada possui uma série de protocolos comumente necessários para os usuários. Um exemplo de protocolo que executa nessa camada e que é muito utilizado é o HyperText Transfer Protocol (HTTP), que constitui a base para a rede mundial de computadores. Quando um navegador de internet deseja buscar uma página de internet, ele envia o nome da página desejada ao servidor através do protocolo HTTP, e o servidor transmite a página de volta como resposta. Outros protocolos da camada de aplicação são utilizados para a transferência de arquivos, correio eletrônico e transmissão de notícias pela rede, por exemplo. (TANENBAUM, 2003) Modelo de Referência TCP/IP O modelo de referência TCP/IP é o modelo utilizado na antiga rede geograficamente distribuída ARPANET e na sua atual sucessora, a rede mundial de

35 35 computadores conhecida como Internet. A ARPANET era uma rede de pesquisa patrocinada pelo Departamento de Defesa dos Estados Unidos (DoD) que, pouco a pouco, interconectou centenas de universidades e repartições públicas utilizando cabos de linhas telefônicas dedicadas. Com o advento das redes de rádio e satélites começaram a surgir problemas com os protocolos existentes, o que acabou forçando a criação de uma nova arquitetura de referência. Dessa forma, a habilidade para interconectar várias redes uniformemente foi um dos focos principais do projeto desde o início. Mais tarde essa arquitetura ficou conhecida como Modelo de Referência TCP/IP, devido a seus dois protocolos principais. Esse modelo foi definido pela primeira vez em (Cerf e Kahn, 1974), e posteriormente uma nova perspectiva foi oferecida em (Leiner et al., 1985). (TANENBAUM, 2003) Figura 1.6 Camadas do modelo TCP/IP Fonte: Colégio Liceal de Santa Maria de Lamas, 2011 Camada Inter-Redes: Essa camada também é conhecida como Camada de internet, e é a principal camada do modelo TCP/IP, pois integra toda a arquitetura do modelo. Sua função é permitir que os hosts injetem pacotes em qualquer rede e garantir que eles trafegarão até seu destino, mesmo que esse destino seja em uma rede diferente. Os pacotes podem até mesmo serem entregues em ordem diferente da que foram enviados, o que obriga as camadas superiores a reorganizá-los, caso a entrega em ordem dos pacotes seja desejável. A camada inter-redes define um formato de pacote oficial e um protocolo chamado Internet Protocol (IP). A função dessa camada é entregar

36 36 pacotes IP onde eles são necessários, e o roteamento desses pacotes é uma questão de grande importância nessa camada, bem como evitar o congestionamento da rede. Camada de Transporte: Essa é a camada localizada acima da camada de internet. Sua finalidade é permitir que os hosts de origem e de destino mantenham uma conversação, da mesma forma que ocorre com a camada de transporte do modelo de referência OSI. Nessa camada operam dois protocolos. O primeiro deles, chamado Transmission Control Protocol (TCP), ou em português Protocolo de Controle de Transmissão, é um protocolo orientado a conexões confiável, que permite a entrega sem erros de um fluxo de dados originários de uma máquina para qualquer máquina da inter-rede. Esse protocolo fragmenta o fluxo de bytes em mensagens e passa cada uma delas para a camada de internet. Quando os dados chegam no computador destino, o protocolo TCP receptor volta a montar as mensagens recebidas, formando o fluxo de saída. O protocolo TCP também cuida do controle de fluxo, impedindo que um transmissor rápido acabe sobrecarregando um receptor mais lento com um volume de mensagens maior do que esse receptor pode manipular. (TANENBAUM, 2003) Outro protocolo que executa na camada de transporte é o User Datagram Protocol (UDP), que da mesma forma que o TCP divide os dados em pacotes menores e os envia para a camada de internet, mas sem um controle muito aprimorado. O protocolo TCP, antes de estabelecer uma conexão com outro computador, envia uma mensagem solicitando conexão. Esse outro computador, por sua vez, responde com uma mensagem autorizando a conexão. Só então o computador remetente estabelece a conexão. Esse processo é chamado de handshake, ou aperto de mãos. O protocolo UDP não executa esse processo, e por essa razão é chamado de não orientado para conexão. (KUROSE; ROSS, 2010) Camada de Aplicação: Acima da camada de transporte está a camada de aplicação. Nela estão todos os protocolos de nível

37 37 mais alto, como por exemplo o protocolo de terminal virtual (TELNET), o protocolo de transferência de arquivos (FTP) e o protocolo de correio eletrônico (SMTP), o protocolo utilizado para buscar páginas da internet (HTTP), dentre muitos outros. (TANENBAUM, 2003) Camada de Rede: O modelo TCP/IP não especifica muito bem o que ocorre abaixo da camada de inter-redes, exceto que o computador deve se conectar à rede utilizando algum protocolo para que seja possível enviar pacotes IP, sendo que esse protocolo não é definido, podendo variar de computador para computador, e de rede para rede. Os livros e a documentação que tratam do modelo TCP/IP raramente descrevem esse protocolo. (TANENBAUM, 2003)

38 38 2 TECNOLOGIAS UTILIZADAS Esse capítulo apresenta as tecnologias de software utilizadas no desenvolvimento do trabalho. São apresentados o servidor web Apache, utilizado para agir como o servidor da interface web do NEHMO, as tecnologias HTML e PHP, utilizadas na construção das páginas que compõem a interface web do NEHMO, a linguagem de script Perl, utilizada para agir como o motor do NEHMO, e o banco de dados MySQL, cuja função é armazenar as informações coletadas pelo NEHMO. 2.1 HTML As páginas de Internet podem conter muitos tipos de conteúdo diferentes tal como textos, gráficos, formulários, áudio, vídeo e até mesmo jogos interativos. Cada página de Internet é diferente, mas a maioria delas tem algo em comum: o HTML (Hypertext Markup Language). Não importa o tipo de informação que uma página de Internet contenha, ela será criada utilizando o HTML. O HTML é o que mantém os componentes da página juntos, como os gráficos, conteúdo e outras informações. (TITTEL, 2005) Os arquivos HTML que compõem a Internet são arquivos de texto. Por esse motivo a Internet funciona tão bem, pois arquivos de texto são uma linguagem universal para os computadores. Qualquer arquivo de texto que seja criado em um computador executando o sistema operacional Windows, até mesmo um arquivo HTML, será interpretado perfeitamente igual em qualquer outro computador executando outros sistemas operacionais. Todavia, as páginas de Internet não são meramente arquivos de texto, e isso se deve ao HTML em si. O HTML é uma coleção de instruções adicionadas ao longo do texto através de determinadas marcações, que determinam como a página de Internet deve parecer e se comportar. (TITTEL, 2005) Uma dessas instruções especiais em HTML permitem que um texto aponte para um outro local. Esses ponteiros são chamados hyperlinks. Nos navegadores de Internet atuais, normalmente os hyperlinks aparecem como uma parte do texto em azul e sublinhada, e quando se clica sobre esse trecho de texto o usuário é normalmente levado para uma outra página de Internet, podendo essa página pertencer ao mesmo site ou à outro site independente. (TITTEL, 2005)

39 39 As marcações HTML são identificadas por palavras contidas entre o sinal de menor e o sinal de maior ( < e > ). A Figura 2.1 apresenta um exemplo de um código HTML e o resultado que será exibido após a interpretação do navegador de Internet. <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN > <html xmlns= > <head> <title>wine Varietals</title> </head> <body> <h1><img src= red_grapes.jpg width= 75 height= 100 alt= Red Grapes align= middle hspace= 5 /> Understanding Red Wine Varietals </h1> <p>although wines tend to be generically categorized as either white or red, in reality, there is a collection of wine varietals each with its own distinguishing characteristics. The red category includes a robust collection of over 20 varietals, including: </p> <ul> <li>barbera</li> <li>brunello</li> <li>cabernet Franc</li> <li>cabernet Sauvignon</li> <li>carignan</li> <li>carmenere</li> <li>charbono</li> <li>dolcetto</li> <li>gamay</li> <li>grenache</li> <li>malbrec</li> <li>merlot</li> Fonte: Tittel, 2005, p. 11 <li>mourvedre</li> <li>nebbiolo</li> <li>petite Sirah</li> <li>pinot Noir</li> <li>sangiovese</li> <li>syrah</li> <li>tempranillo</li> <li>zinfandel</li> </ul> </body> </html> Figura 2.1 Exemplo de página de Internet e seu código HTML A página de Internet apresentada na Figura 2.1 é composta por vários elementos diferentes, e uma grande quantidade de marcações HTML. Analisando o código, apresenta-se inicialmente um cabeçalho que descreve a página, um parágrafo que discorre sobre vinho tinto e uma lista com as variedades mais comuns de uva. O cabeçalho apesentado no início do código HTML não produz efeito visível na página de Internet quando essa é acessada por um navegador de Internet. Em um arquivo HTML, cada palavra ou letra entre os sinais < e > são marcações HTML. No exemplo apresentado na Figura 2.1, a marcação <p> indica ao navegador de Internet que o texto que se segue é um parágrafo. Da mesma forma, as marcações <li> e </li> indicam que o texto contido entre elas é parte

40 40 integrante de uma lista de vários elementos. Em termos simples, um arquivo HTML consiste em adicionar marcações ao longo de um texto para que os navegadores de Internet saibam como exibir a página de Internet na tela do computador. (TITTEL, 2005) Todavia uma página de Internet pode não ser muito útil se não houver a possibilidade de compartilhá-la com o mundo. O que torna isso possível são os Servidores de Internet. Basicamente, um servidor de Internet é um computador que se conecta à Internet, executa um software de servidor de Internet e responde às requisições dos navegadores de Internet, devolvendo-lhes uma página de Internet ou até mesmo um determinado arquivo solicitado. Praticamente qualquer computador pode ser um servidor de Internet, até mesmo os computadores domésticos. Porém geralmente os servidores de Internet são computadores dedicados a essa tarefa. Não é necessário ser um especialista para publicar páginas de Internet, mas é necessário que se tenha um servidor de Internet. (TITTEL, 2005) A Internet é composta de milhões de recursos, e cada um deles pode ser referenciado. A exata localização de um recurso é a chave para referenciá-lo. O mecanismo utilizado para prover essa localização exata é o Uniform Resource Locator (URL), que em português pode ser traduzido com Localizador Padrão de Recursos. URLs são o mecanismo padrão para o endereçamento de recursos na Internet. Cada recurso (páginas de Internet ou arquivos individuais) tem um URL único. A Figura 2.2 identifica as partes componentes de um endereço URL. Conforme apresentado na Figura 2.2, essa é a forma como os URLs são constituídos, e dessa forma é possível localizar de forma precisa os recursos na Internet. Inicialmente é apresentado o protocolo de comunicação utilizado para a conexão com o servidor de Internet. O protocolo mais comum utilizado na Internet atualmente é o HTTP, mas outros protocolos como o FTP, por exemplo, podem ser utilizados. A seguir vem o domínio, que é o nome do site especificamente que será acessado. Um domínio pode conter apenas alguns poucos arquivos, como uma página de Internet pessoal, ou milhões de arquivos, como em um site corporativo de grandes organizações tal como a Oracle, a Apple ou a Sun. Logo após, há um caminho de subpastas dentro do domínio especificado no qual pode-se encontrar o arquivo pretendido, conforme indicado na Figura 2.2. E, por fim, o nome do arquivo específico que o navegador de Internet irá acessar, normalmente um HTML.

41 41 (TITTEL, 2010) Figura 2.2 Partes que compõem um URL Fonte: Tittel, 2005, p SERVIDOR HTTP APACHE Sempre que uma pessoa digita o endereço de um site no navegador de Internet de seu computador está enviando uma mensagem através das redes de computadores com destino ao computador servidor que hospeda o site desejado. No uso convencional, normalmente o servidor destino encontra-se em outra rede de computadores, em outra cidade ou até mesmo em outro país, e a mensagem que saiu do computador do usuário viaja através da Internet até chegar ao servidor a qual se destina. Espera-se que este servidor esteja ativo e conectado à Internet, pronto para receber a mensagem do usuário e agir de acordo com esta solicitação, na maioria das vezes retornando uma resposta para o navegador de Internet da pessoa que enviou a mensagem. (LAURIE, 1999) Em termos simples, o trabalho principal de um servidor de Internet é receber uma requisição na forma de um URL vinda de um navegador de Internet de alguma pessoa em algum lugar do mundo, comumente através da Internet, traduzir esse URL em um nome de arquivo e, então, devolver como resposta o arquivo solicitado, ou caso o arquivo não tenha sido localizado, devolver uma mensagem informando o ocorrido. Ainda, em vez de localizar um determinado arquivo, a mensagem que chega ao servidor de Internet pode solicitar que um determinado software seja executado no servidor. O servidor executa o software solicitado e pode devolver como resposta para o computador de origem a saída de processamento realizada pelo software em questão. (LAURIE, 1999)

42 42 Um servidor de Internet pode ser um super computador com uma capacidade de processamento muito poderosa, ou até mesmo um grupo de computadores poderosos trabalhando em conjunto (esse método é chamado de cluster), ou ainda um computador bastante humilde. Em todos os casos, o ideal é que o servidor de Internet esteja executando um tipo de software chamado servidor web, que é responsável por estar de prontidão para receber as solicitações dos navegadores de Internet e agir de acordo com a mensagem recebida. (LAURIE, 1999) Espera-se de um servidor de Internet (tanto o computador quanto o software) que este seja rápido para poder lidar com várias requisições em um intervalo de tempo e utilizando o mínimo de recursos do computador possível. Espera-se também que este seja multitarefa, para que possa lidar com mais de uma requisição por vez, e para que seja possível efetuar tarefas administrativas no servidor sem ter que parar o fornecimento do serviço. É ainda desejável que o servidor possua recursos de autenticação de usuários, pois algumas pessoas podem ter acesso a determinados serviços e outras não. Outro recurso desejável é que o servidor, ao encontrar determinadas situações ou erros, responda com uma mensagem que ajude a determinar a causa do erro. Por exemplo, quando o servidor não consegue localizar uma determinada página de Internet solicitada por um usuário, espera-se que ele responda com um erro 404, que é a especificação definida pelo HTTP que determina quando uma página de Internet não foi encontrada. Por fim, espera-se de um servidor de Internet que este seja seguro. Assim como na vida real, na Internet há pessoas bem e mal intencionadas, e um dos grandes objetivos de um bom servidor de Internet é garantir a segurança dos dados e dos usuários. (LAURIE, 1999) Um software servidor de Internet mundialmente conhecido, que reúne todas as características citadas acima, e muitas outras, é o Apache. Por esse motivo o Apache foi escolhido como servidor de Internet na implementação desse trabalho Funcionamento Apache é um programa que é executado em um sistema operacional apropriado com suporte à multitarefa, como por exemplo o Windows ou um sistema operacional da linhagem do Unix. O arquivo binário do Apache, que é o software executável em si, é chamado de httpd no Unix e apache.exe no Windows, e

43 43 normalmente executa em segundo plano. Cada instância do Apache que é executada tem sua atenção voltada para um determinado site, que é em termos gerais um diretório. Independentemente do sistema operacional que está sendo executado, o diretório de um site possui normalmente quatro subdiretórios. O subdiretório conf contém os arquivos de configuração, sendo o httpd.conf o mais importante deles. O subdiretório htdocs contém os scripts HTML que serão fornecidos aos clientes que requisitarem esse site. Esse diretório e todos os diretórios dentro deste estão publicamente acessíveis para qualquer pessoa conectada à Internet. O subdiretório logs contém os arquivos de log de acesso e de erro gerados pelo Apache. Por fim, o subdiretório cgi-bin contém scripts CGI. Esses são programas ou script que podem ser executados pelo Apache. O servidor Apache entende que os arquivos contidos nesse diretório, em vez de serem simplesmente lidos e enviados, devem ser executados, e os resultados obtidos com a execução destes podem ser manipulados e utilizados em favor do cliente. Por razões de segurança, recomendase que este diretório não esteja no espaço acessível publicamente. Quando inativo, o Apache somente escuta os endereços IP e as portas TCP de demais portas configuradas em seu arquivo Config. Quando surge uma requisição em uma das portas válidas, o Apache recebe a requisição e analisa os cabeçalhos desta, e então aplica as regras encontradas em seu arquivo de configuração e toma as ações apropriadas. (LAURIE, 1999) O desenvolvedor pode controlar o Apache através do arquivo de configuração. Há cerca de 150 diretivas de configuração à disposição. Sob sistemas operacionais Unix, é possível selecionar quais módulos serão compilados junto com o Apache. Cada módulo disponibiliza mais algumas diretivas que podem ser manipuladas para configurar o Apache de acordo com as necessidades. Ainda, é possível deixar fora da compilação do Apache alguns módulos que não serão utilizados afim de diminuir o tamanho final do arquivo binário compilado e melhorar o desempenho de execução do Apache. Sob o sistema operacional Windows, o Apache é normalmente disponibilizado como executável já previamente compilado, com os módulos principais já inclusos, e os demais módulos que possam ser necessário podem ser carregados como bibliotecas dinamicamente durante a execução do mesmo. (LAURIE, 1999)

44 PHP O PHP é uma linguagem de programação open-source largamente utilizada que possui como estrutura o formato de script. Ele foi pensado inicialmente para ser utilizado no desenvolvimento de páginas de Internet. De fato, o acrônimo PHP vem do inglês Personal Home Page tools, que em tradução livre significa algo como ferramentas para desenvolvimento de página pessoal, desenvolvido por Rasmus Lerdorf para auxiliar as pessoas no desenvolvimento de páginas de Internet. O PHP se demonstrou tão eficiente que rapidamente se tornou popular e evoluiu para a tão completa linguagem que é hoje, passando a significar agora PHP Hypertext Processor, ou, em tradução livre, Processador de hipertexto PHP, para melhor representar as habilidades estendidas que a linguagem adquiriu ao longo do tempo, a habilidade de processar as páginas de Internet antes de estas serem exibidas. (VALADE, 2004) Ainda hoje o PHP continua crescendo em popularidade, devido às suas várias vantagens. O PHP é rápido, pois está mesclado com código HTML, o que faz om que o tempo de processamento e carregamento de uma página seja muito curto. O PHP é gratuito. O PHP é fácil de usar, sua sintaxe é simples e fácil de entender e usar, mesmo para aqueles que nunca lidaram com programação, além de ter sido desenvolvido para se mesclar facilmente em um código HTML. O PHP é versátil, pois consegue executar em uma ampla gama de sistemas operacionais, incluindo Windows, Linux e Mac OS, além da maioria das variedades do Unix. O PHP possui suporte técnico amplamente disponível, com várias listas de disponibilizadas pelo próprio site do PHP ( ) que abordam vários tópicos como o PHP em geral, PHP no Windows, integração com bancos de dados, etc. Ainda é possível acessar um site que disponibiliza todas as listas de discussão no endereço news.php.net. O PHP é seguro, desde que você configure-o corretamente, o usuário não consegue ver e ter acesso ao código PHP. Por fim, o PHP é customizável, como está sob uma licença de código fonte aberto, possibilita que programadores modifiquem o PHP, adicionando ou modificando recursos. (VALADE, 2004) No início da Internet as páginas eram estáticas, somente apresentavam documentos. As pessoas acessavam as páginas de Internet unicamente para obter informações, e as páginas e objetos estavam interligados, de forma a ficar fácil

45 45 obter-se a informação desejada. Cada pessoa que chegava à uma determinada página enxergava a mesma coisa, as mesmas informações. Contudo, com o tempo, os desenvolvedores queriam algo mais, queriam poder interagir com as pessoas, coletar informações, customizar a página de acordo com as preferências de cada pessoa. Muitas linguagens de desenvolvimento foram pensadas de modo a tornar as páginas de Internet mais dinâmicas, e o PHP é uma das mais bem sucedidas delas. (VALADE, 2004) Os scripts PHP são executados no servidor que abriga a página, não no computador da pessoa que está acessando, diferentemente do JavaScript, uma outra linguagem também destinada ao desenvolvimento de páginas de Internet dinâmicas, que é executado pelo navegador de Internet da pessoa que está acessando a página em questão. Por esse motivo, por ser executado diretamente no servidor, os scripts PHP são capazes de criar dinamicamente os códigos HTML que compõem a página que será exibida para o visitante. As pessoas que visitam essa página de Internet verão o resultado do processamento dos scripts PHP, mas não o código dos scripts em si. (VALADE, 2004) 2.4 PERL O Perl é, normalmente, referenciado como Practical Extraction and Reporting Language (Linguagem de Extração Prática e Relatório tradução literal) ou Pathologically Eclectic Rubbish Lister (sem tradução). No entanto, não se pode dizer que seja um acrônimo, pois o nome Perl foi dado por seu criador, Larry Wall, antes de sua expansão, o que explica condição de a palavra não ser escrita totalmente em letras maiúsculas. (SCHWARTZ; PHOENIX; D FOY, 2008) Em geral, encontra-se o Perl escrito com a inicial maiúscula para referenciar a linguagem e perl com a inicial minúscula para referenciar o interpretador de comandos. Foi criado no ano de 1987, com o intuito de gerar alguns relatórios da Usenet (uma rede de comunicação eletrônica anterior à conhecida Internet) num sistema de hierarquia semelhante ao de notícias para um sistema de bug-reporting (relatório de erros). Como a utilização do comando awk no sistema operacional estava fora de cogitação, seu criador decidiu solucionar o problema criando uma ferramenta de propósitos gerais, podendo utilizá-la em outros locais, o que resultou no Perl versão

46 46 ZERO. (SCHWARTZ; PHOENIX; D FOY, 2008) Perl é uma linguagem fácil de utilizar, todavia isso não significa que ela seja fácil de aprender. Da mesma forma, para dirigir um carro é necessário dedicar bastante tempo no aprendizado, e depois de alguma prática o ato de dirigir se torna algo fácil, o mesmo ocorre com a linguagem Perl. Durante o desenvolvimento do Perl, quando Larry Wall teve que escolher entre tornar algo fácil para o programador ou fácil para quem está estudando, quase sempre Larry optou pelo programador, pois uma pessoa aprende Perl apenas uma vez, ao passo que um programador utiliza-o constantemente no dia-a-dia. (SCHWARTZ; PHOENIX; D FOY, 2008) O Perl é bom para praticamente qualquer tarefa de programação. Desde programas simples que podem ser escritos em três minutos, até programas mais complexos e extensos que envolvem vários programadores trabalhando por um longo período. Perl é otimizado para lidar com problemas que envolvem 90% trabalho com textos e 10% com outras coisas, o que se enquadra na maioria das tarefas de programação atuais. Unindo isso com a facilidade de programar torna o Perl ideal para a maioria das situações de programação. A linguagem Perl não deve ser escolhida, entretanto, se você busca criar um código binário opaco. Isso significa distribuir um arquivo de programa fechado, de forma que a pessoa que o receber não poderá ter acesso aos seus algoritmos secretos e, em contrapartida, não poderá ajudar em melhorias e correções de erros no código. Ao criar um código em Perl e distribuir esse programa, normalmente é distribuído o código fonte do programa, não um binário opaco. Portanto, se a intenção é manter o código escondido de outros, o Perl não é a escolha ideal. (SCHWARTZ; PHOENIX; D FOY, 2008) O Perl já vem embarcado com muitos sistemas operacionais, incluindo Linux, Unix, Solaris, AIX, HPUX e MacOS X. O sistema operacional Windows, todavia, não vem com o Perl instalado por padrão. O Download, tanto do instalador quanto dos códigos fonte do Perl, pode ser feito gratuitamente na página O Perl é distribuído sob duas licenças diferentes. Para a maioria das pessoas, que somente irão utilizar o Perl, não há basicamente diferenças entre as licenças. Para essas pessoas, basicamente, as licenças dizem O Perl é gratuito e livre, divirta-se. Todavia, se pretende modificar o código fonte do Perl em si há algumas restrições de licença que devem ser seguidas. (SCHWARTZ; PHOENIX; D FOY, 2008) Devido ao fato de programas escritos em Perl serem simples arquivos de

47 47 texto, é possível cria-los e editá-los usando apenas um editor de textos comum. Não é necessário utilizar nenhuma ferramenta de ambiente de desenvolvimento mais incrementada, embora existam algumas ferramentas comerciais com esse objetivo. É possível utilizar um editor de textos comum, sem muitos recursos, ou até mesmo um editor de textos voltado para programadores. A diferença é que os editores de texto voltados para programadores possuem alguns recursos comuns que podem ser úteis na rotina de programação, como por exemplo a indentação de um bloco de códigos para facilitar a leitura do mesmo, ou a associação entre dois parênteses que envolvem um bloco de código, por exemplo. Nos sistemas derivados do Unix, os dois editores mais conhecidos são o Emacs e o Vi (e suas variantes e cópias). Exemplos para o MacOS X são o BBEdit e o TextMate. E para o Windows dois exemplos são o UltraEdit e o PFE (Programmer s File Editor). (SCHWARTZ; PHOENIX; D FOY, 2008) Um exemplo simples de código escrito em Perl para ser executado em um sistema operacional de bases no Unix é o programa Olá Mundo, conforme segue abaixo: #!/usr/bin/perl print Olá, mundo!\n ; O programa acima simplesmente escreve na tela a frase Olá, mundo!. Após escrever o código utilizando o editor de texto escolhido, é necessário salvar o arquivo de texto como um texto puro. Normalmente não é necessário definir uma extensão de arquivo para o nome, mas dependendo do sistema operacional onde o programa será executado pode sim ser necessário definir uma extensão como por exemplo.plx (que significa PerL executável). Depois que o arquivo foi salvo, basta tornar o arquivo executável, para que o sistema operacional entenda que esse arquivo é agora um programa e, assim, possa interpretar as instruções e executálas. Para identificar um arquivo como executável em sistemas de base Unix, basta executar o comando chmod conforme o exemplo a seguir: $ chmod a+x nome_do_programa O símbolo cifrão e o espaço que vem logo em seguida representam o terminal

48 48 de comandos, e o restante representa o comando propriamente dito com os parâmetros de execução. Esse comando indicará para o sistema operacional que esse arquivo é um programa executável. Para executar o programa basta utilizar os operadores./ antes do nome do programa, conforme apresentado:./nome_do_programa Utilizando o operador./ antes do nome do programa indica para o sistema operacional que este deve buscar por esse programa no mesmo diretório atual, em vez de buscar o executável no diretório padrão do sistema onde os executáveis dos programas são armazenados. Isso é importante para garantir que o programa que será executado é exatamente aquele pretendido. Uma situação comum aos programadores inexperientes é criar seu primeiro programa com o nome de test por exemplo, e de fato existe um programa chamado test em alguns sistemas baseados em Unix. Se o./ inicial não for especificado, o sistema operacional irá buscar o programa que está nos diretórios padrão em vez do programa escrito pelo programador em questão. Se ao executar o programa o perl informar que há algum problema com o código, é necessário editar o arquivo e corrigir os problemas. Se o comando chmod já foi executado anteriormente, não é necessário executá-lo novamente, pois as alterações de permissão de execução do arquivo permanecem. (SCHWARTZ; PHOENIX; D FOY, 2008) Assim como algumas outras linguagens de programação, o Perl permite a utilização de espaços em branco, como espaços, tabulações ou linhas em branco, para melhorar a organização do programa e torna-lo mais fácil de ler. Assim, é boa prática indentar o código do programa. Outra boa prática ao programar é inserir comentários no código, que não fazem parte do código em si, mas que auxiliam no entendimento e análise futura do código, e tornam o programa mais fácil de entender para uma pessoa que está lendo o código pela primeira vez. No perl os comentários são identificados pelo caractere cerquilha (#) no início do trecho onde está o comentário. No exemplo de código apresentado anteriormente, para o programa Olá Mundo, pode-se notar que a primeira linha inicia com o sinal #, o que o caracteriza como um comentário. Mas este é um tipo muito especial de comentário. Em sistemas baseados em Unix, quando os dois primeiros caracteres na primeira linha

49 49 de um código de programa são os símbolos #! o que vem logo a seguir indica o nome do programa que irá interpretar o restante do código. Nesse caso, o programa está armazenado no arquivo /usr/bin/perl. O local onde o programa está armazenado pode variar de sistema para sistema, mas na grande maioria dos casos este está localizado ou no caminho /usr/bin/perl ou em /usr/local/bin/perl, para sistemas baseados em Unix. Para sistemas que não são baseados em Unix, como o Windows, por exemplo, é usual configurar essa primeira linha para #!perl apenas, pois informa para qualquer pessoa que inicie a ler o código do programa de que se trata de um código escrito na linguagem Perl. (SCHWARTZ; PHOENIX; D FOY, 2008) 2.5 BANCO DE DADOS Os sistemas de bancos de dados são componentes essenciais no cotidiano da sociedade moderna. Muitas das atividades corriqueiras envolvem hoje, de alguma forma, uma interação com bancos de dados. Exemplos de atividades que podem incluir interação direta ou indireta com bancos de dados incluem a reserva de passagens aéreas, consulta de saldo em um banco, compras em um supermercado informatizado, dentre muitas outras. (ELMASRI; NAVATHE, 2005) Segundo Elmasri; Navathe (2005), em uma definição bastante genérica, um banco de dados é uma coleção de dados relacionados. Os dados podem ser vistos como fatos, sobre alguém ou algum objeto, que podem ser armazenados e possuem significado implícito, como por exemplo nome, endereço, cor, peso, etc. Um banco de dados deve seguir algumas regras que o definem como tal. Representa alguns aspectos do mundo real. Ainda, um banco de dados deve ser uma coleção lógica e coerente de informações com significado inerente. Uma organização de dados aleatórios não pode ser corretamente interpretada como um banco de dados. Por fim, deve ser projetado, construído e povoado por informações que atendem a uma proposta específica, possuindo um grupo de usuários definido e aplicações preconcebidas, de acordo com os interesses desse grupo. (ELMASRI; NAVATHE, 2005) Existem ferramentas computacionais que auxiliam na criação e manutenção de um banco de dados. Um sistema gerenciador de banco de dados (SGBD) é uma coleção de programas que permitem ao usuário realizar essa tarefa.

50 50 Atualmente há uma grande oferta de sistemas de bancos de dados no mercado, para variados propósitos. Há sistemas de banco de dados pagos e gratuitos, para fins de utilização mais simples ou para sistemas mais complexos. O sistema de banco de dados escolhido para a implementação do NEHMO é o MariaDB. O MariaDB é um sistema de banco de dados avançado, e está disponível sob os termos da licença GPL v2. Ele é desenvolvido pela comunidade MariaDB e seu principal mantenedor é a Fundação MariaDB. (MARIADB, 2013) O MariaDB descende de um outro sistema de banco de dados chamado MySQL. Como segurança é um fator crucial nos dias atuais, este é um dos principais focos dos desenvolvedores do MariaDB, que incorporam as atualizações de segurança do MySQL ao projeto MariaDB e, se necessário, realizam melhorias nas mesmas, e quando surgem falhas de segurança graves, os desenvolvedores do MariaDB imediatamente preparam e distribuem uma nova versão do MariaDB, para que a falha seja corrigida o quanto antes possível. (MARIADB, 2013) Devido ao MariaDB ser mantido atualizado com os lançamentos do MySQL, na grande maioria dos casos o MariaDB deve funcionar exatamente como o MySQL. Todos os comandos, interfaces, bibliotecas e interfacesde desenvolvimento que existem no MySQL também existem no MariaDB, com o adicional de o MariaDB implementar melhorias de performance e acrescentar recursos que não estão presentes por padrão no MySQL. (MARIADB, 2013) 2.6 SCHTASKS O Schtasks é um serviço que tem a função de agendar a execução de comandos periodicamente, ou em um determinado momento especificado, em um computador. Ele tem a capacidade de adicionar e remover tarefas agendadas, iniciar e interromper tarefas de acordo com a demanda, além de exibir e alterar tarefas previamente agendadas. O Schtasks executa a mesma função que a opção Tarefas Agendadas, presente no painel de controle do sistema operacional Windows, podendo ser utilizado em conjunto com esta ou alternadamente. (MICROSOFT, 2013)

51 51 3 IMPLEMENTAÇÃO Esse capítulo foca nos processos de instalação e configuração dos Software e serviços necessários para o funcionamento do NEHMO, bem como apresentar os códigos e scripts que o compõem. 3.1 LAMP O termo LAMP refere-se ao conjunto de Software Linux, Apache, MySQL e PHP. Esses Software em conjunto são, geralmente, a base de um servidor de páginas de Internet, podendo serem feitas alterações nesse conjunto. Linux é o sistema operacional que será executado no computador servidor. O Apache, conforme apresentado anteriormente, é o software responsável por atual como servidor de páginas de Internet. O MySQL é o banco de dados que armazenará informações importantes no servidor, e o PHP é o responsável por construir as páginas de Internet que serão fornecidas pelo Apache para o usuário final. Na implementação desse trabalho foi escolhido substituir o banco de dados MySQL pelo MariaDB, por motivos citados no capítulo anterior Debian Linux A distribuição Linux escolhida para a implementação desse trabalho foi o Debian GNU/Linux. O Debian pode ser obtido através da página oficial, no link O Debian é fornecido de duas formas. O sistema completo distribuído em DVD ou vários CDs, que inclui praticamente todos os pacotes de software e bibliotecas presentes no repositório oficial do Debian, ou em uma versão muito menor chamada netinst, que consiste apenas no sistema básico para instalação. Nessa versão, outros pacotes e bibliotecas, como os gerenciadores de área gráfica, por exemplo, podem ser instalados durante a instalação do Debian via Internet, ou após o sistema ser instalado. Após obter o arquivo do CD ou DVD de instalação do Debian, no formato de arquivo ISO, faça a gravação do mesmo em uma mídia de CD ou DVD. Ara instalar, é necessário inicia o processo de boot através da mídia gravada, e seguir as

52 52 solicitações do instalador. Após a instalação do Debian, siga com a configuração dos demais Software Apache No sistema operacional Debian, execute o terminal de comandos. Faça o login como super usuário (root). Faça a atualização da base de dados dos repositórios com o comando: apt-get update Para instalar o Apache, digite o comando: apt-get install apache2 apache2-doc A seguir habilite o módulo do diretório de usuários para o Apache: a2enmod userdir Configure o módulo userdir do apache no arquivo /etc/apache2/modsenabled/userdir.conf conforme descrito abaixo: <IfModule mod_userdir.c> UserDir public_html UserDir disabled root <Directory /home/*/public_html> AllowOverride All Options MultiViews Indexes SymLinksIfOwnerMatch <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS>

53 53 Order deny,allow Deny from all </LimitExcept> </Directory> </IfModule> A seguir, crie o diretório como usuário padrão, não como root: mkdir /home/$user/public_html Em seguida, volte ao usuário root e faça a alteração do grupo para o diretório: chgrp www-data /home/<username>/public_html Por fim, reinicie o serviço do Apache. service apache2 restart Para configurar o PHP no Apache, verifique o arquivo de configuração /etc/apache2/mods-available/php5.conf: <IfModule mod_php5.c> <FilesMatch "\.ph(p3? tml)$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> # To re-enable php in user directories comment the following lines # (from <IfModule...> to </IfModule>.) Do NOT set it to On as it # prevents.htaccess files from disabling it. #<IfModule mod_userdir.c>

54 54 # <Directory /home/*/public_html> # php_admin_value engine Off # </Directory> #</IfModule> </IfModule> PHP Para instalar o PHP no Debian utilize o comando: apt-get install php5 php5-mysql libapache2-mod-php MariaDB Para instalar o MariaDB no Debian, é necessário primeiro configurar seu repositório no sistema. Para isso, como usuário root, execute: apt-get install python-software-properties apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db add-apt-repository 'deb wheezy main' instalação: Após adicionar o repositório, execute os comandos seguintes para a apt-get update apt-get install mariadb-server 3.2 INSTALAÇÃO DO MÓDULO MYSQL NO CLIENTE WINDOWS

55 55 É necessário, para que haja a comunicação do cliente com o banco de dados do servidor, que se instale o módulo do Perl que possibilita tal acesso. Isso é feito individualmente em cada máquina cliente. Para tal, é necessário iniciar um CMD: Menu Iniciar > executar > cmd E então digitar o comando: ppm install dbi::mysql Figura 3.1 Instalação do DBI Fonte do autor Lembrando que toda instalação deve ser efetuada com um usuário com privilégios de administrador. 3.3 AGENDAMENTO DE EXECUÇÃO DO SCRIPT Existem diversas ferramentas que permitem que a execução de um comando, de um script, de um programa ou mesmo de uma rotina administrativa seja feita de forma automatizada e periódica. Essas ferramentas são muito úteis, e são utilizadas para agendar a execução do script do NEHMO. Tanto o sistema operacional Windows quanto o Linux possuem suas ferramentas nativas destinadas a esse fim, que serão abordadas a seguir.

56 Agendamento no Windows por Schtask Para que se torne algo transparente ao usuário, faz-se a utilização da ferramenta schtasks, nativa do Sistema Operacional Windows, através da qual podese agendar a execução do script de acordo com a necessidade do administrador de redes. No ambiente de testes, o agendamento foi feito de acordo com as seguintes situações definidas pelo usuário: executar estando o usuário conectado ou não; quando qualquer usuário fizer logon; iniciar no diretório do script. Assim, após efetuar o agendamento, a tela se parecerá com a captura abaixo: Figura 3.2 Agendamento no schtask Fonte: Elaborada pelo autor, Agendamento no Linux por Cron O cron é um programa de agendamento de tarefas. Com ele você pode programar para ser executado qualquer coisa numa certa periodicidade ou até

57 57 mesmo em um exato dia, numa exata hora. Um uso bem comum do cron é o agendamento de tarefas administrativas de manutenção do seu sistema, como por exemplo, procura por links simbólicos quebrados, análise de segurança do sistema, backup, entre outros. A configuração do cron geralmente é chamada de crontab. O arquivo a ser editado fica em /etc/crontab, podendo, apenas, ser editado pelo usuário root do sistema. Para se inserir uma linha para agendamento de tarefa no cron, deve-se respeitar seus parâmetros de configuração, como pode ser visto na imagem abaixo. Figura 3.3 Agendamento no cron Fonte: Elaborada pelo autor, RESULTADOS Nesta seção serão apresentados vislumbres referentes aos resultados obtidos ao final das pesquisas e desenvolvimento dos scripts, em especial o script para estações com Windows. Após ser executado, o script gera um arquivo de texto, contendo as informações coletadas da estação de trabalho, como pode ser visto na Figura 3.2. Figura 3.4 Saída do script Fonte: do autor

58 58 Após gerar o arquivo de texto, o script envia as informações ao servidor remoto, contendo o banco de dados mysql/mariadb, salvando no banco nehmo. Figura 3.5 Captura de tela do phpmyadmin mostrando tabela hosts Fonte: Elaborada pelo autor, Figura 3.6 Captura de tela do phpmyadmin mostrando tabela host_user Fonte: Elaborada pelo autor, 2013.

59 59 Figura 3.7 Captura e tela do phpmyadmin mostrando tabela motherboard Fonte: Elaborada pelo autor, Como pode ser visto nas capturas acima, o banco de dados está configurado para receber inserções de strings /caracteres na codificação UTF-8, o que torna a base mais consistente, por permitir acentuações e símbolos não contidos na tabela ASCII. Uma coisa importante a ser apontada, é que o script foi testado em, apenas, versões de Windows, sendo o Windows XP, Windows 7 e Windows 8, por serem as versões mais comuns encontradas, atualmente, em estações de trabalho. A versão do Windows 7 foi testada, apenas, em máquina virtual, diferentemente das versões XP e 8, na qual foram utilizadas máquinas físicas. O ambiente de testes, foi expandido até 5 máquinas, físicas, acessando o servidor em máquina virtual, para verificar se o acesso à rede seria comprometedor. Por ser uma máquina virtual, com características e componentes mais simples e inferiores a uma máquina física, se comportou deveras bem, mostrando que, no caso de um servidor físico, não demonstraria problemas ao acesso simultâneo do banco de dados.

Arquiteturas de Rede. Prof. Leonardo Barreto Campos

Arquiteturas de Rede. Prof. Leonardo Barreto Campos Arquiteturas de Rede 1 Sumário Introdução; Modelo de Referência OSI; Modelo de Referência TCP/IP; Bibliografia. 2/30 Introdução Já percebemos que as Redes de Computadores são bastante complexas. Elas possuem

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

Protocolos Hierárquicos

Protocolos Hierárquicos Protocolos Hierárquicos O que é a Internet? Milhões de elementos de computação interligados: hospedeiros = sistemas finais Executando aplicações distribuídas Enlaces de comunicação fibra, cobre, rádio,

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 2 - MODELO DE REFERÊNCIA TCP (RM TCP) 1. INTRODUÇÃO O modelo de referência TCP, foi muito usado pela rede ARPANET, e atualmente usado pela sua sucessora, a Internet Mundial. A ARPANET é de grande

Leia mais

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta Protocolo O que é um protocolo? Humano: que horas são? eu tenho uma pergunta Máquina: Definem os formatos, a ordem das mensagens enviadas e recebidas pelas entidades de rede e as ações a serem tomadas

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

16:21:50. Introdução à Informática com Software Livre

16:21:50. Introdução à Informática com Software Livre 16:21:50 Introdução à Informática com Software Livre 1 16:21:50 Hardware & Software 2 16:21:50 Hardware Hardware é a parte física de um computador, é formado pelos componentes eletrônicos, como por exemplo,

Leia mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores, independentemente

Leia mais

Software de rede e Modelo OSI André Proto UNESP - São José do Rio Preto andre.proto@sjrp.unesp.br O que será abordado Hierarquias de protocolos (camadas) Questões de projeto relacionadas às camadas Serviços

Leia mais

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

Leia mais

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Informática I Aula 22 http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Critério de Correção do Trabalho 1 Organização: 2,0 O trabalho está bem organizado e tem uma coerência lógica. Termos

Leia mais

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES 09/2013 Cap.3 Protocolo TCP e a Camada de Transporte 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

Redes de Computadores. Prof. André Y. Kusumoto andre_unip@kusumoto.com.br

Redes de Computadores. Prof. André Y. Kusumoto andre_unip@kusumoto.com.br Redes de Computadores Prof. André Y. Kusumoto andre_unip@kusumoto.com.br Open Systems Interconnection Modelo OSI No início da utilização das redes de computadores, as tecnologias utilizadas para a comunicação

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula Complementar - MODELO DE REFERÊNCIA OSI Este modelo se baseia em uma proposta desenvolvida pela ISO (International Standards Organization) como um primeiro passo em direção a padronização dos protocolos

Leia mais

MÓDULO 8 Modelo de Referência TCP/IP

MÓDULO 8 Modelo de Referência TCP/IP MÓDULO 8 Modelo de Referência TCP/IP A internet é conhecida como uma rede pública de comunicação de dados com o controle totalmente descentralizado, utiliza para isso um conjunto de protocolos TCP e IP,

Leia mais

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

O modelo ISO/OSI (Tanenbaum,, 1.4.1) Cenário das redes no final da década de 70 e início da década de 80: Grande aumento na quantidade e no tamanho das redes Redes criadas através de implementações diferentes de hardware e de software Incompatibilidade

Leia mais

Redes de Computadores. Prof. Dr. Rogério Galante Negri

Redes de Computadores. Prof. Dr. Rogério Galante Negri Redes de Computadores Prof. Dr. Rogério Galante Negri Rede É uma combinação de hardware e software Envia dados de um local para outro Hardware: transporta sinais Software: instruções que regem os serviços

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Prof. Esp. Lucas Cruz

Prof. Esp. Lucas Cruz Prof. Esp. Lucas Cruz O hardware é qualquer tipo de equipamento eletrônico utilizado para processar dados e informações e tem como função principal receber dados de entrada, processar dados de um usuário

Leia mais

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet: Comunicação em uma rede Ethernet A comunicação em uma rede local comutada ocorre de três formas: unicast, broadcast e multicast: -Unicast: Comunicação na qual um quadro é enviado de um host e endereçado

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

PROJETO INFORMÁTICA NA ESCOLA

PROJETO INFORMÁTICA NA ESCOLA EE Odilon Leite Ferraz PROJETO INFORMÁTICA NA ESCOLA AULA 1 APRESENTAÇÃO E INICIAÇÃO COM WINDOWS VISTA APRESENTAÇÃO E INICIAÇÃO COM WINDOWS VISTA Apresentação dos Estagiários Apresentação do Programa Acessa

Leia mais

Linux, Windows, Antivírus, Teclado e Email.

Linux, Windows, Antivírus, Teclado e Email. Linux, Windows, Antivírus, Teclado e Email. Criador do Linux Linux foi, originalmente, escrito por Linus Torvalds do Departamento de Ciência da Computação da Universidade de Helsinki, Finlândia, com a

Leia mais

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História

Leia mais

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural Arquitetura e Protocolos de Rede TCP/IP Modelo Arquitetural Motivação Realidade Atual Ampla adoção das diversas tecnologias de redes de computadores Evolução das tecnologias de comunicação Redução dos

Leia mais

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s: Tecnologia em Redes de Computadores Redes de Computadores Professor: André Sobral e-mail: alsobral@gmail.com Conceitos Básicos Modelos de Redes: O O conceito de camada é utilizado para descrever como ocorre

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

Revisão. Karine Peralta karine.peralta@pucrs.br

Revisão. Karine Peralta karine.peralta@pucrs.br Revisão Karine Peralta Agenda Revisão Evolução Conceitos Básicos Modelos de Comunicação Cliente/Servidor Peer-to-peer Arquitetura em Camadas Modelo OSI Modelo TCP/IP Equipamentos Evolução... 50 60 1969-70

Leia mais

Noções de Software. André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com)

Noções de Software. André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com) Noções de Software André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com) Noções de Software; Sistemas Operacionais: Evolução; Conceitos Básicos; Tipos; Exemplos. DEINFO/UFRPE

Leia mais

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano. No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano. Essa estratégia foi deixada para trás. Atualmente, o software de rede é altamente

Leia mais

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de 2007 - Página

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de 2007 - Página Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento IP 1 História e Futuro do TCP/IP O modelo de referência TCP/IP foi desenvolvido pelo Departamento de Defesa dos Estados Unidos (DoD). O DoD exigia

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

Laboratório de Redes de Computadores e Sistemas Operacionais

Laboratório de Redes de Computadores e Sistemas Operacionais Laboratório de Redes de Computadores e Sistemas Operacionais Linux: Introdução Fabricio Breve Introdução O que é Linux? Uma versão do UNIX (re-implementação do padrão POSIX) Principais diferenciais: Gratuito

Leia mais

APOSTILA DE REDES DE COMPUTADORES PARTE - III

APOSTILA DE REDES DE COMPUTADORES PARTE - III APOSTILA DE REDES DE COMPUTADORES PARTE - III 1 REDE DE COMPUTADORES III 1. Introdução MODELO OSI ISO (International Organization for Standardization) foi uma das primeiras organizações a definir formalmente

Leia mais

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas MÓDULO 5 Tipos de Redes 5.1 LAN s (Local Area Network) Redes Locais As LAN s são pequenas redes, a maioria de uso privado, que interligam nós dentro de pequenas distâncias, variando entre 1 a 30 km. São

Leia mais

Rede de Computadores

Rede de Computadores Escola de Ciências e Tecnologia UFRN Rede de Computadores Prof. Aquiles Burlamaqui Nélio Cacho Luiz Eduardo Eduardo Aranha ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso

Leia mais

PROJETO E IMPLANTAÇÃO DE INTRANETS

PROJETO E IMPLANTAÇÃO DE INTRANETS PROJETO E IMPLANTAÇÃO DE INTRANETS Aulas : Terças e Quintas Horário: AB Noite [18:30 20:20hs] PROJETO E IMPLANTAÇÃO DE INTRANETS 1 Conteúdo O que Rede? Conceito; Como Surgiu? Objetivo; Evolução Tipos de

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS PROFESSOR: CARLOS BECKER WESTPHALL Terceiro Trabalho

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Redes de Computadores. Protocolos de comunicação: TCP, UDP Redes de Computadores Protocolos de comunicação: TCP, UDP Introdução ao TCP/IP Transmission Control Protocol/ Internet Protocol (TCP/IP) é um conjunto de protocolos de comunicação utilizados para a troca

Leia mais

SISTEMA OPERACIONAL & SOFTWARE LIVRE

SISTEMA OPERACIONAL & SOFTWARE LIVRE Curso Técnico em Redes de Computadores Disciplina de Sistemas Operacionais Livres SISTEMA OPERACIONAL & SOFTWARE LIVRE Professora: Juliana Cristina dos Santos E-mail: professora@julianacristina.com Site:

Leia mais

Arquitetura de Redes de Computadores. Bruno Silvério Costa

Arquitetura de Redes de Computadores. Bruno Silvério Costa Arquitetura de Redes de Computadores Bruno Silvério Costa Projeto que descreve a estrutura de uma rede de computadores, apresentando as suas camadas funcionais, as interfaces e os protocolos usados para

Leia mais

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01. Prof. André Lucio

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01. Prof. André Lucio FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01 Prof. André Lucio Competências do modulo Introdução ao sistema operacional Windows Instalação e configuração do sistema

Leia mais

GESTÃO DE SISTEMAS OPERACIONAIS II

GESTÃO DE SISTEMAS OPERACIONAIS II GESTÃO DE SISTEMAS OPERACIONAIS II Servidores Definição Servidores História Servidores Tipos Servidores Hardware Servidores Software Evolução do Windows Server Windows Server 2003 Introdução Windows Server

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

Capítulo 8 - Aplicações em Redes

Capítulo 8 - Aplicações em Redes Capítulo 8 - Aplicações em Redes Prof. Othon Marcelo Nunes Batista Mestre em Informática 1 de 31 Roteiro Sistemas Operacionais em Rede Modelo Cliente-Servidor Modelo P2P (Peer-To-Peer) Aplicações e Protocolos

Leia mais

Unidade 2.1 Modelos de Referência

Unidade 2.1 Modelos de Referência Faculdade INED Curso Superior de Tecnologia: Banco de Dados Redes de Computadores Disciplina: Redes de Computadores Prof.: Fernando Hadad Zaidan 1 Unidade 2.1 Modelos de Referência 2 Bibliografia da disciplina

Leia mais

CC Montagem e manutenção de hardware Docente: Nataniel Vieira 1 sem Técnico em Informática Roteiro 06: Atividade sobre o Documentário RevolutionOS

CC Montagem e manutenção de hardware Docente: Nataniel Vieira 1 sem Técnico em Informática Roteiro 06: Atividade sobre o Documentário RevolutionOS SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS CC Montagem e manutenção de hardware Docente: Nataniel Vieira 1 sem Técnico em Informática Roteiro 06: Atividade sobre o

Leia mais

INTERNET = ARQUITETURA TCP/IP

INTERNET = ARQUITETURA TCP/IP Arquitetura TCP/IP Arquitetura TCP/IP INTERNET = ARQUITETURA TCP/IP gatewa y internet internet REDE REDE REDE REDE Arquitetura TCP/IP (Resumo) É útil conhecer os dois modelos de rede TCP/IP e OSI. Cada

Leia mais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Tecnologia PCI express. Introdução. Tecnologia PCI Express Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade

Leia mais

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P. INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P. Centro de Emprego e Formação Profissional da Guarda Curso: Técnico de Informática Sistemas (EFA-S4A)-NS Trabalho Realizado Por: Igor_Saraiva nº 7 Com

Leia mais

Capítulo 7 CAMADA DE TRANSPORTE

Capítulo 7 CAMADA DE TRANSPORTE Capítulo 7 CAMADA DE TRANSPORTE INTRODUÇÃO (KUROSE) A Camada de Rede é uma peça central da arquitetura de rede em camadas A sua função é a de fornecer serviços de comunicação diretamente aos processos

Leia mais

MODELO CLIENTE SERVIDOR

MODELO CLIENTE SERVIDOR SISTEMAS DISTRIBUÍDOS Modelo Cliente Servidor Modelo que estrutura um S.O. como um grupo de processos cooperantes, chamados servidores, que oferecem serviços a processos usuários, denominados clientes;

Leia mais

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL Documento: Tutorial Autor: Iuri Sonego Cardoso Data: 27/05/2005 E-mail: iuri@scripthome.cjb.net Home Page: http://www.scripthome.cjb.net ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

Leia mais

(Open System Interconnection)

(Open System Interconnection) O modelo OSI (Open System Interconnection) Modelo geral de comunicação Modelo de referência OSI Comparação entre o modelo OSI e o modelo TCP/IP Analisando a rede em camadas Origem, destino e pacotes de

Leia mais

AULA 03 MODELO OSI/ISO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação

AULA 03 MODELO OSI/ISO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação AULA 03 MODELO OSI/ISO Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação INTRODUÇÃO 2 INTRODUÇÃO 3 PROTOCOLOS Protocolo é a regra de comunicação usada pelos dispositivos de uma

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02. Prof. Gabriel Silva

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02. Prof. Gabriel Silva FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02 Prof. Gabriel Silva Temas da Aula de Hoje: Revisão da Aula 1. Redes LAN e WAN. Aprofundamento nos Serviços de

Leia mais

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar Software Livre Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar Linux Licença GPL (Licença Pública Geral) Linux Licença GPL (Licença Pública Geral) - A liberdade de executar

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

AULA 01 INTRODUÇÃO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação

AULA 01 INTRODUÇÃO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação AULA 01 INTRODUÇÃO Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação CONCEITO Dois ou mais computadores conectados entre si permitindo troca de informações, compartilhamento de

Leia mais

Um pouco sobre Pacotes e sobre os protocolos de Transporte

Um pouco sobre Pacotes e sobre os protocolos de Transporte Um pouco sobre Pacotes e sobre os protocolos de Transporte O TCP/IP, na verdade, é formado por um grande conjunto de diferentes protocolos e serviços de rede. O nome TCP/IP deriva dos dois protocolos mais

Leia mais

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc. Endereços IP Endereços IP IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.) precisam ter endereços. Graças

Leia mais

Segurança de redes com Linux. Everson Scherrer Borges Willen Borges de Deus

Segurança de redes com Linux. Everson Scherrer Borges Willen Borges de Deus Segurança de redes com Linux Everson Scherrer Borges Willen Borges de Deus Segurança de Redes com Linux Protocolo TCP/UDP Portas Endereçamento IP Firewall Objetivos Firewall Tipos de Firewall Iptables

Leia mais

Universidade Federal de Goiás. Alexandre Ferreira de Melo CERCOMP / UFG

Universidade Federal de Goiás. Alexandre Ferreira de Melo CERCOMP / UFG Universidade Federal de Goiás Ubuntu Desktop Alexandre Ferreira de Melo CERCOMP / UFG Conpeex / 2010 Agenda Introdução Conceitos Categorias de Software História do Linux Arquitetura do Linux Ubuntu Projeto

Leia mais

No mercado atual, podemos encontrar vários tipos de sistemas operacionais que fazem parte das seguintes classes:

No mercado atual, podemos encontrar vários tipos de sistemas operacionais que fazem parte das seguintes classes: Módulo 4 Sistema Operacional Sistemas Operacionais Neste módulo falaremos sobre alguns sistemas operacionais existentes no mercado, suas características, e conheceremos o básico das redes de computadores.

Leia mais

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº UNIDADE 1I: SISTEMA COMPITACIONAL Elementos hardware e periféricos Um sistema computacional consiste num conjunto de dispositivos eletrônicos (hardware) capazes de processar informações de acordo com um

Leia mais

CAMADA DE TRANSPORTE

CAMADA DE TRANSPORTE Curso Técnico de Redes de Computadores Disciplina de Fundamentos de Rede CAMADA DE TRANSPORTE Professora: Juliana Cristina de Andrade E-mail: professora.julianacrstina@gmail.com Site: www.julianacristina.com

Leia mais

Roteiro 3: Sistemas Linux arquivos e diretórios

Roteiro 3: Sistemas Linux arquivos e diretórios Roteiro 3: Sistemas Linux arquivos e diretórios Objetivos Detalhar conceitos sobre o sistema operacional Linux; Operar comandos básicos de sistemas Linux em modo Texto; Realizar a manutenção de arquivos

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Modelo OSI. Prof. Alexandre Beletti Ferreira. Introdução

Modelo OSI. Prof. Alexandre Beletti Ferreira. Introdução Modelo OSI Prof. Alexandre Beletti Ferreira Introdução Crescimento das redes de computadores Muitas redes distintas International Organization for Standardization (ISO) Em 1984 surge o modelo OSI Padrões

Leia mais

Disciplina Fundamentos de Redes. Introdução ao Endereço IP. Professor Airton Ribeiro de Sousa Outubro de 2014

Disciplina Fundamentos de Redes. Introdução ao Endereço IP. Professor Airton Ribeiro de Sousa Outubro de 2014 Disciplina Fundamentos de Redes Introdução ao Endereço IP 1 Professor Airton Ribeiro de Sousa Outubro de 2014 PROTOCOLO TCP - ARQUITETURA Inicialmente para abordamos o tema Endereço IP, é necessário abordar

Leia mais

Sistemas de Informações Gerenciais

Sistemas de Informações Gerenciais Sistemas de Informações Gerenciais Aula 3 Sistema de Informação Conceito, Componentes e Evolução Professora: Cintia Caetano INTRODUÇÃO Conceito: Um Sistema de Informação (SI) é um sistema cujo elemento

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos

Leia mais

Tecnologia e Informática

Tecnologia e Informática Tecnologia e Informática Centro Para Juventude - 2014 Capitulo 1 O que define um computador? O computador será sempre definido pelo modelo de sua CPU, sendo que cada CPU terá um desempenho diferente. Para

Leia mais

Redes de Computadores II. Professor Airton Ribeiro de Sousa

Redes de Computadores II. Professor Airton Ribeiro de Sousa Redes de Computadores II Professor Airton Ribeiro de Sousa 1 PROTOCOLO IP IPv4 - Endereçamento 2 PROTOCOLO IP IPv4 - Endereçamento A quantidade de endereços possíveis pode ser calculada de forma simples.

Leia mais

Protocolos de Redes Revisão para AV I

Protocolos de Redes Revisão para AV I Protocolos de Redes Revisão para AV I 01 Aula Fundamentos de Protocolos Conceituar protocolo de rede; Objetivos Compreender a necessidade de um protocolo de rede em uma arquitetura de transmissão entre

Leia mais

CURSO BÁSICO DE INFORMÁTICA

CURSO BÁSICO DE INFORMÁTICA CURSO BÁSICO DE INFORMÁTICA Introdução a microinformática William S. Rodrigues HARDWARE BÁSICO O hardware é a parte física do computador. Em complemento ao hardware, o software é a parte lógica, ou seja,

Leia mais

Universidade de Brasília

Universidade de Brasília Universidade de Brasília Introdução a Microinformática Turma H Redes e Internet Giordane Lima Porque ligar computadores em Rede? Compartilhamento de arquivos; Compartilhamento de periféricos; Mensagens

Leia mais

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? A arquitetura básica de qualquer computador completo, seja um PC, um Machintosh ou um computador de grande porte, é formada por apenas 5 componentes básicos:

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 2.1 CONCEITO DE BIT O computador só pode identificar a informação através de sua elementar e restrita capacidade de distinguir entre dois estados: 0

Leia mais

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL LINUX Lapro I Profa. Fernanda Denardin Walker - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL Para que o computador funcione e possibilite a execução

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

CC Montagem e manutenção de hardware Docente: Nataniel Vieira 1 sem Técnico em Informática Roteiro 06: Atividade sobre o Documentário RevolutionOS

CC Montagem e manutenção de hardware Docente: Nataniel Vieira 1 sem Técnico em Informática Roteiro 06: Atividade sobre o Documentário RevolutionOS SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS CC Montagem e manutenção de hardware Docente: Nataniel Vieira 1 sem Técnico em Informática Roteiro 06: Atividade sobre o

Leia mais

Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com

Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com Protocolo é a linguagem usada pelos dispositivos de uma rede de modo que eles consigam se comunicar Objetivo Transmitir dados em uma rede A transmissão

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Unidade 2.1 Modelos de Referência. Bibliografia da disciplina. Modelo OSI. Modelo OSI. Padrões 18/10/2009

Unidade 2.1 Modelos de Referência. Bibliografia da disciplina. Modelo OSI. Modelo OSI. Padrões 18/10/2009 Faculdade INED Unidade 2.1 Modelos de Referência Curso Superior de Tecnologia: Redes de Computadores Disciplina: Fundamentos de Redes Prof.: Fernando Hadad Zaidan 1 2 Bibliografia da disciplina Bibliografia

Leia mais

Cap 01 - Conceitos Básicos de Rede (Kurose)

Cap 01 - Conceitos Básicos de Rede (Kurose) Cap 01 - Conceitos Básicos de Rede (Kurose) 1. Quais são os tipos de redes de computadores e qual a motivação para estudá-las separadamente? Lan (Local Area Networks) MANs(Metropolitan Area Networks) WANs(Wide

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

UDPcast Clonagem de HDs via rede utilizando

UDPcast Clonagem de HDs via rede utilizando Manual Clonando Discos com o UDPcast Clonagem de HDs via rede utilizando o UDPCast. Produzido por: Sergio Graças Giany Abreu Desenvolvedores do Projeto GNU/Linux VRlivre Manual Clonando Discos com o UDPcast

Leia mais

Camadas da Arquitetura TCP/IP

Camadas da Arquitetura TCP/IP Camadas da Arquitetura TCP/IP A arquitetura TCP/IP divide o processo de comunicação em quatro camadas. Em cada camada atuam determinados protocolos que interagem com os protocolos das outas camadas desta

Leia mais

Modelos de Camadas. Professor Leonardo Larback

Modelos de Camadas. Professor Leonardo Larback Modelos de Camadas Professor Leonardo Larback Modelo OSI Quando surgiram, as redes de computadores eram, em sua totalidade, proprietárias, isto é, uma determinada tecnologia era suportada apenas por seu

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES CURSO TÉCNICO DE INFORMÁTICA Módulo A REDES DE COMPUTADORES Protocolos de Rede FALANDO A MESMA LÍNGUA Um protocolo pode ser comparado a um idioma, onde uma máquina precisa entender o idioma de outra máquina

Leia mais

APOSTILA DE REDES DE COMPUTADORES PARTE - I I

APOSTILA DE REDES DE COMPUTADORES PARTE - I I APOSTILA DE REDES DE COMPUTADORES PARTE - I I 1 Índice 1. INTRODUÇÃO... ERRO! INDICADOR NÃO DEFINIDO. 2. ENDEREÇOS IP... 3 3. ANALISANDO ENDEREÇOS IPV4... 4 4. MÁSCARA DE SUB-REDE... 5 5. IP ESTÁTICO E

Leia mais