NetFlow est un protocole permettant de collecter, d'agréger et d'enregistrer les données relatives au flux de trafic dans un réseau. Les données NetFlow fournissent une vue plus granulaire de la manière dont la bande passante et le trafic réseau sont utilisés que d'autres solutions de supervision, telles que SNMP.
NetFlow a été développé par Cisco et est intégré au logiciel IOS de Cisco sur les routeurs et les commutateurs de l'entreprise. Il est pris en charge par presque tous les appareils Cisco depuis la version 11.1 du logiciel IOS de Cisco. De nombreux autres fabricants de matériel prennent en charge NetFlow ou utilisent d'autres technologies de flux, telles que jFlow ou sFlow.
Il existe techniquement dix versions différentes de NetFlow. Cependant, plusieurs versions n'ont été publiées qu'en interne ou n'ont jamais été largement mises en œuvre au-delà d'un matériel spécifique.
La version 1 de NetFlow est considérée comme obsolète et rarement utilisée aujourd'hui. Les versions 2 à 4 étaient des versions internes, aucune implémentation publique n'a jamais été publiée.
La version 5 est encore couramment utilisée aujourd'hui, en raison d'une large base d'installation de routeurs et de commutateurs Cisco mis en service alors qu'il s'agissait de la version standard. IT a ajouté les informations du Border Gateway Protocol et les numéros de séquence des flux aux exportations NetFlow. Elle ne fonctionne qu'avec les flux IPv4.
La version 6 n'est plus prise en charge et n'a pas été diffusée à grande échelle. La version 7 a ajouté la prise en charge des commutateurs Cisco Catalyst utilisant le mode hybride ou natif. La version 8 prend en charge l'agrégation NetFlow basée sur un routeur.
La version 9 est la version actuelle et est basée sur un modèle. En tant que telle, elle permet d'étendre la prise en charge sans nécessiter de modification du format d'enregistrement des flux. Cette version est privilégiée par le groupe de travail de l'IETF sur l'exportation d'informations IP (IPFIX) et le groupe de travail de l'IETF sur l'échantillonnage de paquets (PSAMP) et fonctionne avec les protocoles IPv4 et IPv6.
IPFIX est souvent appelé NetFlow v10 parce qu'il est basé sur NetFlow v9, mais en réalité il ne s'agit pas de NetFlow.
Presque tous les appareils Cisco prennent en charge NetFlow. Les seules exceptions sont les Cisco 2900, 3500, 3660 et 3750. En outre, NetFlow est disponible pour de nombreux routeurs et commutateurs d'autres fournisseurs.
Les alertes personnalisées et la visualisation des données vous permettent d'identifier et de prévenir rapidement les problèmes de santé et de performance du réseau.
Un flux est un moyen de regrouper un flux unidirectionnel de paquets dans un ensemble spécifique. Ces ensembles peuvent être configurés sur la base d'attributs correspondants dans chaque paquet, notamment
Au fur et à mesure que chaque paquet est transmis, les attributs ci-dessus sont examinés. Un flux est généré par le premier paquet qui passe par le chemin de commutation standard. Chaque paquet supplémentaire ayant les mêmes paramètres (adresse IP source et de destination, port source et de destination, classe de service) est regroupé en un seul flux. Toute variation de la valeur de l'un des paramètres crée un nouveau flux.
Les routeurs Cisco haut de gamme prennent en charge le NetFlow échantillonné, dans lequel un seul paquet sur un certain nombre est examiné. Cette fonction est utilisée sur les routeurs où l'examen de chaque paquet n'est pas pratique en raison du volume de trafic. Les flux échantillonnés réduisent considérablement l'impact sur les performances lors de l'envoi d'informations sur les flux.
Superviser et regrouper chaque paquet transmis par un routeur ou un commutateur génère beaucoup de données. Ces données sont condensées dans une base de données au sein de l'appareil réseau, appelée cache NetFlow. Un enregistrement de flux est conservé pour chaque flux actif. Les données expirent puis sont exportées du cache vers un serveur collecteur NetFlow à intervalles réguliers en fonction des minuteries de flux. Par défaut, le cache NetFlow est vérifié toutes les secondes.
Les flux sont regroupés pour l'exportation dans un datagramme d'exportation NetFlow . Chaque datagramme comprend jusqu'à 30 flux. Selon Cisco, les exportations NetFlow standard utilisent environ 1,5 % du trafic commuté total analysé.
L'enregistrement de flux de la version 9 est basé sur un modèle. Cela signifie que les améliorations futures peuvent être prises en compte sans qu'il soit nécessaire de modifier l'enregistrement de flux de base. Le format de l'enregistrement est défini par un en-tête de paquet, suivi d'au moins un FlowSet modèle et d'un FlowSet de données. Le FlowSet modèle fournit une description de ce qui est prévu dans les FlowSets de données. C'est ce qui permet l'extensibilité de l'enregistrement. Plutôt que de prédéfinir dans une spécification quelles données arrivent et où, cette définition est faite dans le paquet lui-même.
L'en-tête du paquet est fondamentalement le même que celui de la version 5. Il contient, entre autres, le numéro de version du paquet, le temps disponible du système (en millisecondes), un numéro de séquence et l'ID de la source.
Les données NetFlow sont périodiquement rapportées à un collecteur NetFlow. Le collecteur est un serveur ou un ordinateur différent qui exécute un logiciel récepteur NetFlow conçu pour recueillir, enregistrer, filtrer et analyser les flux résultants, tel que PRTG NetFlow Analyzer de Paessler. Le logiciel collecteur doit prendre en charge la même version de NetFlow que le serveur d'exportation. Par exemple, pour superviser un routeur Cisco utilisant NetFlow 5, il faut utiliser le capteur NetFlow V5 dans PRTG Network Monitor. Pour un routeur utilisant NetFlow 9, il faudra utiliser le capteur NetFlow V9. Les deux capteurs peuvent être activés en même temps sur la même machine, de sorte qu'un seul collecteur puisse recevoir les données des deux versions de NetFlow et en faire un rapport.
Les datagrammes NetFlow sont exportés à l'aide du protocole User Datagram Protocol (UDP). L'adresse IPS du collecteur et le port de destination doivent être configurés sur le routeur ou le commutateur lui-même. Dans certains cas, le protocole SNMP peut être utilisé pour activer NetFlow et configurer l'adresse IP du collecteur à laquelle envoyer les données.
Dans Cisco IPS, la commande ip flow-export peut être utilisée pour configurer l'IP de destination à partir de la ligne de commande.
L'un des ports les plus utilisés pour les exportations NetFlow est 2055, mais vous pouvez utiliser n'importe quel port tant que vous le spécifiez correctement dans le récepteur NetFlow. Comme les exportations NetFlow sont envoyées au collecteur, il n'est pas nécessaire de procéder à une interrogation, mais il n'existe pas de processus de découverte automatique pour NetFlow, comme c'est le cas avec SNMP.
Il est possible d'accéder à certaines données NetFlow via SNMP en utilisant la MIB NetFlow. Bien qu'elle ne soit pas conçue pour remplacer l'exportation de NetFlow, elle offre un moyen d'accéder aux données NetFlow par le biais d'un autre mécanisme. Les données disponibles comprennent le nombre de flux, les flux par seconde et les paquets ou octets par flux. La possibilité d'accéder à une liste des "top talkers" peut également être utile dans certains cas, mais vous obtenez ces données de toute façon lorsque vous recevez et supervisez les flux.
De nombreuses catégories de trafic peuvent être supervisées avec NetFlow. Le capteur NetFlow V9 pour PRTG, par exemple, permet de superviser et de catégoriser de nombreux types de trafic par défaut,
Les notifications en temps réel sont synonymes de dépannage plus rapide, ce qui vous permet d'agir avant que des problèmes plus graves ne surviennent.
L'illustration suivante montre la commande NetFlow Top Talkers, qui répertorie les plus gros consommateurs de paquets et d'octets du réseau. Avant d'utiliser la commande Top Talkers, il faut la configurer :
Router(config)#ip flow-top-talkers
Router(config-flow-top-talkers)#top 10#
Les 10 talkers les plus importants du réseau, triés par paquets :
R3#show ip flow top-talkers
SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts
Et1/0 172.16.10.2 Et0/0 172.16.1.84 06 0087 0087 2100
Et1/0 172.16.10.2 Et0/0 172.16.1.85 06 0089 0089 1892
Et1/0 172.16.10.2 Et0/0 172.16.1.86 06 0185 0185 1762
Et1/0 172.16.10.2 Et0/0 172.16.1.86 06 00B3 00B3 2
Et1/0 172.16.10.2 Et0/0 172.16.1.84 06 0050 0050 1
Et1/0 172.16.10.2 Et0/0 172.16.1.85 06 0050 0050 1
7 of 10 top talkers shown. 7 flows processed.
L'utilisation la plus évidente de NetFlow est la supervision du réseau. Les données NetFlow fournissent des informations détaillées sur l'utilisation de la bande passante qui peuvent être segmentées de nombreuses façons, notamment par utilisateur, par système client, par heure et par application. Les données arrivant au collecteur NetFlow sont quasiment en temps réel, ce qui permet une supervision granulaire spécifique et l'agrégation des données pour obtenir une vue d'ensemble au moment même où elles se produisent.
Superviser les schémas de trafic, les schémas d'utilisation et les schémas d'application peut alerter un administrateur sur des problèmes potentiels avant qu'ils ne surviennent et constituer une ressource précieuse pour le dépannage. Un seul ordinateur ou service utilisant une bande passante suffisamment importante peut affecter les performances du réseau pour les autres utilisateurs. Un administrateur disposant d'une interface utilisateur ou d'un tableau de bord complet peut être en mesure de détecter ce résultat avant qu'il ne se produise, ou une alerte peut être générée pour informer l'administrateur du réseau de l'existence de schémas inhabituels.
La Vue d'ensemble du capteur NetFlow V9 de PRTG, par exemple, indique les Top Talkers, les Top Connections, les Top Protocols ainsi qu'une ventilation par protocole, montrant d'un coup d'œil si un serveur ou une application utilise trop (ou pas assez) de bande passante.
La capacité de détecter et de réagir à l'évolution des conditions du réseau est précieuse. Mieux encore, il est possible de prévoir ce qui va se passer et de résoudre les problèmes de manière proactive.
La capture de données NetFlow sur de longues périodes et l'analyse des tendances qui s'en dégagent permettent de savoir à l'avance ce dont le réseau a besoin. Peut-être que diverses applications fonctionnant à la fin du mois génèrent un trafic supplémentaire qui affecte les performances du réseau. Dans ce cas, d'autres activités à forte bande passante pourraient être planifiées à différents moments du mois afin d'éviter les goulets d'étranglement.
En outre, les données NetFlow peuvent aider à déterminer le moment où la croissance du trafic devient trop importante pour le matériel actuel, ce qui laisse suffisamment de temps pour acheter, installer et configurer des routeurs et des commutateurs supplémentaires ou plus rapides.
Grâce à leur capacité à identifier des flux de trafic spécifiques (y compris leur origine et les applications qui les ont déclenchés), les données NetFlow peuvent être analysées pour permettre la facturation aux clients, la refacturation des coûts internes ou pour montrer quelle part du réseau est utilisée par des utilisateurs, des groupes ou des applications spécifiques. Avec une collecte de données aussi détaillée, il est facile d'ajuster les taux de facturation en fonction de l'heure de la journée, de l'utilisation des applications ou de la bande passante totale.
Les données NetFlow peuvent montrer non seulement combien de trafic une application génère, mais aussi quand et pour qui. NetFlow peut dire si l'application est optimisée pour le groupe de comptabilité, mais génère beaucoup de trafic pour un autre département.
NetFlow peut également contribuer à la sécurité du réseau. Un utilisateur génère-t-il soudainement de grandes quantités de trafic qui ne sont pas habituellement nécessaires à son travail ? Le compte a peut-être été compromis ? Les données NetFlow révèlent rapidement les anomalies dans le trafic réseau, qu'il s'agisse d'un ver qui tente de se propager, d'un logiciel malveillant qui essaie de contacter un serveur de contrôle ou d'un employé mécontent qui copie des données sensibles de l'entreprise.
PRTG est un logiciel de supervision Network complet qui assure le suivi de l'ensemble de votre infrastructure IT.
Bien que le trafic global généré par NetFlow soit relativement faible, il est important de placer les collecteurs NetFlow à des endroits stratégiques afin d'éviter d'envoyer des données sur des connexions coûteuses ou via celles qui n'ont pas la capacité de gérer un trafic supplémentaire. La collecte locale fonctionne le mieux dans la plupart des environnements.