Quelle est la différence entre netFlow et sFlow?

22

En quoi sFlow est-il différent de netFlow et comment chacun est-il pris en charge par différents fournisseurs?

Benjamin A.
la source

Réponses:

22

NetFlow est un protocole d'exportation des totaux de flux IP agrégés. En tant que tel, il est bien adapté à la comptabilité du trafic IP sur les routeurs Internet. Avec Netflow V9 (AKA IPFIX, il peut également examiner le trafic de couche 2)

sFlow est une technologie de système de mesure du trafic réseau à usage général. sFlow est conçu pour être intégré à n'importe quel périphérique réseau et fournir des statistiques continues sur tous les protocoles (L2, L3, L4 et jusqu'à L7), afin que tout le trafic à travers un réseau puisse être caractérisé et surveillé avec précision. Ces statistiques sont essentielles pour le contrôle de la congestion, le dépannage, la surveillance de la sécurité, la planification du réseau, etc. Elles peuvent également être utilisées à des fins de comptabilité IP.

Netflow reflète tout le trafic et charge le processeur lorsqu'il est utilisé.

SFlow est une technologie d'échantillonnage de paquets où le commutateur capture chaque 100e paquet (configurable) par interface et l'envoie au collecteur. sFlow est intégré à l'ASIC et place une charge minimale sur le CPU.

Netflow pris en charge par Cisco, Juniper, Alcatel Lucent, Huawei, Enterasys, Nortel, VMWare

sFlow pris en charge par 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 et ZyXEL ( voir lien sFlow )

Jez
la source
1
Le concept d'échantillonnage s'applique à netflow / ipfix comme il le fait avec sflow
Brad Hein
Échantillonnage mis à part, comment deux paquets provenant du même trafic différeraient-ils sur Netflow et sFlow? Peut-être les comparer avec un paquet brut de disons, tcpdump? La différence n'est toujours pas claire pour moi.
Nagev
7

La seule différence étant que "NetFlow est propriétaire de Cisco, sFlow ne l'est pas" n'est pas exactement correct.

NetFlow a initialement commencé comme propriétaire de Cisco, mais a en quelque sorte suivi la même voie que GRE ou EIGRP. Depuis NetFlow v5, il a été implémenté et pris en charge sur le matériel d'autres fournisseurs.

La principale différence entre NetFlow et sFlow est que NetFlow est limité à IP uniquement, tandis que sFlow a la possibilité d'échantillonner tout (indépendant de la couche réseau).

EDIT: Ce qui précède semble ne plus être correct (au moins à partir de la norme IPFIX). J'ai trouvé le billet de blog suivant (avertissement: semble être une URL spécifique "sflow", alors prenez-le avec un grain de sel si vous le souhaitez) fait un très bon travail en décrivant les différences entre les spécifications IPFIX et sFlow

John Jensen
la source
4
NetFlow v9 et v10 (IPFIX) envoient périodiquement un message de modèle qui indique comment lire les exemples, ce modèle est très flexible et peut être étendu arbitrairement. iana.org/assignments/ipfix/ipfix.xml montre ce que la norme prend en charge aujourd'hui, et les types ethertype, dmac, smac, etc. sont déjà là. sFlow otoh est statique, si sFlow5 ne prend pas en charge ce que vous voulez faire, vous avez besoin d'un tout nouveau protocole sFlow, tandis que dans IPFIX vous n'avez pas du tout besoin de changer le protocole.
ytti
Très intéressant! Merci pour le lien. Montre combien j'ai suivi NetFlow. :-) Je me demande ce que sFlow a fait descendre le brochet. Il semblerait que les "fans de sFlow" diraient simplement "n'importe quoi sur Ethernet" comme contre-argument pour devoir définir de nouveaux champs IPFIX. Il existe également les nombreux algorithmes d'échantillonnage que NetFlow / IPFIX utilise par rapport à celui de sFlow.
John Jensen
1
En tant que FYI, L2 netflow est disponible sur un certain nombre de plates-formes Cisco avec l'utilisation de la v9 ou, plus récemment, d'IPFIX.
rnxrx
Merci mais cela a déjà été souligné dans les commentaires ci-dessus. :-)
John Jensen
1
Un fournisseur indépendant ayant une connaissance approfondie du sujet dit ceci: plixer.com/blog/netflow/… . Vous devez également déterminer si une plate-forme donnée exécute NetFlow / sFlow en matériel ou en logiciel.
generalnetworkerror
2

Les appareils Cisco essaient d'agréger les flux (vous pouvez les considérer comme des conversations), puis d'exporter des informations à leur sujet vers un collecteur. Cela nécessite de la mémoire pour les mettre en cache.

sFlow a deux composants principaux: l'un où il exportera périodiquement des statistiques telles que les compteurs d'interface et l'utilisation du processeur vers un collecteur, et l'autre où il capturera aléatoirement 1 en N (configurable, généralement 512 jusqu'à 32768) trames qui passent par un routeur, et exporter les 256 premiers octets. Vous pouvez ensuite effectuer une analyse statistique du trafic circulant sur votre réseau.

Les échantillons de paquets sFlow sont améliorés avec des informations de la table de routage telles que les chemins AS. Il est également agnostique v4 et v6, contrairement à NetFlow, ce qui vous oblige à un compromis inconfortable selon le type de données que vous souhaitez recevoir.

NetFlow souffre de remonter à une époque où le routage basé sur les flux n'était pas encore considéré comme une blague; sFlow souffre de ne pas être un format TLV, donc l'implémentation portable d'extensions de fournisseurs est presque impossible.

Niels
la source
Quelques commentaires trompeurs ici ... NetFlow utilise le cache, et il peut être agrégé / non agrégé, échantillonné ou non - ce sont les caractéristiques des données que vous collectez et c'est à vous de le définir. Les données NetFlow peuvent également contenir des données "telles comme AS chemins "et ce n'est pas un différenciateur sFlow et cela ne l'a jamais été. NetFlow n'a été prototypé que comme des solutions de commutation de flux, il a été presque immédiatement basculé vers un mécanisme de collecte d'informations. En termes de différences réelles, il y a une grande différence d'échantillonnage: dans l'échantillonnage sFlow, fait par paquet, pas par flux, vous perdez immédiatement la précision. Regardez dans les archives cisco-nsp @.
Łukasz Bromirski
0

Netflow est un protocole propriétaire de Cisco et, en tant que tel, n'est pris en charge par rien d'autre que les appareils Cisco.

sFlow est une norme IETF pour faire à peu près la même chose mais dans une norme qui n'appartient pas à un fabricant particulier.

David Rothera
la source
2
AFAIK sFlow n'est plus l'IETF mais le produit du «consortium sFlow». IPFIX est la norme IETF netflow v9 (numéro de version remplacé par v10 et modifications mineures). Je suppose que la différence majeure est que sflow exporte un seul paquet (avec une méthodologie d'échantillonnage bien définie) et vous ferez l'extrapolation, tandis qu'IPFIX / netflow peut faire beaucoup d'autres choses, y compris cela, mais peut également agréger des données pour vous. Je dirais que netflow / IPFIX est beaucoup plus flexible, ce qui signifie également que vous pouvez implémenter netflow / IPFIX dans votre équipement d'une manière qui le rendrait inutile, tandis que sflow est assez strict dans la façon dont il doit être implémenté.
ytti