Monitorização e controlo de tráfego num router residencial Orientador: Colaboradores: João Manuel Rodrigues <[email protected]> João Paulo Barraca (IT/GLUA) <[email protected]> Diogo Gomes (IT/GLUA) <[email protected]> 31 de Agosto de 2006 1 Enquadramento Hoje em dia muitas pessoas têm em casa um acesso de banda larga à internet, tipicamente via ADSL ou via cabo. Muitas vezes pretende-se partilhar esse acesso por vários computadores numa rede local cablada (ethernet) ou sem fios (wireless). Para possibilitar o encaminhamento, tradução de endereços (NAT) e outras funções indispensáveis a essa partilha, pode utilizar-se um router ou gateway, que é um pequeno equipamento dedicado a essa função e que se pode adquirir por algumas dezenas de euros em qualquer loja de informática. Alguns destes dispositivos correm um sistema operativo aberto (uma variante de Linux) e são bastante versáteis, suportando frequentemente funcionalidades avançadas como a partilha de impressoras ou de armazenamento na rede e até a partilha de vı́deo ou de áudio. A utilização de um sistema aberto também tem facilitado a sua modificação e extensão com novas funcionalidades que não foram previstas pelos seus fabricantes. Alguns utilizadores de routers gostariam de poder monitorizar, contabilizar e até restringir o tráfego de internet gerado por cada um dos computadores na sua rede local, por necessidade de imputação e/ou contenção dos custos do acesso. 2 Objectivos Pretende-se estender o software de um router tı́pico com módulos que possibilitem a contabilização e monitorização do tráfego de internet gerado pelos vários clientes (computadores) da rede local gerida pelo sistema. A informação recolhida deverá estar acessı́vel aos vários clientes do sistema num formato que permita processamento posterior mas também numa página HTML (legı́vel por humanos) com informação resumida, por exemplo: megabytes de downloads/uploads desde o inı́cio do mês; megabytes transferidos em perı́odos sem custos (happy hours); distinguir tráfego nacional do internacional; custo total imputado a esse cliente; etc. O administrador do router deverá poder configurar facilmente o conteúdo desta página de resumo, por exemplo: especificar o perı́odo de (happy hours); indicar a necessidade (ou não) da distinção da direcção e da origem/destino do tráfego; definir um tarifário para o cálculo de custos; etc. Também deverá ser possı́vel definir “alarmes” para informar os clientes e/ou o administrador quando forem atingidos determinados limites individuais ou globais, também configuráveis. Poderá ainda oferecer-se a possibilidade de restringir o tráfego quando forem atingidos determindados limites. Em todo o projecto deverá ser dada preferência à utilização de software e formatos abertos. Deverá ser procurado um bom compromisso entre a facilidade de utilização e a versatilidade do sistema. 3 Informações adicionais Destinatário: Aluno da LECT ou da LEET. Opções temáticas: Sistemas de Telecomunicações, Sistemas Multimédia. Meios a utilizar: Será disponibilizado um router wireless com software aberto para testar o software desenvolvido. O software será desenvolvido usando ferramentas livres num computador correndo Linux. Comentários: O projecto envolve desenvolvimento de software para um sistema embutido com software aberto. Requere-se um bom domı́nio da linguagem C e alguma familiaridade com o sistema operativo Linux. Os colaboradores deste projecto contribuirão com a sua experiência num projecto idêntico1 . 1 http://glua.ua.pt/projectos/wl500g 2