1. Introdução
NeTraMet é um medidor para fluxo do tráfego de dados em rede, sendo a primeira implementação da medição de fluxo de tráfego em tempo real (RTFM Realtime Traffic Flow Measurement). Esta arquitetura de medição esta descrita na RFC 1272 (Base para Contabilização Internet), tendo três componentes básicos.
Um coletor pode recuperar dados de fluxo de vários medidores, e cada medidor pode ter seus dados recuperados por vários coletores. O fluxo de tráfego de interesse é definido pelo usuário, na forma de regras.
Essa versão do NeTraMet roda sobre ambientes Solaris, SunOS, Irix ou Linux, usando libpcap para observar os cabeçalhos dos pacotes Ethernet, ou um PC usando Packet Driver CRYNWYR (driver de rede). A implementação para PC pode usar a partir de um 286 com 10 Mhz e manipular 750 pacotes por segundo. Sobre uma máquina 386SX com 25 Mhz pode alcançar 1250 pacotes por segundo. Sobre um Pentium 60 Mhz com placa de rede PCI-bus o Netramet pode chegar facilmente a 6000 pacotes por segundo.
Esta distribuição também inclui o NeMaC (Netramet Manager Collector), um programa que combina o Gerente e o Coletor. Ele roda sobre ambiente operacional UNIX, e os códigos fontes estão disponíveis para ambientes Solaris, SunOS, Irix, Linux, Ultrix (DEC Unix), AIX e HPUX system.
O fluxo de tráfego é uma corrente de pacotes, trocados entre dois hosts, o origem e o destino sendo este fluxo bidirecional podendo ser medido nos dois sentidos. Os pacotes e bytes podem ser contados do ‘to’ (origem para destino) e ‘from’ (destino para origem).
A identificação de um fluxo é determinada de acordo com os atributos de endereço dos dois hosts, podendo esses atributos serem de três tipos:
Camadas TCP/IP em relação aos atributos de endereços:
Camada de Aplicação |
Camada de Transporte (transporte) |
Camada de Inter-rede (par) |
Camada de Acesso a rede (adjacente) |
Se NeTraMet for implementado em uma rede ethernet, o endereço adjacente poderá ser somente um endereço Ethernet.
Um endereço par pode ser um endereço IP, endereço DECnet IV, um número de rede Novell, endereço EtherTalk ou um CLNS NSAP, esses são os cinco protocolos atualmente suportados pelo NeTraMet.
Um endereço de transporte contém especificações detalhadas dentro do protocolo par. Para IP esses são os tipos de protocolo utilizado e o número de portas origem e destino, também detalhes similares definidos para outros tipos de protocolos.
Dentro do medidor o fluxo é implementado como uma estrutura de dados contendo os atributos do seu origem e destino, seu somatório de pacotes e bytes, a hora que foi observado pela primeira e última vez e outras informações de controle.
O medidor pode simplesmente criar fluxos para qualquer combinação possível de atributos do origem e destino que ele observa, mas isto poderá rapidamente consumir toda memória. Ao invés o medidor usa uma regra determinada para decidir qual fluxo é de interesse, e outros pacotes serão ignorados.
Cada regra testa um atributo de um fluxo, usando uma máscara para especificar quais são os bits de interesse, assim uma árvore de regras pode ser construída para classificar os pacotes em fluxos, cada pacote pode então ser adicionado no seu fluxo apropriado. Se essa for toda a informação que a regra especifica, não há necessidade de mais informação sobre o fluxo ser armazenado no servidor.
Se mais detalhes são requeridos, as regras podem instruir o medidor para calcular o pacote, isto é, criar muitos sub-fluxos ao invés de somente um. Por exemplo, ele pode determinar que um pacote venha de um endereço IP origem classe B, então calcula-lo em fluxos para cada uma das rede de sub-rede classe C. Calculando desta maneira estará implementando o uso de regras para extrair informações do pacote usando mascaras, exemplos de regras que façam isto serão descritos mais adiante.
NeTraMet pode também contar pacotes e bytes de protocolos que não entende, tais pacotes são efetivamente agregados juntamente em um fluxo simples, e serão classificados como others no tipo par.
O grupo de contabilização Internet produziu um rascunho (Internet Draft) descrevendo uma proposta de base de informação de gerenciamento MIB para medição do fluxo de tráfego, no qual é usado o número Experimental.99. Hoje já tem um número próprio definido pela IANA, conhecido por MIB-2 40.
Este rascunho foi severamente discutido nas reuniões do IETF e informalmente em listas de discussões até que o grupo de trabalho encerrou suas atividades em março de 1993. A copia da versão corrente a qual o NeTraMet implementa, esta incluída nesta distribuição. Ela define todas as variáveis da MIB mencionadas nesta documentação.
O RTFM (Real Traffic Flow Working Group) produziu um novo rascunho Internet, descrevendo uma versão melhorada da MIB de medição do fluxo de tráfego. Esta será implementada na nova versão do NeTraMet prevista para maio de 1997.
Márcia G. Baltar |