21
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO JAISON DALLABONA SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUX Proposta de Trabalho de Conclusão de Curso submetida à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso I do curso de Sistemas de Informação — Bacharelado. Prof. Francisco Adell Péricas – Orientador BLUMENAU 2010 / I

SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

UNIVERSIDADE REGIONAL DE BLUMENAU

CENTRO DE CIÊNCIAS EXATAS E NATURAIS

CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO

JAISON DALLABONA

SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS

LINUX

Proposta de Trabalho de Conclusão de Curso submetida à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso I do curso de Sistemas de Informação — Bacharelado.

Prof. Francisco Adell Péricas – Orientador

BLUMENAU 2010 / I

Page 2: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

2

1 INTRODUÇÃO

Com o avanço das redes de comunicação, o número de usuários tem se multiplicado a

cada dia, o mesmo ocorrendo com aplicativos. Junto a este crescimento vem a necessidade de

transmissões mais rápidas e confiáveis, que garantam a satisfação destes serviços, que são

cada vez mais exigentes (STACHLEWSKI, 2010).

As redes de computadores, tanto as públicas quanto as privadas, estão crescendo muito

e cada vez se integrando mais, convergindo para uma enorme infra-estrututa global. Em

conseqüência a este crescimento, a possibilidade de gerenciar sistematicamente uma grande

quantidade de sistemas de hardware e de software, componentes constituintes destas redes,

tem tido cada vez mais importância (PÉRICAS, 2003, p. 121).

Conforme Stato (2009), as redes corporativas trouxeram a necessidade de se fazer um

controle de tráfego dos dados. Novos serviços, tecnologias, demandam um controle mais

robusto e maior qualidade de banda dependendo do serviço requerido. Estes serviços trafegam

muitas vezes necessitando ter um tratamento em relação a outros, para que funcionem

perfeitamente. A solução proposta para este problema é a utilização de Quality of Services

(QoS). QoS é uma técnica que está diretamente relacionada ao tráfego de dados, em outras

palavras, controla o tráfego de uma rede definindo prioridades e limites de forma a melhorar o

uso de determinados serviços, bem como utilizá-los de maneira mais eficiente. QoS garante

um número determinado de bytes, reserva de largura de banda, prioridade, dentre outros

serviços que trafegam pela rede. Funciona como uma reserva de bytes: quando requerido,

tenha disponibilidade suficiente e torne-se funcional aos serviços solicitados pelo usuário.

Conforme Jucá (2005), as aplicações em tempo real requerem garantias rigorosas para

que cheguem a seu destino. Aplicações que não sejam em tempo real poderão ter um tempo

maior de resposta, um atraso nos pacotes enviados, sem percepção significativa ao usuário.

Estas configurações envolvem QoS para garantir que a aplicação em tempo real seja

prioritária diante de outros serviços.

O controle de QoS será feito em um gateway Linux que é um sistema de código aberto

multi-usuário. Se o destino do pacote não tiver origem à rede interna, é o gateway quem faz o

encaminhamento dos pacotes para estes alcançarem seus destinos. Qualquer pacote que

requisitar algum endereço fora da rede interna, obrigatoriamente passará pelo gateway, caso

contrário o pacote não chegará ao destino. O responsável pelas rotas de saída da rede é o

gateway. Todo e qualquer pacote que passar pelo gateway será tratado para que possa aplicar

Page 3: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

3

regras de QoS, determinando qual será sua prioridade na rede. A priorização dos serviços

disponíveis poderá ser configurada pelo administrador da rede, conforme demanda exigida.

1.1 PROBLEMA

Conforme (Stato, 2009) quando implanta-se um sistema de QoS, é preciso ter em

mente a diminuição no atraso e na perda de pacotes. Esses itens são requisitos para uma

análise da necessidade de implantação do QoS.

Para uma rede ter prioridades de tráfego é necessário ser aplicado o controle de QoS.

Há diversas situações em que empresas precisam priorizar o tráfego de dados de

determinados serviços que trafegam na rede, mas muitos administradores não conseguem

desenvolver um QoS que satisfaça a necessidade requerida. Muitas vezes a empresa tem um

link satisfatório, mas o problema agrava-se quando usuários utilizam o link com serviços que

muitas vezes não têm relação a suas atividades diárias na empresa.

Cresce a cada dia a necessidade de estabelecer limites para o tráfego de pacotes,

objetivando otimizar a utilização dos recursos de rede e evitar possíveis problemas de

