1 introdução

Propaganda
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
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
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.
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.
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 poderse 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.
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.
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
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.
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
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.
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
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.
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
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
15
serviço de rede
RF03: O software deve permitir ao usuário configurar largura de banda por
UC03
equipamento
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
UC05
equipamento
RF06: O software deve permitir ao usuário visualizar prioridades aplicadas para a
UC06
rede
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
UC09
por equipamento de rede
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.
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.
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_HT
B_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.
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
Cenário – Edição
Software mostra o endereço ip e dados cadastrados pelo Administrador.
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;
Cenário – Inclusão
Cenário – Exclusão
Pós-condição
4.
Software mostra os endereços ips cadastrados com o registro alterado.
1.
Software mostra endereços ips cadastrados;
2.
Administrador inclui um novo registro;
3.
Software mostra os endereços ips cadastrados.
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.
O controle de banda começa a funcionar com os parâmetros fornecidos pelo
administrador.
Quadro 3 – Descrição do caso de uso UC01
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
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
Cenário – Visualização
1.
O software requisita os dados para ao administrador;
2.
Software valida os dados que o administrador digitou.
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
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
Download