68
CENTRO UNIVERSITÁRIO POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ENGENHARIA DA COMPUTAÇÃO MINI-SERVIDOR EMBARCADO EM ROTEADOR WIRELESS UNIVERSIDADE POSITIVO Curitiba 2009

MINI-SERVIDOR EMBARCADO EM ROTEADOR … · serviços a computadores ... suas necessidades ou são subutilizados por serem muito avançados. ... internet e de um servidor Linux completo

  • Upload
    lykien

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

CENTRO UNIVERSITÁRIO POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

ENGENHARIA DA COMPUTAÇÃO

MINI-SERVIDOR EMBARCADO

EM ROTEADOR WIRELESS

UNIVERSIDADE POSITIVO

Curitiba

2009

CENTRO UNIVERSITÁRIO POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

ENGENHARIA DA COMPUTAÇÃO

MINI-SERVIDOR EMBARCADO

EM ROTEADOR WIRELESS

Juliana Serafim da Silva

Monografia apresentada à disciplina de Projeto Final como requisito parcial à

conclusão do Curso de Engenharia da Computação, orientada pelo Prof. Marcelo

Mikosz Gonçalves

UNIVERSIDADE POSITIVO

Curitiba

2009

TERMO DE APROVAÇÃO

Juliana Serafim da Silva

MINI-SERVIDOR EMBARCADO

EM ROTEADOR WIRELESS

Monografia aprovada como requisito parcial à conclusão do curso de Engenharia da

Computação da Universidade Positivo, pela seguinte banca examinadora:

Prof. Marcelo Mikosz Gonçalves (Orientador)

Prof. Edson Pedro Ferlin

Prof. Ederson Cichaczewski

Curitiba, 09 de novembro de 2009.

AGRACECIMENTOS

Gostaria de agradecer a minha família, que esteve sempre ao meu lado para me

ajudar na realização deste sonho. Principalmente quero agradecer ao meu marido,

Rodrigo Marcel Ribeiro, que me apoiou sempre e acreditou nos meus esforços. A

orientação foi fundamental neste trabalho, portanto não posso deixar de agradecer ao

meu orientador Marcelo, aos amigos, professores, colegas de trabalho, pois fizeram

parte desse período acadêmico da minha vida.

RESUMO

Este documento descreve o projeto de um mini-servidor Linux, tomando como

base a arquitetura de um equipamento roteador sem fio. Este equipamento fornecerá

serviços a computadores clientes que poderão estar conectados por ethernet ou acesso

wireless. Entre estes serviços estão: servidor SSH, DHCP, Dados, Firewall.

O roteador também possui um módulo monitor, que apresenta informações

referentes ao status da rede e clientes conectados. Estas informações serão exibidas

através de um display LCD.

A motivação para desenvolver tal sistema está em criar um produto de baixo

custo, comparado aos valores do mercado e que atenda as necessidades domésticas ou

de pequenas empresas que não dispõem dos recursos necessários para investir em um

servidor de grande porte.

Palavras chave: Redes, Roteador Wireless, Linux, Servidor

WIRELESS ROUTER IN MINI-SERVER

ABSTRACT

This document describes the design of a mini-Linux server, building upon the

architecture of wireless router equipment. This equipment will provide services to client

computers which may be connected by Ethernet or wireless. Among these services are:

SSH server, DHCP, Data, Firewall.

The router will also have a display module that will provide information

regarding the status of network and customers connected. This information will be

displayed through an LCD display.

The motivation for developing such system is to create a low cost product that

meets the needs of small or home businesses that do not have the resources to invest in a

large server.

Key words: Networking, Wireless Router, Linux, Server

SUMÁRIO

LISTA DE TABELAS.................................................................................................. 10

LISTA DE SIGLAS...................................................................................................... 11

LISTA DE FIGURAS................................................................................................... 12

1 – INTRODUÇÃO AO PROJETO ........................................................................... 13

1.1 – Motivação .......................................................................................................... 13

1.2 – Contextualização ............................................................................................... 13

1.3 – Principais Funcionalidades ................................................................................ 13

1.4 – Tecnologia Utilizada.......................................................................................... 14

2 – FUNDAMENTAÇÃO TEÓRICA......................................................................... 15

2.1 – Redes de Computadores .................................................................................... 15

2.2 – Protocolos de Rede ............................................................................................ 16

2.2.1 – Protocolo TPC/IP........................................................................................ 16

2.2.2 – Endereçamento IP....................................................................................... 17

2.3 – Aplicações de Rede ........................................................................................... 17

2.4 – Segurança de Redes ........................................................................................... 18

2.4.1 – Firewall....................................................................................................... 19

2.4.2 – Criptografia................................................................................................. 20

2.5 – Sistemas Digitais ............................................................................................... 20

2.6 – Microprocessadores ........................................................................................... 20

2.6.1 – Microprocessador Rabbit 3000................................................................... 21

2.7 – Displays LCD .................................................................................................... 25

3 – ESPECIFICAÇÃO TÉCNICA.............................................................................. 26

3.1 – Análise de Contexto .......................................................................................... 27

3.1.1 – Descrição do Objeto do Desenvolvimento ................................................. 27

3.1.2 – Descrição do Sistema ................................................................................. 27

3.1.2.1 – Descrição do Módulo Roteador........................................................... 27

3.1.2.2 – Descrição do Módulo Monitor de Rede .............................................. 28

3.1.3 – Descrição das Interfaces ............................................................................. 29

3.1.4 – Descrição das Restrições ............................................................................ 29

3.1.4.1 – Restrição de Custos ............................................................................. 29

3.1.4.2 – Restrição de Recursos.......................................................................... 29

3.1.4.3 – Restrição de Prazos.............................................................................. 30

3.1.4.4 – Condições Ambientais......................................................................... 30

3.1.4.5 – Condições Mecânicas .......................................................................... 30

3.1.4.6 – Condições de Energização................................................................... 30

3.1.4.7 – Condições Tecnológicas ...................................................................... 30

3.1.4.8 – Condições de Interferência Eletromagnética....................................... 30

3.1.5 – Descrição dos Benefícios Esperados .......................................................... 31

3.1.5.1 – Benefícios Econômicos ....................................................................... 31

3.1.5.2 – Benefícios Operacionais ...................................................................... 31

3.1.5.3 – Benefícios Estratégicos ....................................................................... 31

3.1.6 – Descrição dos Impactos Esperados ............................................................ 31

3.2 – Análise Funcional .............................................................................................. 31

3.2.1 – Funções Módulo Roteador ......................................................................... 31

3.2.2 – Funções Módulo Monitor de Rede ............................................................. 32

3.2.3 – Funções de Comunicação ........................................................................... 32

3.3 – Análise de Requisitos ........................................................................................ 32

3.3.1 – Funcionalidade ........................................................................................... 32

3.3.2 – Confiabilidade ............................................................................................ 32

3.3.3 – Usabilidade ................................................................................................. 32

3.3.4 – Eficiência .................................................................................................... 33

3.3.5 – Mantenebilidade ......................................................................................... 33

3.3.6 – Portabilidade............................................................................................... 33

3.4 – Análise da Arquitetura....................................................................................... 33

3.5 - Cronograma do Projeto ...................................................................................... 34

4 – DESENVOLVIMENTO E IMPLEMENTAÇÃO ............................................... 35

4.1 – Projeto do Mini-Servidor Wireless .................................................................... 35

4.1.1 – Análise de Requisitos ................................................................................. 35

4.1.1.1 – Requisitos de Hardware ...................................................................... 35

4.1.1.2 – Requisitos de Firmware ...................................................................... 35

4.1.1.3 – Requisitos de Software ........................................................................ 36

4.1.2 – Projeto de Hardware .................................................................................. 36

4.1.2.1 – Roteador Wireless................................................................................ 37

4.1.2.2 – Interface USB ...................................................................................... 37

4.1.2.3 – Interface Ethernet ................................................................................ 38

4.1.2.4 – Processador Rabbit 3000 ..................................................................... 38

4.1.2.5 – Controlador de Display LCD............................................................... 38

4.1.3 – Projeto e Implementação do Firmware ...................................................... 40

4.1.3.1 – Distribuição Linux Embarcado............................................................ 41

4.1.3.2 – Configuração do Sistema Operacional Linux...................................... 41

4.1.3.3 – Comunicação do Roteador com o Monitor de Rede............................ 41

4.1.3.4 – Controle de Display LCD.................................................................... 42

4.1.3.5 – Controle de Armazenamento USB ...................................................... 42

4.1.4 – Projeto de Software..................................................................................... 43

4.1.4.1 – Instalação e Configuração de Software Servidor SSH ........................ 43

4.1.4.2 – Instalação e Configuração de Software Servidor DHCP..................... 45

4.1.4.3 – Instalação e Configuração de Software Servidor de Dados................. 45

4.1.4.4 – Instalação e Configuração de Software de Segurança Firewall........... 46

4.1.4.5 – Sistema de Propaganda........................................................................ 47

4.2 – Casos de Uso para o Sistema............................................................................. 48

4.3 – Testes Preliminares............................................................................................ 48

4.4 – Planejamento de validação e experimentação ................................................... 49

4.4.1 – Teste de Acessibilidade do Mini-Servidor ................................................. 49

4.4.2 – Teste de Acessibilidade Wireless do Mini-Servidor................................... 49

4.4.3 – Teste de Configuração DHCP .................................................................... 49

4.4.4 – Teste de Acessibilidade SSH...................................................................... 49

4.4.5 – Teste de Acesso ao Diretório de Backup.................................................... 50

4.4.6 – Teste de Segurança Firewall....................................................................... 50

4.4.7 – Teste do Monitor de Rede .......................................................................... 50

5 – VALIDACAO E RESULTADOS.......................................................................... 51

5.1 – Teste de Acessibilidade do Mini-Servidor ........................................................ 51

5.2 – Teste de Acessibilidade Wireless do Mini-Servidor ......................................... 51

5.3 – Teste de Configuração DHCP ........................................................................... 52

5.4 – Teste de Acessibilidade SSH............................................................................. 53

5.5 – Teste de Acesso ao Diretório de Backup........................................................... 55

5.6 – Teste de Segurança Firewall.............................................................................. 55

5.7 – Teste do Monitor de Rede ................................................................................. 56

6 – CONCLUSÃO......................................................................................................... 57

REFERÊNCIAS ........................................................................................................... 58

ANEXO 1 – ARTIGO .................................................................................................. 59

ANEXO 2 – MAN UAL DO USUÁRIO ..................................................................... 64

ANEXO 3 – MAN UAL TÉCNICO ............................................................................ 68

10

LISTA DE TABELAS

