PRO-REITORIA DE GRADUAÇÃO TRABALHO DE CONCLUSÃO DE … · deve saber, por exemplo, se seu S.O....
Transcript of PRO-REITORIA DE GRADUAÇÃO TRABALHO DE CONCLUSÃO DE … · deve saber, por exemplo, se seu S.O....
UNIVERSIDADE CATÓLICA DE
BRASÍLIA
PRO-REITORIA DE GRADUAÇÃO TRABALHO DE CONCLUSÃO DE CURSO
Bacharelado em Ciência da Computação
ANÁLISE COMPARATIVA DO DESEMPENHO DE REDE PARA GRANDES VOLUMES DE TRÁFEGO EM REDES LOCAIS
UTILIZANDO FREEBSD E GNU/LINUX Autores: Adriano Utsch Teixeira
André de Miranda Silva Marcelo Ramos Di Chaves
Orientador: MSc. Eduardo Lobo
BRASÍLIA 2006
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
2 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Adriano Utsch Teixeira
André de Miranda Silva
Marcelo Ramos Di Chaves
ANÁLISE COMPARATIVA DO DESEMPENHO DE REDE PARA GRANDES VOLUMES DE TRÁFEGO EM REDES LOCAIS
UTILIZANDO FREEBSD E GNU/LINUX
Monografia apresentada ao Programa de
Graduação da Universidade Católica de
Brasília, como requisito para obtenção do
Título de Bacharel em Ciência da
Computação.
Orientador: Eduardo Lobo
Brasília
2006
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
3 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
TERMO DE APROVAÇÃO Dissertação defendida e aprovada como requisito parcial para obtenção do Título de
Bacharel em Ciência da Computação, defendida e aprovada, em 26 de Junho de 2006, pela
banca examinadora constituída por:
_______________________________________________________
Eduardo Lobo
_______________________________________________________
Francisco Sedenho
_______________________________________________________
Raissa Dantas
Brasília UCB
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
4 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Aos meus familiares e amigos, que por
diversas vezes compreenderam minha
ausência, respeitando e apoiando meus estudos.
Aos meus companheiros acadêmicos, que se
comprometeram, a fazer um trabalho sério e
digno de estudantes do ensino superior.
André de Miranda Silva
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
5 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Agradeço a todos os meus professores do
curso de Ciências computação, em especial
nosso orientador e MSc Eduardo Lobo, pela
cooperação dada a este projeto, dedicando-se a
nos incentivar e apoiar com suas idéias e
sugestões.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
6 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
RESUMO
A necessidade de se ter um Sistema Operacional confiável, que satisfaça o sistema
computacional, é algo fundamental a todos os meios computacionais seja ele um ambiente
corporativo, acadêmico ou mesmo doméstico. Indispensavelmente, o usuário deve saber se o
Sistema Operacional que utiliza é capaz de suportar o serviço requisitado pelo sistema. Ele
deve saber, por exemplo, se seu S.O. é capaz de trafegar dados pela rede, sem perder em
desempenho, algo que compromete o sistema computacional.
Tendo em vista, nos dias de hoje, a grande utilização dos Sistemas Operacionais
GNU/Linux e FreeBSD em ambientes corporativos, onde há redes com grande volume de
tráfego, foi proposto uma análise comparativa entre estes Sistemas Operacionais nestes
ambientes. Tal análise vem contribuir no momento de se decidir qual dos Sistemas
Operacionais utilizar, uma vez que se apresentam amostras concretas e confiáveis, através de
testes, sobre o desempenho de tais Sistemas Operacionais, referente a processamento e o
serviço de rede, disponibilizados nos mesmos.
PALAVRAS-CHAVE: Desempenho, Sistemas Operacionais, GNU/Linux, FreeBSD.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
7 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
ABSTRACT
It is of fundamental importance to have a reliable operational system that satisfies the
needs of the computational system, whether it is in a corporative, academic or even in a
domestic environment. The user needs to know if the operational system he uses is capable
to support the task requested by the system, and if it is capable, for instance, to transmit data
through the network without losing performance, which would compromise the computational
system.
Considering the widespread use of operational systems like GNU/Linux and FreeBSD
in corporative environment, where the networks have great traffic volume, it was proposed a
comparative analysis between these operational systems in such environment, by presenting
concrete and reliable samples about the performance of such operational systems regarding
the processing and the network service made available on them, which would help at the
moment of deciding which system to use.
Keywords: Performance, Operation Systems, GNU/Linux, FreeBSD.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
8 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
1. INTRODUÇÃO__________________________________________ 12
1.1. Motivação ___________________________________________________ 12
1.2. Breve Histórico_______________________________________________ 13
2. OBJETIVOS ____________________________________________ 14
2.1. Objetivo Geral________________________________________________ 14
2.2. Objetivos Específicos __________________________________________ 14
3. CRONOGRAMA PREVISTO ______________________________ 15
4. PROPOSTA DA PESQUISA _______________________________ 16
4.1. Descrição da Pesquisa _________________________________________ 16
4.2. Resultados Esperados__________________________________________ 16
4.3. Restrições da Pesquisa Proposta__________________________________ 16
4.4. Interessados e Beneficiados _____________________________________ 16
4.5. Recursos Necessários __________________________________________ 17
4.5.1. Recursos de Hardware 17
4.5.2. Recursos de Software 17
4.5.3. Recursos Físicos 18
4.5.4. Recursos Humanos 18
4.6. Relação Custo Benefício________________________________________ 18
5. REDES_________________________________________________ 19
5.1. Tecnologias de Transmissão_____________________________________ 19
5.1.1. Redes de difusão e ponto a ponto 19
5.2. Camadas de Rede _____________________________________________ 20
5.2.1. Camada Física 21
5.2.2. Camada de Enlace 21
5.2.3. Camada de Rede 21
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
9 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
5.3. Protocolos de Camada de Rede___________________________________ 22
5.3.1. IP 22
5.3.2. ICMP 22
5.4. Protocolos de Transporte da Internet ______________________________ 23
5.4.1. TCP 23
5.4.2. UDP 24
5.5. Análise de Desempenho em Redes ________________________________ 24
5.5.1. Controle de Tráfego 25
5.5.2. Recursos computacionais associados ao volume de tráfego 25
6. O Sistema Operacional Linux ______________________________ 27
6.1. Histórico____________________________________________________ 27
6.2. Linux como Sistema Operacional_________________________________ 27
6.2.1. Distribuições Linux 29
6.2.2. Gerenciador de Boot 31
6.2.3. Interpretador de comandos 33
6.2.4. Processos no Linux 35
a) Descrição_________________________________________________________________ 35
b) Identificação de um processo ________________________________________________ 35
c) Sinais de Processos_________________________________________________________ 36
d) Estados de Processos _______________________________________________________ 36
e) Verificação de Processos ____________________________________________________ 36
6.2.5. Sistema de Arquivos 37
a) Definição _________________________________________________________________ 37
b) Manipulação de arquivos no Linux ___________________________________________ 38
c) Tipos de sistemas de arquivos________________________________________________ 38
6.2.6. Tratamento de erros no Linux 39
6.2.7. Tratamento e controle de tráfego no Linux 39
6.2.8. Segurança em Linux 40
7. O Sistema Operacional FreeBSD ____________________________ 42
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
10 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
7.1. Histórico____________________________________________________ 42
7.2. FreeBSD como Sistema Operacional ______________________________ 44
7.2.1. Distribuições FreeBSD 46
7.2.2. Gerenciador de Boot 46
7.2.3. Interpretador de comandos 48
7.2.4. Processos no FreeBSD 48
7.2.5. Sistema de Arquivos 50
7.2.6. Tratamento e controle de tráfego no FreeBSD 51
7.2.7. Segurança em FreeBSD 52
8. FERRAMENTAS UTILIZADAS ___________________________ 54
8.1. Iperf _______________________________________________________ 54
8.2. Iptraf_______________________________________________________ 55
8.3. Ethtool _____________________________________________________ 55
8.4. Mii-tool_____________________________________________________ 56
9. PROCEDIMENTOS E TESTES ____________________________ 57
9.1. Ambiente____________________________________________________ 57
9.2. Procedimentos _______________________________________________ 58
10. TESTES________________________________________________ 65
10.1. Primeiro Teste _______________________________________________ 65
10.2. Segundo Teste________________________________________________ 67
10.3. Terceiro Teste ________________________________________________ 68
10.4. Quarto Teste _________________________________________________ 70
11. ANÁLISE DE RESULTADOS______________________________ 72
12. CONCLUSÃO___________________________________________ 74
13. PROPOSTA DE TRABALHO FUTURO _____________________ 75
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
11 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
14. BIBLIOGRAFIA ________________________________________ 76
15. GLOSSÁRIO ___________________________________________ 79
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
12 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
1. INTRODUÇÃO
1.1. Motivação
As empresas para entrarem ou se consolidarem em um mercado, cada vez mais
competitivo como o de hoje, montam sistemas computacionais cada vez mais robustos,
com alto investimento em novas tecnologias e mão de obra qualificada, isso quase
sempre se reflete em um gasto financeiro relativamente grande.
Até então, imagina-se que com recurso financeiro em mãos, seria simples
satisfazer as necessidades dos supersistemas das grandes empresas, porém, nem sempre
é tão simples instalar uma exata solução para a necessidade.
Para tais sistemas é exigido que se conheça bem a parte técnica, os
equipamentos e softwares que o compõem. Desde simples cabos de conexão a
completas máquinas (hosts) que fazem parte da rede, e que são comumente encontrados
no grande mercado da informática, têm suas especificações bem determinadas e
descritas, facilitando a escolha do melhor produto ao cliente. Ao contrário do
mencionado, quando se trata da escolha do Sistema Operacional a ser utilizado no
sistema, os profissionais esbarram em uma gama de opções, porém, nem sempre bem
especificadas e sem fontes de informações sobre seus recursos.
A título de exemplo, é freqüentemente visto entre os profissionais da área de
redes uma discussão sobre uma suposta fragilidade do Sistema Operacional GNU/Linux
frente a um volume elevado de tráfego, mesmo em redes locais, sendo muitas vezes
recomendada a utilização do FreeBSD. Este debate estende-se inclusive por listas de
discussões de equipes da área, e uma destas listas é a GTR – Grupo de Trabalho de
Engenharia e Operação de Redes (https://eng.registro.br/mailman/listinfo/gter).
Em especial, considera-se neste trabalho uma pesquisa no conhecimento dos
Sistemas Operacionais GNU/Linux e FreeBSD, que considerado por nós, ainda estão
entre os sistemas que faltam informações disponíveis ao usuários. Procura-se assim,
com o fim deste estudo, pesquisando e realizando testes, contribuir para o aumento do
acervo de informações destes Sistemas Operacionais.
Essa é uma das questões que concretiza a afirmação de que falta informação
sobre os sistemas. Em meio a tais dúvidas apresentadas ao mundo da computação, não
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
13 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
se tem relato de nada que afirme, de forma concisa, a superioridade, em termos de
desempenho de rede, do GNU/Linux sobre o FreeBSD ou vice-versa.
1.2. Breve Histórico
No início da década de 90, surgem dois dos mais utilizados Sistemas
Operacionais dos dias de hoje nos ambientes corporativos, o GNU/Linux e o FreeBSD.
Os concorrentes Sistemas Operacionais tiveram como base na sua origem,
características semelhantes. Criados ambos por acadêmicos, são sistemas baseados no
Unix, um Sistema Operacional de grande porte e são livremente distribuídos -
GNU/Linux baseado na licença GPL (General Public License) e o FreeBSD baseado
em licença própria BSD (Berkeley Software Distribution).
A necessidade de saber sobre o desempenho da rede é um fator crucial que
define o ambiente do sistema. Hoje tem-se cada dia mais, em ambientes corporativos,
principalmente, sistemas robustos, onde se trafega grande quantidade de informação.
Em um ambiente onde há um alto volume de tráfego, é possível determinar o
desempenho de serviço de rede, o tempo de processamento de um servidor em um
ambiente LAVE (emulação de rede local) ou tempo de resposta de um servidor em um
ambiente com IP clássico.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
14 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
2. OBJETIVOS
2.1. Objetivo Geral
O Projeto tem como finalidade o estudo sobre os sistema operacionais
GNU/Linux e FreeBSD, sobretudo no desempenho de redes, com o objetivo de
confirmar ou afastar as dúvidas e indagações hoje presentes no mundo da computação,
em relação ao desempenho em redes locais com alto volume de tráfego utilizando
GNU/Linux. Serão realizados testes em ambiente com rede Fast Ethernet
(100Megabits), sendo monitorado e analisado o desempenho da rede para cada um dos
dois Sistemas Operacionais citados. Isso que será feito pela simulação de um alto
volume de tráfego na rede através de um gateway, utilizando ferramentas apropriadas.
2.2. Objetivos Específicos
• Estudar os Sistemas Operacionais GNU/Linux e FreeBSD;
• Estudar e analisar o desempenho de redes nos Sistemas Operacionais
GNU/Linux e FreeBSD;
• Pesquisar e estudar ferramentas de geração e medição de tráfego;
• Realizar testes para verificação e comparação do desempenho de redes.
• Estudar o código, caso seja comprovando a alegada inferioridade de
desempenho do GNU/Linux frente ao FreeBSD, será feito um estudo adicional
detalhado, objetivando-se apontar as causas desta suposta inferioridade.
A idéia é comprovar a eficiência do GNU/Linux, quando utilizado em redes
locais com alto volume de tráfego.
Serão utilizadas duas redes: a primeira será responsável pela geração de
tráfego e a outra será a rede que receberá o tráfego, através de um gateway.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
15 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
3. CRONOGRAMA PREVISTO
O Desenvolvimento do projeto ocorreu de acordo com as
seguintes etapas:
Feve
reiro
Mar
ço
Abril
Mai
o
Junh
o
Estudar os Sistemas Operacionais Linux e FreeBSD P/R P/R
Estudar Analise e desempenho de redes P/R P/R Pesquisar e analisar as ferramentas de geração e análise de
tráfego P/R P/R
Teste de geração de tráfego e medição do tráfego P/R P/R
Análise do Desempenho da rede com Linux e FreeBSD P/R P/R
Análise do Código Linux para identificação de falha P P
Elaboração da monografia P P/R P/R P/R P/R Etapas previstas Etapas realizadas Etapas previstas e realizadas. Data da defesa: 26/06/06
Cronograma das atividades previstas e realizadas
Não foi necessário analisar o código do Sistema Operacional GNU/Linux, pois
não foi identificada nenhuma falha em relação ao desempenho da rede proposta.
P R P/R
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
16 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
4. PROPOSTA DA PESQUISA
4.1. Descrição da Pesquisa
Através da pesquisa bibliográfica foi possível adquirir o conhecimento das
informações sobre os Sistemas Operacionais GNU/Linux e FreeBSD, e também sobre
conceitos de Análise e Desempenho de Redes. Identificado os assuntos de interesse,
houve a etapa de estudos sobre o material, tomando nota do que era necessário ao
projeto. Com conceitos e informações em mente, a próxima etapa foi à realização de
testes no ambiente de redes que tínhamos, onde empregamos os conceitos dos Sistemas
Operacionais e ferramentas de geração e análise de tráfego.
4.2. Resultados Esperados
Pretende-se ao final deste projeto ter sido realizado todos os testes necessários
para verificação de desempenho de redes sobre o ambiente montado com os dois
Sistemas Operacionais, GNU/Linux e FreeBSD, para a comprovação ou não da
fragilidade do primeiro Sistema Operacional.
4.3. Restrições da Pesquisa Proposta
A pesquisa não utilizará dados comparativos de testes já realizados, devido não ter sido encontrado nenhum estudo parecido.
4.4. Interessados e Beneficiados
Este estudo é de interesse aos profissionais da área de rede de computadores,
em específico a administradores de redes, que poderão através deste documento,
atualizarem-se sobre informações destes Sistemas Operacionais, e definir através das
características, qual satisfaz a necessidade do ambiente que empregam.
O estudo é de interesse também ao meio acadêmico, pois beneficia estudantes
e pesquisadores, que têm interesse na área e pretendem realizar testes e experimentos
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
17 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
com os Sistemas Operacionais Linux e FreeBSD sobre redes com grande volume de
tráfego.
4.5. Recursos Necessários
Para a realização deste trabalho foram necessários recursos de hardware,
software e pessoal.
4.5.1. Recursos de Hardware
Durante a instalação, configuração e testes do sistema foram utilizados:
• 9 Computadores (Processador Intel Pentium 4 2,8 Ghz, com
cache de processador de 1 Mb, 40 Gigabytes de disco rígido e
512 Megabytes de memória RAM);
• 9 Cabos de rede categoria 5E (8 normais e 1 crossover);
• 1 Switch (Marca Encore modelo ENH 908-NWY 8-Port Nway
Switch 10/100).
4.5.2. Recursos de Software
Os Sistemas Operacionais estavam instalados nos mesmos computadores em
partições separadas (dual-boot)1.
Software Versão
Debian 3.1 Kernel 2.6.8-2
FreeBSD 6.0
Iperf 2.0.1-1
Iptraf 2.7.0-7
Ethtool 1.9
1 Dual-Boot: Dois Sistemas Operacionais são instalados em um mesmo disco rígido (após particionamento do mesmo). É instalado um gerenciador de inicialização onde será escolhido o sistema operacional a ser executado no instante da inicialização da máquina.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
18 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
4.5.3. Recursos Físicos
Os experimentos e testes de desempenho de rede foram realizados no
Laboratório de Redes de Computadores C103 da Universidade Católica de
Brasília.
4.5.4. Recursos Humanos
Participaram do desenvolvimento do projeto:
• 03 alunos de Graduação – Bacharelado em Ciência da
Computação, Área de concentração Redes de Computadores;
• 01 orientador – Professor de Computação da UCB, Área de
concentração Redes de Computadores.
4.6. Relação Custo Benefício
Não teremos lucro financeiro com a pesquisa, os dispêndios serão basicamente
de recursos humanos. O benefício intelectual será para os envolvidos no projeto e a para
comunidade da Universidade Católica de Brasília, além dos profissionais e usuários dos
Sistemas Operacionais estudados.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
19 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
5. REDES
5.1. Tecnologias de Transmissão
5.1.1. Redes de difusão e ponto a ponto
As redes de difusão definem uma tecnologia de transmissão, a qual têm
apenas um canal de comunicação, compartilhado por todas as máquinas. Em
uma rede como esta, quando uma máquina envia uma mensagem, todas outras
máquinas da rede a recebem.
As mensagens mencionadas são chamadas de pacotes, que contem
dentro de si um campo de endereço, especificando seu destino. A máquina que
recebe um pacote verifica o campo de endereço, caso seja endereçado a esta (a
máquina), ela processará o pacote, caso seja endereçado a outra, o pacote é
ignorado. Há possibilidade de que um pacote seja endereçado a todas as
máquinas da rede, a esse modo de operação dar-se o nome de difusão ou
broadcasting. Caso se deseja endereçar um mesmo pacote para apenas um
grupo de máquinas, realiza-se o modo de operação chamado de multidifusão
ou multicasting.
As redes de difusão podem ser classificadas de acordo com o modo de
como o canal de transmissão é alocado, podendo ser redes de difusão estática
ou dinâmica.
Em uma rede de difusão estática, há uma divisão do tempo de acesso ao
canal, através de algoritmos, onde se divide de forma igual o intervalo de
tempo para as máquinas da rede, independente se a máquina da vez tem algo a
transmitir ou não. Já nas redes de difusão dinâmica, o método de acesso para
transmissão no canal de comunicação é feito à medida que o canal é solicitado
pelas máquinas da rede.
Um exemplo de rede de difusão são as redes de barramento. Na rede de
barramento, em um determinado momento uma máquina exerce o papel de
mestre, e tem permissão para fazer transmissão de pacotes, neste mesmo
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
20 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
momento o restante das máquinas da rede estão impedidas de fazer qualquer
tipo de transmissão.
As redes ponto a ponto definem outra tecnologia de rede, onde é
formada por diversas conexões entre pares individuais e exclusivos de
máquinas.
Na comunicação entre duas estações interligadas (o par), a máquina
origem faz a transmissão de pacotes para uma única máquina destino. Caso de
duas estações tentarem se comunicar e não houver compartilhamento de cabos
(não pertencerem ao mesmo par), a comunicação é feita de modo indireto,
através de uma terceira estação, ou seja, quando uma mensagem é enviada de
uma estação a outra de forma indireta, ela é recebida integralmente por cada
estação, e uma vez que a linha de saída da estação esteja livre, é retransmitida à
estação seguinte. Neste caso, para um pacote ir de uma origem para um
destino, este pode ter de passar por uma ou mais máquinas intermediárias.
Entre esta origem e este destino podem existir múltiplas rotas de diferentes
custos, que cabe aos algoritmos de roteamento escolher a melhor rota.
Nas redes ponto a ponto os algoritmos de roteamento desempenham
um importante papel.
A maioria das redes de longa distância (MAN e WAN) são do tipo ponto
a ponto. São exemplos de topologias de redes ponto a ponto: estrela, anel,
árvore e outros.[1]
5.2. Camadas de Rede
Com o intuito de facilitar o projeto das redes, estas são organizadas em
camadas, as quais são postas uma sobre as outras. As camadas que compõe o sistema de
rede são identificadas, enumerada e cada uma tem sua função, e tem como objetivo
fornecer serviços para as camadas superiores. Elas transferem dados diretamente para
seus respectivos pares de camadas (camada 1 da máquina 1 para camada 1 da máquina
2), usando conjunto regras de comunicação que são chamados de protocolo.
A esse conjunto de camadas e protocolos é dado o nome de arquitetura de rede.
No mundo das redes de computadores são considerados duas grandes importantes
arquiteturas de rede, o modelo OSI e o modelo TCP/IP.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
21 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Abaixo segue a descrição de três camadas do modelo OSI, física, de enlace de
dados e a camada de rede.[1]
5.2.1. Camada Física
A camada física é à base das redes, e ela quem trata da transmissão de
bits através do canal de comunicação entre máquinas. Essa transmissão pode
ser feita em uma única direção, ou de máquina para máquina. É de
responsabilidade desta camada a forma como a conexão é estabelecida e como
será encerrada.
As informações podem ser transmitidas por meios guiados (fios de
cobre, e fibras óticas), e meios não guiados, como ondas de rádio e os raios
laser transmitidos pelo ar.
5.2.2. Camada de Enlace
A camada de enlace é a camada superior à camada física (segundo
modelo OSI), responsável em reconhecer e tratar os bit que são recebidos peça
camada física. Esta camada separa os bits recebidos pela camada física e os
agrupa em quadros utilizando métodos específicos.
Além de tratar os bits, a camada de enlace fornece serviço a sua
camada superior, a de rede, além de tratar erros de transmissão e controlar
fluxos de quadros.
Um exemplo de serviço prestado a camada de rede, é a transferência de
dados da camada de rede da máquina de origem à máquina destino.
5.2.3. Camada de Rede
A camada de rede é quem controla a operação da sub-rede. É ela quem
define as rotas, pelas quais os pacotes irão passar até chegar ao seu destino.
Para atingir este objetivo a camada de rede deve conhecer a topologia
da sub-rede de comunicações, para poder escolher os caminhos mais
apropriados através dela.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
22 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
A camada de rede também oferece serviços a sua camada
superior, a de transporte.
5.3. Protocolos de Camada de Rede
5.3.1. IP
O protocolo IP (Internet Protocol) é um protocolo de camada de rede,
não orientado a conexão, projetado com o objetivo de ligação inter redes, é dito
não orientado a conexão, pois não faz nenhuma verificação de erro na
transferência.
A função do IP é fornecer a melhor forma de transportar datagramas da
origem para o destino, definindo o caminho que um pacote de dados irá
percorrer da máquina origem a máquina destino (passando por uma ou várias
redes), independente das máquinas participantes estarem na mesma rede ou em
redes diferentes.
O IP oferece um serviço de datagrama não confiável, o que significa
que o pacote vem sem garantias, este pode chegar ao destino desordenado,
duplicado ou se perder no caminho.[1]
5.3.2. ICMP
O ICMP (Internet Control Message Protocol) é um protocolo que emite
informações de controle e de erros, utilizado para reportar o acontecimento de
eventos inesperado, no processo de monitoramento dos roteadores na internet.
Os datagramas expedidos, sem conexão e de forma não confiável pelo
protocolo IP, na rede, viajam de um gateway para outro até alcançar um
gateway que o envia diretamente para a máquina destino; o ICMP é quem vai
emitir informações de controle e de erros quando acontecerem problemas na
rede.
Caso um gateway não puder expedir ou rotear um datagrama, ou
detectar um congestionamento, o ICMP vai permitir a esse gateway enviar
mensagens de erros ou de controle a outros gateways ou hosts.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
23 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
O ICMP provê comunicação entre os softwares IPs de uma máquina e o
de outra máquina (origem-destino). Ele só vai reportar erros à fonte original. A
fonte deve relatar os erros aos programas de aplicação individuais e tomar ação
para corrigir o problema.
A forma como este protocolo reporta as informações é por mensagens,
conhecidas como mensagens ICMP.Cada mensagem ICMP é encapsulada em
um pacote IP.[1]
5.4. Protocolos de Transporte da Internet
Sobre a camada de rede, segundo o modelo OSI, fica posta a camada de
transporte. É ela quem promove a transferência de dados confiável e econômica entre as
máquinas de origem e a máquina de destino independente da rede física.
Os serviços de transporte são implementados por um protocolo de transporte,
que é utilizado entre duas entidades de transporte.
A internet tem dois protocolos principais na camada de transporte, o TCP e UDP.[1]
5.4.1. TCP
O TCP (Transmission Control Protocol) é um protocolo orientado a
conexão, e foi projetado para oferecer fluxos de bytes fim a fim confiável em
uma rede não confiável, se adaptando dinamicamente as propriedades da rede e
para ser robusto, diante dos muitos tipos de falhas que podem ocorrer.
O protocolo de camada de rede IP não oferece qualquer garantia de que
os datagramas serão entregues de forma apropriada à origem, portanto, é de
responsabilidade do protocolo TCP dar confiabilidade na transmissão.
O TCP especifica o formato dos pacotes de dados e de reconhecimentos
que dois computadores trocam para realizar uma transferência confiável, assim
como os procedimentos que os computadores usam para assegurar que os
dados cheguem corretamente.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
24 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Dentre estes procedimentos esta o tratamento de problemas como
pacotes perdidos ou destruídos por erros de transmissão, e expedição de
pacotes fora de ordem ou duplicados.
5.4.2. UDP
O Protocolo UDP (User Datagram Protocol) é um protocolo sem
conexão, que se caracteriza por ser mais simples que o TCP. Não tem as
mesmas preocupações que tem o TCP, não se preocupa com a conexão e a
chegada correta dos dados no destino, O UDP não verifica o recebimento dos
dados pelo destino e nem tem serviço de reenvio.
O UDP não ordena as mensagens, ou seja, elas vão sendo agrupadas
conforme vão chegando.
As possibilidades do destino não receber os dados são várias como, por
exemplo, perder dados, duplicá-los ou agrupar de forma errada.
Porém, tem a vantagem de ser um protocolo simples e menor, logo se
ganha em velocidade na transmissão e recepção de dados.
5.5. Análise de Desempenho em Redes
Com a criticidade das operações envolvendo os serviços prestados pelas redes
computacionais, fez-se necessária a avaliação do desempenho das redes, a fim de tornar
o ambiente cada vez mais confiável e escalável.
Essa análise visa verificar se a estrutura oferecida esta de acordo com as
necessidades dos usuários desse ambiente. À medida que essa análise é feita, os
resultados ajudam, sobretudo, a evitar falhas, e caso as mesmas ocorram, mais
rapidamente se poderá resolvê-las, uma vez que serão conhecidos os pontos mais
propensos a falhas. [2]
Existem três maneiras de se fazer a avaliação de desempenho: o modelo
analítico, simulação e geração de tráfego. Neste projeto definimos que será utilizado o
método de geração de tráfego. Foi escolhida a geração de tráfego, pois seria a forma de
avaliar de maneira mais aproximada de um caso de uso real.[3]
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
25 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
O modelo de geração de tráfego pode ser feito de duas formas:
• Um sentido: Neste método os pacotes são enviados de um ou mais
pontos, para um único ponto de destino. Este foi o método utilizado no
projeto.
• Ida e volta: Ao contrario do método “um sentido”, as origens enviam os
pacotes, e ao invés do destinatário fazer essa coleta, ele replica esses
pacotes para o remetente. Funcionamento semelhante ao comando
TRACEROUTE que envia pacotes ICMP para um determinado host, a
fim de saber o caminho percorrido pelo pacote, bem como o tempo de
acesso a cada nó, até chegar ao destino.
5.5.1. Controle de Tráfego
Controle de tráfego é algo que vem sendo utilizado em grande escala,
uma vez que cada vez mais aplicações diversas vem utilizando mais recursos
de rede, a partir desta grande demanda, surge a necessidade de um controle
sobre esse acesso, para que serviços que sejam considerados fundamentais, em
um determinado ambiente, não sejam afetados por serviços considerados
descartáveis.
O objetivo principal do controle de tráfego é permitir ou não que uma
conexão seja estabelecida. Essa conexão pode ser limitada tendo como
parâmetros estações, redes e aplicações (tanto de origem quanto destino).[1]
5.5.2. Recursos computacionais associados ao volume de tráfego
Quando tratamos volume de tráfego, alguns recursos têm de ser
observados a fim de mensurarmos a qualidade do ambiente.
• Memória RAM
• Processador
• Cabeamento
• Interface de Rede
• Ativos de Rede (HUB’s e Switches)
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
26 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Após analise de todos esses fatores, pode-se calcular uma estimativa
das taxas de transferência para este determinado ambiente.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
27 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
6. O Sistema Operacional Linux
6.1. Histórico
O Linux tem registrado sua data de origem em 1991, quando teve seu kernel
criado por Linus Torvalds[4], um estudante de Ciências da Computação da Universidade
da Finlândia. Acrescentado a aplicativos e recursos pertencentes ao projeto GNU, a
criação de Linus Torvalds ficou reconhecida como o Sistema Operacional GNU/Linux,
no entanto a nomenclatura usual utilizada para referenciar o sistema é apenas Linux.
Assim batizado, o nome Linux é a junção do nome de seu criador Linus Torvalds, mais
o nome de um Sistema Operacional de grande porte, o Unix, o qual teve uma de suas
versões, o Minix, como a base de motivação para seu desenvolvimento do hoje chamado
Linux.
O Linux é considerado um software livre, devido ter uma arquitetura aberta, o
que permite a qualquer um programador fazer alterações em seu sistema. Desde sua
criação o Linux foi desenvolvido sem fins comerciais, e tinha o intuito de suprir
necessidades pessoais; unido às necessidades, o fato de ser um sistema aberto faz com
que um grande número de programadores se interesse em trabalhar neste sistema
estudando e alterando para melhorá-lo cada vez mais.
É sobre o kernel, independente da versão, que são feitas a melhoria para
corrigir vulnerabilidades e acrescentar recursos. O kernel do Linux permite que o
Sistema Operacional seja compatível com diversas plataformas desde palmtops a
mainframes. Devido ao estilo de desenvolvimento que foi adotado, o de ajuda coletiva,
uma outra característica que motiva o estudo e trabalho sobre linux é por ele ser gratuito,
é possível fazer download do kernel e da maioria de seus programas pela internet sem
custo algum.[4]
6.2. Linux como Sistema Operacional
O Linux se refere ao núcleo do Sistema Operacional, o kernel. O Conjunto de
aplicativos que são executados no kernel são chamados de distribuição. O kernel faz a
função de interface entre o hardware e o sistema de gerenciamento de tarefas e
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
28 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
aplicativos, devido a esta característica denomina-se o funcionamento do Linux como
centralizado (Figura 1). Os aplicativos são os que irão realizar as tarefas essenciais
(login, por exemplo) mediante ao acionamento do kernel, a cada comando digitado é
chamado um desses aplicativos, que se encontram armazenados no disco rígido (HD),
assim o linux proporciona flexibilidade ao usuário (programador), que pode reescrever
os comandos através do código fonte, da forma que achar mais agradável.
Comparado ao kernel de outros Sistemas Operacionais, como do Unix e
Windows NT, o do linux é considerado mais “leve”, devido à quantidade de linhas de
código (chega a ter menos de 1/3 de linhas do que o Windows NT).
(Figura 1) Kernel do linux como interface entre hardware e Sistema de gerenciamento de tarefas e aplicativos
Algumas características que se destacam no sistema Linux:
• É um sistema multiusuário: Onde permite que vários usuários possam
rodá-lo, de forma simultânea, utilizando integralmente os recursos de
multitarefa; assim o linux pode ser distribuído como um servidor de
aplicativos, onde usuários podem acessar o servidor (linux) através da
rede local e executar aplicativos no próprio servidor;
Distribuição -Conjunto de Aplicativos
Gerenciador de tarefas e aplicativos
KKeerrnneell ddoo LLiinnuuxx
Hardware
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
29 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
• É um sistema multiplataforma: Devido rodar em diversos tipos de
computadores, tanto RISC ou CISC;
• É um sistema multitarefa: Onde vários programas podem rodar ao
mesmo;
• É um sistema multiprocessador: Pode-se utilizar mais de um
processador;
• Pode trabalhar com diversos protocolos de rede e suporta diversos
sistemas de arquivos;
6.2.1. Distribuições Linux
Uma distribuição Linux é um conjunto formado por kernel mais os
programas que o acompanham, incluindo ferramentas necessárias para
instalação, editores de gráficos, planilhas, banco de dados, ambientes de
programação, etc.
Definido pelo padrão de distribuições linux, o Linux file system
standard, a maior parte das distribuições Linux, trazem consigo um conjunto
comum de programas básicos, utilitários e bibliotecas. Elas têm características
próprias, podem ser produzidas em diferentes versões do kernel, podendo
incluir diferentes programas de instalação e atualização para facilitar o
gerenciamento do sistema.
A escolha de se utilizar, determinada distribuição, depende da
necessidade de cada sistema. Abaixo segue relacionadas as principais
distribuições Linux e suas características.
Red Hat
É uma distribuição famosa por suas ferramentas de instalação e
atualização do Sistema Operacional, e por seu sistema de gerenciamento
de pacotes. O red hat permite através de ferramentas de gerenciamento,
obter pacotes por download, instalar e configurar de forma mais simples.
Esta distribuição permite que se teste, configure e forneça em um estado
pronto os aplicativos para funcionar no red hat, daí o modo mais simples
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
30 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
de se obter novos aplicativos. O red hat é uma distribuição que visa ser
utilizada por usuário não tão experientes em Linux.
Slackware
Uma das mais antigas e conhecidas distribuições Linux é mais utilizada
para servidores de rede. Duas características marcantes nesta distribuição
são a simplicidade e estabilidade. As configurações neste sistema são
feitas a partir da edição de documentos texto (não aprecia ferramentas de
configuração); possui seu próprio gerenciamento de pacotes. É um
sistema mais apreciado por experientes conhecedores de Linux.
SUSE
É uma conhecida distribuição de Linux, disponível
principalmente na Europa. O foco da Suse é o usuário com conhecimento
técnico no Linux, e não usuários iniciantes. Sua instalação pode ser feita
por CD-ROM ou DVD-ROM. O sistema de gerenciamento de pacotes é o
RPM padronizado.A atualização do sistema também pode ser feita
através de CD-ROM.
Debian
É uma distribuição que não possui uma organização comercial
patrocinadora, e é desenvolvida e atualizada por voluntários de todo
mundo, no estilo do desenvolvimento do GNU/Linux, e por isso foi
adotada como a distribuição oficial do projeto GNU.
Para gerenciar este desenvolvimento voluntário, existem centenas
de listas de discussões, envolvendo determinados desenvolvedores de
diversas partes do mundo. São realizados extensivos testes antes do
lançamento de novas versões, visando obter um alto grau de
confiabilidade.
Possui suporte a língua portuguesa, á a única que tem suporte a 10
arquiteturas diferentes e 15 sub-arquiteturas. A instalação pode ser feita
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
31 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
tanto através de disquetes, CD-ROM e Ftp. Acompanha mais de 4350
programas distribuídos em forma de pacotes divididos em 4 CDs. Os
pacotes são divididos em diretórios de acordo com sua categoria e
gerenciados por um sistema próprio e avançado de gerenciamento de
pacotes, o dpkg, o que facilita a instalação e atualização.
A distribuição Debian possui ferramentas para administração de
redes e servidores, como também para desktop, estação multimídia,
desenvolvimento, web, etc. A atualização da distribuição ou de pacotes
individuais pode ser feita facilmente através de dois comandos,
dispensando um novo CD para a versão mais recente da distribuição.
Os pacotes podem ser instalados através de tarefas, contendo
seleções de pacotes de acordo com a utilização do computador (Servidor
web, desktop, desenvolvimento, etc.), Perfis, que contém seleções de
pacotes de acordo com op tipo de usuário (programador, operador, etc),
ou através de uma seleção individual de pacotes, garantindo assim que
somente os pacotes selecionados serão instalados, obtendo uma
instalação enxuta do sistema.
Outras características que se destacam no Debian são estabilidade
e segurança.[5]
6.2.2. Gerenciador de Boot
O processo de boot inicia-se ao ligar o computador e é concluído
quando o Sistema Operacional estiver no controle do sistema.
Gerenciadores de boot são softwares capazes de gerenciar partições e
iniciar o processo de carregamento de Sistemas Operacionais em um
computador. Nos computadores que possuem mais de um Sistema Operacional
instalado os gerenciadores de boot têm papel importantíssimo, pois cabe a eles
a tarefa de permitir ao usuário o carregamento de um ou outro sistema.
O Linux tem dois gerenciadores de boot, o LILO e o Grub.O LILO é o
gerenciador de boot mais famoso do GNU/Linux.
O GRUB é um gerenciador de boot desenvolvido e disponibilizado
como software GNU, entre seus principais recursos está a capacidade de
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
32 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
trabalhar com diversos Sistemas Operacionais, como o Linux, o Windows e as
versões BSD, conseqüentemente suporte a vários sistemas de arquivos, como o
ext2, ext3, entre outros.
A etapa inicial do processo de boot é o “Power-On Self-Test”, neste
ponto, o hardware verifica a integridade de seus componentes, comparando as
configurações guardadas na CMOS, com as presentes no sistema; caso haja
algum erro, como, por exemplo, faltar um dispositivo de disco flexível, não
impede o boot do sistema, já a falta de um dispositivo como a placa de vídeo,
não terá como continuar o processo de boot.
Ao realizar a parte inicial, as informações da CMOS já estarão
carregadas na memória RAM.
O hardware verificará nas configurações da CMOS, qual o dispositivo
que está configurado como boot primário, em seguida o hardware irá carregar
para a memória RAM e executar as instruções contidas no primeiro bloco do
disco, são as instruções contidas no cylinder 0, head 0, sector 1.
Cylinder 0, head 0 e sector 1 são partes da MBR, Máster Boot Record.
A MBR está localizada em uma parte do disco (HD), é a primeira parte do
disco (os primeiros 512 bytes).A MBR possui duas seções, a primeira e
responsável pela inicialização do Sistema Operacional, a outra contém a tabela
de partições do disco. [6]
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
33 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Abaixo segue o código da MBR (Master Boot Record), apresentando as duas
seções (Figura 2).
(Figura 2) Código da MBR
6.2.3. Interpretador de comandos
O interpretador de comandos é o programa responsável em interpretar
as instruções enviadas pelo usuário e seus programas ao Sistema Operacional
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
34 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
(o kernel). É ele quem executa comandos lidos do dispositivo de entrada
padrão (teclado) ou de um arquivo executável. O Shell é a principal ligação
entre o usuário, os programas e o kernel. O Linux possui diversos tipos de
interpretadores de comandos, entre eles destacam-se o bash, ash, csh, tcsh, sh,
etc. Entre eles o mais usado é o bash.
Os comandos podem ser enviados de duas maneiras para o
interpretador: interativa e não-interativa.
Na forma interativa os comandos são digitados como comandos e
passados ao interpretador de comandos um a um. Neste modo, o computador
depende do usuário para executar uma tarefa.
Na outra forma, a não-interativa, são usados arquivos de comandos
criados pelo usuário (scripts) para o computador executar os comandos na
ordem encontrada no arquivo. Neste modo, o computador executa os
comandos do arquivo um por um e dependendo do término do comando, o
script pode checar qual será o próximo comando que será executado e dar
continuidade ao processamento. Este sistema é útil quando temos que digitar
por várias vezes seguidas um mesmo comando ou para compilar algum
programa complexo (Figura 3).
(Figura 3) Interpretador de comandos
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
35 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
6.2.4. Processos no Linux
a) Descrição
O processo é uma forma de representar um programa em
execução, é ele quem utiliza os recursos do computador, o processador a
memória, etc. Os processos são quem realizam as tarefas para quais o
sistema é destinado.
Para gerenciamento destes processos, o Linux precisa saber de
informações sobre eles, para que a execução das atarefas sejam feitas de
forma eficiente como, estado do processo, sua prioridade de execução,
recurso de memória, etc.
b) Identificação de um processo
O sistema da a cada processo um número de identificação,
denominado PID. Este número é único, logo não pode haver dois
processos com o mesmo PID ao mesmo tempo. O Linux precisa que um
processo já existente se duplique para que a cópia possa ser atribuída a
uma nova tarefa, o processo que foi copiado recebe o nome de “processo
pai”, enquanto o novo processo gerado recebe o nome de “processo
filho”. Este novo processo recebe um PPID, que será o PID de seu
processo pai.
Além do número de identificação, um processo precisa de um
proprietário, um usuário que seja considerado seu dono, para que possa
saber através das permissões fornecidas por ele, quem pode executá-lo.
Para gerenciar os usuários e os grupos através de números, definidos
como UID para usuários e GID para grupos, que servem apenas para
facilitar o uso humano do computador. Cada usuário pertence a um ou
mais grupos, logo cada processo está associado a um UID e a um GID.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
36 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
c) Sinais de Processos
Os sinais são meios usados para que os processos possam se
comunicar e para que o sistema possa interferir em seu funcionamento.
Quando um processo recebe um determinado sinal e conta com
instruções sobre o que fazer com ele, tal ação é colocada em prática. Se
não houver instruções pré-programadas, o próprio Linux pode executar a
ação de acordo com suas rotinas. Exemplo de sinais existentes são:
• STOP - Tem a função de interromper a execução de um
processo e só reativá-lo após o recebimento do sinal CONT;
• CONT - Tem a função de instruir a execução de um
processo após este ter sido interrompido;
• SEGV - Informa erros de endereços de memória;
• TERM - Tem a função de terminar completamente o
processo, ou seja, este deixa de existir após a finalização;
• ILL - Esse sinal informa erros de instrução ilegal;
• KILL - Tem a função de destruir um processo.
d) Estados de Processos
Os Processos em Linux podem estar em situações de execução
diferentes, neste sistema se trabalha, essencialmente, com quatro tipos de
situações que são: executável, dormente, zumbi e parado.
Com o processo em estado executável, significa dizer que o
processo pode ser executado imediatamente; Com o processo dormente,
ele precisa aguardar algo para o estado executável, em estado zumbi o
processo é considerado “morto”, porém, por alguma razão, ainda existe; e
finalmente o processo em estado parado significa que ele está
“congelado”, ou seja, não pode ser executado.
e) Verificação de Processos
O Linux dispõe de mecanismos, que possibilita saber quais
processos em execução atualmente e quais seus UIDs e PIDs
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
37 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
correspondentes, processos parados ou executando em segundo plano,
memória e processamento consumido, entre outras. Estas informações
são de extrema importância para o gerenciamento; os mecanismos
utilizados para tais visualizações e manipulações são os comandos ps,
jobs, top, e outros.
6.2.5. Sistema de Arquivos
a) Definição
Os sistemas de arquivos são criados em partições do disco, de
forma que seja possível armazenar programas e dados em formato de
arquivos e diretórios. O Linux usa um sistema de arquivos que possui
uma hierarquia (Figura 4), composta de arquivos e diretórios, que podem
conter outros diretórios ou arquivos. Os diretórios em Linux são tratados
como arquivos especiais.
O Linux consegue trabalhar com vários sistemas de arquivos em
um mesmo disco, e para enxergá-los, armazena a lista de sistemas de
arquivos disponíveis em um único arquivo. Em um outro arquivo o Linux
disponibiliza uma lista se sistemas de arquivos que estão efetivamente em
uso, esta lista é atualizada quando o sistema é inicializado (startup),
indicando ao Sistema Operacional quais sistemas de arquivos ele poderá
acessar.
(Figura 4) Hierarquia do sistema de arquivos
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
38 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
b) Manipulação de arquivos no Linux
Para cada sistema de arquivos disponibilizado após a inicialização
(startup), um bit no cabeçalho do sistema de arquivo é zerado, o que
indica que o sistema de arquivos está em uso a partir deste momento e
que as estruturas de dados usadas para alocação e organização de
arquivos podem sofrer atualizações.
Quando encerrada uma sessão no Linux (desliga o computador),
ocorre uma desmontagem nos sistemas de arquivos (ficam indisponíveis),
o bit que antes zerado é modificado, indicando que o sistema de arquivo
está consistente, ou seja, não pode mais sofrer atualizações. Este
procedimento ocorre quando se desliga uma máquina de forma correta,
caso isso não ocorra ou aconteça uma queda de energia, pode causar um
erro, corrompendo os dados do sistema.
c) Tipos de sistemas de arquivos
Exemplos dos principais tipos de sistema de arquivos Linux:
• ext: Sistema de arquivos estendidos. É o sistema de arquivos
mais utilizado no Linux. Existem ramificações (ext2 e ext3),
sendo que o ext3 o mais amplamente utilizado pela
comunidade Linux. Ele fornece padrões para arquivos
regulares, diretórios, arquivos de dispositivos, links
simbólicos e suporte a transações (journaling), entre outras
características avançadas.
• nfs: Sistema de arquivos de rede. É utilizado para acessar
diretórios de máquinas remotas, que permite o
compartilhamento de dados na rede.
• reiserfs: Sistema de arquivos com suporte a características
como, por exemplo, melhor performance para diretórios
muito grandes e suporte a transações (journalling).
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
39 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
6.2.6. Tratamento de erros no Linux
No Linux a solução para tratar um erro como este no sistema de
arquivos, foi fazer com que o no próximo carregamento do sistema
(inicialização), seja verificado se o bit do cabeçalho está setado para indicar
que o sistema de arquivos esta consistente, não podendo atualizá-lo.
Atualmente, utiliza-se nas versões mais atuais do Linux (a partir 2.4) o
sistema de arquivos ext3, o qual é considerada uma evolução em sistemas de
arquivos Linux. O ext3 utiliza um recurso bastante eficiente no caso de
tratamento de erro chamado journaling. Esta tecnologia tem a capacidade de
acompanhar as mudanças que serão feitas nos sistemas de arquivos antes que
realmente sejam feitas, armazenando as informações em uma parte separada do
sistema de arquivos, chamada journal. Após o sistema de arquivos realiza a
mudança armazenada no journal e as remove deste local.
6.2.7. Tratamento e controle de tráfego no Linux
Os kernels mais recentes do Linux trazem consigo uma variedade de
funções de controle de tráfego. O código do controle de tráfego no kernel linux
consiste principalmente de componentes, como fila, classe, filtros e
policiadores.
O kernel processa os dados recebidos da rede, gerando novos dados
que serão encaminhados para a rede. Esta parte de encaminhamento inclui a
escolha da interface de saída e a escolha do próximo encapsulamento. Após
este tratamento, os pacotes são enfileirados nas respectivas interfaces de saída.
Aqui é onde o controle de tráfego vai decidir se os pacotes são enfileirados ou
descartados, no caso de ter sido preestabelecido algum limite de tamanho na
fila, ou se o tráfego excede algum limite de taxa.
No caso em que o controle de tráfego libera o pacote para seguir na fila
e ser enviado, o driver do dispositivo o seleciona e o transmite na rede.
Abaixo segue a figura que ilustra o tratamento e controle de tráfego no
linux (Figura 5).
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
40 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
pacotes pacotes
(Figura 5) Tratamento e Controle de tráfego no Linux
6.2.8. Segurança em Linux
Com o problema de insegurança de redes, os usuários Linux utilizam
métodos no sistema para mantê-lo cada vez mais seguro. Manter o kernel na
última versão estável a rodar programas com privilégio mínimo de acesso são
técnicas utilizadas.
Além de técnicas como as mencionadas o Linux tem a vantagem de ser
uma plataforma bem servida de recursos para implementação de firewalls.
Um firewall é um conjunto de componentes, de hardware e software,
que restringe o acesso entre os hosts em uma rede local e a internet, ou entre
redes internas.
O Linux implementa firewalls utilizando filtro de pacotes, servidores
proxy e NAT. A filtragem de pacotes é o processo de permitir ou evitar o
tráfego de pacotes entre duas redes, para isso, se baseia nas informações
obtidas nos cabeçalhos dos pacotes (geralmente dos cabeçalhos IP e TCP ou
UDP) e em um conjunto de regras de filtragem.
Os servidores proxy têm o objetivo de evitar que os clientes ou
servidores de um determinado serviço, em uma rede interna, comuniquem-se
diretamente com hosts remotos, neste caso o cliente da rede vai se comunicar
com o proxy do serviço e este é quem vai fazer a comunicação com o servidor
remoto, assim os pacotes vindos da internet, por exemplo, não podem atingir a
rede interna diretamente.
O NAT, Network Address Translation, tem a função de reescrever
informações de endereço IP e portas no cabeçalho dos pacotes.O NAT permite
de-multiplexador
encaminhamento
Camadas Superiores
(TCP, UDP...)
De-multiplexador
Encaminhamento Enfileiramento na
Saída
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
41 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
que as máquinas na rede interna usem endereços IPs reservados, evitando
assim que as máquinas dentro da rede possam ser acessadas diretamente por
computadores na internet.[4]
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
42 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
7. O Sistema Operacional FreeBSD
7.1. Histórico
O FreeBSD[7] é um Sistema Operacional UNIX-like desenvolvido para
plataformas x86 (processadores Intel de 32 bits), AMD (arquiteturas 32 bits e 64bits),
PowerPC, DEC, Sparc64 e Alpha. Este Sistema Operacional é originado do BSD[8]
(Berkeley Software Distribution) que foi criado por alunos da Universidade de Berkeley,
Califórnia, com o intuito de acrescentar e aprimorar algumas funcionalidades do Sistema
Operacional Unix. As mudanças realizadas foram tantas que o BSD tornou-se um
Sistema Operacional independente do Unix. O que os criadores não imaginavam é que o
BSD fosse ter tanta importância para a computação que até o MS Windows incorporaria
algumas funcionalidades deste Sistema Operacional e que o MacOS X, da Aple, que é o
Sistema Operacional mais elegante e funcional existente, tivesse como base o BSD.
O FreeBSD (distribuição livre do BSD), cujo a sua primeira versão surgiu em
1990, é um Sistema Operacional muito avançado. Desenvolvido e mantido por muitos
adeptos, desenvolvedores individuais e organizações, como o Yahoo que é um grande
colaborador. Por ser um dos Sistemas Operacionais mais robustos, seguros e confiáveis
da atualidade, tornou-se um dos mais utilizados no mundo do software livre. E algumas
das suas características principais são os serviços avançados de rede, a alta performance
e a segurança, que por sua vez são os itens mais procurados nos Sistemas Operacionais
da atualidade.
Devido a estas características o FreeBSD é muito utilizado por grandes
empresas, profissionais de TI e provedores de serviços de Internet no mundo todo.
Quando se fala em QoS (Quality of Service – Qualidade de Serviço) em relação a
grandes tráfegos na internet as grandes empresas e provedores de internet confiam no
FreeBSD. Este Sistema Operacional se destaca devido à performance excelente para
aplicações em servidores web e de banco de dados.
O Netcraft (www.netcraft.com), companhia de serviços de internet, baseado na
Inglaterra, que divulga a lista dos provedores de hospedagem mais estáveis, aponta que
os melhores servidores de hospedagem utilizam o FreeBSD.
O projeto deste Sistema Operacional visa a atender requisitos básicos como
facilidade de uso, confiabilidade, desempenho, estabilidade, alta performance, menor
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
43 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
custo de administração e a compatibilidade com outros Sistemas Operacionais. O
FreeBSD conjuga memória virtual e cache de sistema de arquivos ajustando
constantemente a memória utilizada por programas e pelo cache do disco. Com isso o
sistema ganha alta performance em gerenciamento de memória e acesso a sistema de
arquivos.
A instalação do FreeBSD é relativamente simples, usuários com pouca
experiência é recomendável procurar material de auxílio, e a compatibilidade com o
hardware é grande. Este Sistema Operacional pode ser instalado diretamente pela
internet, pela rede (FTP e NFS), cd-rom, dvd-rom, fitas magnéticas, disquetes ou
partições MS-DOS. Assim como acontece com as distribuições Linux, o FreeBSD pode
ser encontrado livremente na internet, através de repositórios encontrados na internet ou
no próprio site do FreeBSD (www.freebsd.org), ou através de revistas de informática
que disponibilizam cds com alguma distribuição.
O FreeBSD já conta com mais de 10 mil aplicativos. São aplicativos de desktop,
de banco de dados, serviços de rede, multimídia, gerenciadoras de ambiente gráfico
(GNOME, KDE, e outros), ferramentas de segurança de rede TCP/IP e outros.
O kernel do FreeBSD é responsável por gerenciar a memória, rede, acesso a
disco, reforçar controles de segurança. Devido ao FreeBSD ser dinamicamente
configurável o seu kernel deve ser reconfigurado e recompilado a medida que se faz
necessário. Este é desenvolvido e mantido exclusivamente pelos próprios
desenvolvedores dos Sistemas Operacionais BSD.
O FreeBSD é distribuído em duas versões, FreeBSD-Stable[9] e a FreeBSD-
Current[9], e a versão Release mais atual é a 6.1, lançada em maio de 2006, que também
é a versão FreeBSD-Stable mais recente.
A versão FreeBSD-Stable é a versão estável do Sistema Operacional. Esta
versão é voltada para usuários que procuram estabilidade e um número mínimo de
alterações, como Provedores de Serviço de Internet e grandes empresas. As alterações
realizadas nesta versão são testadas exaustivamente antes de serem distribuídas, isso
para que o sistema seja altamente estável.
Já versão FreeBSD-Current é a versão de desenvolvimento, portanto sem
garantias de estabilidade. A versão FreeBSD-Current é voltada para desenvolvedores
que trabalham o Sistema Operacional e usuários experientes que acompanham e testam
as novas alterações, tornando-se desaconselhada para usuários inexperientes. Esta
versão evolui rapidamente, tornando-se instável e inutilizável por alguns dias. Os
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
44 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
usuários desta versão devem ser capazes de analisar os problemas ocorridos no Sistema
Operacional e relatar somente as falhas de desenvolvimento do mesmo, deixando de
lado os pequenos problemas temporários de instabilidade, denominados glitches.
São disponibilizadas atualizações diárias das duas versões, denominadas
snapshots. Os snapshots da versão FreeBSD-Current não devem ser utilizados por
usuários que desejam um sistema estável, por mais que o código esteja otimizado este
não é testado o suficiente para garantir a estabilidade do Sistema Operacional, com isso
usuários desta categoria deverão utilizar somente snapshots da versão FreeBSD-Stable.
Estes podem ser encontrados nos endereços: ftp.freebsd.org/pub/FreeBSD/releases, para
a versão FreeBSD-Stable, e ftp.freebsd.org/pub/FreeBSD/releases/i386/5.0-current, para
a versão FreeBSD-Current.
Os derivados do BSD em geral têm como mascote um diabinho vermelho
chamado Daemon que significa demônio em inglês, mas na realidade se refere a
programas que rodam na memória autonomamente para servir requisições. Este mascote
foi desenhado por Anton K. Gural.
E o lema do FreeBSD é The Power to Serve, ou seja, "O Poder de servir",
obviamente se referindo a sua aplicação como servidor.
7.2. FreeBSD como Sistema Operacional
É semelhante ao Linux, pois ambos foram desenvolvidos a partir do Unix. O
FreeBSD também é um Sistema Operacional multiusuário, capaz de executar em
multitarefa. Este foi desenvolvido para ser compatível com a norma POSIX[8] assim
como outros Sistemas Operacionais derivados do Unix.
O FreeBSD possui um sistema de arquivos próprio que é Fast File System (FFS)
sendo que este é derivado do Unix File System (UFS).
O Sistema de Ports é um "sistema de instalação" de pacotes prático e eficiente
utilizado pelo FreeBSD. Consiste em uma estrutura de diretórios, os quais possuem
arquivos que especificam todos os pré-requisitos da instalação, como deve ser
compilado o código fonte, e o necessário para a instalação dos arquivos binários criados
por um determinado pacote no sistema. Isto ocorre automaticamente, com pouca
intervenção do usuário ou até nenhuma intervenção.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
45 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
O suporte do Ports do FreeBSD é bem diversificado, sendo que este possui mais
de 14.500 softwares, tornando-se dispensável a procura programas em outras fontes.
Estes arquivos binários pré-compilados do Ports são denominados pacotes, sendo
que estes estão disponíveis para download, podendo ser instalados automaticamente
passando o nome do mesmo como parâmetro para o comando "pkg_add -r".
O FreeBSD compatível com muitos outros Sistema Operacionais derivados do
Unix, incluindo o Linux. Por este motivo pode-se utilizar programas desenvolvidos para
Linux, geralmente comerciais, que são distribuídos em forma binária. Geralmente não
ocorre perda de performance na utilização de binários Linux em vez de programas
exclusivos do FreeBSD.
Alguns aplicativos Linux que podem ser utilizados pelo FreeBSD devido a esta
compatibilidade são: StarOffice, Oracle, VMware, Netscape, WordPerfect, Adobe
Acrobat, RealPlayer, Skype entre outros. E os jogos: Doom 3, Quake 4, a série Unreal
Tournament, Beonex são alguns dos exemplos.
Vários produtos, tanto livres como proprietários, são baseados no FreeBSD
direta ou indiretamente. Dentre eles estão os Sistemas Operacionais de roteadores, o
Mac OS X da Apple, o S.O. do Firewall da Nokia e muitos outros como:
• Darwin: kernel do Mac OS X, é em grande parte baseado no FreeBSD;
• OpenDarwin: um projeto completamente separado da Apple que foi
inicialmente baseado no kernel do Mac OS X;
• PC-BSD: distribuição do FreeBSD projetada para uso desktop com
instalador e gerenciador de pacotes simplificado;
• BSDeviant: distribuição live CD que cabe em um Mini-CD;
• ClosedBSD: firewall FreeBSD que roda a partir de um disquete ou cd-
rom;
• GNU/kFreeBSD: distribuição Linux com kernel FreeBSD;
• Debian GNU/kFreeBSD: distribuição Debian com kernel do FreeBSD;
• Ging: distribuição live CD baseada no Debian GNU/kFreeBSD,
indiretamente baseada no FreeBSD;
• DragonFly BSD: Sistema Operacional baseado no FreeBSD;
• FreeSBIE: projeto de distribuições live CD do FreeBSD, similares à
distribuição Knoppix do Linux. Este projeto também inclui um conjunto
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
46 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
de ferramentas para ajudar ao usuário fazer seus próprios live file
systems e CD-ROMs FreeSBIE;
• Frenzy: outro live CD baseado no FreeBSD, direcionado principalmente
para usuários russos;
• PicoBSD: versão em disquete do FreeBSD;
• m0n0wall: pacote de firewall baseado no FreeBSD;
• pfSense: firewall/roteador basedo no m0n0wall e no FreeBSD;
• FreeNAS é um servidor NAS baseado no FreeBSD/m0n0wall;
• Gentoo/FreeBSD: conjunto de componentes do Gentoo para FreeBSD;
• DesktopBSD: distribuição do FreeBSD com instalador gráfico e
ferramentas de configuração, graças a qual instalar BSD torna-se mais
fácil.[10]
7.2.1. Distribuições FreeBSD
No FreeBSD não ocorre como no Linux que tem várias distribuições,
pois os usuários não tem autonomia para lançar novas versões de kernel ou até
mesmo do próprio Sistema Operacional. Sendo que qualquer sugestão de
alteração a ser feita no FreeBSD tem que obrigatoriamente passar por análise
de um grupo de desenvolvedores responsáveis pelo lançamento de novas
versões. Por esse motivo o FreeBSD torna-se um dos Sistemas Operacionais
mais estáveis e seguros atualmente.
7.2.2. Gerenciador de Boot
O FreeBSD utiliza um gerenciador de boot específico, que é o
Booteasy, porém foi utilizado o GRUB que é um dos gerenciadoras de boot do
GNU/Linux por ter sido instalado primeiro o GNU/Linux no gateway e
posteriormente o FreeBSD.
O boot do FreeBSD é instalado logo após a criação da partição
FreeBSD, durante o processo de instalação do Sistema Operacional, assim que
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
47 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
é concluído o particionamento do disco rígido será apresentada a tela do
BootMgr (instala o gerenciador de boot do FreeBSD) , que é o Booteasy .
Na Figura 6 será mostrada a tela de configuração do boot do FreeBSD.
(Figura 6) Bootloader do FreeBSD
Nesta tela serão apresentadas três opções:
BootMgr – instala o Gerenciador de Boot do FreeBSD;
Standard – utiliza o MBR padrão, inicializa somente a partição ativa;
None – o Gerenciador não será instalado
Caso a opção seja a de instalar o Booteasy, será dado início à instalação
do Sistema Operacional FreeBSD na partição indicada. Neste caso o
GNU/Linux foi instalado primeiro, então será apresentado na tela após o
término da instalação do FreeBSD e o seu reinício o seguinte menu de opções:
F?
F1 – GNU/Linux
F2 – FreeBSD
Pressionando F2 será inicializado o Sistema Operacional FreeBSD.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
48 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
7.2.3. Interpretador de comandos
É semelhante ao Linux, pois ambos os Sistemas Operacionais tem a
mesma origem, com isso a grande maioria dos comandos são os mesmos e tem
a mesma estrutura, podendo ambos os sistemas utilizar a mesma Shell.
7.2.4. Processos no FreeBSD
O FreeBSD é um Sistema Operacional multitarefa, isso significa que é
criado um ambiente onde os recursos são divididos de tal forma que aparenta
que mais de um programa está sendo executado ao mesmo tempo, e cada um
destes recursos é um processo. Cada comando executado irá gerar um novo
processo, e existem vários processos que sempre estão em execução, desta
forma mantêm-se as funcionalidades do ambiente.
Cada processo é identificado pelo PID, process ID, como os arquivos
cada processo tem um dono e pertence a um grupo. Estas informações são
utilizadas com o propósito de informar que arquivos e dispositivos pode abrir.
Grande maioria dos processos tem um processo pai, sendo que este é o
processo que o iniciou. Com exceção de um processo especial, que é o init,
este é sempre o 1º processo do sistema, logo sei PID é 1. Este processo é
executado automaticamente pelo kernel assim que o FreeBSD é iniciado.
São utilizados dois comandos para verificar os processos ativos no
sistema, top e ps. O top mostra todos os processos em execução e atualiza a
forma como são apresentados na tela, sendo que pode ser informado de quanto
em quanto tempo estes resultados devem ser apresentados (utilizando o
comando s), por padrão os resultados são apresentados a cada 2 segundos,
desta forma fica mais fácil acompanhar o que o Sistema Operacional está
fazendo. Já o ps apresenta uma linha estática dos processos que estão sendo
executados naquele momento, podendo apresentar a quantidade de memória
que o processo está utilizando, o PID do processo, o comando que o iniciou e
outras informações pertinentes. Por padrão o comando ps apresenta somente os
comando que foram executados pelo usuário.
Como são apresentados na tela:
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
49 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
top
% top
last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10
47 processes: 1 running, 46 sleeping
CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle
Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top
7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14
281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA
296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm
48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu
175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd
7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt
A saída é dividida em duas seções. O cabeçalho que apresenta o PID do
último processo executado, a média de carga do sistema, o tempo de atividade
sem interrupção do sistema, a quantidade de processos ativos, quanto de swap
está sendo utilizado, e a porcentagem do uso da CPU.
Logo após o cabeçalho está uma série de colunas que apresentam o
PID, usuário, tempo de CPU usado e o comando executado. Por padrão este
comando também apresenta a quantidade de memória utilizada pelo processo.
A informação sobre a quantidade de memória é apresentada em dois grupos, à
quantidade de memória total e a quantidade utilizada no momento.
ps
% ps
PID TT STAT TIME COMMAND
298 p0 Ss 0:01.10 tcsh
7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
48730 p0 IW 0:00.00 (dns helper) (navigator-linux-)
72210 p0 R+ 0:00.00 ps
390 p1 Is 0:01.14 tcsh
7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y
6688 p3 IWs 0:00.00 tcsh
10735 p4 IWs 0:00.00 tcsh
20256 p5 IWs 0:00.00 tcsh
262 v0 IWs 0:00.00 -tcsh (tcsh)
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
50 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc
285 v0 S 0:38.45 /usr/X11R6/bin/sawfish
A saída é organizada em várias colunas: PID, TT que terminal que está
executando programa, STAT que apresenta o estado atual do programa, TIME
que indica a quantidade de tempo que o programa está em execução, e
COMMAND que apresenta a linha de comando utilizada para a execução. Este
comando permite uma série de opções que podem modificar as informações a
serem apresentadas. Dentre elas estão: auxww que apresenta as informações de
todos os processos em execução, u que apresenta o usuário dono do processo e
a quantidade de memória utilizada, x que apresenta as informações sobre
processos daemon, e o ww que apresenta a linha de comando completa.
7.2.5. Sistema de Arquivos
O sistema de arquivos[11] padrão do FreeBSD é o Fast File System
(FFS) que é derivado do UFS (Unix File System). Diferentemente do Linux o
FreeBSD tem uma política de escrita síncrona, desta forma se houver um crash
no sistema não ocorrerá perda de dados. Mesmo que este tipo de escrita seja
um pouco mais lento que o assíncrono existem políticas no sistema que
minimizam isto, como efeitos de cache que possibilitam ao FreeBSD ter um
poder de escrita até 50% mais rápido que o Linux e o Solaris.
A nova versão do FFS acrescenta apontadores de blocos de 64 bits e
suporte para armazenamento de arquivos extensos, com isso permitiu sistemas
de arquivos maiores que 1 Terabyte.
Esta nova versão implementa snapshots e a possibilidade de verificar a
integridade do sistema de arquivos em segundo plano, o background fsck. Com
isso o FreeBSD apresenta um tempo de inicialização mais rápido além de
oferecer a possibilidade de efetuar cópias de segurança do sistema de arquivos,
com isso este sistema torna-se mais confiável em relação à manipulação dos
dados.
O FreeBSD apresenta um sistema conjugado de cache e memória
virtual que se ajustam continuamente à quantidade de memória utilizada por
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
51 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
programas e pelo cache de disco. Com isso, as aplicações apresentam um
gerenciamento de memória e um acesso a sistemas de arquivos de alta
performance.
O controlador de criptografia de disco pode ser usado para encriptar
discos ou partições utilizando alguns algoritmos de criptografia bem robustos
como o AES (Rijndael) e o Blowfish. O CGD também pode ser usado para
encriptar swap.
Devido a todas as qualidades que o FreeBSD apresenta em seu sistema
de arquivos ele se tornou o Sistema Operacional mais utilizado nos Servidores
de Arquivos.
7.2.6. Tratamento e controle de tráfego no FreeBSD
Controle[12] de tráfego é toda e qualquer possibilidade de controlar o
roteamento de pacotes que passa pelo firewall. Este controle pode ser realizado
de várias maneiras como limitar a largura de banda, criação de filas de fluxo,
atrasos no roteamento e entre outros. Permitindo que o controle de intensidade,
direção e disponibilidade do tráfego. Controlar o tráfego era entendido como
simplesmente restringir acessos, porém com a inclusão do dummynet,
ferramenta para gerenciamento de banda, no Sistema Operacional FreeBSD,
desde a versão 2.2.8 deste Sistema Operacional, criou a possibilidade de um
controle de tráfego extensivo, funcionalidade que o IPFilter não oferecia.
Este controle pode ser implementado utilizando o ipfirewall e o
dummynet. Com isso ocorrem apenas duas restrições que são probabilidade de
ocorrências e a utilização de regras dinâmicas, regras estas que se tornam
inviáveis. As regras em relação à performance, verificação da capacidade de
banda, filas de fluxo e atrasos são criadas de forma não estática.
O ipfirewall possui uma ferramenta bastante funcional para testar e
auditar uma rede, permitindo que o administrador simule a restrição de pacotes
aleatoriamente através das taxas de probabilidade, desta forma pode-se
configurar a porcentagem de pacotes que serão liberados pelo firewall.
Com o dummynet o administrador do sistema poderá especificar a
criação de túneis, denominados pipes, para controlar o tráfego. O túnel serve
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
52 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
para canalizar as informações que irão trafegar por endereços específicos da
rede. Onde o tráfego é redirecionado através do comando:
pipe 10 config bw 100kbit/s
O túnel que foi criado através do comando acima limita o fluxo a 100
kilobits por segundo. Esta velocidade de tráfego pode ser limitada em bit/s,
byte/s, kbit/s, kbyte/s, Mbit/s e Mbyte/s. O parâmetro bw significa bandwidth,
largura de banda.
O delay é outra forma de controlar o tráfego forçando um atraso na
comunicação, sendo que este simula um lag do sistema.
pipe 10 config delay 100
Este valor que segue o delay é medido em milisegundos, e no comando
acima gera um atraso de 100 milisegundos.
Existe ainda a possibilidade de configurar a taxa de pacotes perdidos,
através da opção plr que significa packet loss rate, ou simplesmente taxa de
perda de pacotes.
pipe 10 config plr 0.2
Sendo que neste exemplo a taxa é de 20%.
7.2.7. Segurança em FreeBSD
O FreeBSD tem como um dos seus principais objetivos a segurança,
por este motivo este Sistema Operacional se encontra em posição de destaque
como um dos mais confiáveis atualmente.
Esta segurança é mantida pelos Security Officers, que é um grupo de
desenvolvedores com funções exclusivas de coordenação das informações de
segurança, pois caso ocorra um problema de segurança, este é identificado e
corrigido. Posteriormente a descrição do problema e a correção são anunciadas
nos Security Advisories, que são os boletins oficiais de segurança.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
53 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Os Advisories são divididos em duas categorias:
• ports, identificam as aplicações mantidas por terceiros, e
apenas as que fazem parte da FreeBSD Ports Collection são
anunciadas nos boletins oficiais;
• core, que analisam o núcleo do Sistema Operacional.
Caso seja encontrado algum problema que ainda não tenha sido
reportado deve-se avisar o Security Officer ([email protected]).
Algumas técnicas de segurança adotadas são: manter o kernel
atualizado da versão estável, desabilitar os serviços que não serão utilizados,
instalação de firewalls, monitoramento de logs, entre outros dispositivos de
segurança como login por ssh.
O FreeBSD em sua instalação mais comum vem com um poderoso
firewall de fácil utilização e configuração, que é o ipfw, sendo este
implementado a nível de kernel.
Este Sistema Operacional restringe os usuários que não estejam
cadastrados no grupo wheel a terem privilégios de super usuário. Caso um
usuário não cadastrado neste grupo tente utilizar o comando su – para ter
privilégios aparecerá uma mensagem de que este usuário não pertence ao
grupo e o sistema nem permitirá que este usuário informe a senha de root.
O FreeBSD implementa o securelevel, que é o nível de segurança do
sistema, que é um mecanismo de segurança implementado em seu kernel.
Quando o securelevel é setado positivamente o kernel restringe algumas tarefas
do sistema, nem mesmo o superusuário terá acesso a estas tarefas. Algumas
tarefas bloqueadas pelo securelevel são: retirar algumas flags do sistema como
a schg (flag de imutabilidade do sistema), escrever na memória do kernel,
carregar módulos do kernel e alterar regras do firewall.
Para verificar o estado do securelevel execute o comando:
# sysctl kern.securelevel
Que retornará o valor atual do nível se segurança do kernel do
FreeBSD, caso o valor seja positivo apenas algumas características dos níveis
de segurança serão habilitadas.
Para alterar as definições do securelevel deve-se editar o arquivo
/etc/rc.conf e em seguida reiniciar o sistema.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
54 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
8. FERRAMENTAS UTILIZADAS
Existem diversas ferramentas com a capacidade de geração e monitoramento de
tráfego, para geração de tráfego, após realização de testes decidimos pela utilização do
Iperf, que por sua simplicidade e desempenho se mostrou a mais adequada.
Para o monitoramento de tráfego e pacotes, utilizamos o software iptraf, que foi
escolhido devido a ser um ambiente gráfico, colorido e pela sua boa navegabilidade,
uma vez que o mesmo é bem intuitivo.
A configuração das interfaces foi realizada utilizando duas ferramentas, mii-tool
e ethtool, utilizadas somente caso a interface não tivesse com velocidade de 100 MB e
com Full Duplex por padrão, e também para verificar tais configurações, uma vez que o
comando ifconfig não mostra tais informações.
8.1. Iperf
Ferramenta poderosa para geração e medição de tráfego de rede, uma vez que o
mesmo se mostra um software completo, capaz de gerar um enorme volume de tráfego,
sendo capaz de funcionar sobre os protocolos UDP e TCP. Permite especificar o
tamanho do arquivo a ser enviado ou somente um período pelo qual a ferramenta deve
enviar pacotes ocupando a máxima banda da rede ou uma banda configurável.[13]
O iperf é um software livre e gratuito, mantido pela Universidade de Illinois nos
Estados Unidos. Tem sua utilização feita sobre linha de comando (não existindo uma
interface gráfica) e pode ser inicializado com várias funcionalidades, que são informadas
via parâmetros pelos clientes.
Neste projeto utilizamos os seguintes comandos:
• No Servidor
# iperf –s (para a utilização do protocolo TCP)
# iperf –s –u (para a utilização do protocolo UDP)
• Nos Clientes
# Iperf –f m –i 1 –c “[ip do servidor]” –t 30 –p 5001 –m 1500 (para
cliente TCP)
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
55 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
# Iperf –f m –i 1 –c “[ip do servidor]” –t 30 –p 5001 –u –b 100M –m
1500 (para cliente UDP)
Parâmetros:
-f: Formato, no caso Mbit/s.
-i: Informa a banda enviada a cada segundo, utilizamos a cada 1
segundo.
-c: Informa o ip do servidor.
-t: Período o qual ficará enviando pacotes pela rede.
-p: Porta destino no servidor.
-u: Utilização do protocolo UDP
-b: Banda a ser utilizada
-m: MTU da rede.
8.2. Iptraf
Ferramenta utilizada para visualizar a passagem de pacotes por uma determinada
interface, ou por toda a estação, sendo capaz de monitorar tráfego nos protocolos TCP,
UDP, ICMP e pacotes não-IP, mostrando atividades de entrada e saída na máquina.[14]
O iptraf é um software livre e gratuito, e foi utilizado nesse projeto para termos o
desempenho em tempo real de todas as máquinas envolvidas no experimento e para
coletarmos a quantidade de pacotes enviados e recebidos.
8.3. Ethtool
Ferramenta utilizada para verificar, e caso seja necessário, modificar as
configurações de uma interface de rede.[15]
O ethtool é um software livre e gratuito, e foi utilizado neste projeto para
forçarmos que o ambiente ficasse todo a 100 Megabits, Full Duplex.
Comando utilizado:
# ethtool –s eth0 speed 100 duplex full
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
56 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
8.4. Mii-tool
Ferramenta que tem as mesmas funções do ethtool, utilizada para alterar as
configurações das interfaces, bem como verificar se a mesma está ativa ou não.[16]
Comando utilizado:
# mii-tool eth0
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
57 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
9. PROCEDIMENTOS E TESTES
9.1. Ambiente
Os testes para verificação de desempenho na rede foram realizados em um
ambiente que continha nove computadores, sendo que dos nove, sete tinham como
função gerar tráfego (interligadas por meio de um switch); outra era o gateway, ora com
Sistema Operacional GNU/linux, ora com FreeBSD; e a última era onde executava a
aplicação2, ou seja, onde iniciávamos a aplicação com o intuito de receber os pacotes
gerados pelas demais estações. A Figura 7 representa a topologia da rede em teste.
O iperf foi utilizado nas máquinas geradoras de tráfego e na máquina onde
rodava a aplicação.
No gateway, máquina com instalação padrão, sem otimização de kernel, estavam
iniciados apenas processos necessários pelo Sistema Operacional, de forma que fosse
permitido rotear pacotes (função do gateway), através de suas interfaces de rede. Foram
retirados de sua inicialização pacotes não necessários a sua função, a fim de não ocupar
processamento com estes processos.
A ligação entre a máquina gateway com a máquina onde rodava a aplicação foi
feita através de um cabo crossover, utilizando suas interfaces gigabit, onde as duas
interfaces negociavam a velocidade e comutavam a 1 Gigabit de velocidade.
(Figura 7) Topologia da Rede
2 Aplicação: poderia ter sido utilizada qualquer aplicação que pudesse gerar ou receber tráfego como: servidor de FTP, servidor WEB, servidor de arquivos ou servidor de banco de dados. Neste projeto foi utilizado o IPERF.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
58 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Tabela de partição da máquina gateway (Comando df –kha)
FreeBSD Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 496M 55M 401M 12% / devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1e 496M 12K 456M 0% /tmp /dev/ad0s1f 16G 425M 14G 3% /usr /dev/ad0s1d 1.4G 783M 562M 58% /var
GNU/Linux Sist. Arq. Tam Usad Disp Uso% Montado em /dev/hda6 12G 1,6G 9,3G 15% / proc 0 0 0 - /proc devpts 0 0 0 - /dev/pts tmpfs 248M 0 248M 0% /dev/shm /dev/hda2 89M 9,2M 75M 11% /boot /dev/hda3 4,6G 93M 4,3G 3% /var usbfs 0 0 0 - /proc/bus/usb Estas tabelas de partição foram mencionadas a título de repetição da instalação.
9.2. Procedimentos
Para a realização dos testes, seguem os procedimentos adotados por essa equipe.
9.2.1. Inicializa-se as estações que têm função de gateway e de aplicação. Na
máquina gateway, apenas os processos abaixo devem executar.
Processos do gateway FreeBSD (Comando os –aux)
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND root 11 96.6 0.0 0 8 ?? RL 7:42PM 14:24.98 [idle] root 28 0.9 0.0 0 8 ?? WL 7:42PM 0:06.79 [irq17: xl0] root 29 0.3 0.0 0 8 ?? WL 7:42PM 0:04.59 [irq18: em0 uhci2+] root 0 0.0 0.0 0 0 ?? WLs 7:42PM 0:00.00 [swapper] root 1 0.0 0.1 724 356 ?? ILs 7:42PM 0:00.00 /sbin/init -- root 2 0.0 0.0 0 8 ?? DL 7:42PM 0:00.03 [g_event] root 3 0.0 0.0 0 8 ?? DL 7:42PM 0:00.03 [g_up] root 4 0.0 0.0 0 8 ?? DL 7:42PM 0:00.04 [g_down] root 5 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [thread taskq] root 6 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [kqueue taskq] root 7 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [acpi_task0] root 8 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [acpi_task1] root 9 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [acpi_task2] root 10 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [ktrace] root 12 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq1: atkbd0] root 13 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq0:] root 14 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq3:] root 15 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq4: sio0] root 16 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq5:] root 17 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq6: fdc0] root 18 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq7: ppc0] root 19 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq8:] root 20 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq9: acpi0]
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
59 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
root 21 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq10:] root 22 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq11:] root 23 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq12: psm0] root 24 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq13:] root 25 0.0 0.0 0 8 ?? WL 7:42PM 0:00.01 [irq14: ata0] root 26 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq15: ata1] root 27 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq16: uhci0 uhci3] root 30 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq19: uhci1] root 31 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq20:] root 32 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq21:] root 33 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq22:] root 34 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [irq23: ehci0] root 35 0.0 0.0 0 8 ?? WL 7:42PM 0:01.54 [swi4: clock sio] root 36 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [swi3: vm] root 37 0.0 0.0 0 8 ?? WL 7:42PM 0:03.38 [swi1: net] root 38 0.0 0.0 0 8 ?? DL 7:42PM 0:00.38 [yarrow] root 39 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [swi6:+] root 40 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [swi5:+] root 41 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [swi2: cambio] root 42 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [swi6: task queue] root 43 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [usb0] root 44 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [usbtask] root 45 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [usb1] root 46 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [usb2] root 47 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [usb3] root 48 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [usb4] root 49 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [fdc0] root 50 0.0 0.0 0 8 ?? WL 7:42PM 0:00.00 [swi0: sio] root 51 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [pagedaemon] root 52 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [vmdaemon] root 53 0.0 0.0 0 8 ?? DL 7:42PM 0:00.20 [pagezero] root 54 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [bufdaemon] root 55 0.0 0.0 0 8 ?? DL 7:42PM 0:00.00 [vnlru] root 56 0.0 0.0 0 8 ?? DL 7:42PM 0:00.01 [syncer] root 57 0.0 0.0 0 8 ?? IL 7:42PM 0:00.00 [nfsiod 0] root 58 0.0 0.0 0 8 ?? IL 7:42PM 0:00.00 [nfsiod 1] root 59 0.0 0.0 0 8 ?? IL 7:42PM 0:00.00 [nfsiod 2] root 60 0.0 0.0 0 8 ?? IL 7:42PM 0:00.00 [nfsiod 3] root 61 0.0 0.0 0 8 ?? DL 7:42PM 0:00.01 [schedcpu] root 160 0.0 0.1 1172 644 ?? Is 7:42PM 0:00.00 adjkerntz -i root 279 0.0 0.2 1292 868 ?? Ss 7:42PM 0:00.01 /usr/sbin/syslogd -s root 352 0.0 0.2 1208 772 ?? Ss 7:42PM 0:00.00 /usr/sbin/usbd root 393 0.0 0.5 3352 2484 ?? Is 7:42PM 0:00.00 /usr/sbin/sshd root 453 0.0 0.6 6076 3084 ?? Ss 7:52PM 0:00.06 sshd: root@ttyp0 (sshd) root 436 0.0 0.3 1592 1292 v0 Is 7:42PM 0:00.01 login [pam] (login) root 448 0.0 0.4 2200 1888 v0 I+ 7:47PM 0:00.01 -bash (bash) root 437 0.0 0.2 1264 928 v1 Is+ 7:42PM 0:00.00 /usr/libexec/getty Pc ttyv1 root 438 0.0 0.2 1264 928 v2 Is+ 7:42PM 0:00.00 /usr/libexec/getty Pc ttyv2 root 439 0.0 0.2 1264 928 v3 Is+ 7:42PM 0:00.00 /usr/libexec/getty Pc ttyv3 root 440 0.0 0.2 1264 928 v4 Is+ 7:42PM 0:00.00 /usr/libexec/getty Pc ttyv4 root 441 0.0 0.2 1264 928 v5 Is+ 7:42PM 0:00.00 /usr/libexec/getty Pc ttyv5 root 442 0.0 0.2 1264 928 v6 Is+ 7:42PM 0:00.00 /usr/libexec/getty Pc ttyv6 root 443 0.0 0.2 1264 928 v7 Is+ 7:42PM 0:00.00 /usr/libexec/getty Pc ttyv7 root 456 0.0 0.4 2200 1924 p0 Ss 7:53PM 0:00.01 -bash (bash) root 458 0.0 0.2 1400 924 p0 R+ 7:57PM 0:00.00 ps -aux
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
60 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Processos do gateway GNU/linux (Comando ps –ef)
UID PID PPID C STIME TTY TIME CMD root 1 0 0 21:20 ? 00:00:00 init [3] root 2 1 0 21:20 ? 00:00:00 [keventd] root 3 1 0 21:20 ? 00:00:00 [ksoftirqd_CPU0] root 4 1 0 21:20 ? 00:00:00 [kswapd] root 5 1 0 21:20 ? 00:00:00 [bdflush] root 6 1 0 21:20 ? 00:00:00 [kupdated] root 99 1 0 21:20 ? 00:00:00 [kjournald] root 236 1 0 21:20 ? 00:00:00 [kjournald] root 237 1 0 21:20 ? 00:00:00 [kjournald] root 410 1 0 21:20 ? 00:00:00 [khubd] root 1272 1 0 21:21 ? 00:00:00 /sbin/syslogd root 1275 1 0 21:21 ? 00:00:00 /sbin/klogd root 1283 1 0 21:21 ? 00:00:00 /usr/sbin/sshd daemon 1287 1 0 21:21 ? 00:00:00 /usr/sbin/atd root 1293 1 0 21:21 tty1 00:00:00 -bash root 1294 1 0 21:21 tty2 00:00:00 /sbin/getty 38400 tty2 root 1295 1 0 21:21 tty3 00:00:00 /sbin/getty 38400 tty3 root 1296 1 0 21:21 tty4 00:00:00 /sbin/getty 38400 tty4 root 1297 1 0 21:21 tty5 00:00:00 /sbin/getty 38400 tty5 root 1298 1 0 21:21 tty6 00:00:00 /sbin/getty 38400 tty6 root 1307 1293 0 21:24 tty1 00:00:00 ps -ef
9.2.2. Verificar interfaces de rede e memória das mesmas.
Servidor GNU/Linux
Interface ligada com cabo crossover, ferramenta utilizada ethtool
(Comando ethtool eth0).
Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: umbg Wake-on: g Current message level: 0x00000007 (7) Link detected: yes
Memória no gateway GNU/Linux, expressa em Megabytes(Comando free –m)
total used free shared buffers cached
Mem: 495 46 448 0 3 33 -/+ buffers/cache: 9 486 Swap: 956 0 956
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
61 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Servidor FreeBSD
Interface ligada com cabo crossover (Comando ifconfig).
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=9<RXCSUM,VLAN_MTU> inet6 fe80::20a:5eff:fe46:c5ab%xl0 prefixlen 64 scopeid 0x1 inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255 ether 00:0a:5e:46:c5:ab media: Ethernet autoselect (100baseTX <full-duplex>) status: active em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=b<RXCSUM,TXCSUM,VLAN_MTU> inet6 fe80::20f:1fff:fead:8e2f%em0 prefixlen 64 scopeid 0x2 inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255 ether 00:0f:1f:ad:8e:2f media: Ethernet autoselect (1000baseTX <full-duplex>) status: active plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4 inet 127.0.0.1 netmask 0xff000000
Memória no gateway FreeBSD (Comando top)
Mem: 3600K Active, 3056K Inact, 12M Wired, 6624K Buf, 467M Free
Swap: 982M Total, 982M Free
9.2.3. Em seguida, deve-se montar o ambiente gerador de tráfego, onde é
necessário apenas que as ferramentas iperf e iptraf estejam instaladas. Também é
necessário configurar suas interfaces de rede, montando entre elas uma rede que
deve ser diferente da máquina onde estará a aplicação, a fim de caracterizar a
topologia com a utilização do gateway fazendo esse roteamento.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
62 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
a) Inicializar o iptraf em todas as estações, com exceção do gateway (Figura 8).
(Figura 8) Tela de inicialização do Iptraf
b) Seleciona-se então a terceira opção, Detailed Interface Statistics, que neste
momento encontra-se sem informação (Figura 9).
(Figura 9) Tela do Iptraf em estado inicial
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
63 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
c) Iptraf em funcionamento no servidor da aplicação (Figura 10).
(Figura 10) Tela do Iptraf informando o tráfego da rede
d) Inicializar o servidor da aplicação iperf (Figura 11), utilizando o comando:
# iperf –s –u
(Figura 11) Tela de inicialização da aplicação
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
64 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
e) Começar a gerar o tráfego utilizando as estações, da assim chamada, rede de
tráfego (Figuras 12 e 13).
(Figura 12) Servidor mostrando as estações se conectando
(Figura 13) Servidor mostrando informações de termino de envio de 4 máquinas da rede de tráfego.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
65 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
10. TESTES
10.1. Primeiro Teste
Gateway GNU/Linux
Com o comando top pôde ser verificado o consumo de memória e processador,
antes e durante o tráfego (Figuras 14 e 15).
(Figura 14) Verificação da utilização de memória e processador (antes da passagem de tráfego)
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
66 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
(Figura 15) Verificação da utilização de memória e processador (durante da passagem de tráfego)
Nas tabelas 1 e 2 serão apresentadas a taxa de transferência da rede e a quantidade de pacotes enviados durante os testes, sendo que os valores apresentados são a média dos valores encontrados durante os vários testes.
Tabela 1 – Taxa de transferência da rede - TCP
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
67 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Tabela 2 – Quantidade de pacotes enviados
Total de pacotes recebidos pela aplicação (30 Segundos): 368130
Total de pacotes recebidos pela aplicação (60 Segundos): 734014
Diferença entre total enviado e recebido (Em ambos os testes): 0
10.2. Segundo Teste
Gateway GNU/Linux
Nas tabelas 3 e 4 serão apresentadas a taxa de transferência da rede e a
quantidade de pacotes enviados durante os testes, sendo que os valores
apresentados são a média dos valores encontrados durante os vários testes.
Tabela 3 – Taxa de transferência da rede - UDP
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
68 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Tabela 4 – Quantidade de pacotes enviados
Total de pacotes recebidos pela aplicação: 248824
Diferença entre total enviado e recebido: 48 pacotes
10.3. Terceiro Teste
Gateway FreeBSD
Com o comando top pôde ser verificado o consumo de memória e processador,
antes e durante o tráfego (Figuras 16 e 17).
(Figura 16) Verificação da utilização de memória e processador (antes da passagem de tráfego)
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
69 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
(Figura 17) Verificação da utilização de memória e processador (durante da passagem de tráfego)
Nas tabelas 5 e 6 serão apresentadas a taxa de transferência da rede e a
quantidade de pacotes enviados durante os testes, sendo que os valores
apresentados são a média dos valores encontrados durante os vários testes.
Tabela 5 – Taxa de transferência da rede - TCP
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
70 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Tabela 6 – Quantidade de pacotes enviados
Total de pacotes recebidos pela aplicação(30 Segundos): 372438
Total de pacotes recebidos pela aplicação(60 Segundos): 737169
Diferença entre total enviado e recebido (Em ambos os testes): 0
10.4. Quarto Teste
Gateway FreeBSD
Nas tabelas 7 e 8 serão apresentadas a taxa de transferência da rede e a
quantidade de pacotes enviados durante os testes, sendo que os valores
apresentados são a média dos valores encontrados durante os vários testes.
Tabela 7 – Taxa de transferência da rede - UDP
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
71 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Tabela 8 – Quantidade de pacotes enviados
Total de pacotes recebidos pela aplicação: 248121
Diferença entre total enviado e recebido: 14 pacotes
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
72 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
11. ANÁLISE DE RESULTADOS
Com base nos resultados obtidos em todos os testes, podemos concluir que o
desempenho de rede em gateways GNU/Linux e FreeBSD, foi extremamente satisfatório, em
relação a desempenho de rede dos Sistemas Operacionais, para o ambiente proposto. As taxas
de transferência foram extremamente semelhantes, sendo assim, ambos não influenciaram
nesta taxa de transferência.
A quantidade de pacotes enviados e recebidos também foi semelhante, e em nenhum
dos ambientes, tivemos perda de pacotes, mais uma vez caracterizando o bom desempenho
dos dois gateways.
Nos testes efetuados foi atingindo o máximo da utilização dos recursos físicos de rede
permitido pelo tipo de placa e classe de cabeamento utilizados. Todavia isto não invalida os
resultados obtidos nos testes, uma vez que a utilização de recursos físicos dos gateways, em
ambos os casos não houve nenhuma utilização de memória RAM, durante o tráfego passante,
porem em ambas houve a utilização de processamento, onde o gateway FreeBSD
aproximadamente 30% do processador e o gateway GNU/Linux utilizou aproximadamente
13% do mesmo. Esta ocupação dos processadores se da devido a possíveis parâmetros de
kernel dos 2 Sistemas Operacionais, e foi comprovado por nós que essa utilização de
processador é indiferente em relação ao volume de tráfego, sendo que mesma acontece
inclusive quando apenas uma máquina gerava tráfego, utilizando uma banda inferior a 100
Megabits, valor máximo da rede, e obtínhamos o mesmo uso de processamento, de quando
utilizávamos 7 (sete) máquinas gerando tráfego com a banda utilizada sendo igual à 100
Megabits.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
73 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Os gráficos 1 e 2 representam a comparação do desempenho da rede entre os
gateways, GNU/Linux e FreeBSD, utilizando os protocolos de transporte TCP e UDP.
Comparação TCP
93,2
94,293,9 94 94
94,294,5
93,4
9494,2
94,4
9494,2
93,8
92,5
93
93,5
94
94,5
95
Número de máquinas
Taxa
de
Tran
sfer
ênci
a
FreeBSDLinux
FreeBSD 93,2 94,2 93,9 94 94 94,2 94,5
Linux 93,4 94 94,2 94,4 94 94,2 93,8
1 2 3 4 5 6 7
Gráfico 1 – Comparativo de desempenho da rede entre os gateways – TCP
Comparação UDP
94,3
95,4
96
95,6 95,5
96 95,9
94,3
95,695,4
96
95,5
96
95,2
93
93,5
94
94,5
95
95,5
96
96,5
Número de máquinas
Taxa
de
tran
sfer
ênci
a
FreeBSDLinux
FreeBSD 94,3 95,4 96 95,6 95,5 96 95,9
Linux 94,3 95,6 95,4 96 95,5 96 95,2
1 2 3 4 5 6 7
Gráfico 2 - Comparativo de desempenho da rede entre os gateways – UDP
Analisando os dois gráficos podemos concluir que não existe um Sistema Operacional
que seja melhor que o outro para determinada função, pois temos em alguns instantes o
GNU/Linux mostrando um desempenho superior, em outros momentos acontece uma
igualdade entre os mesmos e ainda um desempenho superior do gateway FreeBSD. Onde
mesmo quando acontece um desempenho superior de algum dos gateways, a diferença é
muito pequena, podendo então ser decretada uma igualdade de desempenho, em relação a
Sistema Operacional do gateway.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
74 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
12. CONCLUSÃO
Almejamos com este experimento, esclarecer duvidas, aprofundar os conhecimentos
sobre o Sistema Operacional GNU/Linux e conhecer o Sistema Operacional FreeBSD que até
então era uma incógnita para alguns componentes do nosso grupo. Além de satisfazer
curiosidades, ao meio corporativo e acadêmico, sobre o desempenho de redes, com utilização
dos Sistemas Operacionais verificados, que possa servir como fonte segura, atestando as
informações que nele constam.
Definimos com o mesmo que muitos dos “mitos” existentes nesse âmbito são falsos,
uma vez que após a realização de estudos sobre os Sistemas Operacionais em debate e testes
padronizados, concluímos que ambos exercem a função proposta (gateway de rede com alto
volume de tráfego) com desempenho satisfatório e semelhante.
É esperado também que este trabalho, continue sendo aprimorado, com a realização de
mais testes sobre ambientes mais robustos, apresentando assim os recursos dos Sistemas
Operacionais GNU/Linux e FreeBSD.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
75 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
13. PROPOSTA DE TRABALHO FUTURO
Como proposta para trabalhos futuros sugerimos a realização de:
• Testes com os Sistemas Operacionais GNU/LINUX e FreeBSD, em
ambientes e recursos ainda maiores, com switches mais modernos
(Gigabyte), que permita a conexão de um número maior de
computadores, gerando assim maior tráfego, e possibilitando a
verificação do desempenho das redes, sobre os determinados Sistemas
Operacionais;
• Uma analise de desempenho de redes para gateways FreeBSD e
GNU/Linux, onde seriam realizados algum tipo de tratamento de pacotes,
como a utilização modulo layer 7 do iptables, que é usado para marcar
cada pacote de rede com a aplicação referente ao mesmo, possibilitando
assim um controle a nível de aplicação para o firewall. Esse
procedimento geralmente causa uma grande utilização de processador,
sendo assim necessários testes para verificar o desempenho.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
76 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
14. BIBLIOGRAFIA
[1] Andrew S. Tanenbaum, Redes de computadores, editora Campus.
[2] Análise e Desempenho de Redes. 15 Mar.2006. Disponível em:
http://www.nuperc.unifacs.br/suruagy/pesq/prop97.htm Acesso em: 15 Mar.2006
[3] Análise e Desempenho de Redes Projeto Final “UMA FERRAMENTA PARA ANÁLISE DE DESEMPENHO DE REDES
CONVERGENTES”. Universidade de Brasília, Faculdade de tecnologia Departamento de
engenharia elétrica, Alunos: ITALO AMARAL BRITO e VINÍCIUS MACÊDO DE
SOUSA.
[4] Linux.org. 28 Mar.2006. Disponível em:
http://www.linux.org/ Acesso em: 28 Mar.2006
[5] Debian.org no Brasil. 15 Mai.2006. Disponível em:
http://www.debian-br.org/ Acesso em: 15 Mai.2006
[6] Linux.com. 25 Mar.2006. Disponível em:
http://www.linux.com/ Acesso em: 25 Mar.2006
[7] FreeBSD.org. 10 Abr.2006. Disponível em:
http://www.freebsd.org/ Acesso em: 10 Abr.2006
[8] FreeBSD, OpenBSD e NetBSD: características de cada um. 15 Abr.2006.
Disponível em:
http://www.infowester.com/osbsd.php Acesso em: 15 Abr.2006
[9] Perguntas mais freqüentes sobre FreeBSD 2.X, 3.X e 4.X. 28 Abr.2006. Disponível em:
http://www.freebsd.org/doc/pt_BR.ISO8859-1/books/faq/introduction.html
http://www.freebsd.org/doc/pt_BR.ISO8859-1/books/faq/admin.html Acesso em: 28
Abr.2006
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
77 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
[10] Wikipédia. 10 Jun.2006. Disponível em:
http://pt.wikipedia.org/wiki/Freebsd Acesso em: 10 Jun.2006
[11] Sistema de Arquivos. 15 Mai.2006. Disponível em:
https://freebsdbrasil.com.br/intro50release.html Acesso em: 15 Mai.2006
[12] Tráfego de Rede. 10 Jun.2006. Disponível em:
https://freebsdbrasil.com.br/guia-ipfw.php?cap=1 Acesso em: 10 Jun.2006
[13] Iperf. 10 Mar.2006. Disponível em:
http://dast.nlanr.net/Projects/iperf/ Acesso em: 10 Mar.2006
[14] Iptraf. 05 Mai.2006. Disponível em:
http://iptraf.seul.org/ Acesso em: 05 Mai.2006
[15] Ethtool. 05 Mai.2006. Disponível em:
http://sourceforge.net/projects/gkernel/ Acesso em: 05 Mai.2006
[16] Mii-Tool. 05 Mai.2006. Disponível em:
http://linux-ip.net/html/tools-mii-tool.html/ Acesso em: 05 Mai.2006
[17] FreeBSD Brasil - FreeBSD Brasil LTDA. 15 Abr.2006. Disponível em:
http://www.freebsdbrasil.com.br/fbsdbr.php?ver=sobre Acesso em: 15 Abr.2006
[18] Sistema Operacional FreeBSD. 25 Mai.2006. Disponível em:
http://granito2.cirp.usp.br/SoftwareLivre/artigo.freebsd.html Acesso em: 25 Mai.2006
[19] [www.MyFreeBSD.com.br] . 18 Abr.2006. Disponível em:
http://www.myfreebsd.com.br/modules.php?name=Sections&op=printpage&artid=9
http://www.myfreebsd.com.br/modules.php?name=Colab Acesso em: 18 Abr.2006
[20] Netfilter Empresa no sistema operacional FreeBSD. 08 Jun.2006. Disponível em:
http://www.netfilter.com.br/empresa/instalacao_freebsd.php Acesso em: 08 Jun.2006
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
78 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
[21] Diferenças entre Linux e FreeBSD. 05 Abr.2006. Disponível em:
http://www.underlinux.com.br/content/view/4560/58/ Acesso em: 05 Abr.2006
[22] Viva o Linux. 28 Mar.2006. Disponível em:
http://www.vivaolinux.com.br/ Acesso em: 28 Mar.2006
[23] Revista do Linux. 18 Abr.2006. Disponível em:
http://www.revistadolinux.com.br/ Acesso em: 18 Abr.2006
[24] Guia do Hardware. 30 Abr.2006. Disponível em:
http://www.guiadohardware.net/ Acesso em: 30 Abr.2006
[25] Info Wester. 05 Abr.2006. Disponível em:
http://www.infowester.com/linux1.php
http://www.infowester.com/linux2.php
http://www.infowester.com/linux5.php Acesso em: 05 Abr.2006
[26] Foca GNU/Linux. 10 Mai.2006. Disponível em:
http://focalinux.cipsga.org.br/ Acesso em: 10 Mai.2006
[27] Clube Das Redes. 15 Mar.2006. Disponível em:
http://www.clubedasredes.eti.br Acesso em: 15 Mar.2006
[28] Redes de Computadores I. 15 Mar.2006. Disponível em:
http://myspace.eng.br/info/net/net1.asp Acesso em: 15 Mar.2006
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
79 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
15. GLOSSÁRIO
Algoritmos – é uma seqüência finita e não ambígua de instruções computáveis para
solucionar um problema.
Barramento – um canal de transmissão em um computador ou em uma rede que transporta
sinais para/de dispositivos conectados ao canal.
Broadcasting – Sistema de difusão de sinais em que é transmitido o mesmo conteúdo para
todos os receptores.
BSD – é uma licença de software. A licença BSD cobre as distribuições de software da
Berkeley Software Distribution, além de outros programas. Esta é uma licença considerada
“permissiva” porque impõe poucas restrições sobre a forma de uso, alterações e redistribuição
do software licenciado. O software pode ser vendido e não há obrigações quanto à inclusão do
código fonte, podendo o mesmo ser incluído em software proprietário. Esta licença garante o
crédito aos autores do software, mas não tenta garantir que trabalhos derivados permanecem
como software livre.
CD-ROM – disco óptico onde são armazenadas informações apenas para leitura.
CISC – é um tipo de arquitetura de processadores que dominaram o mercado na década de
80, é a tecnologia dos processadores 386 e 486 da Intel.
CMOS – Complementary Metal Oxide Semiconductor, é uma ferramenta que configura a
BIOS, também conhecida como setup.
Crash – parada, falha ou erro.
Crossover – é um cabo que utiliza conectores do tipo RJ-45 que interliga dois dispositivos de
mesma função, dois computadores ligados direto pelas placas de rede ou hub com um switch.
Datagrama – é a unidade básica de dados no nível IP, é utilizado em redes de comutação de
pacotes.
Desktop – computadores de mesa, onde as suas partes (mouse, teclado, gabinete e monitor)
são separadas.
Download – mesmo que baixar ou transferir dados de uma página para seu computador.
DVD-ROM – disco óptico onde são armazenadas informações apenas para leitura.
Firewall – dispositivo de rede que tem por função regular o tráfego de rede entre redes
distintas e impedir a transmissão de dados nocivos ou não autorizado de uma rede a outra.
Ftp - file transfer protocol, protocolo de transferência de arquivos.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
80 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Full Duplex – transmissão bidirecional, ou seja, transmissão de dados simultânea em ambos
os sentidos.
Gateway – é uma máquina destinada a interligar redes, separar domínios de colisão, ou
mesmo traduzir protocolos.
Ghz – unidade de medida que mensura velocidade em ciclos.
GPL – A Licença Pública Geral GNU (GNU General Public License GPL) é a licença que
acompanha os pacotes distribuídos pelo Projeto GNU, e mais uma grande variedade de
software, incluindo o núcleo do sistema operacional Linux. A formulação da GPL é tal que ao
invés de limitar a distribuição do software por ela protegido, ela de fato impede que este
software seja integrado em software proprietário. A GPL é baseada na legislação internacional
de copyright, o que deve garantir cobertura legal para o software licenciado com a GPL. (veja
também a recém publicada licença CC-GNU GPL [Brasil]).
Hardware – representa a parte física (equipamentos) de uma configuração de computador.
Hub - aparelho que interliga computadores, mesma definição de switch.
Interface de Rede – é a placa de rede propriamente dita.
Kernel - pode ser entendido com uma série de arquivos escritos em linguagem C e em
linguagem Assembly que constituem o núcleo do sistema operacional.
Lag – é o atraso que pode ocorrer entre na comunicação entre computadores.
Links – são as ligações de um hipertexto.
Login – é a identificação pessoal de cada usuário no sistema.
Logs – gravações das atividades da rede.
MAN – Metropolitan Area Network, ou rede de área metropolitana.
Modelo OSI – é um padrão, dividido em 7 camadas, relativo à comunicação de dados. Com
isso pode-se obter interconectividade entre máquinas de arquiteturas diferentes.
Modelo TCP/IP – é um padrão, dividido em 4 camadas, relativo à comunicação de dados.
Com isso pode-se obter interconectividade entre máquinas de arquiteturas diferentes.
Multicasting – é a habilidade de transmissão múltipla e simultânea utilizando um simples
canal digital de broadcast.
Multidifusão – é o mesmo que multicasting (multicast).
NFS – network file service, é o serviço de arquivos em rede, onde podem ser compartilhados
arquivos em partições de disco em máquinas remotas.
POSIX – é o nome de uma família de normas relacionadas e definidas pelo IEEE, designada
formalmente por IEEE 1003. A designação internacional da norma é ISO/IEC 9945. Esta
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
81 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
normalização das especificações POSIX surgiu de um projeto, iniciado por volta de 1985, que
tinha como objetivo normalizar a interface de programação de aplicativos para softwares
desenvolvidos para rodar em variantes do Sistema Operacional Unix.
Processador – parte mais importante do computador, é ele quem controla todas as outras
partes da máquina e processa todas as informações.
Protocolo – é a padronização de leis e procedimentos que são dispostos a execução de uma
determinada tarefa.
QoS – qualidade de serviço.
RISC – é um tipo de arquitetura de processadores que veio para substituir a arquitetura CISC,
pois são menores e mais velozes.
Rotas – é o caminho por onde os dados devem trafegar até chegar ao destino.
Roteadores – é um equipamento usado para fazer a comunicação entre diferentes redes de
computadores.
Scripts – seqüências de comandos utilizados geralmente para configuração.
Site – é um conjunto de páginas web.
Sistema Operacional – é o software responsável por controlar a alocação e o uso dos
recursos de hardware tais como memória, tempo de CPU, espaço em disco, e demais
dispositivos periféricos. O Windows 95, o Windows 3.1, e o MS-DOS são exemplos de
Sistemas Operacionais para microcomputadores.
S.O. – sistema operacional.
Software – é uma seqüência de instruções a serem seguidas e/ou executadas, na manipulação,
redirecionamento ou modificação de um dado/informação ou acontecimento.
Solaris – é um Sistema Operacional Unix desenvolvido pela Sun Microsystems.
SSH – Secure Shell, é simultaneamente um programa de computador e um protocolo de rede
que permite a conexão com outro computador na rede, de forma a executar comandos de uma
unidade remota. Possui as mesmas funcionalidades do TELNET, com a vantagem da conexão
entre o cliente e o servidor ser criptografada.
Sub-rede – é um segmento interconectado, mas independente, de uma rede que é identificada
por seu endereço IP.
Swap – é uma quantidade de espaço em disco alocada para ser utilizada como extensão da
memória RAM, ou seja, é uma área de troca onde são descarregadas informações que estavam
sem uso momentâneo na memória RAM.
Switch – é o equipamento de chaveamento que criam uma espécie de canal de comunicação
exclusiva entre a origem e o destino.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
82 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
Traceroute – mesmo que baixar ou transferir dados de uma página para seu computador.
Tráfego – nada mais é do que todos os dados transmitidos e recebidos dentro de uma rede.
Unix – é um Sistema Operacional portável, multitarefa e multiusuário, muito robusto por
sinal, originalmente criado por um grupo de programadores da AT&T e dos Bell Labs. Este
Sistema Operacional deu origem e influenciou vários outros Sistemas Operacionais.
WAN – Wide Area Network, rede de área alargada ou rede de longa distância, também
conhecida como rede geograficamente distribuída, é uma rede de computadores que abrange
uma grande área geográfica, sendo um país ou continente.
Web – World Wide Web, ou simplesmente www, é uma rede de computadores na Internet
que fornece informação em forma de hipertexto. Para ver a informação, pode-se usar um
software chamado navegador para descarregar informações de servidores de internet e mostrá-
los na tela do usuário.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
83 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
ANEXO A – Instalação do Iperf no Debian 3.1
Procedimentos para instalação
Instalação em sistemas operacionais GNU/Linux em geral Para obter o software, basta entrar no site da Nlanr:
• Endereço: http://dast.nlanr.net/Projects/Iperf/
• Selecionar o atalho Iperf Version 2.0.2 download source
• Descompacte o arquivo (tar –zxvf iperf-2.0.2.tar.gz)
• Acesse o diretório onde foi descompactado o código-fonte (cd iperf-
2.0.2)
• Execute o comando “./configure” para compilar o código-fonte
• Execute o comando “make”, seguido pelo comando “make install” para
instalar o software (distribuir os binários e bibliotecas).
Instalação no sistema operacional Debian 3.1 Para instalar o software no debian, basta executar o seguinte comando
#apt-get install iperf
Com isso o software é obtido (feito o download) e instalado automaticamente.
Deve-se ter acesso a internet.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory
84 / 84
Análise Comparativa do Desempenho de Rede para Grandes Volumes de Tráfego em Redes Locais utilizando FreeBSD e Linux
ANEXO B – Instalação do Iptraf no Debian 3.1
IPTraf
IP Network Monitoring Software
Procedimentos para instalação
Instalação em sistemas operacionais GNU/Linux em geral Para obter o software, basta entrar no site do mesmo:
• Endereço: http://iptraf.seul.org/download.html
• Selecionar o atalho US FTP site seul.org Source
• Descompacte o arquivo (tar –zxvf iptraf-3.0.0.tar.gz)
• Acesse o diretório onde foi descompactado o código-fonte (cd iptraf-
3.0.0)
• Execute o comando “./Setup” para instalar o software
Instalação no sistema operacional Debian 3.1 Para instalar o software no debian, basta executar o seguinte comando
#apt-get install iptraf
Com isso o software é obtido (feito o download) e instalado automaticamente.
Deve-se ter acesso a internet.
PDF criado com versão de teste do pdfFactory Pro. Para comprar, acesse www.divertire.com.br/pdfFactory