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