Tabela 1 - Conceitos sobre Redes................................................................................... 16

Tabela 2 - Características do Rabbit 3000...................................................................... 24

Tabela 3 - Cronograma do Projeto ................................................................................. 34

Tabela 4 - Tabela Comparativa de Roteadores............................................................... 37

Tabela 5 - Pinos de um Display LCD............................................................................. 39

Tabela 6 - Tabela de Comandos ..................................................................................... 39

Tabela 7 - Conexão Rabbit e Display LCD.................................................................... 40

11

LISTA DE SIGLAS

SSH – Secure Shell

PDA’s – Personal digital assistants

LCD – Liquid Crystal Display

DHCP – Dynamic Host Configuration Protocol

TCP – Transmission Control Protocol

IP – Internet Protocol

Mb – Mega Bytes

MHz – Mega Hertz

DNS – Domain Name System

HTTP – Hyper Text Transfer Protocol

SMTP – Simpol Mail Transfer Protocol

POP – Post Office Protocol

FTP – File Transfer Protocol

RAM – Random Access Memory

Vcc – Volts Corrente Contínua

12

LISTA DE FIGURAS

Figura 1 - Rede de computadores ................................................................................... 15

Figura 2 - Monitoramento de Rede ................................................................................ 18

Figura 3 - Firewall em uma Rede ................................................................................... 19

Figura 4 - Organização básica de um computador ......................................................... 21

Figura 5 - Diagrama em Blocos - Rabbit 3000............................................................... 22

Figura 6 - Diagrama em Blocos do Sistema................................................................... 26

Figura 7 - Módulo Roteador ........................................................................................... 28

Figura 8 - Módulo Monitor de Rede............................................................................... 29

Figura 9 - Diagrama de Hardware ................................................................................. 36

Figura 10 – Diagrama do Firmware ............................................................................... 40

Figura 11 - Configuração Suporte USB ......................................................................... 43

Figura 12 - PuttyGen ...................................................................................................... 44

Figura 13 - Configuração Secure Shell .......................................................................... 44

Figura 14 - Configuração Servidor DHCP ..................................................................... 45

Figura 15 - Configuração do Firewall ............................................................................ 46

Figura 16 - Sistema de Propagandas............................................................................... 47

Figura 17 – Casos de Uso do Sistema ............................................................................ 48

Figura 18 - Teste de Acessibilidade do Mini-Servidor................................................... 51

Figura 19 - Teste de Acessibilidade do Mini-Servidor................................................... 52

Figura 20 - Configuração TPC/IP................................................................................... 53

Figura 21 - Endereço IP obtido ...................................................................................... 53

Figura 22 - Cliente SSH ................................................................................................. 54

Figura 23 - Acesso SSH ................................................................................................. 54

Figura 24 - Diretório de Backup..................................................................................... 55

Figura 25 - Teste de Segurança Firewall ........................................................................ 56

13

1 – INTRODUÇÃO AO PROJETO

1.1 – Motivação

Um computador de baixo custo atualmente possui um poder de processamento

superior ao de um super computador que a 15 anos atrás custava 5 milhões de dólares.

O equipamento roteador que foi utilizado possui em sua arquitetura um processador

MIPS32, rodando a 240 MHz e 32 MB de memória RAM. Esta capacidade

computacional é suficiente para embarcar um firmware com uma distribuição de Linux.

O Linux é um sistema operacional de código aberto e que devido a esta

característica possui inúmeras versões, cada uma customizada para atender uma

necessidade específica. O objetivo do projeto é atender a demanda de uma pequena

rede, pois apesar de os custos com infra-estrutura de rede terem diminuído

drasticamente nos últimos anos, muitas vezes ainda é caro para uma pequena empresa

arcar com as despesas de servidores.

1.2 – Contextualização

O sistema operacional Linux domina a grande maioria dos servidores que

compõem a internet. A maior parte desses servidores utiliza uma arquitetura de alto

desempenho e consequentemente custo. Hoje em dia as empresas desperdiçam milhões

de dólares comprando recursos de hardware e software que muitas vezes não atendem

suas necessidades ou são subutilizados por serem muito avançados.

Uma vantagem em arquiteturas modernas é poder alterar as funções de um

equipamento com a alteração de seu software. Este projeto está relacionado ao

desenvolvimento de um servidor que atenda as necessidades domésticas ou de pequenas

empresas que não necessitam ou não dispõem dos recursos necessários para investir em

servidores de grande porte. Outro ponto é a preocupação com os impactos ao meio

ambiente que também é crescente na área de servidores e data-centers, devido ao alto

gasto de energia com os equipamentos e sistemas de refrigeração.

1.3 – Principais Funcionalidades

O projeto será composto de um computador rodando sistema operacional Linux

que fornecerá serviços a computadores clientes que poderão estar conectados por

14

ethernet ou acesso wireless. Este computador deve exercer as funções de um roteador de

internet e de um servidor Linux completo. Entre os serviços oferecidos estão: Acesso

SSH, Servidor de Dados, Servidor DHCP, Firewall e Servidor Web. Também existirá

um módulo monitor de rede que será responsável por apresentar de maneira visual,

informações sobre o status de rede e do servidor.

1.4 – Tecnologia Utilizada

O desenvolvimento será baseado na modificação de um aparelho roteador já

existente no mercado, ampliando suas funcionalidades a fim de torná-lo um servidor de

rede completo.

Para o módulo monitor de rede, será utilizado um microprocessador Rabbit, que

possui uma porta ethernet para comunicação com o módulo roteador. O ambiente de

desenvolvimento utilizado será o Dynamic C. A exibição ao usuário será feita por um

display de cristal líquido com controlador integrado.

15

2 – FUNDAMENTAÇÃO TEÓRICA

Neste capítulo apresenta-se o estudo teórico dos conceitos e tecnologias que

serão utilizadas no decorrer do projeto. Os conceitos abordados são: redes de

computadores, protocolos de rede, aplicações de rede e segurança de redes. A

fundamentação de hardware compreende os tópicos de: sistemas digitais,

microprocessadores e displays de cristal líquido.

2.1 – Redes de Computadores

Apesar de a indústria de informática ainda ser jovem, o progresso que os

computadores tiveram foi muito grande em um curto período de tempo. Durante as duas

primeiras décadas de sua existência os sistemas computacionais eram altamente

centralizados. Uma empresa ou uma universidade contava apenas com um ou dois

computadores. Era pura ficção cientifica a idéia de que em apenas 20 anos haveria

milhões de computadores igualmente avançados do tamanho de um selo postal

(TANENBAUM, 2003).

A expressão “rede de computadores” diz respeito a dois ou mais computadores

interconectados que podem trocar informações. A conexão não precisa ser feita por um

fio, também podem ser usadas fibras ópticas, ondas de rádio e satélites de comunicação.

A figura 1 mostra uma rede de computadores na topologia estrela.

Figura 1 - Rede de computadores

16

As redes de computadores geralmente são divididas em dois tipos conforme sua

dimensão: LANs (Local Area Networks) são redes restritas a um espaço físico comum,

conhecidas como redes locais. Já as WANs (Wide Area Networks) são redes espalhadas

por um amplo espaço, cidades ou bairros diferentes (CONECTIVA, 2005). A Tabela 1

traz alguns conceitos básicos sobre redes de computadores.

Tabela 1 - Conceitos sobre Redes

Conceito Descriçao

ServidorMáquina ou software que provê algum recurso acessado por outras máquinas de rede. Exemplos comuns são servidores de arquivos, aplicaçoes, impressão e back-up.

Cliente Máquina ou software que acessa um recurso oferecido por um servidor.

ProtocoloConjunto de regras que define a maneira como a comunicação entre duas máquinas ou programas é feita.

Adaptador de RedeEquipamento utilizado para converter sinais digitais no formato utilizado pelo sistemade comunicaçao da rede. Exemplos comuns são modens e adaptadores ethernet.

Meio de TransmissãoMeio pelo qual trafegam os dados. Abrange desde simples cabos telefônicos até ondas eletromagnéticas (redes sem fio).

Fonte: CONECTIVA, 2005. p. 13-15.

2.2 – Protocolos de Rede

Protocolo é um conjunto de regras que controla o formato e o significado dos

pacotes e mensagens que são trocadas pelas entidades contidas em uma rede. O modelo

TCP/IP é o mais utilizado atualmente, e seu nome é oriundo de seus dois principais

protocolos.

O departamento de defesa dos Estados Unidos desenvolveu uma arquitetura em

que a rede fosse capaz de continuar funcionando mesmo se houvessem falhas em partes

do hardware de sub-redes, esta rede deu origem a internet dos tempos de hoje.

2.2.1 – Protocolo TPC/IP

O TCP foi projetado especificamente para oferecer um fluxo de bytes confiável

em uma rede não confiável e também para se adaptar dinamicamente as propriedades da

rede e ser robusto diante dos muitos tipos de falhas que podem ocorrer.

As principais características de uma rede internet ou rede TCP/IP são

(CONECTIVA, 2005):

• A comunicação entre as maquinas pertencentes a rede ocorre

independentemente da arquitetura e características de cada máquina.

17

• É possível a comunicação entre diferentes redes (sub-redes), de maneira

transparente, independentemente de seus tamanhos, topologia e organização.

• É dita uma rede de pacotes, pois a informação é dividida em pacotes

individuais que são reconstruídos e reordenados no destino. Cada pacote pode

inclusive percorrer um caminho diferente.

• Falhas em uma sub-rede não comprometem o funcionamento da rede como

um todo.

2.2.2 – Endereçamento IP

Em uma rede TCP/IP, cada máquina conectada é chamada de host. Cada host

por sua vez é identificado por um numero inteiro único de 32 bits, chamado endereço

IP. Utilizando endereços IP que toda comunicação em uma rede internet é feita. A

maneira mais comum de se representar um endereço IP é utilizando a notação decimal

pontuada, onde cada grupo de 8 bits é convertido em um número decimal, por exemplo:

(11001000.10001100.11110111.01100101) 200.140.247.101.

Os endereços IP foram originalmente divididos em classes conforme numero de

bits utilizado para endereçamento da rede e do host, sendo que os primeiros bits do

endereço identificam a classe. Uma mascara de rede é uma notação decimal que

representa o numero de bits destinados ao endereço de rede. Em uma mascara de rede,

os bits destinados a rede são ligados (valor 1), enquanto que os destinados ao host são

desligados (valor 0). Um exemplo de mascara de rede:

(11111111.11111111.00000000.00000000) 255.255.0.0. Mascara de rede para o

endereço de 16 bits: (como no endereço IP: 200.15.22.10/16) (CONECTIVA, 2005).