comunicação. O tráfego de maior carga, por exemplo, pode comprometer o atendimento de

outras requisições devido a má distribuição de banda ou a um “escalonamento” de pacotes

ineficiente (JUCÁ, 2005).

1.2 JUSTIFICATIVA

O crescimento em escala exponencial das redes de computadores no mundo é evidente.

As aplicações exigindo cada vez mais largura de banda, gerando imenso tráfego nas redes,

requerem um tipo de tratamento especial. Por exemplo, uma rede com 50 computadores

disputando um link de 512kbps1. Caso esse link não venha sofrer algum tratamento para que o

tráfego prioritário tenha uma eficiência maior em relação a outros serviços, a rede estará

1 Kbps é Kilobits Per Second. Taxa de transferência usada em comunicação em série. Mede a quantidade de kilobits que são transferidos por segundo.

Page 4: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

4

condenada, inoperante, diante da demanda requerida. Por exemplo, um cenário que necessite

priorizar um serviço, como uma Virtual Private Network2 (VPN). Qualquer computador da

rede que precisar ter acesso a VPN, e existir regras de QoS com prioridade alta para VPN,

outros aplicativos cederão banda que estão consumindo, para que o tráfego prioritário tenha

privilégios de executar suas tarefas.

Uma rede que precise priorizar largura de banda, necessita de QoS para ter seus

aplicativos garantidos dentre outros menos prioritários. Se não houver QoS, todos os

aplicativos sofrerão para efetuarem comunicação, haverá perdas e lentidão demasiada. Isto

acontece porque o tráfego de rede é First In First Out3 (FIFO). Com isso não há prioridade de

tráfego, não existe QoS. Muitos serviços poderão estar instáveis, inoperantes, não por falta da

largura do link, mas sim por existir outros aplicativos consumindo largura indevida sem

algum tratamento especial para contornar o problema (CARVALHO, 2010).

1.3 OBJETIVOS

O objetivo deste trabalho é desenvolver um software que permita definir um controle

de banda, QoS, via Web para um gateway Linux, permitindo priorizar serviços essenciais

dentro de uma rede. O software receberá os dados que o administrador da rede informar

através de uma interface Web, onde a mesma chamará um script que fará a aplicação das

regras propriamente ditas em conjunto com o sistema operacional.

Os objetivos específicos do trabalho são:

a) monitorar regras de QoS remotamente via Web;

b) aplicar regras de QoS remotamente via Web;

c) controlar a banda consumida dentre serviços solicitados na rede;

d) priorizar serviços por equipamento de rede, como em todo ambiente da rede;

e) minimizar largura de banda para serviços menos importantes da rede;

f) verificar equipamentos de rede on-line na rede.

2 VPN, Virtual Private Network é uma rede virtual privada , onde o usuário pode se conectar a rede local de qualquer lugar do mundo, como se estivesse fisicamente conectado na rede local. 3 FIFO, First in First out é um termo utilizado para formar uma fila, enfileiramento de tráfego. O primeiro bit a entrar é o primeiro a sair sem nenhum tratamento, literalmente é uma fila.

Page 5: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

5

1.4 RELEVÂNCIA DO TRABALHO

É pretensão deste trabalho, melhorar o controle de banda dentro de uma rede, com

custos mínimos e sem a necessidade da compra de novos equipamentos ou licenças de

softwares. Com controle de QoS, evitar-se-ão lentidão e principalmente irá melhorar o

aproveitamento do link, que em muitas vezes encontram-se saturados por não existir controle

do que trafega na rede. Partindo da atual situação, onde o controle é de difícil entendimento

por parte de administradores, objetiva-se possibilitar o controle via Web de forma

transparente na ligação entre scripts, interface Web e ferramentas que farão o controle

desejado pelo administrador, como Traffic Control (TC) que tem por finalidade auxiliar o

controle de tráfego de rede, Queuing Disciplines (qdisc) que auxilia a ordenar o

enfileiramento dos bytes que trafegam na rede, onde um qdisc é a criação de um ou mais links

virtuais ao qual pode-se distribuir a largura de banda desejável para determinado serviço e o

IPROUTE que faz o balanceamento de carga entre links. O conjunto destas ferramentas

possibilita ao administrador configurar e aplicar QoS necessário pela demanda exigida em um

ambiente de rede.

A interface Web do software proposto será o elo de ligação entre o sistema operacional

que aplicará as regras programadas em um script. O script que será gerado através das

informações em que o administrador de rede requisitou via interface Web, gerará um script de

