NetFlow est une architecture de surveillance des réseaux développée par Cisco Systems qui permet de collecter des informations sur les flux IP. Elle définit un format d'exportation d'informations sur les flux réseau nommé NetFlow services export format (format d'exportation des services NetFlow, en abrégé protocole NetFlow). Elle permet de superviser de façon fine les ressources du réseau utilisées.

En 2004, Cisco a publié les caractéristiques de la version 9 du protocole NetFlow dans la . L'IETF en a dérivé le protocole IPFIX (IP Flow Information Export), normalisé en 2008 dans les , et .

Architecture Des éléments réseau (commutateurs et routeurs) établissent des statistiques sur les données des flux réseau qu'ils exportent vers des collecteurs. Ces statistiques détaillées peuvent porter sur les nombres de paquets et d'octets, les ports applicatifs, les adresses IP, les champs de qualité de service, les interfaces par lesquelles ils transitent, etc.

Les flux réseau Un flux réseau NetFlow est unidirectionnel. Il est caractérisé par 7 champs clésCisco IOS Flexible NetFlow Technology White Paper, septembre 2008 : le protocole de couche 3 (en général IPv4, mais d'autres protocoles sont possibles) l'adresse IP source l'adresse IP de destination le port source (UDP ou TCP, 0 pour les autres protocoles) le port de destination le champ Type of Service l'interface en entrée

Les paquets appartenant à un même flux (même adresse IP source, même adresse IP destination, etc.) sont décomptés dans les statistiques. On remarque que l'interface de sortie ne caractérise pas un flux, ce qui est une bonne chose sur les routeurs où les routes de sortie peuvent changer.

Il existe aussi des champs non clés qui ne caractérisent pas un flux, mais dont la valeur est relevée. En règle générale, seule la valeur pour le premier paquet du flux est indiquée. On peut par exemple relever la date et l'heure du début du flux.

Les données exportées L'équipement réseau envoie un enregistrement décrivant le flux quand le flux s'achève. Un flux est considéré comme achevé lorsqu'il n'y a plus de paquets qui passent pendant un certain temps, ou quand la connexion TCP est close. On peut aussi configurer l'équipement pour envoyer des enregistrements à intervalles réguliers, même quand le flux est encore en train de s'écouler.

Ces enregistrements NetFlow sont en général transportés par UDP. L'adresse IP du collecteur auquel ils sont envoyés doit être configurée sur l'équipement émetteur. Un paquet NetFlow peut regrouper plusieurs enregistrements en un seul envoi. Par défaut, on utilise le port UDP 2055, mais il est courant de choisir un autre port.

Pour des raisons d'efficacité, si un de ces enregistrements NetFlow est perdu pour cause de congestion du réseau ou de paquet corrompu, l'équipement réseau est dans l'incapacité de le renvoyer, car il n'en conserve pas une copie. Cela peut conduire à des statistiques dégradées. Pour cette raison, certaines implémentations récentes de NetFlow utilisent SCTP à la place de UDP pour garantir que les statistiques seront reçues (TCP ne convient pas, car il est trop lourd).

Versions de NetFlow VersionCommentairev1Première implémentation, à présent dépassée. Limitée à IPv4 sans masque réseau ni numéro de système autonome.v2Version interne à Cisco, jamais publiée.v3Version interne à Cisco, jamais publiée.v4Version interne à Cisco, jamais publiée.v5La version la plus courante (en 2009) sur de nombreux équipements de différentes marques, mais restreinte aux flux IPv4.v6Version qui n'est plus prise en charge par Cisco.v7Comme la version 5, avec un champ « routeur source ».v8Agrégation de plusieurs informations.v9S'appuie sur des modèles (templates), ce qui permet d'ajouter des champs sans redéfinir le standard. Permet de rapporter des flux IPv6, MPLS, ou le prochain saut BGP en IPv4.v10Connue comme IP Flow Information Export. Champs définis par les utilisateurs, champs en longueur variable.

Prise en charge de NetFlow En plus de Cisco, de nombreux constructeurs d'équipements réseau offrent une prise en charge de NetFlow sur leurs boitiers. La liste comprend Juniper, Alcatel-Lucent et Nortel, entre autres. En ce qui concerne les plates-formes logicielles, il y a une prise en charge sur serveurs VMWare et sous Linux.

Certains constructeurs utilisent un autre nom pour cette technologie, sans doute parce que NetFlow est ressenti comme une marque déposée de CiscoEn mars 2012, NetFlow ne figure pas dans la liste des marques protégées de Cisco.: Jflow ou cflowd chez Juniper Networks NetStream chez 3Com/HP NetStream chez Huawei Technologies Cflowd chez Alcatel-Lucent Rflow chez Ericsson AppFlow chez Citrix Systems

Il existe aussi des alternatives. est un protocole concurrent. IPFIX est le standard de l'IETF dérivé de NetFlow.

Notes et références

Voir aussi Source

Article connexe Flux de paquets (réseau informatique)

Liens externes NetFlow sur le site de CISCO RFC3954 - Cisco Systems NetFlow Services Export Version 9 - RFC informative sur NetFlow fprobe et fprobe-ulog, des sondes sous Linux qui décomptent le trafic réseau et l'envoient à un collecteur NetFlow ipt-netflow, module pour iptables sous Linux Flowd, un collecteur NetFlow sous Linux. sFlow ZNeTS, un logiciel de surveillance réseau via NetFlow

Catégorie:Logiciel d'analyse du réseau informatique Catégorie:Cisco Catégorie:Protocole réseau