2.3 – Aplicações de Rede

Há inúmeros serviços (aplicações) que utilizam-se da infra-estrutura

proporcionada pelos protocolos internet para oferecer suas funcionalidades. A figura 2

ilustra os diversos protocolos em uma rede de computadores. Os principais serviços

hoje disponíveis são (CONECTIVA, 2005):

• DNS (Domain Name System): o objetivo do DNS é fornecer o serviço de

resolução de nomes de hosts. Utiliza o protocolo UDP, porta 53, mas também

pode utilizar TCP na mesma porta para mensagens muito grandes.

18

• HTTP (Hyper Text Transfer Protocol): o serviço mais utilizado na internet

é o HTTP, utilizado para prover conteúdo em diversos formatos. É o protocolo

utilizado por navegadores e servidores web. Utiliza o protocolo TCP, porta 80.

• SMTP (Simpol Mail Transfer Protocol): serviço de entrega/transferência

de e-mails (correio eletrônico). O protocolo SMTP especifica como um e-mail

chega ao seu destinatário. Utiliza o protocolo TCP, porta 25.

• POP (Post Office Protocol): serviço de recebimento de e-mails. O POP

especifica a maneira como as mensagens de um usuário ficam armazenadas no

servidor e como são transferidas para o programa cliente. Utiliza o protocolo

TCP, porta 110.

• FTP (File Transfer Protocol): serviço para transferência de arquivos.

Geralmente utilizado para a transferência de arquivos considerados grandes, pois

oferece maior controle e flexibilidade que o HTTP. Utiliza o protocolo TCP,

porta 21.

Figura 2 - Monitoramento de Rede

(Fonte: Ethereal, 2009)

2.4 – Segurança de Redes

Durante as primeiras décadas de sua existência, as redes de computadores foram

usadas principalmente por pesquisadores universitários, com a finalidade de enviar

mensagens de correio eletrônico. Sob essa condição a segurança nunca precisou de

maiores cuidados. Porem, como milhões de cidadãos comuns atualmente estão usando

19

as redes para executar operações bancárias, fazer compras e arquivar documentos

pessoais, a segurança das redes esta despontando como um problema potencial.

2.4.1 – Firewall

Muitas empresas têm grande quantidade de informações on-line, segredos

comerciais, planos de desenvolvimento de produtos, estratégias de marketing, análises

financeiras, etc. A revelação dessas informações para um concorrente poderia trazer

sérios problemas.

Em conseqüência disso são necessários mecanismos para manter uma rede

segura. Os firewalls são apenas uma adaptação moderna de uma antiga forma de

segurança medieval: cavar um fosso profundo em torno do castelo. Esse recurso forçava

todos aqueles que quisesse entrar ou sair do castelo a passar por uma única ponte, onde

poderiam ser revistados por guardas. Nas redes, é possível usar o mesmo artifício: uma

empresa pode ter muitas LANs conectadas de forma arbitrária, mas todo o tráfego de

saída ou de entrada na empresa é feito por uma ponte eletrônica (firewall) como mostra

a figura 3:

Figura 3 - Firewall em uma Rede

Cada filtro de pacotes é um roteador padrão equipado com algumas funções

complementares, que permitem a inspeção de cada pacote de entrada ou saída. Os

pacotes que atenderem a algum critério serão remetidos normalmente, mas os que

falharem no teste são descartados (CONECTIVA, 2005).

20

2.4.2 – Criptografia

A palavra criptografia vem das palavras gregas que significam “escrita secreta”

(TANEMBAUM, 2003), uma cifra é uma transformação de caractere por caractere ou

de bit por bit, sem levar em conta a estrutura lingüística da mensagem.

As mensagens a serem criptografadas, conhecidas como texto simples (plain

text), são transformadas por uma função que é parametrizada por uma chave. Em

seguida, a saída do processo de criptografia, conhecida como texto cifrado (cipher text),

é transmitida normalmente.

2.5 – Sistemas Digitais

Um sistema digital é uma combinação de dispositivos projetados para manipular

informação lógica ou quantidades físicas que são representadas no formato digital.

Esses dispositivos são na maioria das vezes eletrônicos, mas podem, também, ser

mecânicos, magnéticos ou pneumáticos (TOCCI, 2003). Alguns dos sistemas digitais

mais conhecidos são os computadores, as calculadoras e o sistema de telefonia.

As técnicas digitais têm sido aplicadas em inúmeras áreas da tecnologia. Porem

a área de computação digital é a mais notável e a mais ampla. Embora os computadores

digitais afetem de maneira significativa nossas vidas, provavelmente poucas pessoas

sabem o que um computador faz. Em termos simples, um computador é um sistema de

hardware que realiza operações aritméticas, manipula dados e toma decisões.

Um computador é mais rápido e preciso que uma pessoa, porém diferentemente

dos seres humanos, ele precisa receber um conjunto completo de instruções que

determine exatamente o que fazer em cada passo de suas operações.

2.6 – Microprocessadores

Todos os computadores contem 5 elementos essenciais: a unidade lógica e

aritmética, a unidade de memória, a unidade de controle, a unidade de entrada e a

unidade de saída. A conexão básica dessas unidades é ilustrada na figura 4.

21

Figura 4 - Organização básica de um computador

(Fonte: LUCALM, 2009)

O microprocessador é o coração de todo computador. Ele realiza várias funções,

incluindo (LUCALM, 2009):

• Fornecimento de sinais de temporização e controle para todos os elementos

do computador,

• Busca de instruções e dados na memória,

• Transferências de dados de e para a memória e dispositivos de E/S,

• Decodificação de instruções,

• Realização de operações lógicas e aritméticas indicadas pelas instruções.

2.6.1 – Microprocessador Rabbit 3000

O Rabbit 3000 é um microprocessador 8 bits moderno, que é o elemento central

de um sistema de design completo, inclui ferramentas de desenvolvimento e bibliotecas

de software. O kit de desenvolvimento tem todas as ferramentas essenciais necessárias

para desenvolver um sistema baseado em microprocessador.

O Rabbit 3000 tem um extenso conjunto de periféricos, incluindo 6 portas

seriais, 56 pinos de E/S paralelos, clocks de data e hora e também uma porta ethernet

embutida. A figura 5 mostra o diagrama do microprocessador.

22

Figura 5 - Diagrama em Blocos - Rabbit 3000

(Fonte: RABBIT, 2009)

O microprocessador Rabbit é fabricado pela companhia Z-World, que está no

mercado desde 1983 e é pioneira na criação de controles industriais embarcados. Este

processador tem uma arquitetura de 8-bits, e é muito eficiente, muito completo e foi

desenvolvido especificamente para aplicações embarcadas de controle, comunicações e

conexões com redes ethernet. É um processador rápido com desempenho comparável ao

23

de um processador de 16-bit. Opera com relógios de até 55,5MHz. Oferece grande

rapidez para cálculos matemáticos, lógicos e acessos de entrada/saída. Tem ainda quatro

níveis de prioridade para interrupções, favorecendo assim respostas rápidas a eventos de

tempo real.

O desenvolvimento para este processador é feito em C, o que facilita sua

programação para conhecedores desta linguagem, e torna o processador muito eficiente

e aplicável os projetos mais variados e complexos. E como existente na linguagem C,

possibilita a utilização de alguns comandos em Assembly.

Este processador não necessita de memória externa. Com suas 20 linhas de

endereçamento, 8 de dados, 3 de chip-enable, 2 de output-enable, e 2 de write-enable,

podem ser controladas até 6 memória Flash/SRAM. Até 1MB de memória pode ser

acessado diretamente pelo software de desenvolvimento Dynamic C , e com ajustes de

software este número pode chegar a 6MB.

Podem ser criados sistemas multi-processados, graças a existência de uma porta

slave no processador, portanto o mesmo pode atuar como master ou slave, permitindo

assim a implementação de tarefas dedicas para cada um dos processadores. A

comunicação entre os processadores é facilitada devido ao fato de existirem linhas

especificas e dedicadas a este fim. A tabela 2 mostra as características do Rabbit 3000.

As principais vantagens, ou características deste processador são:

• 8 portas paralelas, que totalizam 56 linhas de entrada/saída;

• 6 portas seriais, que podem ser configuradas de modos assíncrono ou

síncrono (SPI, SDLC ou HDLC);

• 4 saídas independentes PWM, que podem ser configurados como um D/A

de 10-bit capaz de controlar motores ou solenóides;

• 10 relógios de 8-bit e 1 de 10-bit com 2 registradores de comparação;

• Relógio de tempo real;

24

Tabela 2 - Características do Rabbit 3000

(Fonte: RABBIT, 2009)

25

2.7 – Displays LCD

Displays LCD são muito úteis como IHM’s (interface homem máquina) de

saída. Atualmente, existem diversos tipos de displays LCD gráficos, e de caracteres, que

variam entre si basicamente em seu tamanho, e controlador. Displays gráficos são

aqueles formados por diversos pontos dispostos separadamente, formando assim uma

grande matriz de pontos, conforme são configurados, para ficarem acessos ou apagados,

estes pontos podem formar diversos desenhos ou mesmo letras. Já os displays de

caracteres, são formados por diversas colunas onde podem, basicamente ser construídas

apenas letras. Apesar das diversas marcas e modelos de tipo de interface, todos seguem

um mesmo padrão de funcionamento e controle.

26

3 – ESPECIFICAÇÃO TÉCNICA

Este capítulo tem por objetivo descrever os principais componentes e

funcionalidades do hardware e do software que compõem o sistema. A figura 6, segue a

visão geral e a descrição funcional de cada módulo do sistema.

Figura 6 - Diagrama em Blocos do Sistema

27

3.1 – Análise de Contexto

3.1.1 – Descrição do Objeto do Desenvolvimento

O objeto do desenvolvimento consiste em um equipamento roteador que tem seu

firmware original modificado. O novo firmware aplicado é uma modificação do kernel

Linux, adaptado à arquitetura de hardware do equipamento. O equipamento fornece

serviços a computadores clientes que poderão estar conectados por ethernet ou acesso

wireless. Entre estes clientes poderão estar microcomputadores, aparelhos celulares e

PDAs. O roteador também possui um módulo monitor, que apresenta informações

referentes ao status da rede e clientes conectados. Estas informações são exibidas por

meio de um display LCD.

3.1.2 – Descrição do Sistema

3.1.2.1 – Descrição do Módulo Roteador

Este módulo toma como base um aparelho roteador disponível no mercado.

Neste aparelho devem ser aplicadas alterações de firmware, de modo que este passe a

desempenhar as funções não somente de um roteador, mas também as funções de um