modo que o sistema operacional e as ferramentas de auxílio sejam capazes de interpretá-las e

executá-las fazendo com que as regras de QoS sejam concretizadas, assim tornando o

processo transparente para o administrador que precisará somente informar quais prioridades

e largura de banda desejada em seu ambiente.

Isto justifica a relevância deste trabalho, resolvendo a questão da priorização de

tráfego, que sem sombra de dúvida é uma das mais importantes técnicas em redes para poder-

se gastar menos com contratação de links maiores e muitas vezes, o link tendo maior

capacidade de tráfego de dados. Sabendo controlar o que passa na rede, poderá ter-se um

rendimento maior sem custos elevados.

Page 6: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

6

2 FUNDAMENTAÇÃO TEÓRICA

Este capítulo aborda assuntos a serem apresentados nas seções a seguir, tais como o

controle de banda e suas ferramentas, além dos trabalhos correlatos.

2.1 CONTROLE DE BANDA DE UMA REDE

Com o crescimento de aplicações exigindo cada vez mais recursos de rede tornou-se

necessário, além de técnicas de redução de congestionamento, o fornecimento por parte das

redes de parâmetros de desempenho com uma determina qualidade que permitirá assim uma

comunicação mais confiável, ou ainda a inviabilidade de sua utilização.

Este tipo de controle se faz necessário porque o TCP/IP4 por si só, não fornece um

controle direto sobre a taxa de transmissão. A princípio, cada host5 transmite pacotes o mais

rápido possível de acordo com a capacidade dos dispositivos e o meio de comunicação

disponível. Este comportamento pode ser problemático quando outros hosts também utilizam

e compartilham o mesmo meio físico, competindo entre si a largura de banda disponível.

Desta forma, um único usuário pode comprometer o desempenho dos demais, caso esteja

ocupando uma grande parcela da capacidade do link durante a comunicação (MOSCHETO,

2010).

Conforme Jucá (2005), através de um roteador firewall6 Linux, o tráfego de download

e upload dos computadores da rede local pode ser controlado definindo-se um qdisc por

dispositivo de rede. A Figura 1 mostra a topologia de rede e controle feito pelo firewall Linux.

4 TCP/IP é um conjunto de protocolos de comunicação entre computadores em rede. Seu nome vem de dois protocolos: o TCP Transmission Control Protocol - Protocolo de Controle de Transmissão e o IP Internet Protocol - Protocolo de Interconexão. 5 Host são computadores ou equipamentos integrados a uma rede 6 Firewall é um dispositivo de segurança de rede, permitindo ou negando as transmissões de uma rede a outra.

Page 7: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

7

Fonte: adaptado de Stato (2009).

Figura 1 – Esquema de rede com gateway Linux sendo aplicado em uma rede

O QoS busca suprir às expectativas de atender os usuário em termos de resposta e

qualidade, muitas vezes prejudicada, por não existirem filtros de controle. A qualidade do

tráfego de rede depende do tipo de aplicação que deseja-se usar. Existem aplicações que

podem sofrer atraso sem a percepção do usuário e outras que um mínimo atraso é visível e

poderá torná-la insustentável dentro do ambiente.

QoS está diretamente relacionado ao tráfego, em outras palavras, ao controlar o tráfego

da rede definindo prioridades e limites de forma a melhorar o uso de determinados serviços,

bem como utilizá-los de maneira mais eficiente. Com o QoS é possível organizar a rede para

que determinados serviços tenham precedência dentre os demais, podemos criar o VOIP, e

desta forma, combater o mau uso da banda para fins que não sejam os da empresa.Quando

implanta-se um sistema de QoS, temos em mente a diminuição no atraso e na perda de

pacotes entre outros. Esses itens são requisitos para uma análise da necessidade de

implantação do QoS (STATO, 2009, p. 187).

A lógica é equivalente a de dois rios que deságuam em um mesmo ponto, disputando a

passagem por um mesmo canal. O que acontece se o volume de água de um dos rios for muito

maior que o outro? O rio de maior volume (largura de banda) trafegará pelo canal em

velocidade maior e o rio de menor volume terá dificuldade, cada vez maior, para trafegar. Ou

seja, a distribuição de água pelo canal se tornará injusta. Dependendo da diferença de volume

entre os rios, o rio de menor volume poderá deixar de trafegar pelo canal dominado pelo rio

Page 8: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

8

de maior volume. Esta situação pode ser observada com freqüência maior em redes onde o

acesso de Internet é compartilhado sem a utilização de filtros, pois um único usuário pode

