sexta-feira, 9 de agosto de 2013

Cisco NetFlow na Classificação do Tráfego em Fluxo

Olá Pessoal.

O NetFlow é uma poderosa ferramenta de monitoramento do fluxo de tráfego que está embutida no sistema Cisco IOS. Essa ferramenta não só monitora o tráfego de pacotes nas interfaces dos dispositivos da infraestrutura de redes, como também faz o agrupamento deles em fluxo (por conexão), o que permite caracterizar o perfil de operação da rede.

Em tempos modernos, é ainda mais importante que os profissionais reponsáveis pela administração da infraestrutura de redes compreendam o comportamento das aplicações que estão em execução no ambiente e de que forma esses fluxos implicam na operação da rede. Dentre os principais benefícios do NetFlow podemos destacar:

  • Caracterização das aplicações na rede;
  • Mensuração de uso dos recursos da rede;
  • Identificação do impacto de mudanças na rede;
  • Identificação de anomalias;
  • Identificação de momentos de instabilidade;
  • Minimização de vulnerabilidades.

O NetFlow realiza a coleta de estatísticas sobre o tráfego que atravessa um determinado dispositivo nas interfaces habilitadas com esse recurso (vide figura). Essa ferramenta é totalmente transparente para os dispositivos e aplicações da rede, não requerendo nenhuma intervenção de configuração entre os vários elementos monitorados - a não ser habilitá-lo na interface monitorada.

É com base nas informações dos cabeçalhos dos pacotes que é possível agrupá-los em fluxos comuns, o que permite responder vários aspectos do tráfego: (i) quem, (ii) o que, (iii) quando, (iv) onde e (v) como. Os parâmetros que definem o que é um fluxo padrão são:  

  • Endereços IP de Origem/Destino
  • Portas de Origem/Destino
  • Tipo de Protocolo
  • Interface
  • Classe de Serviço (Prioridade)

Os fluxos identificados são condensados e armazenados em uma tabela denominada NetFlow Cache. Essas informações organizadas viabilizam a caracterização do tráfego e permite a compreensão do comportamento real das redes. É fato que a melhor utilização dos recursos da infraestrutura também implica em economia no custo operacional (OPEX).


Fonte: Cisco (www.cisco.com)

Ativar o NetFlow na interface de um roteador é bem simples, basta apenas entrar com o comando "ip flow ingress" na interface a ser monitorada. Nas versões mais antigas do IOS esse procedimento era realizado através do comando "ip route-cache flow". Feito isso, todo pacote coletado nessa interface terá seu cabeçalho analisado para agrupar o tráfego em fluxos por aplicação. Como exemplo utilizaremos o cenário abaixo para monitorar o tráfego de entrada (ingress) na interface g0/0 de R1. O único tráfego gerado no cenário serão sucessivos pings entre os roteadores, dessa forma será possível identificar os fluxos ICMP.



Router(config)# int g0/0
Router(config-if)# ip flow ingress
Router(config-if)# end 
Router# show ip cache flow
IP packet size distribution (127 total packets):
   1-32   64   96  128  160  192  224  256  288  320  352  384  416  448  480
   .000 .000 .000 1.00 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000

    512  544  576 1024 1536 2048 2560 3072 3584 4096 4608
   .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000


IP Flow Switching Cache, 4456704 bytes
  3 active, 65533 inactive, 3 added
  34 ager polls, 0 flow alloc failures
  Active flows timeout in 30 minutes
  Inactive flows timeout in 15 seconds
IP Sub Flow Cache, 533256 bytes
  0 active, 16384 inactive, 0 added, 0 added to flow
  0 alloc failures, 0 force free
  1 chunk, 1 chunk added
  last clearing of statistics never
 

Protocol         Total    Flows   Packets Bytes  Packets Active(Sec) Idle(Sec)
--------         Flows     /Sec     /Flow  /Pkt     /Sec     /Flow     /Flow 

ICMP                 3      0.0        42   100      0.0       2.2      15.5 
Total:               3      0.0        42   100      0.0       2.2      15.5


SrcIf         SrcIPaddress    DstIf         DstIPaddress    Pr SrcP DstP  Pkts 
Gi0/0         192.168.0.2     Local         192.168.0.1     01 0000 0000     5
Gi0/0         192.168.0.3     Local         192.168.0.1     01 0000 0000     5
Gi0/0         192.168.0.4     Local         192.168.0.1     01 0000 0000     5 


Em ambientes reais as estatísticas coletadas pelo NetFlow são comumente direcionadas para um elemento externo denominado Coletor de Fluxo, o que poderia ser feito através do comando "ip flow-export destination {ip_address} {port_number}". Esse elemento externo é uma "máquina" que executa uma aplicação de gerência responsável manter o registro do histórico de monitoramento.

Observe na saída do comando de exibição que os fluxos ativos são destacados por conexão individual, sendo que os demais fluxos, cujas conexões foram encerradas, são agrupados por protocolo (aplicação). Através de configurações mais avançadas o administrador pode personalizar os parâmetros que definem um determinado fluxo. Os interessados em obter mais detalhes técnicos com configurações mais avançadas em switches e roteadores da Cisco (versões 12.4 e 15.1 do IOS) podem acessar os links abaixo:

Abraço.

Samuel.

3 comentários:

  1. Como diz um amigo: "isso salva vidas". Parabéns pelo post.

    ResponderExcluir
  2. Parabéns amigo pelo post, tava preocupado de não entender e lendo aqui consegui resolver 90% das minhas dúvidas.
    Valew

    ResponderExcluir
  3. Caro professor Samuel!

    Parabens pelo excelentissimo post.

    Nao obstante ja teres Postado em 2013, a informaçao continua actualizada. e fiquei a compreender melhor a funcionalidade do NetFlow no IOS Cisco...

    Este senario e bem parecido com um outro que eu agradeceria o seu esclarecimento.

    Com o NetFlow, Como e que eu posso Saber, quais os Sites mais acedidos pelos usuarios da minha rede? Por exemplo saber se eles vao mais no Facebook, Youtube, Twiter or outros...

    Na verdade quero ver onde e que os meus utilizadores mais acedem...e depois como restringir estes mesmos sites!

    Na minha rede eu tenho um Router 2801 ligado ao meu Provedor e depois vem um cisco Asa que por sua vez passa a ligaçao a minha rede interna.

    Ajuda me por favor como configurar o NetFlow e, com qual colector posso utilizar para colheta dos pacotes que nao seja o netflow analyzer... se possivel um Free, mas desde que funcione com switches cisco.

    Muito Obrigado mesmo.

    ResponderExcluir