La Métrologie des Réseaux

Netflow

Présentation générale

Netflow est un protocole propriétaire Cisco, qui s'appuie sur la notion de flux pour effectuer ces mesures :

Le cache Netflow

Un routeur sur lequel Netflow est activé possède en cache une table des flux actifs : le "Cache NetFlow". Celui ci permet de compter le nombres de paquets et d'octets reçus pour chaque flux. Ansi, à chaque paquet reçu le routeur met à jour le cache soit en créant une nouvelle entrée soit en incrémentant les compteurs d'une entrée existante. Voici un exemple du contenu du cache Netflow :

Cache Netflow

Une entrée de la table expire lorsque :

Lorsqu'un flux a expiré il est supprimé du cache NetFlow et les informations sont envoyées vers une machine de collecte. Pour cela, Cisco a développé son propre protocole, "Netflow Protocol".

Un certain nombre de commandes sont disponible sur les équipements Cisco pour configurer la gestion du cache :

Le protocole Netflow

De nombreuses versions du protocole Netflow existent: 1, 5, 6, 7, 8. La version 5 est actuellement la plus couramment utilisée, et permet d'exporter une grande quantité d'information vers un collecteur. La version 7 n'est utilisé que pour switches Catalyst et diffère peu de la version 5. La version 8 introduit les schémas d'agrégation (environ une quinzaine actuellement). Chaque version a ainsi apporté son lot de changements et demandé une modification des collecteurs. De plus, jusqu'à la version 8, le multicast, IPv6 et MPLS n'étais pas prise en charge.

Nous étudierons donc ici plus en détail la version 9, car elle introduit la notion de template et elle supporte enfin le multicast, MPLS et IPv6 en bêta.

Une trame Netflow contient aisni une entête et une succession de Data FlowSets et de Templates FlowSets :

Trame Netflow

L'entête contient les données suivantes :

Une trame est donc constituer d'une suite de Flowset : les Templates Flowset représentent l'organisation des données, alors que les Data Flowset contiennent les données en elle-même. Chaque Data Flowset est ainsi associé a un Template Flowset, que le collecteur aura du recevoir au préalable.

Template Flowset Data Flowset

Un Template représente donc une suite de champs, représenté par un type et une longueur. Chaque champ peut être n'importe quelle donnée contenue dans le cache Netflow.

Le Collecteur et l'analyser Netflow

Le collecteur (NetFlowCollector) est un serveur qui récupère et stocke les données reçues des différents routeurs. Il réalise également une première phase de traitement en appliquant des règles de filtrage, afin notamment de trier puis d'agréger les données.

Enfin, l'analyseur produit des graphes en fonction des données stockés sur le serveur. Nous voyons donc ci dessous un rapport sur un routeur, pour une durée d'une heure. On trouve tout d'abord un aperçu du trafic global, minute par minute. Dans un deuxième temps, le trafic est décomposé par application. Enfin la troisième partie indique les adresses sources et destinations ayant généré le plus de trafic.

Graph Netflow1 Graph Netflow2

Valid XHTML 1.0 Strict