PRO-REITORIA DE GRADUAÇÃO TRABALHO DE CONCLUSÃO DE … · deve saber, por exemplo, se seu S.O....

84
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

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