11 de octubre de 2014

Introducción a NetFlow

NetFlow es una aplicación diseñada por Cisco y embebida en IOS que permite relevar información estadística de tráfico en la red.
Si bien inicialmente estaba incorporada en la imagen de IOS de routers y otros equipos específicos, progresivamente se ha incorporado a nuevas plataformas de modo que en la actualidad, en redes que utilizan IOS 15.x, está disponible prácticamente en toda la infraestructura de la red corporativa.
Responde a 2 premisas básicas:
  • Es completamente transparente a las aplicaciones y dispositivos que operan en la red.
  • No es necesario que sea soportada en todos los dispositivos de la red.
Su implementación tiene múltiples aplicaciones posibles, las más frecuentes son:
  • Registro estadístico de tráfico para realizar un análisis de línea base.
  • Facturación de servicios de red a usuarios.
  • Análisis del tráfico y aplicaciones que están corriendo sobre la red con vistas al diseño o rediseño de la red.
  • Diseño general de seguridad de la red.
  • Detección y prevención de ataques DoS o DDoS.
  • Monitoreo de la red.
Con este propósito NetFlow releva estadística de comunicaciones utilizando el concepto de flujo (flow): Stream o cadena unidireccional de paquetes entre un sistema de origen y un sistema destino específicos que es identificada tomando como base de referencia 7 parámetros específicos:
  • Dirección IP origen.
  • Dirección ID destino.
  • Puerto de origen.
  • Puerto de destino.
  • Tipo de protocolo (campo del encabezado IP).
  • Tipo de servicio (campo del encabezado IP).
  • Interfaz lógica de ingreso.
Arquitectura de NetFlow
La implementación de NetFlow supone una arquitectura específica:
  • Uno o varios dispositivos que tienen Netflow habilitado.
  • Un NetFlow Collector, que es la consola que recolecta y permite concentrar la información.


Configuración de NetFlow
El procedimiento de configuración en dispositivos Cisco IOS para utilizar funciones de NetFlow requiere 2 tareas:
  • Definir el punto (interfaz) de captura de información.
  • Indicar la ubicación (dirección IP) del NetFlow Collector.
Router(config)#interface GigabitEthernet0/0
Router(config-if)#ip flow ingress
Router(config-if)#ip flow egress
Router(config-if)#exit
Router(config)#ip flow-export destination 10.1.10.100 99
Router(config)#ip flow-export version 9
Router(config)#ip flow-export source loopback 0
Router(config)#end

Comandos para verificar y acceder en IOS a la información de NetFlow

Router#show ip cache flow
Router#show ip flow interface
Router#show ip flow export

Las posibilidades y las opciones de configuración van mucho más allá del alcance de este post que es puramente introductorio. Quienes buscan mayor información o están interesados en analizar el consumo de recursos del dispositivo que tiene esta implementación sugiero que utilicen la correspondiente Configuration Guide de IOS, que pueden consultar aquí.

Bibliografía recomendada:





10 comentarios:

  1. ¿Interactúa de alguna manera con SNMP o es completamente independiente?

    ResponderEliminar
    Respuestas
    1. Es completamente independiente.
      Aunque, por supuesto, es posible utilizar SNMP para leer algunos de los resultados de la recolección de información que brinda. Pero siempre es más ajustado utilizar un NetFlow collector para analizar la totalidad de la información generada.

      Eliminar
  2. Afecta mucho el consumo de cpu del router? Teniendo en cuenta ta que también tengo activo el snmp.

    ResponderEliminar
    Respuestas
    1. Joan
      En este enlace: http://www.cisco.com/c/en/us/td/docs/ios/solutions_docs/netflow/nfwhite.html#wp1053288
      tienes la información sobre el impacto en performance de la utilización de NetFlow.

      Eliminar
  3. ESTIMADO OSCAR, ANTES QUE NADA AGRADEZCO SIEMPRE LOS TEMAS QUE PUBLICAS, SON MUY UTILES PARA MUCHOS DE NOSOTROS, POR OTRA PARTE ME GUSTARIA HACERTE UNA PREGUNTA RESPECTO A OTRO TEMA, QUE ES MEJOR CISCO PRIME O SOLARWINDS? EXISTE DOCUMENTACION ACERCA DEL TEMA? AHORA QUE ESTAMOS EN LOS TEMAS DE NETFLOW. AGRADEZCO DE ANTEMANO, SALUDOS

    ResponderEliminar
    Respuestas
    1. La utilización de una plataforma u otra depende de muchos factores: cuáles son los objetivos de la implementación, el tipo y formato de la información que se necesita, features adicionales requeridos o deseados en la implementación... No se puede decir que una u otra sea mejor en absoluto, todo dependerá de cada situación.
      Por supuesto que ambos productos tienen abundante información y documentación provista por cada uno de sus fabricantes.

      Eliminar
    2. Lo que se necesita es tener una gestión de todos los dispositivos de la red, ademas de poder ver anchos de banda, y realizar configuraciones a los mismos, ademas se pretende meter una controlador inalámbrica, y no se si prime es compatible con toda la solución, agradezco tu respuesta anterior. Saludos

      Eliminar
    3. Si lo que están necesitando es gestión, entonces deben utilizar una consola de SNMP no un collector de NetFlow. NetFlow no hace gestión.
      La elección de la consola, dependerá entonces de las prestaciones que necesiten y de la infraestructura e inventario de la red que desean gestionar.

      Eliminar
  4. Buenas,

    La verdad es que Netflow es una buena herramienta para poder ver el estado de tu red. Pero para comprobar su veracidad es necesario configurar los parametros de cadencia que afecta directamente sobre el rendimiento de la CPU del equipo.
    Hace dos años realicé mi trabajo de find e carrera (TFC) sobre ello, así que os lo adjunto por si os sirve de consulta o lecturaaddicional: http://upcommons.upc.edu/pfc/bitstream/2099.1/17295/4/memoria.pdf

    Por cierto, gran blog Oscar!!

    Salu2 a to2

    ResponderEliminar

Gracias por tu comentario.
En este blog los comentarios están moderados, por lo que su publicación está pendiente hasta la revisión del mismo.