facilmente comprometer o acesso dos demais, caso ocupe boa parte da largura de banda ao

realizar downloads de músicas mp37, vídeos e fotos, por exemplo. Um provedor de acesso

também não deve bloquear o uso de ferramentas P2P8 (e alguns clientes farão esta

solicitação), mas precisará evitar este tipo de situação (JUCÁ, 2005, p.234).

2.1.1 REDES SEM CONTROLE DE BANDA

Todo tráfego que for requisitado em uma determinada rede sem tratamento de QoS,

será respondido o mais rápido possível conforme largura de banda na rede. Imagine-se uma

rede que possua um link de 2Mb/s, e 50 computadores. Exemplos atuais como prédios,

pequenas empresas, lan houses. Estas redes poderão utilizar qualquer tipo de programa de

acesso à Internet.

Em uma rede liberal, programas como o Emule ou Kazza, que são softwares de

compartilhamento que utilizam protocolo P2P para transferência de dados, poderão causar um

enorme congestionamento. Um único Emule instalado em um computador da rede poderá

abrir dezenas de conexões simultâneas. Com isso, caso algum outro usuário, em outro

computador, deseje visitar algum site, por exemplo, haverá uma máquina estabelecendo uma

conexão, lutando contra outro computador com 60 conexões como um exemplo. Haverá, em

outras palavras, 1 contra 60. Com isso haverá uma grande desvantagem para um dos dois. Isso

ocorre porque, da forma como o Kernel9 Linux trabalha, os pacotes são enfileirados em um

buffer10 e saem na mesma ordem em que chegam. Aumentar o link, ao contrário do que se

pensa, não resolveria o caso, pois só se está dando mais poder de fogo ao usuário do Emule e

se continuaria sendo o 60º da fila (MOTTA, 2010).

7 Mp3 é um formato utilizado para músicas, uma abreviação de MPEG1 Layer-3 e foi criado pelo Instituto Fraunhofer, que detém a patente e cobra para o seu uso desde 1998 8 P2P ou Peer-to-Peer, é uma arquitetura de sistemas distribuídos caracterizada pela descentralização das funções na rede, onde cada nodo realiza tanto funções de servidor quanto de cliente. Exemplos de softwares p2p emule, kazza, shareaza, entre outro. 9 Kernel é entendido como o núcleo do sistema operacional. Ele representa a camada de software mais próxima do hardware. 10 Buffer é uma região de memória temporária utilizada para escrita e leitura de dados.

Page 9: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

9

Bloquear o Emule torna e força o usuário de tal programa a achar uma forma de burlar

o controle.

É esse tipo de problema que acontece em muitas redes, principalmente no ramo

empresarial que necessita de uma demanda de banda enorme e muitas vezes usuários

utilizando softwares que consigam ter êxito na conexão, poderá danificar causar transtornos

na rede toda.

2.2 TRABALHOS CORRELATOS

Tratando-se em controle de tráfego de rede existem vários softwares no mercado.

Muitos destes são pagos, principalmente aqueles voltados para sistema operacional Windows.

Como o foco deste trabalho é um controle sobre gateway Linux, há como base um software

chamado WebHTB.

Conforme Delicostea (2010), WebHTB é um conjunto de softwares que ajudam a

simplificar o difícil processo de alocação de largura de banda, o tráfego, tanto para upload e

download, permitindo gerar e verificar os arquivos de configuração, visão geral do tráfego em

tempo real para cada cliente em separado.

Tendo em vista que WebHTB é um software livre, voltado para sistemas operacionais

Linux, ele utiliza em conjunto ferramentas que serão utilizadas neste presente trabalho.

Abaixo na Figura 2 há um exemplos da operacionalidade do WebHTB.

Fonte: Delicostea (2009)

Figura 2 – Ajustando a largura de banda e host que será aplicado o filtro

Page 10: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

10

Este software foi desenvolvido em conjunto com as ferramentas já citadas, uma

interface desenvolvida em Hypertext Preprocessor (PHP), Java Script, Ajax e MySQL,

proporcionando uma interface amigável, facilitadora para administração do controle de banda

na rede.

Em relação ao controle de banda, existe a ferramenta HTB-tools. Segundo Stato (2009,

p. 263), conforme informado no site do HTB-tools, é uma ferramenta para controle e

administração de banda, um software com vários recursos para auxiliar e simplificar o

processo de alocação de banda, tráfego, download, upload, gerando e checando configurações

para cada cliente isoladamente.