,servidor Linux completo. As funções requeridas são:

• Acesso SSH (Login remoto ao console do servidor),

• Servidor de Dados (Serviço dedicado ao armazenamento e distribuição de

arquivos na rede. Pode ser usado como servidor de backup),

• Servidor DHCP (Protocolo TCP/IP que oferece configuração dinâmica de

cliente),

• Firewall (Serviço que tem por objetivo aplicar políticas de segurança na

rede).

A figura 7 apresenta o funcionamento geral do Módulo Roteador.

28

Figura 7 - Módulo Roteador

3.1.2.2 – Descrição do Módulo Monitor de Rede

O roteador irá exibir informações em tempo real, sobre a carga de rede, clientes

conectados e status de conexão com a internet. Para exibir estas informações, o sistema

possui um monitor de rede e um display para exibição destas informações. Foi

desenvolvido um software que capture estes parâmetros pelo monitoramento das

interfaces de rede e que efetua o envio destes parâmetros por uma porta ethernet ao

controlador do display. Este controlador foi desenvolvido utilizando o microprocessador

Rabbit e trata-se de um subsistema que ficará monitorando a porta ethernet e

atualizando o display com as informações que forem recebidas. A figura 8 apresenta o

funcionamento geral do Monitor de Rede.

29

Figura 8 - Módulo Monitor de Rede

3.1.3 – Descrição das Interfaces

A interface entre os dois módulos é feita por um protocolo de comunicação

implementado em cada uma das partes do sistema. O módulo roteador capta as

informações de utilização e envia estas estatísticas para o módulo monitor de rede pela

conexão de rede ethernet.

3.1.4 – Descrição das Restrições

3.1.4.1 – Restrição de Custos

O desenvolvimento do projeto da interface por ser um projeto acadêmico possui

grande restrição nos custos. Para que seja viável esse projeto deve utilizar dos recursos

já disponíveis evitando ao máximo a necessidade de investimentos na aquisição de

materiais.

3.1.4.2 – Restrição de Recursos

Além de o projeto contar com recursos limitados por se tratar de um projeto

acadêmico, é também um dos objetivos do projeto criar uma solução de baixo custo

para atender as necessidades domésticas no uso de equipamentos e servidores de rede.

30

3.1.4.3 – Restrição de Prazos

O projeto está restrito aos prazos estabelecidos em cronograma para a entrega

durante o ano de 2009.

3.1.4.4 – Condições Ambientais

O projeto resulta em um equipamento eletrônico que deve ser instalado em

ambiente com temperatura e umidade que permitam o funcionamento dos componentes

eletrônicos como microcomputadores. Não há grande exigência no controle dessas

variáveis.

3.1.4.5 – Condições Mecânicas

Para a implementação do hardware utiliza-se um kit fornecido pela Rabbit. Esse

kit apresenta as condições mecânicas necessárias ao bom funcionamento do projeto.

3.1.4.6 – Condições de Energização

Este projeto necessita de fonte de energia elétrica estabilizada, sendo também

necessário conversor de tensão que dependerá da tensão primária onde for instalado o

equipamento. A tensão secundária será de 9Vcc (Volts Corrente Contínua). O kit de

desenvolvimento Rabbit fornece um conversor com tensão primária de 127Vca (Volts

Corrente Alternada) e tensão secundária de 9Vcc.

3.1.4.7 – Condições Tecnológicas

O projeto parte de um equipamento roteador já existente. Também será utilizado

um kit de desenvolvimento para o microprocessador Rabbit.

3.1.4.8 – Condições de Interferência Eletromagnética

Apesar de circuitos digitais apresentarem boa imunidade à interferência

eletromagnética, recomenda-se a instalação em ambiente no qual não haja equipamentos

de produzam grande quantidade de interferência eletromagnética como motores,

geradores e grandes alto-falantes.

31

3.1.5 – Descrição dos Benefícios Esperados

3.1.5.1 – Benefícios Econômicos

Esse projeto visa a reduzir os custos da aquisição de servidores de rede de alto

desempenho e atender as necessidades domésticas no uso de equipamentos e servidores

de rede.

3.1.5.2 – Benefícios Operacionais

A utilização de um kernel Linux reduz a curva de aprendizado na utilização do

sistema, pois usuários que já possuem experiência em sistemas deste tipo não terão

dificuldade em sua operação.

3.1.5.3 – Benefícios Estratégicos

Qualquer equipamento que reduza custos, como o vislumbrado por este projeto,

apresenta um benefício estratégico, pois os recursos economizados aqui podem ser

aplicados em outras áreas da organização que o utilizar.

3.1.6 – Descrição dos Impactos Esperados

Pelo fato do sistema se comportar exatamente como um servidor Linux de

grande porte, não haverá grande impacto caso a organização opte por utilizá-lo.

3.2 – Análise Funcional

3.2.1 – Funções Módulo Roteador

O equipamento deve ser capaz de efetuar o roteamento de uma rede local, além

de fornecer os seguintes serviços aos usuários:

• Acesso SSH (Login remoto ao console do servidor)

• Servidor de Dados (Serviço dedicado ao armazenamento e distribuição de

arquivos na rede. Pode ser usado como servidor de backup)

• Servidor DHCP (Protocolo TCP/IP que oferece configuração dinâmica de

cliente)

32

• Firewall (Serviço que tem por objetivo aplicar políticas de segurança na

rede)

3.2.2 – Funções Módulo Monitor de Rede

Deseja-se que o roteador seja capaz de exibir informações em tempo real, sobre

a carga de rede, clientes conectados e status de conexão com a Internet.

3.2.3 – Funções de Comunicação

O roteador deve ser capaz de fornecer conectividade wireless aos computadores

clientes e também fornecer, se necessário, interfaces ethernet para acesso à rede.

3.3 – Análise de Requisitos

3.3.1 – Funcionalidade

A interface utiliza os recursos de comunicação e interação entre os componentes

de forma a receber, processar e retornar os dados, que é objetivo principal deste projeto.

O projeto utiliza o kit Rabbit 3000, fazendo com que se tenha um padrão de

desenvolvimento no qual há redução de custos em relação a uma solução personalizada.

Também deve utilizar interface de comunicação padronizada, conforme o roteador

indicado, pois é de grande aceitação no mercado, facilitando a manutenção do sistema.

3.3.2 – Confiabilidade

O equipamento deve ser eficiente para um bom desempenho de rede, porém

também deve ser simples o suficiente para o administrador da rede conseguir configurá-

lo rapidamente.

3.3.3 – Usabilidade

O equipamento deve possuir estabilidade para atender à demanda de uma rede

doméstica de modo a roteá-la corretamente e sem perda de pacotes.

33

3.3.4 – Eficiência

Uma vez a rede em operação, o equipamento deve permanecer o maior tempo

possível sem que ocorram falhas no sistema. As falhas isoladas de hardware e software

ou mudanças na topologia da rede devem ser tratadas internamente sem requerer uma

reinicialização de todo o sistema.

3.3.5 – Mantenebilidade

O projeto destina-se a ser um equipamento de fácil mantenebilidade, visto que

utiliza linguagens e equipamentos de conhecimento acadêmico. Apesar de possuir

módulos dedicados para cada função, a estrutura utilizada facilita seu entendimento.

3.3.6 – Portabilidade

O objetivo principal do projeto é possuir alta portabilidade do equipamento,

visto que por utilizar a tecnologia wireless, o sistema possui facilidade de mobilidade e

utilização.

3.4 – Análise da Arquitetura

O equipamento foi dividido em módulos para facilitar a implementação e a

compreensão das funções de cada uma das partes que o compõem. O módulo roteador é

o responsável pelas funções de rede e serviços. Já o módulo monitor fornece

informações a respeito da utilização do equipamento e interface visual com o usuário.

34

3.5 - Cronograma do Projeto

Tabela 3 - Cronograma do Projeto

Atividade PrazoEntrega da Proposta do TCC 02/03/2009Estudo da arquitetura de alguns equipamentos roteadores. mar/09Entrega das Especificações Técnicas do TCC 23/03/2009

Alterações no firmware para adaptá-lo ao hardware escolhido. Instalação do sistema operacional Linux no equipamento modificado.

Março-Abril/2009

Entrega da etapa de projeto do TCC (no formato de monografia) 13/04/2009

Testes com o novo firmware instalado no equipamento. abr/09Alterações de firmware e hardware para possibilitar dispositivo de armazenamento externo.

mai/09

Apresentação e defesa parcial perante a banca do TCC, para verificação do andamento dos trabalhos.

18/05/2009

Implementação do monitor de rede e protocolo de comunicação. jun/09

Apresentação da etapa da Implementação Parcial do TCC e do artigo técnico.

15/06/2009

Estudo dos possíveis serviços a serem disponibilizados. Instalação e configuração dos serviços escolhidos. Testes de rede e comparação de desempenho com outras arquiteturas.

jul/09

Qualificação do TCC com a apresentação do projeto implementado. 17/08/2009

Elaboração da documentação final (conclusões, artigo, manual de utilização, etc).

Setembro-Outubro/09

Entrega da documentação completa em espiral para a banca examinadora, em 3 vias, contendo a monografia com manual e artigo científico.

09/11/2009

Apresentação dos TCCs na Mostra dos Projetos do curso de Engenharia da Computação para a comunidade acadêmica e empresarial.

30/11/2009

Defesa formal dos projetos, com apresentação oral para a banca examinadora.

01/12/2009

Entrega da documentação completa, revisada e corrigida, encadernada no padrão da biblioteca (capa dura) em duas vias, contendo a monografia, manual do sistema e artigo científico; Entrega do CD-ROM , no formato WEB, com todo o conteúdo do TCC.

14/12/2009

35

4 – DESENVOLVIMENTO E IMPLEMENTAÇÃO

Neste capítulo faz-se o detalhamento do projeto do mini-servidor wireless e os

procedimentos adotados para o desenvolvimento.

4.1 – Projeto do Mini-Servidor Wireless

Abaixo são enumerados os requisitos, componentes e as funcionalidades do

mini-servidor wireless.

4.1.1 – Análise de Requisitos

Antes do inicio do desenvolvimento do hardware, software e do firmware deve-

se identificar os requisitos necessários ao mini servidor wireless abaixo segue a analise

dos requisitos necessários ao projeto.

4.1.1.1 – Requisitos de Hardware

O projeto possui requisitos de hardware, tais como:

• Roteador wireless

• Interface USB

• Interface Ethernet

• Microprocessador Rabbit

• Controlador de Display LCD

4.1.1.2 – Requisitos de Firmware

O firmware possui os seguintes requisitos:

• Distribuição Linux Embarcado

