En los últimos años ha ganado relevancia, de modo creciente, una herramienta muy particular: NetFlow.
Originalmente creada para monitorear comunicaciones individuales, hoy es una herramienta utilizada para el análisis tanto de prestaciones de calidad de servicio como de seguridad.
Es por esto que consideré conveniente preguntarnos, ¿qué es NetFlow?
Si bien inicialmente estaba incorporada en la imagen de IOS solamente de algunos dispositivos, progresivamente se ha incorporado a nuevas plataformas de modo que en la actualidad, en redes que utilizan IOS XE, 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 infraestructura de la red.
- Registro estadístico de tráfico para realizar un análisis de línea base.
- Facturación de servicios de red a usuarios.
- Monitoreo y análisis del tráfico y aplicaciones que están corriendo en la red.
- Diseño general de seguridad de la red.
- Detección y prevención de ataques DoS o DDoS.
- Monitoreo de tráfico malicioso en la red.
¿Qué es un flujo? Un 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 TCP o UDP de origen.
- Puerto TCP o UDP de destino.
- Tipo de protocolo (campo del encabezado IP).
- Tipo de servicio (campo del encabezado IP).
- Interfaz lógica de ingreso.
Esta misma definición de flujo se aplica a tráfico IPv4 e IPv6.
A esta información básica se puede agregar información complementaria a partir de NetFlow versión 9. Los registros NetFlow solo contienen información estadística, no contenido de los paquetes.Estos datos se exportan como registros de NetFlow hacia un servidor que concentra esos datos y en donde se analizan.
El registro de una comunicación se genera cuando una comunicación TCP llega a su fin, o por un contador de inactividad de la comunicación, o se puede definir por configuración que periódicamente se genere el registro aún cuando la comunicación no ha terminado.
Los registros de NetFlow se transportan utilizando segmentos UDP que suelen estar dirigidos al puerto 2055 del collector, pero que también puede utilizar otros puertos.
El dispositivo que genera los registros, en general, no retiene los datos correspondientes a los registros que se envían al collector. Esto no permite realizar un seguimiento del transporte de los registros con lo que, si se produjera la pérdida de algún segmento, no se puede recuperar la información.
Por este motivo algunas implementaciones de NetFlow utilizan SCTP para asegurar el envío de los registros. Particularmente cuando se trata de NetFlow versión 8 o 9.
El inconveniente de este tipo de implementaciones es que se requiere interacción entre cada exporter y cada collector definido; esto puede tener un impacto significativo en la performance de ambos componentes.
El inconveniente de este tipo de implementaciones es que se requiere interacción entre cada exporter y cada collector definido; esto puede tener un impacto significativo en la performance de ambos componentes.
Arquitectura de NetFlow
La implementación de NetFlow supone una arquitectura específica:
La implementación de NetFlow supone una arquitectura específica:
- Exporter
Uno o varios dispositivos que tienen Netflow habilitado. - Collector
Una consola que recolecta y concentra la información. - Aplicación de análisis
Aplicación que procesa los datos generados por el exporter y concentrados en el collector para obtener información significativa.
Cisco StealthWatch es un ejemplo de este tipo de aplicaciones.
La versión implementada en los dispositivos Cisco actuales es NetFlow v9. Adicionalmente, la herramienta se abrió con múltiples RFCs de la IETF, lo que dio lugar a IPFIX:
- RFC 3954 - NetFlow versión 9.
- RFC 5101 - Especificación del protocolo de IPFIX para el intercambio de información de flujo de tráfico.
- RFC 5102 - Modelo de información para IPFIX.
- RFC 5103 - Exportación bidireccional usando IPFIX.
- RFC 5153 - Directrices para la aplicación de IPFIX.
- RFC 5470 - Arquitectura de IPFIX.
- RFC 5471 - Pautas para las pruebas de IPFIX.
- RFC 5472 - Pertinencia de IPFIX.
NetFlow es una marca registrada de Cisco.
Pero muchos otros fabricantes han desarrollado herramientas semejantes que cumplen la misma tarea:
- Argus
- Jflow o cflowd de Juniper Networks
- NetStream de 3Com/HP
- NetStream de Huawei Technologies
- Cflowd de Nokia
- Rflow de Ericsson
- AppFlow de Citrix
- sFlow implementado por varios fabricantes: Alcatel Lucent, Allied Telesis, Arista Networks, Brocade, Dell, D-Link, Enterasys, Extreme, F5, Fortinet, Hewlett-Packard, Hitachi, Huawei, IBM, Juniper, LG-Ericsson, ZTE, ZyXEL, etc.
Estás invitado a participar de nuestro grupo en Facebook:
https://www.facebook.com/groups/librosnetworking/
O si preferís redes sociales con mayor control de tu privacidad,podés participar de nuestro grupo en VKontakte
https://vk.com/libros.networking
o seguir las principales novedades en el grupo de Telegram:
https://t.me/LibrosNetworking
Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.
Hola Oscar,
ResponderBorrarEste protocolo me permite visualizar la red cableada, wifi, virtual y cloud, pero solo monitoreo?
Si se detectan problemas en la red se puede ¨ajustar¨ la configuracion para solucionarlos?
Grs.
Ciro G. Mele.
Gustavo
BorrarNetFlow es una herramieta que permite detectar y medir cada comunicación. Esa es la función de esta herramienta.
No es una herramienta de monitoreo de red (entendiendo por tal monitoreo de estado de interfaces, utilización de hardware, etc.) o de generación de alarmas, gestión de configuración y semejantes. Eso es SNMP.
Como estas Oscar,
BorrarEn la parte superior escribiste lo siguiente:
NetFlow es una herramienta de monitoreo desarrollada por Cisco.
Esta herramienta permite relevar información estadística referida al tráfico en la red cuando ingresa o sale a través de una interfaz.
¿Estoy en lo correcto?
Tengo entendido que Flexible NetFlow mejora el NetFlow original, tiene la capacidad de personalizar los parámetros de análisis de tráfico.
Saludos.
Ciro G. Mele
Ciro
BorrarNetFlow es una herramientas para monitoreo, pero de comunicaciones. No se trata de un monitoreo general de estado de la red, o de estado o estadísticas de operación de los dispositivos.
Es específicamente monitoreo de comunicaciones, o si querés decirlo de otra manera, de sesiones TCP/IP.
Por lo demás, a lo que te referís como "personalización" de parámetros es la aplicación de plantillas que se introdujo con NetFlow v9, y que también es soportado por IPFIX, ambos en uso en la actualidad.
Genial Oscar,
ResponderBorrarMuchas gracias por la aclaracion.
Slds.
Ciro G. Mele