Em 1996 a Cisco criou o NetFlow. Um método onde as decisões de roteamento eram baseadas em flows, ou seja, o roteador não precisaria consultar sua tabela de roteamento para realizar um encaminhamento de todos os pacotes. Com isso, pacotes pertencentes ao mesmo fluxo eram encaminhados para uma mesma rota. Dessa forma, o objetivo principal era acelerar os lookups nas tabelas de roteamento.  

Um fluxo ou flow é um conjunto de pacotes que possuem os mesmos valores nos campos-chave de identificação, podemos citar como um exemplo os campos: IP de origem e destino, Porta de origem e destino, protocolo IP, ToS e Interface de entrada (ifindex). Esses campos podem variar conforme os protocolos de fluxo e versões utilizadas.  

Posteriormente, o valor da informação de um fluxo foi reconhecido, passou a ser mais acessível para gestores da rede e o protocolo foi chamado de NetFlow. Ao longo da sua história, foi percebida outra vantagem do uso do NetFlow: além de tornar o roteamento mais rápido, o protocolo armazena dados de tráfego da rede, com isso, possibilitando o monitoramento estratificado do tráfego da rede. Outra observação importante é que colocar um medidor passivo em cada enlace da rede era inviável, foi então definido que os medidores passivos seriam as bordas da rede que exportam os fluxos.  

Para um monitoramento quantitativo da rede, o NetFlow é fundamental para uma análise detalhada de tráfego. Ter visibilidade de onde o seu tráfego está vindo, para onde está indo, o seu conteúdo e diversos outros itens são fundamentais para a observabilidade do comportamento da rede na totalidade.  

Arquitetura funcional dos fluxos  

A arquitetura genérica de funcionamento de fluxos pode ser entendida por três componentes principais: Sensores, coletores e sistemas de relatórios 

Um sensor, também conhecido como probe, é um dispositivo configurado para “ouvir” a rede e capturar os dados de tráfego. Ele pode ser um switch, um roteador, ou um firewall configurado para exportar fluxo. O sensor acompanha as conexões da rede e depois que é identificado um determinado tempo de inatividade (Inactive Timeout) ou que a conexão atinge um tempo limite (Active timeout), os dados são transmitidos pela rede.  

Um coletor, é um software que recebe os dados exportados pelos sensores e escreve-os em disco. Ele é um componente crítico no gerenciamento da infraestrutura de redes, e além deste fato, não existe um coletor universal, ou seja, não existe uma padronização.  

Um sistema de relatórios, lê os arquivos gravados pelos coletores e gera relatórios, gráficos, alarmes e afins.  

Versões do NetFlow e IPFIX  

NetFlow versão 1  

O NetFlow sofreu diversas revisões e atualizações ao longo da história, a versão 1 é a mais antiga desenvolvida pela Cisco. Atualmente, está obsoleta, porém alguns fornecedores ainda oferecem suporte a esta versão, a mesma oferece o mínimo de informação possível em um flow record, é limitada ao IPV4 e não possui campos como o de ASN e máscaras de subrede por exemplo.  

NetFlow versão 5 

O flow record do NetFlow v5 é o mais antigo com ampla implementação no mercado e ainda hoje é bem utilizado. Essa versão inclui 7 campos-chave: IP de origem, IP de destino, porta de origem (Somente TCP e UDP), porta de destino, Protocolo IP (next-header) , interface de entrada e o Tipo de serviço (ToS). Também inclui informações de BGP, o IP do Flow exporter (IP da interface que foi configurada para enviar o cache flow) e algumas outras características do tráfego. Com o passar dos anos houve a necessidade de obter mais informações no flow record, como IPV6, por exemplo, no entanto, o Netflow v5 pode atender a necessidade de vários ambientes de rede.  

NetFlow versão 9  

Esta é a versão atual, a mais completa. Ela é baseada em template e é extensível (flexible). Essa flexibilidade se refere ao fato de que informações de outros fabricantes podem ser adicionadas arbitrariamente ao flow record do NetFlow v9, templates providenciam flexibilidade ao flow record. Esta é a primeira versão que tem suporte ao IPV6.  

Vale destacar alguns benefícios oferecidos por esta versão:  

  • É fornecido suporte para que independentemente da empresa desenvolvedora de um coletor NetFlow, a mesma não precise reinventar (recompilar) seu software sempre que um novo recurso do NetFlow for implementado.  
  • Novos recursos podem ser adicionados de forma muito mais rápida. Dessa forma, sem obstruir as implementações atuais e com compatibilidade a implementações anteriores.  
  • NetFlow versão 9 é o mecanismo utilizado como referência pelo IETF para exportação de informações, ou seja, o IPFIX (v10) foi criado com base no Netflow v9.

O IPFIX e outros protocolos de exportação de fluxo  

Conforme a evolução das versões do NetFlow implementadas no mercado pela Cisco, outras empresas perceberam o benefício dos dados exportados por fluxos. A implementação do NetFlow do mercado foi uma customização da própria Cisco, o que inicialmente não era uma necessidade do mercado de redes de computadores. Entretanto, com o potencial de análise que o NetFlow proporcionava e com suas versões de implementação no mercado, outros fabricantes desenvolveram soluções similares baseadas em flow segundo as suas necessidades de customização. Houve então a criação de outros protocolos de exportação de fluxos similares ao NetFlow como o sFlow da HP, o Netstream da Huawei, o jFlow da Juniper dentre outros.  