• Implementar configurações de sistema operacional Linux

• Implementar comunicação do roteador com o monitor de rede

• Implementar controle de display LCD

36

• Implementar controle de armazenamento USB

4.1.1.3 – Requisitos de Software

O projeto possui os seguintes requisitos de software:

• Instalação e configuração de software servidor SSH.

• Instalação e configuração de software servidor DHCP.

• Instalação e configuração de software servidor de dados.

• Instalação e configuração de software de segurança Firewall.

• Implementar software monitor de rede.

• O software deve implementar a interface Ethernet para

comunicação entre o roteador e o microprocessador.

4.1.2 – Projeto de Hardware

Com o estabelecimento dos requisitos torna-se possível a construção lógica do

mini servidor wireless que pode ser visualizada na Figura 9.

Figura 9 - Diagrama de Hardware

37

4.1.2.1 – Roteador Wireless

O sistema necessita de um equipamento roteador wireless funcional. Foi

escolhido o modelo D-link DIR-320 por possuir todos os requerimentos necessários

para o sistema. Os requisitos são: porta Ehertnet, porta USB, 32 MB de memória RAM,

4 MB de memória Flash e funções básicas de roteamento. A tabela 4 compara os

diferentes modelos de equipamentos disponíveis.

Tabela 4 - Tabela Comparativa de Roteadores

(Fonte: DD-WRT, 2009)

4.1.2.2 – Interface USB

O equipamento escolhido possui uma interface USB para conexão de

dispositivos de armazenamento. Este armazenamento externo servirá para a função de

servidor de dados e também para a instalação de aplicativos no mini servidor.

38

4.1.2.3 – Interface Ethernet

A comunicação entre o roteador e o monitor de rede é estabelecida por uma

interface ethernet. Éimplementado um protocolo de comunicação entre ambas as partes,

onde o modulo roteador é o originador dos dados e o monitor de rede será o consumidor

desses dados.

O roteador escolhido possui quatro portas ethernet que podem ser utilizadas para

a comunicação com o modulo monitor de rede. O microprocessador escolhido para o

monitor de rede também possui uma porta ethernet para comunicação com o roteador.

4.1.2.4 – Processador Rabbit 3000

É utilizado o microprocessador Rabbit 3000 para controle do módulo monitor de

rede. Nele será implementado o controlador do display LCD para exibição das

informações oriundas do roteador wireless.

4.1.2.5 – Controlador de Display LCD

O modulo monitor de rede tem como principal tarefa exibir informações de

conexão por um display LCD. É implementado um controlador para este display que

seja capaz de exibir as seguintes informações sobre clientes conectados, status de

conexão com a internet e espaço livre em disco.

O display utilizado foi um 16x2, com controlador HD44780 que é bastante

conhecido e pode ser encontrado facilmente no mercado. A tabela 5 mostra os pinos de

interfaceamento do display LCD utilizados.

39

Tabela 5 - Pinos de um Display LCD

Pino Nome Função

1 Vss gnd

2 Vdd +vcc

3 Vee contraste

4 RS registrador

5 R/W read/write

6 E enable

7 D0 bit dados 0

8 D1 bit dados 1

9 D2 bit dados 2

10 D3 bit dados 3

11 D4 bit dados 4

12 D5 bit dados 5

13 D6 bit dados 6

14 D7 bit dados 7

A tabela 6 mostra os comandos utilizados para controle das informações

exibidas no display LCD.

Tabela 6 - Tabela de Comandos

(Fonte: EPEMAG, 2009)

40

O microprocessador envia os comandos para exibição de dados através de duas

portas de comunicação, sendo utilizados 11 pinos, sendo 8 de dados e 3 de controle, a

tabela75 apresenta a conexão entre o microprocessador Rabbit e o display LCD.

Tabela 7 - Conexão Rabbit e Display LCD

Rabbit Display LCD

PA0 D0

PA1 D1

PA2 D2

PA3 D3

PA4 D4

PA5 D5

PA6 D6

PA7 D7

PD2 RS

PD3 RW

PD4 EN

4.1.3 – Projeto e Implementação do Firmware

Para controle dos itens de hardware descritos, será necessária a implementação e

instalação de firmwares. Os requisitos de firmware são apresentados na figura 10.

Figura 10 – Diagrama do Firmware

41

4.1.3.1 – Distribuição Linux Embarcado

O roteador wireless vem de fabrica com um firmware que prove as funções

básicas de rede. Este firmware será substituído por uma distribuição Linux para

dispositivos embarcados. A distribuição escolhida foi DD-WRT pelo fato de ser open

source.

Existem diversas versões do firmware DD-WRT, a figura 15 apresenta as

diferenças entre cada uma delas. Foi escolhida a versão MINI, pois possui todos os

pacotes necessários e como a memória flash do roteador é limitada, apenas 4MB, foi

possível utilizá-la sem problemas.

Para substituir o firmware original, foi utilizado o protocolo tftp. A listagem

abaixo mostra os comandos utilizados para gravar o novo firmware na memória flash do

equipamento.

C:\>tftp -i 192.168.0.1 put firmware.bin

Transferência bem sucedida: 3760128 bytes em 5 segundos, 752025

bytes/s

Detalhamento do comando:

tftp: protocolo de transferência de arquivo

-i : novo arquivo do firmware é binário

put: troca o firmware antigo pelo novo

firmware.bin: imagem do kernel linux

4.1.3.2 – Configuração do Sistema Operacional Linux

A instalação inicial da distribuição Linux vem apenas com alguns aplicativos

básicos, sendo necessária a instalação e configuração de softwares adicionais para que

alguns requisitos do sistema sejam atendidos. Toda configuração é feita através de

edição de arquivos e implementação de scripts Shell.

4.1.3.3 – Comunicação do Roteador com o Monitor de Rede

O firmware que faz a comunicação entre o roteador e o microprocessador Rabbit

é composto de 2 partes. Uma delas estará rodando no roteador e terá o papel de enviar

as informações de conexão através da porta Ethernet. Para executar esta tarefa foram

desenvolvidos dois scripts utilizando as linguagens Shell e PHP.

42

O script checkInternetStatus.cgi foi desenvolvido em linguagem Shell e tem o

objetivo de verificar a conexão com a internet. Para isto é executado o simples teste de

pingar um endereço conhecido na internet e verificar se há uma resposta. Em caso

positivo a internet é considerada ligada e caso contrário, considerada desligada.

O script printDiskSpace.php foi desenvolvido em linguagem PHP e tem o

objetivo de verificar o espaço livre disponível em disco. Para isto é executado o

comando df que exibe o espaço livre em cada uma das partições do sistema. O resultado

é formatado para ser exibido no display LCD.

Outra informação de rede também disponível é o numero de clientes conectados

através de conexão wireless. Esta informação é proveniente da interface de configuração

do firmware. A pagina principal da interface de configuração é acessada e o numero de

clientes conectado é obtido da seção Wireless Clients.

A segunda parte é acessar as informações provenientes dos script citados acima.

Para executar esta tarefa foi implementado, em linguagem Dynamic C, um cliente

HTTP completo. Este cliente é capaz de solicitar um endereço IP, conectar-se a rede do

roteador e fazer requisições, utilizando o protocolo HTTP, ao servidor web que esta

rodando no roteador. Estas informações são atualizadas a cada cinco segundos por uma

nova requisição HTTP.

4.1.3.4 – Controle de Display LCD

Este componente terá o papel de gerenciar o display LCD. Deve buscar as

informações recebidas pelo módulo de comunicação, formatá-las para uma melhor

exibição no display e atualizar o que está sendo exibido sempre que necessário.

Foi desenvolvido um componente para executar a tarefa de formatar e atualizar

as informações exibidas no display LCD. Este componente acessa duas portas de

comunicação do microprocessador rabbit onde esta conectado o display LCD. Foram

desenvolvidas algumas funções para facilitar a atualização das informações. Estas

funções utilizam os comandos apresentados na tabela 4 para limpar e escrever dados na

tela do display.

4.1.3.5 – Controle de Armazenamento USB

Apesar de o roteador possuir uma porta USB, originalmente ela não é utilizada

para funcionar com dispositivos de armazenamento e sim com impressoras que possuem

43

este tipo de conexão. Para possibilitar o uso de tais dispositivos de armazenamento é

necessário que sejam aplicadas alterações no sistema operacional para o correto

reconhecimento e funcionamento.

O firmware aplicado possui algumas simplificações para a habilitação da porta

USB como dispositivo de armazenamento. Através de sua interface de configuração

foram setados os parâmetros exibidos na figura 11.

Figura 11 - Configuração Suporte USB

4.1.4 – Projeto de Software

Abaixo estão descritas as funcionalidades de software que estarão disponíveis

aos computadores clientes do mini-servidor wireless.

4.1.4.1 – Instalação e Configuração de Software Servidor SSH

Este software possibilita o acesso remoto ao console do sistema operacional. É

por este serviço que ocorre a interação do sistema com o usuário pelas de linha de

comando.

O Firmware DD-WRT possibilita uma fácil configuração do servidor SSHD por

sua interface web. Foram executados os seguintes passos de configuração:

• Gerar chave publica/privada pelo utilitário PUTTYGEN (esta chave é

necessária para o protocolo SSH), conforme exibido na figura 12:

44

Figura 12 - PuttyGen

• Habilitado o serviço SSHd (Secure Shell) na interface Web do roteador,

conforme mostra a figura 13:

Figura 13 - Configuração Secure Shell

45

4.1.4.2 – Instalação e Configuração de Software Servidor DHCP

Este serviço fornece configurações de rede para os clientes. Controla os

endereços IPs para evitar conflitos e também fornece endereços de servidores DNS.

A configuração deste serviço e efetuada através da interface de configuração do

firmware. A figura 14 mostra a seção onde e possível habilitar ou desabilitar o servidor

DHCP, assim como também configurar parâmetros avançados do protocolo DHCP.

Figura 14 - Configuração Servidor DHCP

4.1.4.3 – Instalação e Configuração de Software Servidor de Dados

Este serviço fornece um diretório para armazenamento de arquivos. Este

diretório pode ser utilizada para backup por todos os clientes conectados ao mini

servidor.

O serviço que possibilita o compartilhamento de arquivos em uma rede

Windows é o Samba. A configuração deste serviço foi efetuada da seguinte maneira:

• Formatar e Particionar Disco Externo:

o 512MB – Sistema ext3 (Instalação de Pacotes),

o 256MB – Sistema Linux Swap (Memória swap – Adicional RAM),

o Restante – Sistema Fat32 (Dados),

• Instalar Pacote SambaSlim