A Figura 3 mostra um exemplo de arquivo de configuração da ferramenta HTB-tools.

Fonte: adaptada Stato (2009)

Figura 3 – Exemplo de configuração do HTB-tools

Como exemplo de que o algoritmo Hierarchical Token Bucket 11 (HTB) é muito menos

compreensível que a ferramenta HTB-tools, nas figura 4 e 5 vê-se um exemplo de arquivo de

11 HTB Hierarchical Token Bucket é um algoritmo criado por Martin Devera que implementa controle de tráfego.

Page 11: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

11

configuração da utilizando o algoritmo HTB e um esquema de como funciona após

implantado.

Segundo Stato (2009, p. 245), o HTB foi criado por Martin Devera e incluído no

kernel a partir do 2.4.20 e implementa uma fila com suporte a várias classes para controle de

tráfego, onde são usados parâmetros como:

a) rate: largura de banda disponível para uso nessa classe;

b) ceil: largura máxima de banda que uma classe poderá consumir.

Fonte: Motta (2009)

Figura 4 – Mostra esquema de prioridade de uma ferramenta HTB

Fonte: adaptada de Stato (2009)

Figura 5 – Mostra um trecho de configuração que utiliza o algoritmo HTB

O software proposto em relação ao HTB-tools terá hierarquia de tráfego, ou seja,

quando existir largura de banda sobrando para um determinado serviço, o mesmo poderá

receber emprestado de sua classe principal quando serviços com maior prioridade não forem

Page 12: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

12

requisitados. Será determinado para cada serviço um valor mínimo e máximo. No máximo

poderá atingir o valor que sua classe principal tiver. Um serviço com menos prioridade dentro

do cenário, poderá consumir a largura de banda total predominada, mas caso algum serviço

com maior prioridade seja requisitado, o menos prioritário consequentemente terá sua taxa de

transferência diminuída, mas terá um mínimo de transferência garantida pelo valor mínimo

estabelecido. O algoritmo HTB e as ferramentas de auxílio são responsáveis por este controle

de ajustes das taxas de transmissão. Quem tiver maior prioridade sempre terá maior largura de

banda disponível e velocidade de resposta dos pacotes. Assim que um serviço com prioridade

maior parar de requisitar largura de banda, os serviços que estão sendo utilizados no link irão

aumentar suas taxas até que seja concluído ou que não seja requisitado algum outro serviço

com maior prioridade.

Para configuração do HTB-tools é necessário editar um arquivo de configuração dentro

de um diretório no Linux. Este arquivo é igual à Figura 3 e é o responsável pela configuração.

O software proposto terá uma interface Web, acessível dentro da rede de qualquer

computador que tiver um navegador instalado, ao contrário do HTB-tools que somente pode

ser configurado onde estiver instalado ou através de acesso remoto.

Page 13: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

13

3 DESENVOLVIMENTO

Neste capítulo estão descritas as particularidades técnicas do software proposto tais

como a descrição do mesmo e a apresentação dos principais requisitos funcionais e não

funcionais, diagramas de caso de uso e a sua descrição.

3.1 SOFTWARE PROPOSTO

Com o software proposto, o administrador poderá ter um controle maior do tráfego da

rede, priorizando determinado tráfego conforme demanda requerida.

Problemas de lentidão em determinados serviços poderão ser sanados através de

configurações feitas via Web para determinado serviço, alterando sua largura de banda tanto

para mais ou menos largura desejada. Caso tenha algum serviço menos prioritário poderá ser

configurado para que este seja menos importante, consuma menos banda dentre outros

serviços ou de uma hierarquia do link total que a rede possui. O administrador conseguirá

priorizar qual tipo de serviço terá maior demanda perante outros. O administrador constata

que na rede seja prioritário o serviço de VPN, mas cerca de 80% do link esteja sendo usado

para baixar emails. Este é um problema grave que não há condições de ser sanado sem um

QoS. Aumentar o link está descartado, pois só fará com que os emails sejam baixados ou

enviados mais rapidamente e o tráfego da VPN estará problemático do mesmo jeito. Então a

solução adequada para este caso é a implantação de QoS.

A implantação é feita através de ferramentas TC, IPROUTE e o próprio Iptables.

Segundo Borscheid (2005), o Iptables compõe a quarta geração de sistemas firewall no Linux,

que foi incorporada a versão 2.4 do Kernel. Ele é uma versão mais completa e tão estável

quanto seus antecessores Ipfwadm e Ipchains, implementados nos Kernels 2.0 e 2.2

