Post on 05-Oct-2018
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;
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
judeftones@hotmail.com
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.