o Baixar arquivo http://www.3iii.dk/linux/dd-wrt/slim-samba2-usb.tar.gz,

46

o Descompactar arquivo slim-samba2-usb.tar.gz no drive USB,

o Conectar Pen-Drive no roteador e reiniciá-lo,

o Executar o script Shell /mnt/samba2.usb (Monta um diretório do pen-drive

para acesso via Windows),

o Configurar Compartilhamento na inicialização do sistema: Startup-Scripts

(Administration -> Commands) /mnt/samba2.usb,

o Alterado Script de Compartilhamento, para permitir escrita no diretório,

através do Windows.

Comando Original: mount -o noatime,nodiratime

/dev/discs/disc0/part3 /mnt/data

Comando Modificado: mount -o rw,umask=0000

/dev/discs/disc0/part3 /mnt/data

4.1.4.4 – Instalação e Configuração de Software de Segurança Firewall

Este serviço efetua a segurança da rede. Controla o acesso a portas e

computadores da rede interna. A configuração é feita pela interface web do firmware. A

figura 15 mostra a seção onde pode ser habilitado ou desabilitado, além de configurados

parâmetros avançados.

Figura 15 - Configuração do Firewall

47

4.1.4.5 – Sistema de Propaganda

Após a aprovação do projeto e durante a implementação do mesmo, foi sugerido

o desenvolvimento de uma aplicação pratica para o mini-servidor. O equipamento

deveria ser utilizado para exibir anúncios de promoções de lojas em um shopping-

center.

A implementação exigiu a instalação de um novo servidor web, que fosse capaz

de processar páginas dinâmicas e possibilitasse a contagem de acessos e atualização

fácil dos anúncios.

O sistema de propaganda foi desenvolvido em linguagem Shell e trata-se de uma

aplicação que efetua a leitura de um diretório, em busca de arquivos de propaganda para

cada loja.

Ao exibir estas propagandas aos clientes, é exibido um link que ao clicar-se, é

contabilizado uma visita a mais na loja requisitada. Esta informação é atualizada em

tempo real e pode ser consultada a qualquer momento pelos lojistas.

Para acessar este sistema, basta que um cliente conecte-se a rede wireless do

shopping Center e abra a página inicial do roteador. Ao fazer isto já é exibida a listagem

de lojas com promoções disponíveis. A interface exibida na figura 16 trata-se de um

protótipo, pois como foi uma implementação adicional do projeto, o foco foi funcional e

não estético, porem como a mesma é uma página em linguagem HTML, pode-se

futuramente alterá-la e customizá-la de acordo com as necessidades de cada empresa.

Figura 16 - Sistema de Propagandas

48

4.2 – Casos de Uso para o Sistema

O sistema foi projetado tendo como base alguns casos de usos possíveis. Estes

casos de uso são apresentados na figura 17 abaixo. Os testes e validação do sistema

também foram escritos tendo eles como diretiva.

Figura 17 – Casos de Uso do Sistema

4.3 – Testes Preliminares

A partir da implantação do novo firmware já é possível efetuar alguns testes

preliminares para verificar se o equipamento roteador está iniciando o novo sistema

operacional. Com o comando ping <endereço IP> é possível verificar se um computador

está acessível na rede, no caso se executarmos o ping passando o endereço IP padrão no

equipamento, o resultado esperado é a resposta abaixo:

Resposta de 192.168.1.1: bytes=32 tempo<1ms TTL=128

Resposta de 192.168.1.1: bytes=32 tempo<1ms TTL=128

Resposta de 192.168.1.1: bytes=32 tempo<1ms TTL=128

Resposta de 192.168.1.1: bytes=32 tempo<1ms TTL=128

49

4.4 – Planejamento de validação e experimentação

Para validar o funcionamento do sistema, foram escritos alguns casos de teste.

Estes casos de teste são modulares, ou seja, testam o funcionamento de cada uma das

partes que compõem o sistema. A seguir, temos os detalhamentos destes testes.

4.4.1 – Teste de Acessibilidade do Mini-Servidor

Procedimento: Executar o comando: ping <endereço IP>.

Resultado esperado:

Resposta de <endereço IP>: bytes=32 tempo<1ms TTL=128

Resposta de <endereço IP>: bytes=32 tempo<1ms TTL=128

Resposta de <endereço IP>: bytes=32 tempo<1ms TTL=128

Resposta de <endereço IP>: bytes=32 tempo<1ms TTL=128

4.4.2 – Teste de Acessibilidade Wireless do Mini-Servidor

Procedimento: Com um computador que possui uma placa de rede wireless,

efetuar uma busca das redes wireless disponíveis.

Resultado Esperado: Encontrar uma rede com o SSID configurado no mini-

servidor e conseguir conectar à esta rede.

4.4.3 – Teste de Configuração DHCP

Pré-Requisitos: Ter passado com sucesso no teste 4.4.2.

Procedimento: Configurar a placa de rede wireless para obter um endereço IP

automático e tentar conexão com a rede wireless.

Resultado Esperado: Conseguir conexão com a rede wireless e obter um

endereço IP fornecido pelo mini-servidor.

4.4.4 – Teste de Acessibilidade SSH

Pré-Requisitos: Ter passado com sucesso no teste 4.4.2 e 4.4.3.

Procedimento: Por um terminal Linux, executar o seguinte comando: ssh

<endereço IP>.

50

Resultado Esperado: Obter como resposta um prompt solicitando login e senha

para acesso remoto ao equipamento roteador.

4.4.5 – Teste de Acesso ao Diretório de Backup

Pré-Requisitos: Ter passado com sucesso no teste 4.4.2 e 4.4.3.

Procedimento: Tentar acesso ao diretório de rede: \\<endereço IP>\BACKUP.

Resultado Esperado: Conseguir visualizar o diretório corretamente e copiar

arquivos para ele.

4.4.6 – Teste de Segurança Firewall

Pré-Requisitos: Ter passado com sucesso no teste 4.4.2 e 4.4.3.

Procedimento: Iniciar um serviço em uma das máquinas da rede local e tentar

acessá-lo de uma rede externa.

Resultado Esperado: Não obter resposta da porta configurada pois o firewall está

bloqueando acessos à esta porta.

4.4.7 – Teste do Monitor de Rede

Pré-Requisitos: Ter passado com sucesso no teste 4.4.2 e 4.4.3.

Procedimento: Observar o display LCD antes de conectar à rede wireless.

Conectar um computador à rede wireless e observar o display LCD do sistema.

Resultado Esperado: Verificar se o contador de clientes conectados foi

incrementado.

51

5 – VALIDACAO E RESULTADOS

Neste capítulo descrevem-se os resultados obtidos após a implementação, para os testes

propostos na etapa de projeto.

5.1 – Teste de Acessibilidade do Mini-Servidor

Procedimento: Executar o comando: ping <192.168.0.1>.

Resultado obtido: Conforme mostra a figura 18

.

Figura 18 - Teste de Acessibilidade do Mini-Servidor

5.2 – Teste de Acessibilidade Wireless do Mini-Servidor

Procedimento: Por um computador que possui uma placa de rede

wireless, efetuar uma busca das redes wireless disponíveis.

Resultado Obtido: Conforme mostra a figura 19.

52

Figura 19 - Teste de Acessibilidade do Mini-Servidor

5.3 – Teste de Configuração DHCP

Pré-Requisitos: Ter passado com sucesso no teste 4.4.2.

Procedimento: Configurar a placa de rede wireless para obter um

endereço IP automático e tentar conexão com a rede wireless.

Resultado Obtido: Conforme mostra a figura 20 e 21.

53

Figura 20 - Configuração TPC/IP

Figura 21 - Endereço IP obtido

5.4 – Teste de Acessibilidade SSH

Pré-Requisitos: Ter passado com sucesso no teste 4.4.2 e 4.4.3.

54

Procedimento: Através de um terminal Linux, executar o seguinte

comando: ssh <192.168.0.1>.

Resultado Obtido: Conforme mostra a figura 22 e 23.

Figura 22 - Cliente SSH

Figura 23 - Acesso SSH

55

5.5 – Teste de Acesso ao Diretório de Backup

Pré-Requisitos: Ter passado com sucesso no teste 4.4.2 e 4.4.3.

Procedimento: Tentar acesso ao diretório de rede:

\\192.168.0.1\BACKUP.

Resultado Obtido: Conforme mostra a figura 24.

Figura 24 - Diretório de Backup

5.6 – Teste de Segurança Firewall

Pré-Requisitos: Ter passado com sucesso no teste 4.4.2 e 4.4.3.

Procedimento: Iniciar um serviço em uma das máquinas da rede local e

tentar acessá-lo de uma rede externa.

Resultado Esperado: Conforme mostra a figura 25.

56

Figura 25 - Teste de Segurança Firewall

5.7 – Teste do Monitor de Rede

Pré-Requisitos: Ter passado com sucesso no teste 4.4.2 e 4.4.3.

Procedimento: Observar o display LCD antes de conectar à rede

wireless. Conectar um computador à rede wireless e observar o display LCD do

sistema.

Resultado Obtido: Verificar se o contador de clientes conectados foi

incrementado.

57

6 – CONCLUSÃO

Com o desenvolvimento deste projeto pode-se observar que um computador não

necessita ter avançados recursos de hardware para ser considerado moderno. Um

computador de baixo custo, com baixo consumo de energia e mesmo assim sem perder

funcionalidade é o que vem ganhando espaço nos dias de hoje.

A mobilidade proporcionada pela conexão wireless, o baixo consumo

proporcionado pela arquitetura do roteador e o baixo custo que estes equipamentos têm

hoje em dia, fazem com que após algumas implementações em funcionalidades, este

computador consiga realmente atender a demanda do nicho de mercado que se propõe.

A flexibilidade que o sistema operacional Linux proporciona é responsável por

prover inúmeras melhorias futuras à este projeto. Praticamente qualquer serviço que se

tenha necessidade, pode ser instalado no sistema, bastando para isso, uma simples

instalação de pacotes.

Uma melhoria que seria amplamente utilizada, seria a instalação de um servidor

de banco de dados, como o MySQL, que aliado ao servidor web já configurado e ao

interpretador PHP, pode transformar o servidor wireless em um servidor de aplicações,

com uma performance boa à baixíssimo custo. Outra idéia seria instalar um cliente de

compartilhamento de arquivos to tipo emule ou torrent.

58

REFERÊNCIAS

COMER, D. Interligação em Rede com TCP/IP vol I. Editora Campus, 1998.

CONECTIVA. Administração de Redes Linux, 2005.

DD-WRT. Linux based alternative OpenSource firmware. Disponível na Internet em

http://www.dd-wrt.com/site/index. Acessado em março de 2009.