respectivamente. O Iptables é amplamente utilizado devido às funções de firewalls estarem

agregadas à própria arquitetura do Kernel. O linux utiliza um recurso independente em termos

de Kernel para controlar e monitorar todo o tipo de fluxo de dados dentro de sua estrutura

operacional.

Segundo Stato (2009, p. 97), a tabela Mangle que faz parte do Iptables é usada para

marcar pacotes. No cabeçalho de cada pacote existem campos que podem ser marcados, de

Page 14: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

14

forma que poderão ser utilizados posteriormente para balanceamento de carga com algoritmo

como o HTB que já acompanham as distribuições Linux. A base do QoS será a utilização do

algoritmo HTB em conjunto com Iptables para manipular a prioridade do serviço usando o

campo Type of Service (TOS).

Segundo Stato (2009, p. 193), no Linux, o QoS é manipulado através da ferramenta

TC, que faz parte do pacote IPROUTE. Através do TC pode-se criar filas, chamadas qdisc e

suas classes, onde os dados serão classificados e encaminhados para suas respectivas filas. A

marcação do pacote pode ser feita através do próprio TC, usando-se filtros chamados filters.

Estas ferramentas auxiliarão na programação do script. O script será construído

utilizando o algoritmo HTB para que o QoS ocorra. Na Figura 5 há um trecho de código que

demonstra como é feito o script que interagirá com a interface Web proposta. A interface será

o elo de ligação entre o script e as ferramentas que determinarão o QoS. O administrador de

rede consegue adicionar, excluir e editar regras de QoS conforme desejado, através da

interface Web, aplicando as novas regras solicitadas. É o script que chamará as ferramentas e

algoritmos do Linux, aplicando as novas regras de QoS.

Obrigatoriamente todo e qualquer pacote que tiver destino a Internet, terá que passar

pelo gateway Linux conforme a topologia mostrada na Figura 1. Neste caso, se há implantado

um esquema de QoS, toda e qualquer máquina da rede que requisitar algum serviço na

Internet, terá alterações de prioridade conforme o administrador configurou para priorizar o

tráfego essencial na rede.

3.2 ESPECIFICAÇÃO

Tendo em uma visão rápida, será mostrado como funcionará o trabalho ora proposto. A

partir de uma interface Web será possível verificar e executar as configurações para controle

de banda da rede conforme demanda desejada.

O Quadro 1 apresenta os requisitos funcionais previstos para o software e sua

rastreabilidade, ou seja, vinculação com os casos de uso associados.

Requisitos Funcionais Caso de Uso

RF01: O software deve permitir ao usuário cadastrar novos equipamentos na rede. UC01

RF02: O software deve permitir ao usuário configurar largura de banda por UC02

Page 15: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

15

serviço de rede

RF03: O software deve permitir ao usuário configurar largura de banda por

equipamento

UC03

RF04: O software deve permitir ao usuário configurar prioridade de serviço UC04

RF05: O software deve permitir ao usuário visualizar prioridades aplicadas por

equipamento

UC05

RF06: O software deve permitir ao usuário visualizar prioridades aplicadas para a

rede

UC06

RF07: O software deve permitir ao usuário visualizar equipamentos ativos na rede UC07

RF08: O software deve permitir ao usuário visualizar o consumo do link UC08

RF09: O software deve permitir ao usuário visualizar largura de banda reservada

por equipamento de rede

UC09

Quadro 1: Requisitos funcionais

O Quadro 2 lista os requisitos não funcionais previstos para o software.

Requisitos Não Funcionais

RNF01: O software deverá utilizar sistema operacional Linux como gateway padrão da rede

RNF02: O software deverá utilizar versão do Apache 2.0

RNF03: O software deverá ser implementado em PHP e shell script

Quadro 2: Requisitos não funcionais

3.3 MODELAGEM

Esta seção apresenta os diagramas que serão necessários para o entendimento do

software proposto. Nela são apresentados os diagramas de caso de uso.

Page 16: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

16

3.3.1 DIAGRAMA DE CASO DE USO

É apresentado a seguir o diagrama de caso de uso preliminar do software proposto. A

figura 6 apresenta os casos de uso do software.

Figura 6 – Diagrama de casos de uso

No Apêndice A estão descritos detalhadamente cada um destes nove casos de uso do software.

Page 17: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

17

REFERÊNCIAS BIBLIOGRÁFICAS

