¿Cuál es la diferencia entre netFlow y sFlow?

22

¿En qué se diferencia sFlow de netFlow y cómo cada uno de ellos es respaldado por diferentes proveedores?

Benjamin A.
fuente

Respuestas:

22

NetFlow es un protocolo para exportar totales de flujo de IP agregados. Como tal, se adapta bien a la contabilidad del tráfico IP en los enrutadores de Internet. Con Netflow V9 (también conocido como IPFIX, también puede analizar el tráfico de capa 2)

sFlow es una tecnología de sistema de medición de tráfico de red de uso general. sFlow está diseñado para integrarse en cualquier dispositivo de red y proporcionar estadísticas continuas sobre cualquier protocolo (L2, L3, L4 y hasta L7), de modo que todo el tráfico a través de una red se pueda caracterizar y monitorear con precisión. Estas estadísticas son esenciales para el control de la congestión, la resolución de problemas, la vigilancia de seguridad, la planificación de la red, etc. También se pueden usar para fines de contabilidad de IP.

Netflow refleja todo el tráfico y coloca una carga en la CPU cuando se utiliza.

SFlow es una tecnología de muestreo de paquetes donde el conmutador captura cada paquete número 100 (configurable) por interfaz y lo envía al recolector. sFlow está integrado en el ASIC y coloca una carga mínima en la CPU.

Netflow compatible con Cisco, Juniper, Alcatel Lucent, Huawei, Enterasys, Nortel, VMWare

sFlow compatible con Alaxala, Alcatel Lucent, Allied Telesis, Arista Networks, Brocade, Cisco, Dell, D-Link, Enterasys, Extreme, Fortinet, Hewlett-Packard, Hitachi, Huawei, IBM, Juniper, LG-Ericsson, Mellanox, MRV, NEC, Netgear, Proxim Wireless, Quanta Computer, Vyatta, ZTE y ZyXEL ( ver enlace sFlow )

Jez
fuente
1
El concepto de muestreo se aplica a netflow / ipfix tal como lo hace con sflow
Brad Hein
Dejando a un lado el muestreo, ¿cómo diferirían dos paquetes del mismo tráfico en Netflow y sFlow? ¿Quizás compararlos con un paquete sin procesar de, por ejemplo, tcpdump? La diferencia todavía no es clara para mí.
Nagev
7

La única diferencia es que "NetFlow es propiedad de Cisco, sFlow no lo es" no es exactamente correcto.

NetFlow originalmente comenzó como propiedad de Cisco, pero fue de la misma manera que GRE o EIGRP. Desde NetFlow v5 se ha implementado y soportado en el hardware de otros proveedores.

La principal diferencia entre NetFlow y sFlow es que NetFlow está restringido solo a IP, mientras que sFlow tiene la capacidad de muestrear todo (capa de red independiente).

EDITAR: lo anterior parece ya no ser correcto (al menos a partir del estándar IPFIX). He encontrado la siguiente publicación de blog (advertencia: parece ser una URL específica de "flujo", así que tómalo con sal si lo deseas) hace un buen trabajo al describir las diferencias entre la especificación IPFIX y sFlow

John Jensen
fuente
44
NetFlow v9 y v10 (IPFIX) envían periódicamente un mensaje de plantilla que indica cómo leer las muestras, esta plantilla es muy flexible y se puede ampliar de forma arbitraria. iana.org/assignments/ipfix/ipfix.xml muestra qué estándar soporta hoy, y ethertype, dmac, smac, etc. ya existen. sFlow otoh es estático, si sFlow5 no admite lo que desea hacer, necesita un protocolo sFlow completamente nuevo, mientras que en IPFIX no necesita cambiar el protocolo en absoluto.
ytti
¡Muy interesante! Gracias por el enlace. Muestra cuánto me he mantenido al día con NetFlow. :-) Me pregunto qué sFlow ha venido por la pica. Parecería que "los fanáticos de sFlow" simplemente dirían "cualquier cosa a través de Ethernet" como contraargumento para tener que definir nuevos campos IPFIX. También existen los numerosos algoritmos de muestreo que NetFlow / IPFIX usa frente a uno solo de sFlow.
John Jensen
1
Como FYI, el flujo de red L2 está disponible en varias plataformas de Cisco con el uso de v9 o, más recientemente, IPFIX.
rnxrx
Gracias, pero esto ya se señaló en los comentarios anteriores. :-)
John Jensen
1
Un proveedor independiente con un profundo conocimiento sobre el tema dice esto: plixer.com/blog/netflow/… . También debe considerar si una plataforma determinada ejecuta NetFlow / sFlow en hardware o software.
generalnetworkerror
2

Los dispositivos Cisco intentan agregar flujos (puede considerarlos como conversaciones) y luego exportar información sobre ellos a un recopilador. Esto requiere memoria para almacenarlos en caché.

sFlow tiene dos componentes principales: uno donde exportará periódicamente estadísticas como contadores de interfaz y uso de CPU a un colector, y otro donde capturará aleatoriamente tramas de 1 en N (configurables, generalmente de 512 a 32768) que pasan a través de un enrutador, y exportar los primeros 256 bytes. Luego puede realizar análisis estadísticos sobre el tráfico que fluye a través de su red.

Las muestras de paquetes sFlow se mejoran con información de la tabla de enrutamiento, como las rutas AS. También es independiente de v4 y v6, a diferencia de NetFlow, lo que lo obliga a un compromiso incómodo dependiendo del tipo de datos que desea recibir.

NetFlow se remonta a una época en la que el enrutamiento basado en el flujo aún no se consideraba una broma; sFlow sufre por no ser un formato TLV, por lo que implementar extensiones de proveedores de forma portátil es casi imposible.

Niels
fuente
Algunos comentarios engañosos aquí ... NetFlow usa caché, y puede agregarse / no agregarse, muestrearse o no; esas son características de los datos que está recopilando y depende de usted definirlos. Los datos de NetFlow también pueden contener datos "como como rutas AS "y no es un diferenciador de sFlow y nunca lo fue. NetFlow solo se prototipó como soluciones de cambio de flujo, se cambió casi de inmediato a un mecanismo de recopilación de información. En términos de diferencias reales, hay una gran diferencia en el muestreo: en el muestreo sFlow está hecho por paquete, no por flujo, pierde precisión inmediatamente. Busque en los archivos cisco-nsp @.
Łukasz Bromirski
0

Netflow es un protocolo propiedad de Cisco y, como tal, no es compatible con nada que no sean dispositivos Cisco.

sFlow es un estándar IETF para hacer más o menos lo mismo pero en un estándar que no es propiedad de un fabricante en particular.

David Rothera
fuente
2
AFAIK sFlow ya no es IETF sino el producto 'sFlow consortium'. IPFIX es IETF netflow estándar v9 (número de versión incluido en v10 y cambios menores). Supongo que la principal diferencia es que sflow exporta un solo paquete (con una metodología de muestreo bien definida) y usted hará la extrapolación, mientras que IPFIX / netflow puede hacer muchas otras cosas, incluyendo eso, pero también puede agregar datos por usted. Yo diría que netflow / IPFIX es mucho más flexible, lo que también significa que podría implementar netflow / IPFIX en su equipo de una manera que lo haría inútil, mientras que sflow es bastante estricto en cuanto a cómo debe implementarse.
ytti