EPEMAG ONLINE. Everyday Practical Electronics Magazine. Disponível na

Internet em: http://www.epemag3.com. Acessado em março de 2009.

ETHEREAL. The world's most popular network protocol analyzer. Disponível na

Internet em: http://www.ethereal.com/docs/eug_html_chunked/graphics/ethereal-time-

reference.png. Acessado em outubro de 2009.

LUCALM. Disponível na Internet em:

http://www.lucalm.hpg.ig.com.br/mat_esp/computador/computador.htm. Acessado em

Outubro de 2009.

RABBIT. RCM3000 RabbitCore Data Sheet. Disponível na Internet em

http://www.rabbit.com/products/rcm3000/index.shtml. Acessado em março de 2009.

RABBIT. RCM3000 RabbitCore Description. Disponível na Internet em

http://www.rabbit.com/products/rcm3000/index.shtml#description. Acessado em março

de 2009.

TANENBAUM, A. Redes de Computadores. Editora Campus, 2003.

TOCCI, R.J. Sistemas Digitais Princípios e Aplicações 8ª Edição. Editora Prentice

Hall, 2003.

59

ANEXO 1 – ARTIGO

MINI-SERVIDOR EMBARCADO EM ROTEADOR WIRELESS

Juliana Serafim da Silva, Marcelo Mikosz Gonçalves Curso de Engenharia da Computação – Universidade Positivo – UP

[email protected]

Resumo. Este documento descreve o projeto de um mini-servidor Linux, tomando como base a arquitetura de um equipamento roteador sem fio. Este equipamento fornecerá serviços a computadores clientes que poderão estar conectados por ethernet ou acesso wireless. Entre estes serviços estão: servidor SSH, DHCP, Dados, Firewall.O roteador também irá possuir um módulo monitor, que irá apresentar informações referentes ao status da rede e clientes conectados. Estas informações serão exibidas através de um display LCD.A motivação para desenvolver tal sistema está em criar um produto de baixo custo, que atenda as necessidades domésticas ou de pequenas empresas que não dispõem dos recursos necessários para investir em um servidor de grande porte.

Palavras-chave: Redes, Roteador Wireless, Linux, Servidor

1. INTRODUÇÃO

Um computador de baixo custo

atualmente possui um poder de processamento superior ao de um super computador que a 15 anos atrás custava 5 milhões de dólares. O equipamento roteador que será utilizado possui em sua arquitetura um processador MIPS32, rodando a 240 MHz e 32 Mb de memória RAM. Esta capacidade computacional é suficiente para embarcar um firmware com uma distribuição de Linux.

O Linux é um sistema operacional de código aberto e que devido a esta característica possui inúmeras versões, cada uma customizada para atender uma necessidade especifica. O objetivo do projeto é atender a demanda de uma pequena rede, pois apesar de os custos com infra-estrutura de rede terem diminuído

drasticamente nos últimos anos, muitas vezes ainda é caro para uma pequena empresa arcar com as despesas de servidores.

O projeto será composto de um computador rodando sistema operacional Linux que fornecerá serviços a computadores clientes que poderão estar conectados por ethernet ou acesso wireless. Este computador deve exercer as funções de um roteador de internet e de um servidor Linux completo. Entre os serviços oferecidos estão: Acesso SSH, Servidor de Dados, Servidor DHCP, Firewall e Servidor Web. Também existirá um módulo monitor de rede que será responsável por apresentar de maneira visual, informações sobre o status de rede e do servidor.

2. FUNDAMENTAÇÃO TEÓRICA

2.1. Histórico

Neste capítulo apresenta-se o estudo

teórico dos conceitos e tecnologias que serão utilizadas no decorrer do projeto. Os conceitos abordados são: redes de computadores, protocolos de rede, aplicações de rede e segurança de redes. A fundamentação de hardware compreende os tópicos de: sistemas digitais, microprocessadores e displays de cristal líquido.

2.2. Redes de Computadores

Apesar de a indústria de informática

ainda ser jovem, o progresso que os computadores tiveram foi muito grande em um curto período de tempo. Durante as duas primeiras décadas de sua existência os sistemas computacionais eram altamente centralizados. Uma empresa ou uma universidade contava apenas com um ou dois computadores. Era pura ficção cientifica a idéia de que em apenas 20 anos haveria milhões de computadores igualmente avançados do tamanho de um selo postal (TANENBAUM, 2003). A figura 1 mostra uma rede de computadores na topologia estrela.

60

Figura 1 - Rede de computadores

As redes de computadores geralmente

são divididas em dois tipos conforme sua dimensão: LANs (Local Area Networks) são redes restritas a um espaço físico comum, conhecidas como redes locais. Já as WANs (Wide Area Networks) são redes espalhadas por um amplo espaço, cidades ou bairros diferentes (CONECTIVA, 2005).

2.3. Protocolos de Rede

Protocolo é um conjunto de regras que

controla o formato e o significado dos pacotes e mensagens que são trocadas pelas entidades contidas em uma rede. O modelo TCP/IP é o mais utilizado atualmente, e seu nome é oriundo de seus dois principais protocolos.

O departamento de defesa dos Estados Unidos desenvolveu uma arquitetura onde a rede fosse capaz de continuar funcionando mesmo se houvessem falhas em partes do hardware de sub-redes, esta rede deu origem a internet dos tempos de hoje.

2.4. Microprocessadores Todos os computadores contem 5

elementos essenciais: a unidade lógica e aritmética, a unidade de memória, a unidade de controle, a unidade de entrada e a unidade de saída.

O Rabbit 3000 é um microprocessador 8 bits moderno, que é o elemento central de um sistema de design completo, inclui ferramentas de desenvolvimento e bibliotecas de software. O kit de desenvolvimento tem todas as ferramentas essenciais necessárias para desenvolver um sistema baseado em microprocessador.

2.5. Displays LCD

Displays LCD são muito úteis como

IHM’s (interface homem máquina) de saída. Atualmente, existem diversos tipos de displays LCD gráficos, e de caracteres, que variam entre si basicamente em seu tamanho, e controlador.

Displays gráficos são aqueles formados por diversos pontos dispostos separadamente, formando assim uma grande matriz de pontos, conforme são configurados, para ficarem acessos ou apagados, estes pontos podem formar diversos desenhos ou mesmo letras.

Já os displays de caracteres, são formados por diversas colunas onde podem, basicamente ser construídas apenas letras. Apesar das diversas marcas e modelos de tipo de interface, todos seguem um mesmo padrão de funcionamento e controle.

3. PROJETO

Este capítulo tem por objetivo

descrever os principais componentes e funcionalidades do hardware e do software que compõem o sistema. A seguir na figura 2, segue a visão geral e a descrição funcional de cada módulo do sistema.

Figura 2 - Diagrama em Blocos do

Sistema

3.1. Desenvolvimento do Sistema O objeto do desenvolvimento consiste

em um equipamento roteador que terá seu firmware original modificado. O novo firmware aplicado será uma modificação do kernel Linux, adaptado à arquitetura de hardware do equipamento.

O equipamento fornecerá serviços a computadores clientes que poderão estar conectados por ethernet ou acesso wireless. Entre estes clientes poderão estar microcomputadores, aparelhos celulares e PDAs.

O roteador também deve possuir um módulo monitor, que deve apresentar informações referentes ao status da rede e clientes conectados. Estas informações serão exibidas através de um display LCD.

61

3.2. Descrição Módulo Roteador Este módulo toma como base um

aparelho roteador disponível no mercado. Neste aparelho devem ser aplicadas alterações de firmware, de modo que este passe a desempenhar as funções não somente de um roteador, mas também as funções de um servidor Linux completo.

A figura 3 apresenta o funcionamento geral do Módulo Roteador.

Figura 3 - Módulo Roteador

3.2.1 Funções

• Acesso SSH (Login remoto ao

console do servidor), • Servidor de Dados (Serviço

dedicado ao armazenamento e distribuição de arquivos na rede. Pode ser usado como servidor de backup),

• Servidor DHCP (Protocolo TCP/IP que oferece configuração dinâmica de cliente),

• Firewall (Serviço que tem por objetivo aplicar políticas de segurança na rede).

3.3. Descrição Módulo Monitor de Rede

Deseja-se que o roteador seja capaz de

exibir informações em tempo real, sobre a carga de rede, clientes conectados e status de conexão com a internet. Para exibir estas informações, o sistema deve possuir um monitor de rede e um display para exibição destas informações.

Deve ser desenvolvido um software que capture estes parâmetros através de monitoramento das interfaces de rede e que efetue o envio destes parâmetros através de uma porta ethernet ao controlador do display. Este controlador deve ser desenvolvido utilizando o microprocessador Rabbit 3000 e trata-se de um subsistema que ficará monitorando a porta ethernet e atualizando o display com as informações que forem recebidas. A figura 4 apresenta o funcionamento geral do Monitor de Rede.

Figura 4 - Módulo Monitor de Rede

3.4. Descrição das Interfaces

A interface entre os dois módulos será

feita através de um protocolo de comunicação a ser implementado em cada uma das partes do sistema. O módulo roteador irá captar as informações de utilização e enviará estas estatísticas para o módulo monitor de rede através da conexão de rede ethernet.

4. IMPLEMENTAÇÃO

Neste capítulo faz-se o detalhamento

do projeto do mini-servidor wireless e os procedimentos adotados para o desenvolvimento.

4.1. Roteador Wireless

O sistema necessita de um

equipamento roteador wireless funcional. Foi escolhido o modelo D-link DIR-320 por possuir todos os requerimentos necessários para o sistema. Os requisitos são: porta Ehertnet, porta USB, 32 Mb de memória RAM, 4 Mb de memória Flash e funções básicas de roteamento.

4.2. Controlador de Display LCD

O modulo monitor de rede tem como

principal tarefa exibir informações de conexão através de um display LCD. Deve ser implementado um controlador para este display que seja capaz de exibir as seguintes informações sobre clientes conectados, status de conexão com a internet e espaço livre em disco.

O display utilizado foi um 16x2, com controlador HD44780 que é bastante conhecido e pode ser encontrado facilmente no mercado. A tabela 3 mostra os pinos de interfaceamento do display LCD utilizados.

4.3. Distribuição Linux Embarcado

O roteador wireless vem de fabrica

com um firmware que prove as funções básicas

62

de rede. Este firmware será substituído por uma distribuição Linux para dispositivos embarcados. A distribuição escolhida foi DD-WRT pelo fato de ser open source.

Existem diversas versões do firmware DD-WRT, a figura 15 apresenta as diferenças entre cada uma delas. Foi escolhida a versão MINI, pois possui todos os pacotes necessários e como a memória flash do roteador é limitada, apenas 4MB, foi possível utilizá-la sem problemas.