Conforme o número de competidores foi crescendo, a comunidade de rede verificou vantagens com relação a implementação e introdução no mercado de um protocolo de exportação de fluxo padrão, surge então o IPFIX.  

No início dos anos 2000, o IETF (Internet Engineering Task Force) criou um grupo de trabalho para determinar os padrões de formato dos fluxos. Esse grupo escolheu usar como base o NetFlow v9 realizando poucas modificações, a Cisco ainda estava envolvida de certa forma no projeto, só que como membro em vez de instituição controladora.  A versão mais recente do padrão de fluxo de rede é chamada de IP Flow Information eXport (IPFIX), atualmente muitas empresas adotam o IPFIX como protocolo de exportação de fluxos.

Alguns benefícios proporcionados pelo NetFlow  

Para um monitoramento quantitativo da rede, o NetFlow é fundamental para uma análise estratificadade tráfego. Foram separados alguns benefícios importantes proporcionados com o NetFlow e as suas respectivas justificativas de implantação.  

Figura 1: Ilustração que demonstra os tráfegos de requisições SNMP e dos fluxos como NetFlow, JFlow, SFlow e Netstream.
Figura 1: Ilustração que demonstra os tráfegos de requisições SNMP e dos fluxos como NetFlow

Monitoramento do Tráfego de aplicações  

Normalmente, portas de origem e destino são campos-chave em um fluxo, com essa identificação de porta é possível fazer a tradução para aplicação e com isso, identificar o tráfego de cada aplicação dentro de uma rede. Essa visibilidade é extremamente relevante para justificativas de implementação e também de custos.  

Além disso, pensando em um olhar mais técnico, a possibilidade de identificação de tráfego por aplicação eleva muito a capacidade de trobleshooting da equipe técnica. Por exemplo, se a rede “está lenta” devido a alguma aplicação não homologada, o NetFlow vai proporcionar a visibilidade de qual comunicação (fluxo/fluxos) está gerando esse tráfego e no flow, identificar as portas e consequentemente correlacionar com a aplicação. A partir disso, a equipe de TI pode realizar o bloqueio dessas portas de comunicação, criando uma ACL por exemplo.  

Validação de Políticas de QoS  

O Type of Service (ToS) é um dos campos que é normalmente utilizado como chave. Diante desse cenário, é possível classificar os tráfegos de cada marcação e inspecionar se o conteúdo do tráfego de alguma marcação em específico corresponde com as políticas de QoS que foram estabelecidas.  

Planejamento de capacidade  

O planejamento de Capacidade é uma organização sistemática que visa tratar de um equilíbrio do uso dos recursos da rede. Principalmente, para que os mesmos não estejam sendo subutilizados, ou que a demanda gerada pelo uso desses recursos esteja próxima da capacidade da infraestrutura da rede, além disso, equilibrar estes aspectos as finanças do negócio também faz parte do escopo desse plano.   

Nesse sentido, para haver sucesso em todo esse processo, é necessário um entendimento completo da capacidade atual do parque tecnológico, para então, após esta análise, buscar através da análise preditiva, entender quais serão os requisitos essenciais de capacidade para a demanda futura.  

Com as informações de tráfego coletadas pela exportação de fluxos, é possível identificar o tráfego de cada um dos fluxos, comparar com a banda dos links existentes, verificar tráfegos de sub-redes por conta dos ranges de IP dentre vários outros itens na rede.  

A informação de IP de origem e destino no Flow é muito valiosa para realização de uma análise forense na rede. Com isso, identificar IPs ofensores da rede e endereços suspeitos. Além disso, se a rede for segmentada, é possível realizar a identificação através dos ranges de IP, e assim monitorar tráfego de localidades de redes, departamentos dentre outras informações.  

Esse planejamento está unido com as políticas de governança corporativa da empresa. Nesse sentido a TI se torna uma aliada fundamental nas decisões de negócio da mesma.  

Engenharia de tráfego  

No mundo dos provedores de acesso a internet (ISP) é muito importante verificar tráfego por ASN, tráfego destinados para um peering BGP, tráfego destinado para links de trânsito, tráfegos destinados para CDNs, tráfego destinados para seus pontos de troca de tráfego (PTT) e afins.   

O NetFlow proporciona esta visibilidade, inclusive, um dos principais objetivos de um provedor que está iniciando um negócio e crescendo a quantidade de seus clientes é a aquisição de CDN, entretanto para essa aquisição é importante justificar tráfego e o NetFlow pode possibilitar diversos tipos de análise de tráfego para essa comprovação, além de alguns outros requisitos que precisam ser atendidos.  

Considerações finais  

Portanto, é inegável a importância de uma ferramenta robusta e flexível de análise de tráfego baseada em exportação de fluxos IP. Nesse sentido, a Telcomanager desenvolveu o TRAFip, uma ferramenta poderosa e robusta de análise de tráfego que atua nos mais diversos categorias de rede diferentes e ajudando milhares de gestores de TI nos pontos citados neste artigo e em muitos outros.  

Pensando nisso, a Telcomanager, líder da América Latina no setor de software para gerência de redes, desde 2002 no mercado com uma metodologia única e inovadora, disponibiliza soluções inteligentes para o monitoramento de dados de modo a prover visibilidade completa à infraestrutura do cliente, permitindo que sua empresa acompanhe os principais aspectos de sua rede.   

Publicado em 08/07/2022