BORSCHEID, R. Protótipo de Aplicação Web para Gerenciamento de Firewall Linux. Blumenau, 2005. Disponível em <http://www.inf.furb.br/~pericas/orientacoes/GerenciaFirewall2005.pdf >. Acesso em: 12 maio 2010.

CARVALHO, G. Qualidade de Serviços para Gateways Linux (QoS). Rio de Janeiro, 2006. Disponível em <http://www.vivaolinux.com.br/artigo/Qualidade-de-Servicos-para-Gateways-Linux-(QoS)>. Acesso em: 01 mar. 2010.

DELICOSTEA, D. Webhtb. Romênia, 2009. Disponível em < http://webhtb.nethd.ro/>. Acesso em: 02 fev. 2010.

JUCÁ, L. H. Técnicas avançadas de conectividade e firewall em GNU/linux. Rio de Janeiro: BRASPORT, 2005.

MOTTA, F. J. E. Controle de tráfego com TC, HTB e Iptables. São Paulo, 2007. Disponível em <http://eriberto.pro.br/wiki/index.php?title=Controle_de_tr%C3%A1fego_com_TC%2C_HTB_e_Iptables>. Acesso em: 01 abr. 2010.

MOSCHETO, R. Controle de banda com HTB-Tools. Rio de Janeiro, 2006. Disponível em <http://www.vivaolinux.com.br/artigo/Controle-de-banda-com-HTBTools/>. Acesso em: 10 mar. 2010.

PÉRICAS, F. A. Rede de computadores: conceitos e arquitetura internet. Blumenau: EDIFURB, 2003.

STATO, A. F. Linux controle de redes:firewall iptables, balanceamento de link, qualidade de serviços e roteamento dinâmico. Florianópolis: VISUAL BOOKS, 2009.

STACHLEWSKI, S. R. QoS Quality of Service. Natal, 2008. Disponível em: <http://www.dimap.ufrn.br/~glaucia/RAV/QoS-Artigo.pdf>. Acesso em: 01 abr. 2010.

Page 18: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

18

APÊNDICE A – Detalhamento dos casos de uso

É apresentado o detalhamento dos principais casos de uso previstos no diagrama

apresentado na seção 3.3.1.

No Quadro 3 apresenta-se o caso de uso "Cadastrar equipamentos na rede".

Nome do Caso de Uso Cadastrar equipamentos de rede

Descrição Administrador acessa a aplicação web informa numero ip do equipamento que

deseja efetuar o controle de banda.

Ator Administrador.

Pré-condição Administrador deve saber qual endereço ip deseja cadastrar.

Fluxo principal 1. O software requisita os dados para ao administrador;

2. Software valida os dados que o administrador digitou.

Cenário – Visualização Software mostra o endereço ip e dados cadastrados pelo Administrador.

Cenário – Edição 1. Software mostra endereços ips cadastrados;

2. Administrador seleciona um endereço ip para edição;

3. Administrador altera endereço ip e seleciona opção para atualizar os

parâmetros;

4. Software mostra os endereços ips cadastrados com o registro alterado.

Cenário – Inclusão 1. Software mostra endereços ips cadastrados;

2. Administrador inclui um novo registro;

3. Software mostra os endereços ips cadastrados.

Cenário – Exclusão 1. Software mostra endereços ips cadastrados;

2. Administrador seleciona um endereço ip para exclusão;

3. Software exclui o endereço ip e mostra os registros restantes.

Pós-condição O controle de banda começa a funcionar com os parâmetros fornecidos pelo

administrador.

Quadro 3 – Descrição do caso de uso UC01

Page 19: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

19

No Quadro 4 apresenta-se o caso de uso "Configurar largura de banda por serviço de rede".

Nome do Caso de Uso Configurar largura de banda por serviço de rede.

Descrição Administrador acessa a aplicação web, consulta o endereço ip já preenchido

passando os parâmetros que deseja aplicar.

Ator Administrador.

Pré-condição Administrador deve saber quais parâmetros deseja aplicar para o endereço desejado.

Fluxo principal 1. O software requisita os dados para o administrador;

2. Software valida os dados que o administrador digitou.

Cenário – Visualização Software mostra o endereço ip com as regras aplicadas.

Pós-condição Administrador visualizou o endereço ip com regras aplicadas.

Quadro 4 – Descrição do caso de uso UC02

No Quadro 5 apresenta-se o caso de uso "Configurar largura de banda por equipamento".

Nome do Caso de Uso Configurar largura de banda por equipamentos de rede.

Descrição Administrador acessa a aplicação web, consulta o endereço ip já preenchido