Para substituir o firmware original, foi utilizado o protocolo tftp. A listagem abaixo mostra os comandos utilizados para gravar o novo firmware na memória flash do equipamento.

C:\>tftp -i 192.168.0.1 put firmware.bin Transferência bem sucedida: 3760128 bytes em 5 segundos, 752025 bytes/s

Detalhamento do comando: tftp: protocolo de transferência de arquivo -i : novo arquivo do firmware é binário put: troca o firmware antigo pelo novo firmware.bin: imagem do kernel linux

4.4. Comunicação do Roteador com o

Monitor de Rede O firmware que faz a comunicação

entre o roteador e o microprocessador Rabbit é composto de 2 partes. Uma delas estará rodando no roteador e terá o papel de enviar as informações de conexão através da porta Ethernet. Para executar esta tarefa foram desenvolvidos dois scripts utilizando as linguagens Shell e PHP.

O script checkInternetStatus.cgi foi desenvolvido em linguagem Shell e tem o objetivo de verificar a conexão com a internet. Para isto é executado o simples teste de pingar um endereço conhecido na internet e verificar se há uma resposta. Em caso positivo a internet é considerada ligada e caso contrário, considerada desligada.

O script printDiskSpace.php foi desenvolvido em linguagem PHP e tem o objetivo de verificar o espaço livre disponível em disco. Para isto é executado o comando df que exibe o espaço livre em cada uma das partições do sistema. O resultado é formatado para ser exibido no display LCD.

Outra informação de rede também disponível é o numero de clientes conectados através de conexão wireless. Esta informação é proveniente da interface de configuração do

firmware. A pagina principal da interface de configuração é acessada e o numero de clientes conectado é obtido da seção Wireless Clients.

A segunda parte é acessar as informações provenientes dos script citados acima. Para executar esta tarefa foi implementado, em linguagem Dynamic C, um cliente HTTP completo. Este cliente é capaz de solicitar um endereço IP, conectar-se a rede do roteador e fazer requisições, utilizando o protocolo HTTP, ao servidor web que esta rodando no roteador. Estas informações são atualizadas a cada cinco segundos através de uma nova requisição HTTP.

4.5. Instalação e Configuração de

Software Servidor SSH Este software possibilita o acesso

remoto ao console do sistema operacional. É por este serviço que ocorre a interação do sistema com o usuário pelas de linha de comando.

O Firmware DD-WRT possibilita uma fácil configuração do servidor SSHD por sua interface web. Foram executados os seguintes passos de configuração:

• Gerar chave publica/privada pelo utilitário PUTTYGEN (esta chave é necessária para o protocolo SSH),

• Habilitado o serviço SSHd (Secure Shell) na interface Web do roteador.

4.6. Instalação e Configuração de

Software Servidor de Dados

Este serviço fornece um diretório para armazenamento de arquivos. Este diretório pode ser utilizada para backup por todos os clientes conectados ao mini servidor.

O serviço que possibilita o compartilhamento de arquivos em uma rede Windows é o Samba. A configuração deste serviço foi efetuada da seguinte maneira:

1- Formatar e Particionar Disco Externo: o 512MB – Sistema ext3 (Instalação de Pacotes), o 256MB – Sistema Linux Swap (Memória swap – Adicional RAM), o Restante – Sistema Fat32 (Dados), 2- Instalar Pacote SambaSlim o Baixar arquivo http://www.3iii.dk/linux/dd-wrt/slim-samba2-usb.tar.gz, o Descompactar arquivo slim-samba2-usb.tar.gz no drive USB, o Conectar Pen-Drive no roteador e reiniciá-lo, o Executar o script Shell /mnt/samba2.usb (Monta um diretório do pen-drive para acesso via Windows), o Configurar Compartilhamento na inicialização do sistema: Startup-Scripts (Administration -> Commands) /mnt/samba2.usb,

63

o Alterado Script de Compartilhamento, para permitir escrita no diretório, através do Windows. Comando Original: mount -o noatime,nodiratime /dev/discs/disc0/part3 /mnt/data Comando Modificado: mount -o rw,umask=0000 /dev/discs/disc0/part3 /mnt/data

5. TESTES REALIZADOS

• Teste de Acessibilidade do Mini-

Servidor • Teste de Acessibilidade Wireless do

Mini-Servidor • Teste de Configuração DHCP • Teste de Acessibilidade SSH • Teste de Acesso ao Diretório de

Backup • Teste do Monitor de Rede

6. CONCLUSÃO Com o desenvolvimento deste projeto

pode-se observar que um computador não necessita ter avançados recursos de hardware para ser considerado moderno. Um computador de baixo custo, com baixo consumo de energia e mesmo assim sem perder funcionalidade é o que vem ganhando espaço nos dias de hoje.

A mobilidade proporcionada pela conexão wireless, o baixo consumo proporcionado pela arquitetura do roteador e o baixo custo que estes equipamentos têm hoje em dia, fazem com que após algumas implementações em funcionalidades, este computador consiga realmente atender a demanda do nicho de mercado que se propõe.

A flexibilidade que o sistema operacional Linux proporciona é responsável por prover inúmeras melhorias futuras à este projeto. Praticamente qualquer serviço que se tenha necessidade, pode ser instalado no

sistema, bastando para isso, uma simples instalação de pacotes.

Uma melhoria que seria amplamente utilizada, seria a instalação de um servidor de banco de dados, como o MySQL, que aliado ao servidor web já configurado e ao interpretador PHP, pode transformar o servidor wireless em um servidor de aplicações, com uma performance boa à baixíssimo custo.

7. REFERÊNCIAS BIBLIOGRÁFICAS

COMER, D. Interligação em Rede com TCP/IP vol I. Editora Campus, 1998. CONECTIVA. Administração de Redes Linux, 2005. DD-WRT. Linux based alternative OpenSource firmware. Disponível na Internet em http://www.dd-wrt.com/site/index. Acessado em março de 2009. EPEMAG ONLINE. Everyday Practical Electronics Magazine. Disponível na Internet em: http://www.epemag3.com. Acessado em março de 2009. ETHEREAL. The world's most popular network protocol analyzer. Disponível na Internet em: http://www.ethereal.com/docs/eug_html_chunked/graphics/ethereal-time-reference.png. Acessado em outubro de 2009. LUCALM. Disponível na Internet em: http://www.lucalm.hpg.ig.com.br/mat_esp/computador/computador.htm. Acessado em Outubro de 2009. RABBIT. RCM3000 RabbitCore Data Sheet. Disponível na Internet em http://www.rabbit.com/products/rcm3000/index.shtml. Acessado em março de 2009. RABBIT. RCM3000 RabbitCore Description. Disponível na Internet em http://www.rabbit.com/products/rcm3000/index.shtml#description. Acessado em março de 2009. TANENBAUM, A. Redes de Computadores. Editora Campus, 2003. TOCCI, R.J. Sistemas Digitais Princípios e Aplicações 8ª Edição. Editora Prentice Hall, 2003.

64

ANEXO 2 – MAN UAL DO USUÁRIO

O Manual do Usuário destina-se a apresentar a instalação, configuração e

utilização do sistema, assim como os requisitos de software e hardware e os

componentes do sistema.

1 – REQUISITOS E COMPONENTES

Requisitos de hardware:

• Roteador Wireless

• Computador com interface USB

• Kit de Desenvolvimento Rabbit 3000, com cabo de dados e cabo de rede

• Placa Módulo de Rede com Display LCD

Requisitos de software:

• Navegador de Internet

• IDE de Desenvolvimento Dynamic C

Componentes do Sistema:

• Sistema de Promoção de Lojas

• Módulo Roteador

• Módulo Monitor de Rede

2 – INSTALAÇÃO E CONFIGURAÇÃO

• Módulo Roteador:

Para conectar o sistema a rede Internet, basta conectar um cabo padrão ethernet

na porta do roteador chamada Internet.

Para conectar um dispositivo de armazenamento externo, basta conectá-lo a

porta USB localizada na parte de trás do equipamento.

Para iniciar o equipamento basta ligar a fonte de alimentação a rede de energia

110V.

As configurações de rede são efetuadas através de uma interface que pode ser

acessada através do endereço: http://192.168.0.1:81

65

• Módulo Monitor de Rede:

Para conectar o monitor de rede ao equipamento roteador basta ligar um cabo

ethernet a porta do processador Rabbit e a uma das 4 portas numeradas de 1 a 4

localizadas na parte de trás do roteador.

Para iniciar o equipamento basta ligar a fonte de alimentação a rede de energia

110V.

3 – UTILIZAÇÃO DO SISTEMA

• Acessando Sistema de Promoções

Para acessar o sistema de promoções, basta o cliente conectar na rede wireless DD-

WRT e acessar o endereço: http://192.168.0.1. Neste endereço é encontrada a lista

de lojas e promoções.

66

Para acessar cada uma das lojas, basta clicar em um dos links e verificar o acréscimo

de visualizações.

• Criação de Promoções

Acesse a pasta que esta em: http://192.168.0.1/data conforme mostra a figura:

Na pasta http://192.168.0.1/data/shopping crie um arquivo .html com o nome da

nova loja. Edite o código fonte deste novo arquivo e adicione o novo nome da loja.

67

Crie na pasta http://192.168.0.1/data/shoppingImages uma pasta com o nome da

nova loja, e adicione uma promoção no formato .jpg com o nome index.

68

ANEXO 3 – MAN UAL TÉCNICO

O Manual Técnico tem por objetivo apresentar os requisitos para o

funcionamento do sistema e as configurações necessárias, bem como os principais erros

que podem ocorrer durante a sua utilização.

1 – REQUISITOS E COMPONENTES

Requisitos de hardware:

• Roteador Wireless

• Computador com interface USB

• Kit de Desenvolvimento Rabbit 3000, com cabo de dados e cabo de rede

• Placa Módulo de Rede com Display LCD

Requisitos de software:

• Navegador de Internet

• IDE de Desenvolvimento Dynamic C

Componentes do Sistema:

• Sistema de Promoção de Lojas

• Módulo Roteador

• Módulo Monitor de Rede

2 – CONFIGURAÇÕES

• As configurações do dispositivo e portas de utilização, são feitas

automaticamente pelo software ao abrir o projeto.

3 – ERRO

• Erro processador não encontrado:

Quando o cabo de dados não estiver corretamente conectado, ou o cabo do

modulo monitor de rede estiver incorretamente conectado, ao tentar efetuar a gravação

do firmware um erro será exibido: Processador Não Encontrado.