passando os parâmetros que deseja aplicar.

Ator Administrador.

Pré-condição Administrador deve saber quais parâmetros deseja aplicar para o endereço desejado.

Fluxo principal 1. O software requisita os dados para o usuário;

2. Software valida os dados que o usuário digitou.

Cenário – Visualização Software mostra o endereço ip com as regras aplicadas.

Pós-condição Administrador visualizou o endereço ip com regras aplicadas.

Quadro 5 – Descrição do caso de uso UC03

No Quadro 6 apresenta-se o caso de uso "Configurar prioridade de serviços da rede".

Nome do Caso de Uso Configurar prioridade de serviços da rede.

Descrição Administrador acessa a aplicação web, consulta o endereço ip já preenchido

passando os parâmetros que deseja aplicar.

Ator Administrador.

Pré-condição Administrador deve saber quais parâmetros deseja aplicar para o endereço desejado.

Fluxo principal 1. O software requisita os dados para o usuário;

2. Software valida os dados que o usuário digitou.

Cenário – Visualização Software mostra o endereço ip com as regras aplicadas.

Pós-condição Administrador visualizou o endereço ip com regras aplicadas.

Quadro 6 – Descrição do caso de uso UC04

Page 20: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

20

No Quadro 7 apresenta-se o caso de uso "Visualizar prioridades aplicadas por equipamento de

rede".

Nome do Caso de Uso Visualizar prioridades aplicadas por equipamento

Descrição Administrador acessa a aplicação web, lista por ordem de maior prioridade os

endereços ips cadastrados.

Ator Administrador.

Pré-condição Administrador deve saber quais parâmetros deseja visualizar dentre os

equipamentos.

Fluxo principal 1. O software requisita os dados para ao administrador;

2. Software valida os dados que o administrador digitou.

Cenário – Visualização Software mostra a prioridade dos endereços ips em ordem decrescente com suas

respectivas regras aplicadas.

Pós-condição Administrador visualizou os endereços ips com regras aplicadas.

Quadro 7 – Descrição do caso de uso UC05

No Quadro 8 apresenta-se o caso de uso "Visualizar prioridades aplicadas para rede".

Nome do Caso de Uso Visualizar prioridades aplicadas para rede.

Descrição Administrador visualiza regras estabelecidas para a rede caso não haja endereço ip

cadastrado no software..

Ator Administrador.

Pré-condição Administrador deve selecionar listrar regra da rede para visualizar as regras

específicas para a rede.

Pós-condição Administrador visualizou as regras aplicadas para a rede.

Quadro 8 – Descrição do caso de uso UC06

No Quadro 9 apresenta-se o caso de uso "Visualizar equipamentos ativo na rede".

Nome do Caso de Uso Visualizar equipamentos ativo na rede.

Descrição Administrador visualiza os equipamentos que estão se comunicando com o gateway

Linux no momento da requisição feita pelo administrador.

Ator Administrador.

Pré-condição Administrador deve selecionar listrar ips ativos para visualizar os ips que estão

comunicando-se com o gateway Linux.

Pós-condição Administrador visualizou as regras aplicadas para a rede.

Quadro 9 – Descrição do caso de uso UC07

Page 21: SOFTWARE DE CONTROLE DE BANDA PARA GATEWAYS LINUXcampeche.inf.furb.br/tccs/2010-II/TCC2010-2-14-PR-JaisonDallabona.pdfO crescimento em escala exponencial das redes de computadores

21

No Quadro 10 apresenta-se o caso de uso "Visualizar consumo do link".

Nome do Caso de Uso Visualizar consumo do link.

Descrição Administrador visualiza o consumo da largura de banda da rede no momento em que

requisita-lo.

Ator Administrador.

Pré-condição Administrador deve selecionar listrar mostrar consumo atual para visualizar quando

de banda está sendo consumida.

Pós-condição Administrador visualizou o consumo da rede.

Quadro 10 – Descrição do caso de uso UC08

No Quadro 11 apresenta-se o caso de uso "Visualizar consumo do link por equipamento de

rede".

Nome do Caso de Uso Visualizar consumo do link por equipamentos.

Descrição Administrador visualiza o consumo da largura de banda dos equipamentos no

momento em que requisita-lo.

Ator Administrador.

Pré-condição Administrador deve selecionar listrar consumo de largura da banda por

equipamentos.

Pós-condição Administrador visualizou o consumo da rede por equipamentos.

Quadro 11 – Descrição do caso de uso UC09